diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-12-03 07:20:53 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-12-03 07:20:53 +0100 |
commit | 4c323c2f8308bba0e3295f3109d159c7b8f72838 (patch) | |
tree | 7064e51dfec301c660cc97d83ffa041e011baadd /gnu | |
parent | 260b054aeaa0739bed1637742b6094c97dab47f2 (diff) | |
parent | 06ebc45e15f2a1bd4526a5a716eed657c902a0c1 (diff) | |
download | guix-4c323c2f8308bba0e3295f3109d159c7b8f72838.tar.gz guix-4c323c2f8308bba0e3295f3109d159c7b8f72838.zip |
Merge branch 'master' into HEAD
Change-Id: I3f5d121162d98ef2ae61a62c4da3b0fd19d864e8
Diffstat (limited to 'gnu')
119 files changed, 3590 insertions, 1747 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 84726363c0..548e28a1c9 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -611,10 +611,6 @@ upon error." the root file system...\n" root-delay) (sleep root-delay))) - ;; Prepare the real root file system under /root. - (unless (file-exists? "/root") - (mkdir "/root")) - (when (procedure? pre-mount) ;; Do whatever actions are needed before mounting the root file ;; system--e.g., installing device mappings. Error out when the @@ -631,6 +627,10 @@ the root file system...\n" root-delay) (false-if-exception ; failure is not fatal (resume-if-hibernated (find-long-option "resume" args)))) + ;; Prepare the real root file system under /root. + (unless (file-exists? "/root") + (mkdir "/root")) + (setenv "EXT2FS_NO_MTAB_OK" "1") ;; Mount the root file system. diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 34b1fe4658..295707d59f 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -25,6 +25,7 @@ #:use-module (guix deprecation) #:use-module (guix diagnostics) #:use-module (guix i18n) + #:use-module ((guix utils) #:select (%current-system)) #:use-module (gnu services) #:use-module (gnu services configuration) #:use-module (guix modules) @@ -32,7 +33,7 @@ #:use-module (gnu home services shepherd) #:use-module ((gnu home services utils) #:select (object->camel-case-string)) - #:autoload (gnu packages base) (glibc-utf8-locales) + #:autoload (gnu packages base) (libc-utf8-locales-for-target) #:use-module (gnu packages ssh) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -357,8 +358,9 @@ inserted after each of them." ;; Support non-ASCII file names. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales - "/lib/locale")) + #+(file-append + (libc-utf8-locales-for-target (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (call-with-output-file #$output diff --git a/gnu/installer.scm b/gnu/installer.scm index d9b71e2ca8..db79c11530 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -85,9 +85,10 @@ version of this file." (define set-utf8-locale #~(begin (setenv "LOCPATH" - #$(file-append glibc-utf8-locales "/lib/locale/" - (version-major+minor - (package-version glibc-utf8-locales)))) + #$(file-append + (libc-utf8-locales-for-target) "/lib/locale/" + (version-major+minor + (package-version (libc-utf8-locales-for-target))))) (setlocale LC_ALL "en_US.utf8"))) (define builder diff --git a/gnu/local.mk b/gnu/local.mk index 5cb9874d9f..93477f830b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -178,6 +178,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/chromium.scm \ %D%/packages/ci.scm \ %D%/packages/cinnamon.scm \ + %D%/packages/clifm.scm \ %D%/packages/clojure.scm \ %D%/packages/cluster.scm \ %D%/packages/cmake.scm \ @@ -921,6 +922,7 @@ dist_patch_DATA = \ %D%/packages/patches/appstream-force-reload-stemmer.patch \ %D%/packages/patches/apr-fix-atomics.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ + %D%/packages/patches/aria2-unbundle-wslay.patch \ %D%/packages/patches/ark-skip-xar-test.patch \ %D%/packages/patches/arpack-ng-propagate-rng-state.patch \ %D%/packages/patches/asli-use-system-libs.patch \ @@ -1276,9 +1278,11 @@ dist_patch_DATA = \ %D%/packages/patches/ghc-9.2-grep-warnings.patch \ %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ %D%/packages/patches/ghc-testsuite-grep-compat.patch \ - %D%/packages/patches/ghc-bloomfilter-ghc9.2.patch \ + %D%/packages/patches/ghc-basement-fix-32bit.patch \ %D%/packages/patches/ghc-bytestring-handle-ghc9.patch \ %D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \ + %D%/packages/patches/ghc-memory-fix-32bit.patch \ + %D%/packages/patches/ghc-persistent-fix-32bit.patch \ %D%/packages/patches/ghostscript-CVE-2023-36664.patch \ %D%/packages/patches/ghostscript-CVE-2023-36664-fixup.patch \ %D%/packages/patches/ghostscript-leptonica-hurd.patch \ @@ -1348,6 +1352,7 @@ dist_patch_DATA = \ %D%/packages/patches/gobject-introspection-cc-1.72.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/go-fix-script-tests.patch \ + %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \ %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \ %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \ %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \ @@ -1439,6 +1444,7 @@ dist_patch_DATA = \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ %D%/packages/patches/idris-test-ffi008.patch \ + %D%/packages/patches/igraph-fix-varargs-integer-size.patch \ %D%/packages/patches/igt-gpu-tools-Use-libproc2.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/imagemagick-CVE-2020-27829.patch \ @@ -1755,8 +1761,9 @@ dist_patch_DATA = \ %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/password-store-tree-compat.patch \ %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ - %D%/packages/patches/php-fix-streams-copy-length.patch \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ + %D%/packages/patches/plasp-fix-normalization.patch \ + %D%/packages/patches/plasp-include-iostream.patch \ %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \ %D%/packages/patches/pokerth-boost.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ @@ -1774,6 +1781,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch \ %D%/packages/patches/python-sip-include-dirs.patch \ %D%/packages/patches/python-sgmllib3k-assertions.patch \ + %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \ %D%/packages/patches/python-telingo-fix-comparison.patch \ %D%/packages/patches/python-typeguard-python3.10.patch \ %D%/packages/patches/python-wxwidgets-type-errors.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 17225863d7..60bf87bf68 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -6006,7 +6006,7 @@ Discover other RouterOS devices or @command{mactelnetd} hosts. (define-public bfs (package (name "bfs") - (version "3.0.2") + (version "3.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -6015,7 +6015,7 @@ Discover other RouterOS devices or @command{mactelnetd} hosts. (file-name (git-file-name name version)) (sha256 (base32 - "055qn2bhnyk9k96w8aviz7v4wip9hwsv7ak1m3yygm1x3fhdyhyz")))) + "0n2y9m81278j85m8vk242m9nsxdcw62rxsar4hzwszs6p5cjz5ny")))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list (string-append "CC=" @@ -6035,6 +6035,6 @@ Discover other RouterOS devices or @command{mactelnetd} hosts. (description "Bfs is a variant of the UNIX @command{find} command that operates breadth-first rather than depth-first. It is otherwise compatible with many -versions of command{find}, including POSIX, GNU, and *BSD find.") +versions of @command{find}, including POSIX, GNU, and *BSD find.") (home-page "https://tavianator.com/projects/bfs.html") (license license:bsd-0))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index c0fe75ddfd..c454c69164 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -736,14 +736,14 @@ a C program.") (define-public fftw (package (name "fftw") - (version "3.3.8") + (version "3.3.10") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" version".tar.gz")) (sha256 (base32 - "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1")))) + "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 17ba794201..ffb13025f3 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -398,14 +398,14 @@ dictionaries, including personal ones.") (define-public ispell (package (name "ispell") - (version "3.4.05") + (version "3.4.06") (source (origin (method url-fetch) (uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-" version ".tar.gz")) (sha256 - (base32 "00jni7gvdswjd9sdwip5ixnvjg2qzv56mn3m8gdgl9gxwgnns36g")))) + (base32 "19pbhg3pbnykkk9hla2kfhfanm7wcdja2qria365l1y8shridj8p")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7c49ba1841..e4fe4c2da7 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -6320,7 +6320,7 @@ and DSD streams.") (define-public qpwgraph (package (name "qpwgraph") - (version "0.5.3") + (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -6329,7 +6329,7 @@ and DSD streams.") (file-name (git-file-name name version)) (sha256 (base32 - "1i9p8gqm9swa2szr7i8rf3dhqxlaqjslb6yd5s9z1rs1jdb9lhp7")))) + "17jl347rwagdyx6pgnp83l1ffhlyfl0s4jf7ii2i1j3s1m9sz7y0")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ; no tests diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 12c4a45b9d..49b0fe2620 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -104,34 +104,32 @@ (define-public duplicity (package (name "duplicity") - (version "0.8.21") + (version "2.1.4") (source (origin - (method url-fetch) - (uri (string-append "https://code.launchpad.net/duplicity/" - (version-major+minor version) - "-series/" version "/+download/duplicity-" - version ".tar.gz")) - (sha256 - (base32 "0ld4bhsi6iv4bvy99pblbr7vlwy9jbgfd6flyvb8qwbl8rvadzjp")))) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/duplicity/duplicity") + (commit (string-append "rel." version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14x5brpq1l400i9l2hnyqmbn19cc1hnbmj5fn8cs8zzwzbgrfxng")))) (build-system python-build-system) (native-inputs - `(("gettext" ,gettext-minimal) ; for msgfmt - ("util-linux" ,util-linux) ; setsid command, for the tests - ("par2cmdline" ,par2cmdline) - ("python-fasteners" ,python-fasteners) - ("python-future" ,python-future) ; for tests - ("python-paramiko" ,python-paramiko) - ("python-pexpect" ,python-pexpect) - ("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner) - ("python-setuptools-scm" ,python-setuptools-scm) - ("tzdata" ,tzdata-for-tests) - ("mock" ,python-mock))) + (list gettext-minimal ; for msgfmt + util-linux ; setsid command, for the tests + par2cmdline + python-fasteners + python-future ; for tests + python-paramiko + python-pexpect + python-pytest + python-pytest-runner + python-setuptools-scm + tzdata-for-tests + python-mock)) (propagated-inputs - `(("lockfile" ,python-lockfile) - ("pygobject" ,python-pygobject) - ("urllib3" ,python-urllib3))) + (list python-lockfile python-pygobject python-urllib3)) (inputs (list dbus ; dbus-launch (Gio backend) librsync @@ -139,30 +137,41 @@ gnupg ; gpg executable needed util-linux)) ; for setsid (arguments - `(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-before 'build 'use-store-file-names - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "duplicity/gpginterface.py" - (("self.call = u'gpg'") - (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'"))) - (substitute* "duplicity/backends/giobackend.py" - (("subprocess.Popen\\(\\[u'dbus-launch'\\]") - (string-append "subprocess.Popen([u'" - (assoc-ref inputs "dbus") - "/bin/dbus-launch']"))) - (substitute* '("testing/functional/__init__.py" - "testing/overrides/bin/lftp") - (("/bin/sh") (which "sh"))))) - (add-before 'check 'set-up-tests - (lambda* (#:key inputs #:allow-other-keys) - (setenv "HOME" (getcwd)) ; gpg needs to write to $HOME - (setenv "TZDIR" ; some timestamp checks need TZDIR - (search-input-directory inputs "share/zoneinfo")) - ;; Some things respect TMPDIR, others hard-code /tmp, and the - ;; defaults don't match up, breaking test_restart. Fix it. - (setenv "TMPDIR" "/tmp")))))) + (list #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'use-store-file-names + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "duplicity/gpginterface.py" + (("self.call = u'gpg'") + (string-append "self.call = '" + (search-input-file inputs + "/bin/gpg") + "'"))) + (substitute* "duplicity/backends/giobackend.py" + (("subprocess.Popen\\(\\[u'dbus-launch'\\]") + (string-append "subprocess.Popen([u'" + (search-input-file inputs + "/bin/dbus-launch") "']"))) + (substitute* '("testing/functional/__init__.py" + "testing/overrides/bin/lftp") + (("/bin/sh") + (which "sh"))))) + (add-before 'build 'fix-version + (lambda _ + (substitute* "duplicity/__init__.py" + (("\\$version") + #$(package-version this-package))))) + (add-before 'check 'set-up-tests + (lambda* (#:key inputs #:allow-other-keys) + (setenv "HOME" + (getcwd)) ; gpg needs to write to $HOME + (setenv "TZDIR" ; some timestamp checks need TZDIR + (search-input-directory inputs + "share/zoneinfo")) + ;; Some things respect TMPDIR, others hard-code /tmp, and the + ;; defaults don't match up, breaking test_restart. Fix it. + (setenv "TMPDIR" "/tmp")))))) (home-page "https://duplicity.gitlab.io/duplicity-web/") (synopsis "Encrypted backup using rsync algorithm") (description diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 2d8e9143cd..6b2e96dc9b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -76,6 +76,8 @@ #:use-module (srfi srfi-26) #:export (glibc libc-for-target + libc-locales-for-target + libc-utf8-locales-for-target make-ld-wrapper libiconv-if-needed %final-inputs)) @@ -1512,6 +1514,11 @@ command.") (delete 'build))))) ; nothing to build (supported-systems %hurd-systems))) +(define-public glibc-utf8-locales/hurd + ;; Locales for the libc version used on GNU/Hurd. + (hidden-package + (make-glibc-utf8-locales glibc/hurd))) + (define* (libc-for-target #:optional (target (or (%current-target-system) (%current-system)))) @@ -1521,6 +1528,23 @@ command.") (_ glibc))) +(define-public glibc-locales/hurd + (make-glibc-locales glibc/hurd)) + +(define* (libc-locales-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (if (target-hurd? target) + glibc-locales/hurd + glibc-locales)) + +(define* (libc-utf8-locales-for-target #:optional + (target (or (%current-target-system) + (%current-system)))) + (if (target-hurd? target) + glibc-utf8-locales/hurd + glibc-utf8-locales)) + (define-public tzdata (package (name "tzdata") diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 08fece6e91..2b3ab0c112 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -79,14 +79,14 @@ (define-public fio (package (name "fio") - (version "3.35") + (version "3.36") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "0dvxv771hzb72zs995wsq3i1kryv8vfzkndd79i0w2v7ssxnldb3")))) + "0ppg2rn57diz2mvbbps4cjxd903zn380hdkdsrbzal4l513w32h0")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index abf8a609e9..6f75a92cff 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) + #:use-module (gnu packages web) #:use-module (gnu packages xml)) (define-public transmission @@ -285,7 +286,7 @@ Transmission BitTorrent daemon.") (define-public aria2 (package (name "aria2") - (version "1.36.0") + (version "1.37.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/aria2/aria2/releases/" @@ -293,7 +294,12 @@ Transmission BitTorrent daemon.") "/aria2-" version ".tar.xz")) (sha256 (base32 - "1987x4ywnnrhhfs9hi2h820c200d7nas9nd35414yh0jiihfglaq")))) + "0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930")) + (patches (search-patches "aria2-unbundle-wslay.patch")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "deps") + (delete-file "configure"))))) (build-system gnu-build-system) (arguments (list @@ -312,7 +318,11 @@ Transmission BitTorrent daemon.") (("CPPUNIT_TEST_SUITE_REGISTRATION\\(LpdMessageReceiverTest\\);" text) (string-append "// " text)))))))) (native-inputs - (list cppunit ; for the tests + (list autoconf ; since we adjusted configure.ac + automake + gettext-minimal + libtool + cppunit ; for the tests pkg-config)) (inputs (list c-ares @@ -322,6 +332,7 @@ Transmission BitTorrent daemon.") libxml2 nettle sqlite + wslay zlib)) (home-page "https://aria2.github.io/") (synopsis "Utility for parallel downloading files") diff --git a/gnu/packages/books.scm b/gnu/packages/books.scm index 97a7e3b45c..c3504bb4ff 100644 --- a/gnu/packages/books.scm +++ b/gnu/packages/books.scm @@ -42,7 +42,7 @@ (define-public book-sparc (package (name "book-sparc") - (version "1.0.1") + (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -50,12 +50,11 @@ (commit (string-append "v" version)))) (sha256 (base32 - "0dswwwkb3h88cl3mhiy79s8i7sa9lmw6fxaj782vxgif795lcpxs")) + "0k1miyrnh5362qy50jzp5j3ww0c8hr7wk3y5kg6xlqgk9f8msvag")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet #~(begin - (delete-file "sparc.pdf") (substitute* "version.tex.in" (("@COMMIT@") "")) (substitute* "Makefile" @@ -86,6 +85,7 @@ texlive-collection-langcyrillic texlive-fontspec texlive-glossaries + texlive-glossaries-english texlive-glossaries-extra texlive-koma-script texlive-lilyglyphs diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index fb20ba0efa..e708641623 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> -;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -295,6 +295,71 @@ menu to select one of the installed operating systems.") #t)))))))) +(define-public grub-coreboot + (package + (inherit grub) + (name "grub-coreboot") + (synopsis "GRand Unified Boot loader (Coreboot payload version)") + (arguments + `(,@(substitute-keyword-arguments (package-arguments grub) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'disable-broken-tests + (lambda _ + (setenv "DISABLE_HARD_ERRORS" "1") + (setenv + "XFAIL_TESTS" + (string-join + ;; TODO: All the tests below use grub shell + ;; (tests/util/grub-shell.in), and here grub-shell uses + ;; QEMU and a Coreboot image to run the tests. Since we + ;; don't have a Coreboot package in Guix yet these tests + ;; are disabled. See the Guix bug #64667 for more details + ;; (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64667). + (list + "pata_test" + "ahci_test" + "uhci_test" + "ehci_test" + "example_grub_script_test" + "ohci_test" + "grub_script_eval" + "grub_script_echo1" + "grub_script_test" + "grub_script_leading_whitespace" + "grub_script_echo_keywords" + "grub_script_vars1" + "grub_script_for1" + "grub_script_while1" + "grub_script_if" + "grub_script_comments" + "grub_script_functions" + "grub_script_continue" + "grub_script_break" + "grub_script_shift" + "grub_script_blockarg" + "grub_script_return" + "grub_script_setparams" + "grub_cmd_date" + "grub_cmd_sleep" + "grub_cmd_regexp" + "grub_script_not" + "grub_cmd_echo" + "grub_script_expansion" + "grub_script_gettext" + "grub_script_escape_comma" + "help_test" + "grub_script_strcmp" + "test_sha512sum" + "grub_cmd_tr" + "test_unset" + "file_filter_test") + " ")))))) + ((#:configure-flags flags + ''()) + `(cons* "--with-platform=coreboot" + ,flags))))))) + (define-public grub-efi (package (inherit grub) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index da0d11e8f7..ac83336ba5 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> +;;; Copyright © 2023 David Elsing <david.elsing@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1588,3 +1589,57 @@ serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.") (home-page "https://github.com/ispc/ispc") (license license:bsd-3))) + +(define-public pcg-c + (let ((commit "83252d9c23df9c82ecb42210afed61a7b42402d7") + (revision "1")) + (package + (name "pcg-c") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/imneme/pcg-c") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0768h0vw75a3smk39qsz1504v04a43s5w1ili1ijbixxv8gm42nf")) + (modules '((guix build utils))) + ;; Autogenerated files with some tests from test-high. If + ;; 128-bit integers are not supported, the build fails, but + ;; this is checked when building the tests. + (snippet #~(delete-file-recursively "sample")))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "test" + #:make-flags + #~(list + "CC=gcc" + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'disable-sample + (lambda _ + (substitute* "Makefile" + ((".*cd sample.*") "")))) + (add-after 'unpack 'set-shared-library + (lambda _ + (substitute* '("Makefile" "src/Makefile") + (("\\.a") "\\.so") + ((".*ar .*") "\t$(CC) $(CFLAGS) -o $@ $(LDFLAGS) -shared $^") + ((".*ranlib.*") "") + ((".*CFLAGS \\+=.*O3.*" orig) + (string-append orig "CFLAGS += -fPIC\n"))))) + (add-before 'install 'make-dirs + (lambda _ + (mkdir-p (string-append #$output "/lib")) + (mkdir-p (string-append #$output "/include"))))))) + (home-page "https://www.pcg-random.org") + (synopsis "C implementation of the PCG random generators") + (description "The Permuted Congruential Generator (PCG) extends the +Linear Congruential Generator (LCG) with a permutation function to increase +output randomness while retaining speed, simplicity, and conciseness.") + (license (list license:expat license:asl2.0))))) ; dual licensed diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 513e545938..bc49e24f0e 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -967,7 +967,7 @@ testing.") (name "ungoogled-chromium-wayland") (native-inputs '()) (inputs - (list bash-minimal glibc-utf8-locales ungoogled-chromium)) + (list bash-minimal (libc-utf8-locales-for-target) ungoogled-chromium)) (build-system trivial-build-system) (arguments (list diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 1fa5818b6d..a367a5778b 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -59,11 +59,11 @@ #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR))) (define-public cuirass - (let ((commit "eb3f539dc95de705c89b07258efe4663e76f7dab") - (revision "0")) + (let ((commit "bdc1f9f304a3f5931ec507dcfe0b91b185b70708") + (revision "1")) (package (name "cuirass") - (version "1.2.0") + (version (git-version "1.2.0" revision commit)) (source (origin (method git-fetch) @@ -73,7 +73,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0rvzcsm0zwwv8rb5z0jdgc7adzzx0cin9n2hhclp5d0kqn582hny")))) + "031vv3rk7vzal611iq8sgq5yackp78kdpz8qn78j561pl9bip80n")))) (build-system gnu-build-system) (arguments (list #:modules `((guix build utils) diff --git a/gnu/packages/clifm.scm b/gnu/packages/clifm.scm new file mode 100644 index 0000000000..92d14f1072 --- /dev/null +++ b/gnu/packages/clifm.scm @@ -0,0 +1,62 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Rodion Goritskov <rodion.goritskov@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages clifm) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages readline) + #:use-module (gnu packages acl) + #:use-module (gnu packages linux)) + +(define-public clifm + (package + (name "clifm") + (version "1.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leo-arch/clifm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1r9pxlyn8jg0wmzbmbc71l42098lz5k32k6yid09yz6d0gaax7g1")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "CC=" + ,(cc-for-target)) + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'check)))) + (inputs (list readline acl libcap)) + (home-page "https://github.com/leo-arch/clifm") + (synopsis "Command-line file manager") + (description "Clifm a shell-like, text-based terminal file manager that +sits on the command line. + +It is built with command line principles in mind: instead of navigating +through a big menu of files, it lets you type, exactly as you do in your +regular shell, but easier and faster.") + (license license:gpl2+))) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 80fdb5aed7..9124f0e2e0 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2922,7 +2922,7 @@ memoized as a function of '%current-system'." ;; store path has no dependencies. Actually, the really-final libc is ;; built just below; the only difference is that this one uses the ;; bootstrap Bash. - (let ((libc (libc-for-target))) + (let ((libc (libc-for-target (%current-system)))) (package (inherit libc) (name "glibc-intermediate") @@ -3096,7 +3096,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define/system-dependent glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. - (let ((libc (libc-for-target))) + (let ((libc (libc-for-target (%current-system)))) (package/inherit libc (name "glibc") (source (bootstrap-origin (package-source libc))) @@ -3365,6 +3365,16 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" `(("glibc" ,glibc-final) ("gzip" ,(with-boot4 gzip)))))) +(define-public glibc-utf8-locales-final/hurd + ;; Locales for the libc version used on GNU/Hurd. + (package + (inherit glibc-utf8-locales/hurd) + (properties `((hidden? . #t) + ,@(package-properties glibc-utf8-locales/hurd))) + (native-inputs + `(("glibc" ,glibc-final) + ("gzip" ,(with-boot4 gzip)))))) + (define-public ld-wrapper ;; The final 'ld' wrapper, which uses the final Guile and Binutils. (make-ld-wrapper "ld-wrapper" @@ -3383,7 +3393,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; Now with UTF-8 locales. Remember that the bootstrap binaries were built ;; with an older libc, which cannot load the new locale format. See ;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>. - `(("locales" ,glibc-utf8-locales-final) + `(("locales" ,(if (target-hurd?) + glibc-utf8-locales-final/hurd + glibc-utf8-locales-final)) ,@(%boot4-inputs))) (define with-boot5 @@ -3484,7 +3496,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("gcc" ,gcc-final) ("libc" ,glibc-final) ("libc:static" ,glibc-final "static") - ("locales" ,glibc-utf8-locales-final)))))) + ("locales" ,(if (target-hurd? (%current-system)) + glibc-utf8-locales-final/hurd + glibc-utf8-locales-final))))))) (define-public canonical-package (let ((name->package (mlambda (system) diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index bd26cdd015..e29c6e1070 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> +;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +40,7 @@ (package (name "conky") (home-page "https://github.com/brndnmtthws/conky") - (version "1.19.4") + (version "1.19.6") (source (origin (method git-fetch) @@ -49,7 +49,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "03zzssdg1qdv83p4c3dbjgr0g1n0spc0ndk9bds1rd2n82i6g6sy")))) + (base32 "02mdqsizc36v3zqhxnyv2mch9w0gqnl4a25yxishka9yv5ni5iig")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index 09ca4030ea..f30f231f3b 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages texinfo) #:use-module (guix build-system dune) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -285,6 +286,32 @@ multi-precision arithmetic. It also supports efficient numerical computations inside Coq.") (license license:lgpl3+))) +;; Union of coq and coq-ide-server as vim-coqtail expects coqc and coqidetop +;; to be in the same bin folder, when vim-coqtail is installed coqc and +;; coqidetop will be in the "same" bin folder in the profile, so this is only +;; required for testing the package. +;; +;; This is deeply ingrained in the internals of vim-coqtail so this is why +;; it's necessary. +(define-public coq-for-coqtail + (hidden-package + (package + (inherit coq) + (name "coq-for-coqtail") + (source #f) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build union)) + #:builder + (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories)))))) + (inputs (list coq coq-ide-server))))) + (define-public coq-gappa (package (name "coq-gappa") diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 49e5b52e5f..2b32a2becf 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1397,7 +1397,7 @@ standard GNU style syntax for options.") (define-public folly (package (name "folly") - (version "2022.10.31.00") + (version "2023.11.06.00") (source (origin (method git-fetch) (uri (git-reference @@ -1406,7 +1406,7 @@ standard GNU style syntax for options.") (file-name (git-file-name name version)) (sha256 (base32 - "06r9xnj8ilghc0vv6r17k5apl3w19iwd76nr02svnv96c74bz2aa")))) + "0z0jhkma2qacc2kc27qsiwqwqkv07i9mwpc4vwcbawyzdajq6hd0")))) (build-system cmake-build-system) (arguments '(;; Tests must be explicitly enabled @@ -2802,6 +2802,43 @@ Main features: @end itemize") (license license:expat))) +(define-public mapbox-variant + (package + (name "mapbox-variant") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/variant") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03cmxm34ralh8y07bs80gz3v4pql51206dn5h7lcnm7vishkk241")) + (modules '((guix build utils))) + (snippet #~(begin + (delete-file "test/include/catch.hpp") + (substitute* (find-files "test" "\\.[ch]pp") + (("\"catch.hpp\"") "<catch/catch.hpp>")))))) + (build-system gnu-build-system) + (arguments + (list #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "include" + (string-append (assoc-ref outputs "out") + "/include"))))))) + (native-inputs (list catch2-1)) + (home-page "https://github.com/mapbox/variant") + (synopsis "Implementation of std::variant for C++11/14") + (description "This package provides a header-only implementation of +std::variant (formerly boost::variant) for C++11/14.") + (license license:bsd-3))) + (define-public mpark-variant (package (name "mpark-variant") diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 9f06f35495..b33f4d36d4 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,15 +65,14 @@ (define-public curl (package (name "curl") - (version "7.85.0") - (replacement curl/fixed) + (version "8.4.0") (source (origin (method url-fetch) (uri (string-append "https://curl.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "1rjbn0h5rddclhvxb8p5gddxszcrpbf5cw1whx6wnj4s9dnlmdc8")) + "0bd8y8v66biyqvg70ka1sdd0aixs6yzpnvfsig907xzh9af2mihn")) (patches (search-patches "curl-use-ssl-cert-env.patch")))) (build-system gnu-build-system) (outputs '("out" @@ -118,15 +118,28 @@ (rename-file (string-append #$output "/share/man/man3") (string-append #$output:doc "/share/man/man3")))) (replace 'check - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key tests? parallel-tests? make-flags #:allow-other-keys) (substitute* "tests/runtests.pl" (("/bin/sh") (which "sh"))) - (when tests? - ;; The top-level "make check" does "make -C tests quiet-test", which - ;; is too quiet. Use the "test" target instead, which is more - ;; verbose. - (invoke "make" "-C" "tests" "test")))) + (let* ((job-count (string-append + "-j" + (if parallel-tests? + (number->string (parallel-job-count)) + "1"))) + (arguments `("-C" "tests" "test" + ,@make-flags + ,(if #$(or (system-hurd?) + (target-arm32?) + (target-aarch64?)) + ;; protocol FAIL + (string-append "TFLAGS=\"~1474 " + job-count "\"") + (string-append "TFLAGS=" job-count))))) + ;; The top-level "make check" does "make -C tests quiet-test", which + ;; is too quiet. Use the "test" target instead, which is more + ;; verbose. + (apply invoke "make" arguments))))) #$@(if (system-hurd?) #~((add-after 'unpack 'skip-tests (lambda _ @@ -137,6 +150,7 @@ (display "533\n" port) (display "537\n" port) (display "546\n" port) + (display "564\n" port) (display "575\n" port) (display "1021\n" port) (display "1501\n" port) @@ -155,39 +169,6 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define curl/fixed - (let ((%version "8.4.0")) - (package - (inherit curl) - (version "8.4.0a") ; add lowercase 'a' for grafting - (source (origin - (method url-fetch) - (uri (string-append "https://curl.se/download/curl-" - %version ".tar.xz")) - (sha256 - (base32 - "0bd8y8v66biyqvg70ka1sdd0aixs6yzpnvfsig907xzh9af2mihn")) - (patches (search-patches "curl-use-ssl-cert-env.patch")))) - (arguments - (if (system-hurd?) - (substitute-keyword-arguments (package-arguments curl) - ((#:phases phases '%standard-phases) - #~(modify-phases #$phases - ;; We cannot simply set #:make-flags because they are - ;; ignored by curl's custom check phase. - (replace 'check - (lambda* (#:key tests? make-flags #:allow-other-keys) - (substitute* "tests/runtests.pl" - (("/bin/sh") (which "sh"))) - ;; See comment in curl about check/test. - (let ((arguments `("-C" "tests" "test" - ,@make-flags - ;; protocol FAIL - "TFLAGS=~1474"))) - (when tests? - (apply invoke "make" arguments)))))))) - (package-arguments curl)))))) - (define-public curl-ssh (package/inherit curl (arguments diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 0689ef4259..c6b2396537 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -444,28 +445,26 @@ better with a poor hash function.") (license license:expat))) (define-public zix - (let ((commit "a13ae5ad9dc70075740f11139f1db96cc79faa59") - (revision "0")) - (package - (name "zix") - (version (git-version "0.3.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/drobilla/zix.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1njyb8lz1d5qzf0k14pb3rq13xkxnddwbz090dj69138ymz1xgyl")))) - (build-system meson-build-system) - (arguments - (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen" - (native-inputs (list pkg-config)) - (home-page "https://gitlab.com/drobilla/zix") - (synopsis "C library of portability wrappers and data structures") - (description - "Zix is a C library of portability wrappers and data structures. It + (package + (name "zix") + (version "0.4.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/drobilla/zix.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07pbq4bi64iv39swldfbcp7131b5n4hs64pgd417gqlwv8qvgjcw")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen" + (native-inputs (list pkg-config)) + (home-page "https://gitlab.com/drobilla/zix") + (synopsis "C library of portability wrappers and data structures") + (description + "Zix is a C library of portability wrappers and data structures. It provides the following components: @table @code @item ZixAllocator A customizable allocator. @@ -480,4 +479,4 @@ provides the following components: zix/filesystem.h Functions for working with filesystems. @item zix/path.h Functions for working with filesystem paths lexically. @end table") - (license license:isc)))) + (license license:isc))) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index e0306b8a97..ae03442374 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -43,23 +43,17 @@ (define-public radicale (package (name "radicale") - (version "3.1.7") + (version "3.1.8") (source (origin - ;; There are no tests in the PyPI tarball. (method git-fetch) (uri (git-reference (url "https://github.com/Kozea/Radicale") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mv1w9qazbis9ir5shr1ybsfn4cxd3rmxa3ns6kbk23yramlzwhg")))) + (base32 "1qy2azn02bw772yhzgqvyf1pyl0ijj9ccvl1078w9icl261yljap")))) (build-system python-build-system) - (arguments - (list - ;; TODO: enable again when https://github.com/Kozea/Radicale/issues/1184 - ;; is fixed - #:tests? #f)) (native-inputs (list python-pytest python-pytest-cov diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 6e40096199..728f2cc845 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -341,7 +341,7 @@ distributions such as Debian and Trisquel.") (define-public dpkg (package (name "dpkg") - (version "1.22.0") + (version "1.22.1") (source (origin (method git-fetch) @@ -350,7 +350,7 @@ distributions such as Debian and Trisquel.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1p7f2mgrn2iy0xfysxfq4pjbbhbhb2rp649bsik0x25jrck4if83")))) + (base32 "1s6dzcczmpkr9pla25idymfdjz10gck0kphpp0vqbp92vmfskipg")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 5ab54de0e9..1ac5aff719 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -74,7 +74,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "251") + (version "252") (source (origin (method git-fetch) @@ -83,7 +83,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1200kzwqyw2m298z8rfbiiziprz4s1n176z42xyziwc6mbx8m09z")))) + (base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r")))) (build-system python-build-system) (arguments (list diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 9d2e170cc0..754c70897c 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ #:use-module (gnu packages file-systems) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -71,6 +73,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages hurd) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages nss) @@ -102,6 +105,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system scons) @@ -343,6 +347,61 @@ fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats.") (license license:gpl3+))) +(define-public findimagedupes + (package + (name "findimagedupes") + (version "2.20.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jhnc/findimagedupes") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zfxmc6c1z4hzsq3k85xxida1v291frq4wbmxv9cg4jmw0ddk5ic")))) + (build-system perl-build-system) + (arguments + (list + #:tests? #f + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + ;; There's no ‘make install’ target. + (lambda* (#:key outputs #:allow-other-keys) + (install-file "findimagedupes" + (string-append #$output "/bin")))) + (add-after 'unpack 'use-image-magick + ;; TODO: package perl-graphics-magick and switch this out + (lambda _ + (substitute* "findimagedupes" + (("Graphics::Magick") + "Image::Magick")))) + (add-after 'unpack 'set-inline-dir + (lambda _ + (substitute* "findimagedupes" + (("/usr/local") + #$output)))) + (add-after 'install 'inline-generation + (lambda _ + (mkdir-p (string-append #$output "/lib/findimagedupes")) + (invoke (string-append #$output "/bin/findimagedupes")))) + (add-after 'install 'wrap-findimagedupes + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append #$output + "/bin/findimagedupes") + `("PERL5LIB" ":" prefix + (,(getenv "PERL5LIB") ,(string-append #$output + "/lib/perl5/site_perl"))))))))) + (inputs (list bash-minimal perl-db-file perl-file-mimeinfo + perl-image-magick perl-inline-c)) + (home-page "https://github.com/jhnc/findimagedupes") + (synopsis "Find visually similar or duplicate images") + (description "findimagedupes compares a list of files for visual +similarity.") + (license license:gpl3+))) + (define-public gpart ;; The latest (0.3) release is from 2015 and is missing a crash fix. (let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9") @@ -1592,7 +1651,7 @@ gone and to help you to clean it up.") (define-public nwipe (package (name "nwipe") - (version "0.34") + (version "0.35") (source (origin (method git-fetch) @@ -1601,7 +1660,7 @@ gone and to help you to clean it up.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1frwjgz4mpzwr9sigr693crmxsjl08wcikh6ik7dm0x40l1kqqpd")))) + (base32 "1bj20y52qzz2ja56yf1pxqjg3lsda35c2k5hcj3lqm69jpsla2wq")))) (build-system gnu-build-system) (arguments (list #:phases @@ -1615,7 +1674,13 @@ gone and to help you to clean it up.") "sbin/hdparm" "sbin/smartctl"))))))))) (inputs - (list bash-minimal dmidecode hdparm ncurses parted smartmontools)) + (list bash-minimal + dmidecode + hdparm + libconfig + ncurses + parted + smartmontools)) (native-inputs (list autoconf automake libtool pkg-config)) (home-page "https://github.com/martijnvanbrummelen/nwipe") diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 2b5b1235e4..f6b5f12a23 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -57,7 +57,7 @@ (define-public d-tools (package (name "d-tools") - (version "2.100.0") + (version "2.105.3") (source (origin (method git-fetch) @@ -66,7 +66,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1jbn0hyskv4ykcckw0iganpyrm0bq2lggswspw21r4hgnxkmjbyw")))) + (base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33")))) (build-system gnu-build-system) (arguments (list #:phases diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 33715d6b19..73a2fac54b 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -844,7 +844,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.3.1") + (version "3.3.2") (source (origin (method git-fetch) @@ -853,7 +853,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0l29809wcpx4q1d87539799c4mai0vvfkzkbmrba186mn47p3lsd")) + (base32 "17zdpk6wf0cf90dp4cls35si8ywjsqjrmgssw2gmb1y0zfyp19vq")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 3b809feb67..a69bbac168 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> @@ -299,7 +299,10 @@ the required network abstractions for applications.") (inherit docker-libnetwork) (name "docker-libnetwork-cmd-proxy") (arguments - `(#:import-path "github.com/docker/libnetwork/cmd/proxy" + ;; The tests are unsupported on all architectures except x86_64-linux. + `(#:tests? ,(and (not (%current-target-system)) + (target-x86-64?)) + #:import-path "github.com/docker/libnetwork/cmd/proxy" #:unpack-path "github.com/docker/libnetwork" #:install-source? #f)) (native-inputs diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fd965600c8..53784a46a8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -135,6 +135,7 @@ ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> ;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net> ;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com> +;;; Copyright © 2023 Ian Eure <ian@retrospec.tv> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1511,8 +1512,8 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (define-public emacs-magit ;; Use this unreleased commit to benefit from a recent improvements with ;; regard to adding git trailers such as "Reviewed-by". - (let ((commit "7a1d50347086678217cf90a32dda277b76ea3081") - (revision "6")) + (let ((commit "dda332b2a41569f5fd8c0c2c3c2dab902d48ceb4") + (revision "7")) (package (name "emacs-magit") (version (git-version "3.3.0" revision commit)) @@ -1524,7 +1525,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1yn3v24w0sx6r8jqw8blfvyjdjfz5xa7c3x8p6xw1lj7b81l8i0l")))) + (base32 "14vqfykfzddpfka7s3pmlh3yvbfd1rpjhab4g9dinz9hn48dwb06")))) (build-system emacs-build-system) (arguments (list @@ -3294,6 +3295,29 @@ immediately activated. Also filtering can be applied so selection can be incrementally confined in Isearch manner.") (license license:gpl3+))) +(define-public emacs-dnt + (let ((commit "d28d232d682094ab79cfa78c97668c6ebd327c8c") + (revision "1")) + (package + (name "emacs-dnt") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/dnt.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bls9j1ibw0npjapslbrh6nmlbn3d4ajhjygsqlf6h9qg12sxm3r")))) + (inputs (list emacs-s)) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/dnt") + (synopsis "Strip trackers from URLs") + (description "This package provides a series of rules and helper functions +to prevent advertisers from tracking you when you open URLs (or listen to +podcasts) in Emacs.") + (license (list license:gpl3+))))) ;;; @@ -5022,6 +5046,28 @@ written in the Go programming language.") directly inside Emacs. It requires a Google Map Static API key to function.") (license license:gpl3+)))) +(define-public emacs-geoclue + (let ((commit "f409b544be4d2cfd848f4658618374b0bc76cb3c") + (revision "1")) + (package + (name "emacs-geoclue") + (version (git-version "0.8.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/geoclue.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ggyn9rvc6si3xy1rrw2f2hyw6cys4bgb9v0ah0qq65y3dnziq6m")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/geoclue") + (synopsis "Determine your current location using GeoClue2 over D-Bus") + (description "This package provides an Emacs library which lets you +determine your current location using GeoClue2 over D-Bus.") + (license (list license:gpl3+))))) + (define-public emacs-nominatim (let ((revision "0") (commit "f814e16f8f4e2cfd633f52b29699a009ab704fbf")) @@ -9771,6 +9817,52 @@ interacting with the sbt shell and Scala console, compiling code and navigation to errors.") (license license:gpl3+))) +(define-public emacs-9lc-mode + (let ((commit "7871476488fc7b66e05714797a9a5b8275988662") + (revision "1")) + (package + (name "emacs-9lc-mode") + (version (git-version "0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/9lc-mode.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kmx0c413yvvaq33v7lf3gzdjpxkr5faa1wj2j0m25lyyz8dsdm7")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/geoclue") + (synopsis "Major mode for editing Fluke 9000 scripts") + (description + "This package provides a major mode for editing Fluke 9010a \"9LC\" files.") + (license (list license:gpl3+))))) + +(define-public emacs-tl1-mode + (let ((commit "48d12893cc81d7f92dc7b603d3751d8512ed0eb0") + (revision "1")) + (package + (name "emacs-tl1-mode") + (version (git-version "1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/tl1-mode.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mf0wqbn9h0353hkhcykzrm2dk1jvyijqs4hsvgj3kwp1whws7br")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/geoclue") + (synopsis "Major mode for editing Fluke 9100 TL/1 source code") + (description + "This package provides a major mode for editing Fluke TL/1 source code. +TL/1 is a language used to control Fluke’s 9100 series of testing and +troubleshooting mainframes.") + (license (list license:gpl3+))))) + (define-public emacs-scheme-complete ;; Upstream does not provide tags. The commit below corresponds to the ;; exact version update. Version is extracted from main file. @@ -17747,6 +17839,29 @@ in Org buffers and displays matching entries.") information inside the Dired buffer.") (license license:gpl3+)))) +(define-public emacs-diss + (let ((commit "8a99a1b34de4575087da49fe1e19bcf33ac49f46") + (revision "1")) + (package + (name "emacs-diss") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/diss.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06xvl85dkp3c2cw41f2gy7db2d7fy5pv5w1wr7vd7ccdlg3fq4gc")))) + + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/diss") + (synopsis "Dired Image Slideshow") + (description "Diss is a full-featured image slideshow for Emacs, based +on Dired and image-mode.") + (license (list license:gpl3+))))) + (define-public emacs-dired-toggle-sudo (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169") (revision "0")) @@ -27115,7 +27230,7 @@ them in your web browser.") (define-public emacs-srht (package (name "emacs-srht") - (version "0.2") + (version "0.4") (source (origin (method git-fetch) (uri (git-reference @@ -27124,7 +27239,7 @@ them in your web browser.") (file-name (git-file-name name version)) (sha256 (base32 - "10271yp9w9z27gjjpb7bnsqcrhqyvggrbmic6x1nlrn06vin1qkz")))) + "1kwc792r0kmnb7xhmggjgs8ii14c2rng9ci2k2zwy2zxqm0bynns")))) (build-system emacs-build-system) (arguments (list @@ -31182,6 +31297,29 @@ generating a temp buffer in which any useful Emacs utilities and modes can be invoked.") (license license:gpl3+)))) +(define-public emacs-exwm-mff + (let ((commit "89206f2e3189f589c27c56bd2b6203e906ee7100") + (revision "1")) + (package + (name "emacs-exwm-mff") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/exwm-mff.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ipmapyd4jmpnk34wk9kfbvqnl04x74yg2pmj298wqa61ylw1n9j")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/exwm-mff") + (synopsis "Mouse follows focus for EXWM") + (description "This package provides a minor mode to automatically warp +the mouse pointer to the center of a focused window, as well as a command to +warp it to the currently selected window.") + (license (list license:gpl3+))))) + (define-public emacs-exwm-modeline (package (name "emacs-exwm-modeline") @@ -31203,6 +31341,78 @@ invoked.") workspaces.") (license license:gpl3+))) +(define-public emacs-exwm-firefox-core + (let ((commit "e2fe2a895e8f973307ef52f8c9976b26e701cbd0") + (revision "1")) + (package + (name "emacs-exwm-firefox-core") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/walseb/exwm-firefox-core.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k5jkjzx6f8nfmbkc61raj585p9pymycgzv7rr3fhv2drgkaa4yi")))) + (inputs (list emacs-exwm)) + (build-system emacs-build-system) + (home-page "https://github.com/walseb/exwm-firefox-core") + (synopsis "Control Firefox with EXWM") + (description + "This package contains functions that execute exwm +keypresses mapped in firefox to the action described in the function name.") + (license (list license:gpl3+))))) + +(define-public emacs-exwm-firefox + (let ((commit "7390c3bc425894aeda3c12c23f61a234bb71a2d9") + (revision "1")) + (package + (name "emacs-exwm-firefox") + (version (git-version "0.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/exwm-firefox.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xmgij04h4cbcgqafyyf9qajf0wp6mxpfpwjm6gi1jgisrql882d")))) + (build-system emacs-build-system) + (inputs (list emacs-exwm-firefox-core emacs-s emacs-exwm)) + (home-page "https://codeberg.org/emacs-weirdware/exwm-firefox") + (synopsis "Enhanced support for Firefox under EXWM") + (description + "This package adds enhanced support for Firefox (and forks +based on Firefox) under EXWM. Keybindings intentionally mirror other Emacs +navigation controls.") + (license (list license:gpl3+))))) + +(define-public emacs-exwm-ss + (let ((commit "b11d3df7a50c39b4e1b92ef8a6685cf80b53912c") + (revision "1")) + (package + (name "emacs-exwm-ss") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/exwm-ss.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "045b0cjycf7nf52ap89w5dz16l1qyh940qxwvdi76v6al78amrap")))) + (build-system emacs-build-system) + (inputs (list emacs-exwm)) + (home-page "https://codeberg.org/emacs-weirdware/exwm-ss") + (synopsis "Automatically inhibit screensaver activation in EXWM") + (description "This package provides a global minor mode to inhibit +screensaver activation in EXWM.") + (license (list license:gpl3+))))) + (define-public emacs-ert-async (package (name "emacs-ert-async") @@ -34680,6 +34890,52 @@ on removable volumes in Linux.") (home-page "https://github.com/Akirak/helm-linux-disks") (license license:gpl3+)))) +(define-public emacs-debase + (let ((commit "0b6fc2af3440d68798e3a85d4c889341aae07936") + (revision "1")) + (package + (name "emacs-debase") + (version (git-version "0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/debase.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "112vk1svnc6516vhs47sx5jw6bg8lwrc15l99dxj0sc313lxjy3k")))) + (build-system emacs-build-system) + (inputs (list)) + (home-page "https://codeberg.org/emacs-weirdware/debase") + (synopsis "D-Bus convenience layer for Emacs") + (description + "Debase provides a higher-level API for using and implementing D-Bus +services inside Emacs.") + (license (list license:gpl3+))))) + +(define-public emacs-discomfort + (let ((commit "873eea833bbae7196b92bb1102494b8bf5dc5df6") + (revision "1")) + (package + (name "emacs-discomfort") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/discomfort.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01p4bfiasqxfmp9x1bxdc7763bh712d3vlp2014y8pzrwb1jqdaq")))) + (build-system emacs-build-system) + (inputs (list emacs-debase)) + (home-page "https://codeberg.org/emacs-weirdware/discomfort") + (synopsis "User interface to mount & unmount disks in Emacs.") + (description "Discomfort is an interface to mount and unmount disks in Emacs, using UDisks2.") + (license (list license:gpl3+))))) + (define-public emacs-psession (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c") (revision "1")) @@ -36209,6 +36465,80 @@ easily. Four pre-set options are: @samp{shell}, @samp{terminal}, you use some other configuration.") (license license:gpl3+)))) +(define-public emacs-shell-here + (let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a") + (revision "1")) + (package + (name "emacs-shell-here") + (version (git-version "1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/shell-here.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x8lnybxj7k6wj941lgqmm57f3qqnmb0gc7573l1fxwfhf39fl20")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/shell-here") + (synopsis "Launch a shell relative to default-directory") + (description + "This package provides commands to open a shell buffer in (or relative +to) the default-directory or – using projectile or find-file-in-project – a +project root.") + (license (list license:gpl3+))))) + +(define-public emacs-hyperspace + (let ((commit "f574d07fd8715e806ba4f0487b73c699963baed3") + (revision "1")) + (package + (name "emacs-hyperspace") + (version (git-version "0.8.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/hyperspace.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19h3d12a99i7a92k3iw4zmjmw3dazsgnkc6j4965h033r1s40amx")))) + (build-system emacs-build-system) + (inputs (list emacs-s)) + (home-page "https://codeberg.org/emacs-weirdware/hyperspace") + (synopsis "Get there from here") + (description + "Hyperspace is a way to get nearly anywhere from wherever +you are, whether that's within Emacs or on the web. It's somewhere in between +Quicksilver and keyword URLs, giving you a single, consistent interface to get +directly where you want to go. It’s for things that you use often, but not +often enough to justify a dedicated binding.") + (license (list license:gpl3+))))) + +(define-public emacs-nssh + (let ((commit "74d43738565749af680e4d1388e0c2f88e93498d") + (revision "1")) + (package + (name "emacs-nssh") + (version (git-version "0.9.12" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/nssh.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i2nnrg7xv7b2bbby6idszs9byk2jd83q7vqj6lxgn80w94i56nn")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/nssh") + (synopsis "SSH mode for Emacs") + (description "This package provides an SSH mode for Emacs, built on +top of Tramp and shell mode. It keeps a history of previously connected +hosts and supports auto-completion of known hosts.") + (license (list license:gpl3+))))) + (define-public emacs-tshell ;; XXX: Upstream has no tagged release. Version is extracted from keyword ;; in main file. @@ -37335,10 +37665,10 @@ execute code split into cells according to certain magic comments.") (define-public emacs-ein ;; XXX: Upstream doesn't make any release, and didn't set any version. - (let ((commit "b2410dc96f61aa806a7934099d8f1e40c8f6ca18")) + (let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2")) (package (name "emacs-ein") - (version "20220911") + (version "20230826") (source (origin (method git-fetch) @@ -37349,7 +37679,7 @@ execute code split into cells according to certain magic comments.") (file-name (git-file-name name version)) (sha256 (base32 - "02392bxl0msda58cls0i79mzqjs73x39czx0mlb0sg2vxp84gy15")))) + "09qbswzz6kbxc74dmdgagrk5wgbm89sabf0bfy76j4qlcg6550mx")))) (build-system emacs-build-system) (arguments (list diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index af2cab1e67..313675814a 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1592,7 +1592,7 @@ handling communication with eBUS devices connected to a 2-wire bus system (define-public ucsim (package (name "ucsim") - (version "0.8.0") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append @@ -1601,7 +1601,7 @@ handling communication with eBUS devices connected to a 2-wire bus system "ucsim_" version "_orig.tar.gz")) (sha256 (base32 - "0qyrrna2ssvwla15al183r9zqnqdxxlqawyhx9c86a10m8q8qqlz")))) + "1zdvzfhdsbydyyjy5rf2934bn06skdlnky6l9ngbp2k645g0ynlh")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 0729feb071..138b68bc21 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2023 c4droid <c4droid@foxmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Hendursaga <hendursaga@aol.com> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -111,7 +112,8 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system qt)) (define-public vice (package @@ -2492,6 +2494,29 @@ on a Commodore C64, C128 etc.") ;; zlib license with an (non-)advertising clause. (license license:zlib))) +(define-public qtrvsim + (package + (name "qtrvsim") + (version "0.9.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cvut/qtrvsim") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zi39q8ajkzl8d47sacj0dk1a2n5jmfgr29x9iby59v792g7p8ac")) + (modules '((guix build utils))) + (snippet #~(begin (delete-file-recursively "external/libelf"))))) + (build-system qt-build-system) + (inputs (list libelf qtbase-5)) + (home-page "https://github.com/cvut/qtrvsim") + (synopsis "RISC-V CPU simulator for education purposes") + (description "RISC-V CPU simulator for education purposes with pipeline and +cache visualization. Developed at FEE CTU for computer architecture classes.") + (license license:gpl3+))) + (define-public cc65 (package (name "cc65") diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index dcf2695118..043eeffbc4 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -29,6 +29,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages anthy) #:use-module (gnu packages boost) + #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages datastructures) #:use-module (gnu packages enchant) @@ -87,7 +88,7 @@ client.") (define-public fcitx5 (package (name "fcitx5") - (version "5.1.0") + (version "5.1.5") (source (origin (method url-fetch) @@ -95,7 +96,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-" version "_dict.tar.xz")) (sha256 - (base32 "1a1d3bcxddv3hsmffgf608arhamia17bq82q932sy5zl9j8s423y")))) + (base32 "108a8561wh01vl5gqp2rnmnrh9qq3v8md3410dw46lx705a1wy4r")))) (arguments (list #:configure-flags #~(list "-DUSE_SYSTEMD=OFF"))) (build-system cmake-build-system) @@ -138,7 +139,7 @@ client.") (define-public fcitx5-lua (package (name "fcitx5-lua") - (version "5.0.10") + (version "5.0.11") (source (origin (method url-fetch) @@ -146,7 +147,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-" version ".tar.xz")) (sha256 - (base32 "13vh6i7pap3h9jrjri3cfi7pcjwhlkw9g24ibfh0aykdhd8d7p99")))) + (base32 "1hc1vhaycfp9bjvch7qrvza5gdimr30rvwavbwqd27lrh36910yc")))) (build-system cmake-build-system) (arguments (list @@ -164,19 +165,19 @@ client.") (define-public libime (package (name "libime") - (version "1.1.0") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" version "_dict.tar.xz")) (sha256 - (base32 "0jqr9riwygr3c9qzs8hx46smhgys68bf6m70fmam819903a9gpf0")))) + (base32 "0c1zn4bi71a84jh7x0fly3xqrsjm08ja3sglxrkfm9snk0x6ybhf")))) (build-system cmake-build-system) (inputs - (list fcitx5 boost)) + (list fcitx5 boost (list zstd "lib"))) (native-inputs - (list extra-cmake-modules python)) ;needed to run test + (list extra-cmake-modules pkg-config)) (home-page "https://github.com/fcitx/libime") (synopsis "Library for implementing generic input methods") (description "Libime is a library for implementing various input method @@ -304,7 +305,7 @@ IM module for GTK+3 applications. (define-public fcitx5-qt (package (name "fcitx5-qt") - (version "5.1.0") + (version "5.1.3") (source (origin (method url-fetch) @@ -312,7 +313,7 @@ IM module for GTK+3 applications. "/fcitx5-qt/fcitx5-qt-" version ".tar.xz")) (sha256 - (base32 "02gnzwf0mlshmh1hw8c1866643qmdqazwjz339jq0c3ll61f8m7h")))) + (base32 "0wyzq91fcqhv655fjhzfjmlj0xr365sl5cjgck75xaj08gj3mw61")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -339,7 +340,7 @@ for Qt based application.") (define-public fcitx5-anthy (package (name "fcitx5-anthy") - (version "5.1.0") + (version "5.1.2") (source (origin (method url-fetch) @@ -347,7 +348,7 @@ for Qt based application.") "/fcitx5-anthy/fcitx5-anthy-" version ".tar.xz")) (sha256 - (base32 "0hzk3v36ph6f2nnlqqyw08w3qakbcb71y572ff09cy5b20vb29dp")))) + (base32 "0a1x1b7y5n1a9clb9j9mryhx2fnd5l5rwb74f38c0s93rxx8fhpf")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;; no tests @@ -363,7 +364,7 @@ the Anthy input method.") (define-public fcitx5-chinese-addons (package (name "fcitx5-chinese-addons") - (version "5.1.0") + (version "5.1.2") (source (origin (method url-fetch) @@ -371,7 +372,7 @@ the Anthy input method.") "/fcitx5-chinese-addons/fcitx5-chinese-addons-" version "_dict.tar.xz")) (sha256 - (base32 "1akf4qqvck7m93i0183ffb7jfsz0rq4f3bkf89vfxlqp4i7lfw5l")))) + (base32 "13na8qvz0vh43gmxa81jn96xpp6maz71ga039z6lqr069hzsx1vc")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -427,7 +428,7 @@ including input methods previous bundled inside Fcitx 4: (define-public fcitx5-configtool (package (name "fcitx5-configtool") - (version "5.1.0") + (version "5.1.2") (source (origin (method url-fetch) @@ -435,7 +436,7 @@ including input methods previous bundled inside Fcitx 4: "https://download.fcitx-im.org/fcitx5" "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) (sha256 - (base32 "0xv5kckm6bsbavw0s2iqg128fv7j8sh49lpwc0acqrdmwj49x1pz")))) + (base32 "1k6101wjl5j9qb174j75g5nbvz7hvh0cj01w6b9n65pqcv4hsf6c")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -537,7 +538,7 @@ for Fcitx 5 with following color variants: (define-public fcitx5-rime (package (name "fcitx5-rime") - (version "5.1.1") + (version "5.1.3") (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx5" @@ -545,7 +546,7 @@ for Fcitx 5 with following color variants: ".tar.xz")) (sha256 (base32 - "1h6vh5pkak8l528l2d2nw5gy6zqa2sy3ris3xzkakb8kmgyjd3da")))) + "0cs3zq69fpasch6sq9yar2qw8403rxr2g4hjxn7mmshi1h1j6nm8")))) (build-system cmake-build-system) (arguments '(#:tests? #f ;no tests diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 4f3415232c..cd419f2102 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1957,13 +1957,13 @@ that allows you to run services and through them access the Bitcoin Cash network (define-public beancount (package (name "beancount") - (version "2.3.5") + (version "2.3.6") (source (origin (method url-fetch) (uri (pypi-uri "beancount" version)) (sha256 - (base32 "0sn3x6c5vwvdfak1qm0y4vv284izrc4dly31mqyd9jz9l8jmdqql")) + (base32 "0nj7sdh7wxc0hv8wxwqhw9v1zgx1sn4w92368ci2wzdmssz967w0")) (patches (search-patches "beancount-disable-googleapis-fonts.patch")))) (build-system python-build-system) (arguments diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 23d21ca6a9..6165845261 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -580,7 +580,7 @@ formats, and can perform many different manipulations.") (define-public uuu (package (name "uuu") - (version "1.4.165") + (version "1.5.125") (source (origin (method git-fetch) @@ -590,7 +590,7 @@ formats, and can perform many different manipulations.") (file-name (git-file-name name version)) (sha256 (base32 - "0k309lp27d4k6x4qq0badbk8i47xsc6f3fffz73650iyfs4hcniw")))) + "02nyax1z2qkcxs764lj5cpazv8n957hv9ipd9b5rqpgi9pgnvlvz")))) (arguments `(#:tests? #f ; no tests #:modules ((guix build utils) @@ -618,7 +618,8 @@ formats, and can perform many different manipulations.") (native-inputs (list pkg-config)) (inputs - (list libusb bzip2 zlib libzip openssl)) + (list libusb bzip2 zlib libzip openssl + `(,zstd "lib"))) (home-page "https://github.com/NXPmicro/mfgtools") (synopsis "Freescale/NXP I.MX chip image deploy tools") (description "@code{uuu} is a command line tool, evolved out of MFGTools. diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 22a42d227f..813367be8a 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1952,7 +1952,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.") (define-public font-sarasa-gothic (package (name "font-sarasa-gothic") - (version "0.42.1") + (version "0.42.6") (source (origin (method url-fetch) @@ -1960,7 +1960,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.") "/releases/download/v" version "/sarasa-gothic-ttc-" version ".7z")) (sha256 - (base32 "0lrhipis21cafpsf8wsrdavlblfgzz424r23rj78ik8npbws1a3v")))) + (base32 "0czx10yph2lxg2k4w6qjnil73zb2pgg3g400apm9gay41m04990v")))) (build-system font-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -3159,7 +3159,7 @@ and readability. This package bundles those icons into a font.") (define-public font-lxgw-wenkai (package (name "font-lxgw-wenkai") - (version "1.310") + (version "1.311") (source (origin (method url-fetch) (uri (string-append @@ -3167,7 +3167,7 @@ and readability. This package bundles those icons into a font.") version "/lxgw-wenkai-v" version ".tar.gz")) (sha256 (base32 - "10z8ilcpfxmll6j6ck4yj90x48vh3c7ck0lm61qjangpw9fcgfb1")))) + "0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27")))) (build-system font-build-system) (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/") (synopsis "Simplified Chinese Imitation Song typeface") @@ -3181,7 +3181,7 @@ within GB 2312, standard glyphs for Mainland China is used.") (package (inherit font-lxgw-wenkai) (name "font-lxgw-wenkai-tc") - (version "1.010") + (version "1.011") (source (origin (method url-fetch) (uri (string-append @@ -3189,7 +3189,7 @@ within GB 2312, standard glyphs for Mainland China is used.") version "/lxgw-wenkai-tc-v" version ".tar.gz")) (sha256 (base32 - "1yppqrfmynai1canlq0hksl3yaj8kflbnj41ljl4lxwaz6q9i1ly")))) + "0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv")))) (home-page "https://github.com/lxgw/LxgwWenKaitc") (synopsis "Traditional Chinese Imitation Song typeface") (description diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 1d9abd9705..671c7839ac 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2055,7 +2055,7 @@ scripted in a Python-like language.") (define-public godot (package (name "godot") - (version "4.1.2") + (version "4.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -2064,7 +2064,7 @@ scripted in a Python-like language.") (file-name (git-file-name name version)) (sha256 (base32 - "1zm07rknpjkvyxpiscqsx5hi4gc5wi647jlhillxdf85b36s6q9j")) + "1mwwzf77ixkalciqakn6q42g9sl2570didfll406sfs42wz534ng")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index a1992dec26..51c96ccc1a 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1969,7 +1969,8 @@ to the OSM opening hours specification.") java-openjfx-media java-parsson ; runtime dependency java-signpost-core - java-svg-salamander)) + java-svg-salamander + openjdk11)) (arguments `(#:tests? #f #:jar-name "josm.jar" @@ -2069,9 +2070,16 @@ to the OSM opening hours specification.") (lambda _ (display (string-append "#!/bin/sh\n" - (assoc-ref inputs "jdk") "/bin/java" + (assoc-ref inputs "openjdk") "/bin/java" " -cp " out "/share/java/josm.jar:" - (getenv "CLASSPATH") + ;; CLASSPATH, but remove native inputs + (string-join + (filter + (lambda (jar) + (and (not (string-contains jar "-jdk/")) + (not (string-contains jar "-javacc-")))) + (string-split (getenv "CLASSPATH") #\:)) + ":") " org.openstreetmap.josm.gui.MainApplication")))) (chmod (string-append bin "/josm") #o755)) #t))))) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 6472158abc..c02a6f0a84 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -267,7 +267,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "23.1.4") + (version "23.2.1") (source (origin (method url-fetch) @@ -277,7 +277,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "0n89l7lvawh85hq2a7g5pp5v017s03qs3n4hbbff6rs8p5zs2qbj")))) + "1k61pgw0vcjrlb4299q98cy7iqmk2r7jmb5ika91z01dzhb0dpk4")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. @@ -754,10 +754,14 @@ OpenGL graphics API.") #~(modify-phases %standard-phases (add-before 'configure 'patch-paths (lambda* (#:key inputs #:allow-other-keys) - (let ((mesa (dirname (search-input-file inputs "lib/libGL.so")))) + (let ((mesa-lib + (lambda (file) + (search-input-file inputs (string-append "lib/" file))))) (substitute* (find-files "." "\\.[ch]$") - (("libGL.so.1") (string-append mesa "/libGL.so.1")) - (("libEGL.so.1") (string-append mesa "/libEGL.so.1"))))))))) + (("libGL.so.1") (mesa-lib "libGL.so.1")) + (("libEGL.so.1") (mesa-lib "libEGL.so.1")) + (("libGLESv1_CM.so.1") (mesa-lib "libGLESv1_CM.so.1")) + (("libGLESv2.so.2") (mesa-lib "libGLESv2.so.2"))))))))) (build-system meson-build-system) (native-inputs (list pkg-config python)) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6f0a948c34..c6437ce450 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> -;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> +;;; Copyright © 2018, 2023 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org> @@ -5928,7 +5928,7 @@ services for numerous locations.") gi-docgen `(,glib "bin") ;for glib-mkenums gobject-introspection - glibc-utf8-locales + (libc-utf8-locales-for-target) gsettings-desktop-schemas pkg-config python @@ -8635,7 +8635,10 @@ Cisco's AnyConnect SSL VPN.") libsecret network-manager openfortivpn - ppp)) + + ;; ppp < 2.5.0 is currently required: + ;; https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6 + ppp-2.4.9)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "Fortinet SSLVPN plug-in for NetworkManager") (description @@ -8669,7 +8672,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.") (define-public network-manager-applet (package (name "network-manager-applet") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/network-manager-applet/" @@ -8677,7 +8680,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.") "network-manager-applet-" version ".tar.xz")) (sha256 (base32 - "0f5sxxi9rywg8mhglcyk3sqmgv5wwl4vxzar56847b852pxazdd2")))) + "1a55mf4ww06lqacs6zndp29ayyby5f8rgg1lp341y5kb1x3qwdmb")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -9515,7 +9518,7 @@ easy, safe, and automatic.") (native-inputs (list gettext-minimal `(,glib "bin") - glibc-utf8-locales + (libc-utf8-locales-for-target) gobject-introspection docbook-xsl docbook-xml diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f0dd5c7f3e..b942cd4fc1 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -547,9 +547,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 "115.4.0") +(define %icecat-base-version "115.5.0") (define %icecat-version (string-append %icecat-base-version "-guix0-preview1")) -(define %icecat-build-id "20231024000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-build-id "20231121000000") ;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' @@ -569,12 +569,12 @@ variable defined below. It requires guile-json to be installed." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0ndf8b6qj0f178k5yq9s9mjgj9csb62f0igy74dzj28vlgrxn7y3")))) + "0a578r4kri7jdw8pkkzp7f1mm9idlk7sjxjghcb08k5p14172gyv")))) ;; The upstream-icecat-base-version may be older than the ;; %icecat-base-version. - (upstream-icecat-base-version "115.4.0") - (gnuzilla-commit "5b2ce0c4cefc73f996f260edfac368ecc3d86b24") + (upstream-icecat-base-version "115.5.0") + (gnuzilla-commit "bd66797f3bb057c9d051d4276d63843b4d7ee854") (gnuzilla-source (origin (method git-fetch) @@ -586,7 +586,7 @@ variable defined below. It requires guile-json to be installed." (string-take gnuzilla-commit 8))) (sha256 (base32 - "13a0rv6b2vcf2mv7bfbb0rlx08pi0bz29dig0xrfdy3m1p39apla")))) + "0v3ckm8yv566f2y9a2bfzakbsk529f1ykr7dj69kb9k93dgny3ja")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9c707e5414..b5bf9d4b47 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2022 Christopher Howard <christopher@librehacker.com> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> +;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3988,6 +3989,23 @@ the official package.") (home-page "https://go.googlesource.com/net") (license license:bsd-3)))) +(define-public go-golang-org-x-net-0.17 + (let ((commit "b225e7ca6dde1ef5a5ae5ce922861bda011cfabd") + (revision "0")) + (package + (inherit go-golang-org-x-net) + (name "go-golang-org-x-net") + (version (git-version "0.17.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17zhim2m0r8nyy18g2lsawxm4rawix2qbjyn80x9vc6jc8fv05m9"))))))) + (define-public go-golang-org-x-net-html (package (inherit go-golang-org-x-net) @@ -4091,6 +4109,24 @@ support for low-level interaction with the operating system.") (home-page "https://go.googlesource.com/sys") (license license:bsd-3)))) +;; XXX: This version is required for "go-github-com-quic-go-qtls-go1-20". +(define-public go-golang-org-x-sys-0.8 + (let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78") + (revision "0")) + (package + (inherit go-golang-org-x-sys) + (name "go-golang-org-x-sys") + (version (git-version "0.8.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/sys") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq"))))))) + (define-public go-golang-org-x-text (package (name "go-golang-org-x-text") @@ -5577,10 +5613,12 @@ values.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn")))) + (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn")) + (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/yaml.v3")) + `(#:tests? ,(not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s). + #:import-path "gopkg.in/yaml.v3")) (native-inputs (list go-gopkg-in-check-v1)) (home-page "https://gopkg.in/yaml.v3") @@ -7691,35 +7729,110 @@ implementation of generics.") (home-page "https://github.com/cheekybits/genny/") (license license:expat))) -(define-public go-github-com-lucas-clemente-quic-go +(define-public go-github-com-quic-go-qtls-go1-20 + (package + (name "go-github-com-quic-go-qtls-go1-20") + (version "0.3.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/quic-go/qtls-go1-20") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fl3yv1w8cygag3lav45vvzb4k9i72p92x13wcq0xn13wxirzirn")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/quic-go/qtls-go1-20" + #:go go-1.20)) + (propagated-inputs (list go-golang-org-x-crypto + go-golang-org-x-sys-0.8)) + (synopsis "TLS 1.3 for QUIC") + (description + "Go standard library TLS 1.3 implementation, modified for QUIC. For +Go 1.20.") + (home-page "https://github.com/quic-go/qtls-go1-20") + (license license:expat))) + +(define-public go-github-com-quic-go-qpack + (package + (name "go-github-com-quic-go-qpack") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/quic-go/qpack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/quic-go/qpack" + ;; Tests require ginkgo v2. + #:tests? #f + #:go go-1.20)) + (propagated-inputs (list go-github-com-onsi-gomega + go-github-com-onsi-ginkgo + go-golang-org-x-net)) + (synopsis "Minimal QPACK (RFC 9204) implementation for Go") + (description + "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense +that it doesn't use the dynamic table at all, but just the static table and (Huffman +encoded) string literals. Wherever possible, it reuses code from the +@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in +the Go standard library}.") + (home-page "https://github.com/quic-go/qpack") + (license license:expat))) + +(define-public go-github-com-quic-go-quic-go (package - (name "go-github-com-lucas-clemente-quic-go") - (version "0.14.4") + (name "go-github-com-quic-go-quic-go") + (version "0.39.3") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/lucas-clemente/quic-go") + (url "https://github.com/quic-go/quic-go") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz")))) + "0acabl3cz48nxpggc5s7fwxpmr5amyi09jygn5m5xxkkbhqs2cxq")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/lucas-clemente/quic-go" - ;; XXX More packages required... - #:tests? #f)) + (list #:import-path "github.com/quic-go/quic-go" + ;; XXX More packages required... + #:tests? #f + #:go go-1.20)) (propagated-inputs - (list go-golang-org-x-crypto go-github-com-cheekybits-genny - go-github-com-marten-seemann-chacha20 - go-github-com-marten-seemann-qtls - go-github-com-golang-protobuf-proto)) + (let ((p (package-input-rewriting + `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8)) + #:deep? #true))) + (cons go-golang-org-x-sys-0.8 + (map p + (list go-github-com-quic-go-qtls-go1-20 + go-github-com-quic-go-qpack + go-golang-org-x-crypto + go-github-com-cheekybits-genny + go-github-com-marten-seemann-chacha20 + go-github-com-golang-protobuf-proto + go-golang-org-x-crypto + go-golang-org-x-exp + go-golang-org-x-net + go-golang-org-x-sync))))) (synopsis "QUIC in Go") (description "This package provides a Go language implementation of the QUIC network protocol.") - (home-page "https://github.com/lucas-clemente/quic-go") + (home-page "https://github.com/quic-go/quic-go") (license license:expat))) +(define-public go-github-com-lucas-clemente-quic-go + (deprecated-package "go-github-com-lucas-clemente-quic-go" go-github-com-quic-go-quic-go)) + (define-public go-github-com-lunixbochs-vtclean (package (name "go-github-com-lunixbochs-vtclean") @@ -8212,7 +8325,15 @@ colorized or SGR defined output to the standard output.") (build-system go-build-system) (arguments '(#:import-path "github.com/google/go-cmp/cmp" - #:unpack-path "github.com/google/go-cmp")) + #:unpack-path "github.com/google/go-cmp" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "Determine equality of values in Go") (description "This package is intended to be a more powerful and safer @@ -8447,6 +8568,17 @@ with gotest-tools."))) (define-public go-gotest-tools-internal-source (package (inherit (go-gotest-tools-package "internal/source")) + (arguments + (substitute-keyword-arguments + (package-arguments (go-gotest-tools-package "internal/source")) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; failed to parse source file: : open : no such file or directory + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args)))))))) (native-inputs (list go-github-com-pkg-errors go-github-com-google-go-cmp-cmp)) (synopsis "Source code AST formatters for gotest-tools") @@ -8635,45 +8767,48 @@ directories. It is optimized for filewalking.") @code{database/sql}.") (license license:expat))) -(define-public go-github-com-willf-bitset +(define-public go-github-com-bits-and-blooms-bitset (package - (name "go-github-com-willf-bitset") - (version "1.1.10") + (name "go-github-com-bits-and-blooms-bitset") + (version "1.11.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/willf/bitset") - (commit (string-append "v" version)))) + (url "https://github.com/bits-and-blooms/bitset") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg")))) + "1ialciixmr98p10rh61rnnkxpqi1j9hycbkv9rnjl0vnmsnpy0cy")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/willf/bitset")) + '(#:import-path "github.com/bits-and-blooms/bitset")) (synopsis "Bitsets in Go") (description "This package provides a Go implementation of bitsets, which are a mapping between non-negative integers and boolean values focused on efficient space usage.") - (home-page "https://github.com/willf/bitset") + (home-page "https://github.com/bits-and-blooms/bitset") (license license:bsd-3))) -(define-public go-github-com-willf-bloom +(define-public go-github-com-willf-bitset + (deprecated-package "go-github-com-willf-bitset" go-github-com-bits-and-blooms-bitset)) + +(define-public go-github-com-bits-and-blooms-bloom (package - (name "go-github-com-willf-bloom") - (version "2.0.3") + (name "go-github-com-bits-and-blooms-bloom") + (version "3.6.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/willf/bloom") - (commit (string-append "v" version)))) + (url "https://github.com/bits-and-blooms/bloom") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg")))) + "02rpjlgl7k3755qnlsk519xazgqlk73b8wvkpqlvccywms5w77bq")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/willf/bloom" + '(#:import-path "github.com/bits-and-blooms/bloom" #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-import-path @@ -8681,17 +8816,20 @@ efficient space usage.") ;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for ;; more information. ;; <https://github.com/spaolacci/murmur3/issues/29> - (substitute* "src/github.com/willf/bloom/bloom.go" + (substitute* "src/github.com/bits-and-blooms/bloom/bloom.go" (("spaolacci") "twmb")) #t))))) (propagated-inputs - (list go-github-com-twmb-murmur3 go-github-com-willf-bitset)) + (list go-github-com-twmb-murmur3 go-github-com-bits-and-blooms-bitset)) (synopsis "Bloom filters in Go") (description "This package provides a Go implementation of bloom filters, based on murmurhash.") - (home-page "https://github.com/willf/bloom") + (home-page "https://github.com/bits-and-blooms/bitset") (license license:bsd-2))) +(define-public go-github-com-willf-bloom + (deprecated-package "go-github-com-willf-bloom" go-github-com-bits-and-blooms-bloom)) + (define-public go-golang-org-rainycape-unidecode (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c") (revision "1")) @@ -11959,7 +12097,7 @@ dependencies and a simple API.") (define-public go-github-com-arceliar-ironwood (package (name "go-github-com-arceliar-ironwood") - (version "0.0.0-20221115123222-ec61cea2f439") + (version "v0.0.0-20231028101932-ceac99571f43") (source (origin (method git-fetch) @@ -11969,7 +12107,7 @@ dependencies and a simple API.") (file-name (git-file-name name version)) (sha256 (base32 - "0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225")))) + "1shxpmi847jf7rfa5mb0m4nflwmlg65hjgjm9v7ynjvcp0licsi4")))) (build-system go-build-system) (arguments '(#:import-path "github.com/Arceliar/ironwood" @@ -12698,7 +12836,7 @@ is undetermined, a customizable spinner is shown.") (define-public go-git-sr-ht-emersion-gqlclient (package (name "go-git-sr-ht-emersion-gqlclient") - (version "0.0.0-20220202181617-4e6e9c763dd2") + (version "0.0.0-20230820050442-8873fe0204b9") (source (origin (method git-fetch) @@ -12707,7 +12845,7 @@ is undetermined, a customizable spinner is shown.") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1d9hmaz7yy02bk455gmaav818xi49sw69jyx6dxzymv6ln7r1cv1")))) + (base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh")))) (build-system go-build-system) (arguments (list #:import-path "git.sr.ht/~emersion/gqlclient")) (home-page "https://git.sr.ht/~emersion/gqlclient") diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 45a591b9f3..a40b580417 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -10,6 +10,7 @@ ;;; 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> +;;; Copyright © 2023 David Elsing <david.elsing@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,13 +41,18 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bioconductor) #:use-module (gnu packages bioinformatics) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cran) #:use-module (gnu packages datastructures) + #:use-module (gnu packages docbook) + #:use-module (gnu packages flex) #:use-module (gnu packages gd) #:use-module (gnu packages graphics) #:use-module (gnu packages graphviz) @@ -55,6 +61,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-compression) @@ -93,49 +100,102 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).") (define-public igraph (package (name "igraph") - (version "0.10.4") + (version "0.10.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/igraph/igraph/releases/" - "download/" version "/igraph-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/igraph/igraph") + (commit version))) + (file-name (git-file-name name version)) + (patches (search-patches "igraph-fix-varargs-integer-size.patch")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-26))) (snippet '(begin - ;; igraph insists on building its own copy of CxSparse - ;; (see: https://github.com/igraph/igraph/commit/\ - ;; 334318b7dfe46501236272ca336580f4748114b0) and the build - ;; has no support to use a system provided 'pcg'. - (define keep-libraries '("cs" "pcg")) - (define keep (append '("." ".." "CMakeLists.txt") - keep-libraries)) - (define keep? (cut member <> keep)) - (with-directory-excursion "vendor" - (for-each delete-file-recursively - (scandir "." (negate keep?)))) - (call-with-output-file "vendor/CMakeLists.txt" - (cut format <> "~{add_subdirectory(~a)~%~}" - keep-libraries)) + + (delete-file-recursively "vendor") + (delete-file-recursively "src/isomorphism/bliss") (substitute* '("src/CMakeLists.txt" "etc/cmake/benchmark_helpers.cmake") ;; Remove extraneous bundling related variables. - ((".*_IS_VENDORED.*") - "")))) + ((".*_IS_VENDORED.*") "") + ((".*add_sub.*isomorphism/bliss.*") "") + (("(.*TARGETS.*)bliss(.*)cxsparse_vendored(.*)pcg(.*)" + _ part1 part2 part3 part4) + (string-append part1 part2 part3 part4)) + (("cxsparse_vendored") "cxsparse") + ((" pcg ") " pcg_random ")) + (substitute* "CMakeLists.txt" + (("add_sub.*vendor.*") "")))) (sha256 - (base32 "1z1ay3l1h64jc2igbl2ibvi20sswy56v2yk3ykhis7jzijsh0mxa")))) + (base32 + "025f9c2jsawniqkig4l5z3v9aw3ipazmnlsf80b653mns5bvj1yn")))) (build-system cmake-build-system) - (arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON") - #:test-target "check")) - (native-inputs (list pkg-config)) + (arguments + (list + #:configure-flags + #~(list "-DBUILD_SHARED_LIBS=ON" + ;; Use the same integer width as suitesparse-cxsparse, which + ;; uses int64_t in SuiteSparse v6.0.0 and later. + "-DIGRAPH_INTEGER_SIZE=64") + #:test-target "check" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'version-file + (lambda _ + (let ((port (open-file "IGRAPH_VERSION" "w"))) + (display #$version port) + (close port)))) + (add-after 'unpack 'patch-suitesparse + (lambda _ + (substitute* '("src/core/sparsemat.c" + "include/igraph_sparsemat.h") + (("<cs/cs\\.h>") "<cs.h>") + (("cs_igraph") "cs_dl") + (("__BEGIN_DECLS.*" all) + (string-append all "\n#define CS_LONG\n"))))) + (add-after 'unpack 'patch-pcg + (lambda _ + (substitute* '("src/random/rng_pcg32.c" + "src/random/rng_pcg64.c") + (("#include \"pcg/(.*)\"" _ name) + (string-append "#include <" name ">"))))) + (add-after 'unpack 'patch-bliss + (lambda _ + (substitute* "src/isomorphism/bliss.cc" + (("#include \"bliss.*") + (string-append + "#include <bliss/graph.hh>\n" + "#include <bliss/digraph.hh>\n"))))) + (add-after 'build 'build-doc + (lambda _ + (invoke "cmake" "--build" "." "--target" "html"))) + (add-after 'install 'install-doc + (lambda _ + (copy-recursively + "doc/html" + (string-append #$output "/share/doc/" + #$name "-" #$version "/html"))))))) + (native-inputs + (list bison + docbook-xml-4.3 + docbook-xsl + flex + pcg-c + pkg-config + ;; For the HTML documentation. + python + source-highlight + xmlto)) (inputs (list arpack-ng - gmp + bliss glpk - libxml2 lapack openblas - plfit)) + plfit + suitesparse-cxsparse)) ;; libxml2 is in the 'Requires.private' of igraph.pc. (propagated-inputs (list libxml2)) (home-page "https://igraph.org") diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index e5a26ecc6d..9a3bf7f38a 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -2204,6 +2204,10 @@ Cflags: -I${includedir}~%" #$output #$version))))) "_" "_" "_" "Codec_partialAnim" "_" "_" "_" "Codec_InvalidImages" "_" "_" "_" "Codec_GifInterlacedTruncated" + ;; This test started failing possibly after mesa + ;; being updated to 23.2.1 and possibly only on some + ;; hardware. + "_" "_" "_" "SkRuntimeBlender_GPU" "_" "_" "_" "SkText_UnicodeText_Flags" "_" "_" "_" "SkParagraph_FontStyle" "_" "_" "_" "flight_animated_image" diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7e93de5505..3d9b97ed4e 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1373,6 +1373,31 @@ non-mutating insert, delete, and search operations, with support for convenient nested tree operations.") (license license:gpl3+))) +(define-public guile-algorithms + (package + (name "guile-algorithms") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git@git.sr.ht/~filiplajszczak/guile-algorithms") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a4ffnnhw92gqphjji5ajy3xfaqzww7xv3h8p82gkawx0rqvj5ni")))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake pkg-config texinfo)) + (inputs (list guile-3.0)) + (synopsis "Guile port of racket-algorithms") + (description + "Guile port of @url{https://docs.racket-lang.org/algorithms/index.html, +racket-algorithms}, a package containing useful algorithms borrowed from other +programming languages).") + (home-page "https://guile-algorithms.lajszczak.dev/") + (license license:gpl3+))) + (define-public guile-aws (let ((commit "f32bea12333e1054b97ab50e58a72636edabb5b7") (revision "1")) @@ -3301,7 +3326,7 @@ from @code{tree-il}.") (define-public guile-hoot (package (name "guile-hoot") - (version "0.1.0") + (version "0.2.0") (source (origin (method url-fetch) (uri (string-append "https://spritely.institute/files/releases" @@ -3309,7 +3334,7 @@ from @code{tree-il}.") version ".tar.gz")) (sha256 (base32 - "1087rcj22hk6fcbqajm268f1q2c3kbizah8wy1z0aqkfliwc309g")))) + "1byshh7092q2yzqwpi59j4xjsppvp1xqnqsv94yv541qfm0plnc2")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0" @@ -4593,7 +4618,7 @@ according to Bitorrent BEP003.") (define-public guile-ts (package (name "guile-ts") - (version "0.1.0") + (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference (url @@ -4602,7 +4627,7 @@ according to Bitorrent BEP003.") (file-name (git-file-name name version)) (sha256 (base32 - "0xmq2d3mv921m0g1hqw6bjzh4m622g2c7pal11ks7vjn0m8d4bxj")))) + "1iqbr9rcpmq2f1zxxvl36ajwm81rkp38rrp42ixr4q59154r5513")))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list "GUILE_AUTO_COMPILE=0") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ac917fa9b2..9169c09648 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -457,7 +457,7 @@ without requiring the source code to be rewritten.") (define-public guile-next (let ((version "3.0.9") (revision "0") - (commit "79e836b8cc601a1259c934000a953a8d739ddd6f")) + (commit "d8df317bafcdd9fcfebb636433c4871f2fab28b2")) (package (inherit guile-3.0) (name "guile-next") @@ -471,7 +471,7 @@ without requiring the source code to be rewritten.") (file-name (git-file-name name version)) (sha256 (base32 - "0s90khsdbvrkykp58izkvyxf8jciggdapm29dc3lzk3s1shajlgm")))) + "0g294vnc5xkaq5vqh9hkh793mybkr17yqwh0fc46alnwxgpgjy5n")))) (arguments (substitute-keyword-arguments (package-arguments guile-3.0) ((#:phases phases '%standard-phases) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index ac22082088..3288b0d0a9 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -294,13 +294,17 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20230828") + (version "10.20230926") (source (origin - (method url-fetch) - (uri (hackage-uri "git-annex" version)) + ;; hackage release doesn't include everything needed for extra bits. + (method git-fetch) + (uri (git-reference + (url "https://git.joeyh.name/git/git-annex.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0pb6834dwjs9kdki977rfkdyg58dfzy8wfwvswrz3n7h6bcnjd0b")))) + (base32 "0zsq686b0q7mlkybm1xrc0kpl32ymvf0ybar01p68wx800031b2b")))) (build-system haskell-build-system) (properties '((upstream-name . "git-annex"))) (arguments @@ -348,16 +352,7 @@ to @code{cabal repl}).") (invoke "runhaskell" "PreConf.hs"))) (add-after 'build 'build-manpages (lambda _ - ;; The Setup.hs rewrite above removed custom code for building - ;; the man pages. In addition to that code, git-annex's source - ;; tree has a file that's not included in the tarball but is used - ;; by the Makefile to build man pages. Copy the core bits here. - (call-with-output-file "Build/MakeMans.hs" - (lambda (out) - (format out "module Main where~%") - (format out "import Build.Mans~%") - (format out "main = buildMansOrWarn~%"))) - (invoke "runhaskell" "Build/MakeMans.hs"))) + (invoke "make" "mans"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) ;; We need to set the path so that Git recognizes @@ -373,13 +368,27 @@ to @code{cabal repl}).") ;; Undo `patch-shell-for-tests'. (copy-file "/tmp/Shell.hs" "Utility/Shell.hs") (apply (assoc-ref %standard-phases 'build) args))) - (add-after 'install 'install-manpages + (add-after 'install 'install-more (lambda* (#:key outputs #:allow-other-keys) - (let ((man (string-append (assoc-ref outputs "out") - "/man/man1/"))) - (mkdir-p man) - (for-each (lambda (file) (install-file file man)) - (find-files "man"))))) + (let* ((out (assoc-ref outputs "out")) + (bash (string-append out "/etc/bash_completions.d")) + (fish (string-append out "/share/fish/vendor_completions.d")) + (zsh (string-append out "/share/zsh/site-functions"))) + (setenv "PREFIX" out) + (invoke "make" "install-mans") + (mkdir-p bash) + (copy-file "bash-completion.bash" + (string-append bash "/git-annex")) + (mkdir-p fish) + (with-output-to-file (string-append fish "/git-annex.fish") + (lambda _ + (invoke (string-append out "/bin/git-annex") + "--fish-completion-script" "git-annex"))) + (mkdir-p zsh) + (with-output-to-file (string-append zsh "/_git-annex") + (lambda _ + (invoke (string-append out "/bin/git-annex") + "--zsh-completion-script" "git-annex")))))) (add-after 'install 'install-symlinks (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -406,13 +415,16 @@ to @code{cabal repl}).") ghc-cryptonite ghc-data-default ghc-dav + ghc-dbus ghc-disk-free-space ghc-dlist ghc-edit-distance ghc-exceptions + ghc-fdo-notify ghc-feed ghc-filepath-bytestring ghc-free + ghc-git-lfs ghc-hinotify ghc-http-client ghc-http-client-tls diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index b1a038bb09..5d9e5757a0 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -781,7 +781,8 @@ than @code{base-compat}, which has no dependencies.") (uri (hackage-uri "basement" version)) (sha256 (base32 - "1d2xj5dmjps7nc7rwp5s0kyjcg9v8xfql6ik4yk1d3affnvazhjn")))) + "1d2xj5dmjps7nc7rwp5s0kyjcg9v8xfql6ik4yk1d3affnvazhjn")) + (patches (search-patches "ghc-basement-fix-32bit.patch")))) (build-system haskell-build-system) (properties '((upstream-name . "basement"))) (home-page "https://github.com/haskell-foundation/foundation#readme") @@ -1062,31 +1063,26 @@ library for Haskell.") (define-public ghc-bloomfilter (package (name "ghc-bloomfilter") - (version "2.0.1.0") + (version "2.0.1.2") (source (origin (method url-fetch) (uri (hackage-uri "bloomfilter" version)) (sha256 (base32 - "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc")) - (patches (search-patches "ghc-bloomfilter-ghc9.2.patch")))) + "0klb26ldkw32axv3927w489j71r2rc9pangsvznqjbljib9970hp")) + (snippet + #~(begin (use-modules (guix build utils)) + ;; https://github.com/bos/bloomfilter/issues/7 + (substitute* "Data/BloomFilter/Easy.hs" + ((" in if roundedBits <= 0 \\|\\| maxbitstoolarge roundedBits") + " in if roundedBits <= 0")))))) (build-system haskell-build-system) (properties '((upstream-name . "bloomfilter"))) (native-inputs (list ghc-quickcheck ghc-random ghc-test-framework ghc-test-framework-quickcheck2)) - (arguments - `(#:cabal-revision ("2" - "1hi6hwvhv7lxqv0l6hv2854g1rvc52zcmr3ldvnaan1l1b666867") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'update-constraints - (lambda _ - (substitute* "bloomfilter.cabal" - (("\\b(base)\\s+[^,]+" all dep) - dep))))))) - (home-page "https://github.com/bos/bloomfilter") + (home-page "https://github.com/haskell-pkg-janitors/bloomfilter") (synopsis "Pure and impure Bloom filter implementations") (description "This package provides both mutable and immutable Bloom filter data types, along with a family of hash functions and an easy-to-use @@ -3917,6 +3913,27 @@ when used with GHC versions which already provide the (description "This library provides a fast logging system for Haskell.") (license license:bsd-3))) +(define-public ghc-fdo-notify + (package + (name "ghc-fdo-notify") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (hackage-uri "fdo-notify" version)) + (sha256 + (base32 "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh")))) + (build-system haskell-build-system) + (properties '((upstream-name . "fdo-notify"))) + (inputs (list ghc-dbus)) + (home-page "http://bitbucket.org/taejo/fdo-notify/") + (synopsis "Desktop Notifications client") + (description + "This package provides a library for issuing notifications using +@code{FreeDesktop.org's} Desktop Notifications protcol. This protocol is +supported by services such as Ubuntu's @code{NotifyOSD}.") + (license license:bsd-3))) + (define-public ghc-feed (package (name "ghc-feed") @@ -7059,7 +7076,8 @@ speed, flexibility, and quality of parse errors.") (uri (hackage-uri "memory" version)) (sha256 (base32 - "0yl3ivvn7i9wbx910b7bzj9c3g0jjjk91j05wj74qb5zx2yyf9rk")))) + "0yl3ivvn7i9wbx910b7bzj9c3g0jjjk91j05wj74qb5zx2yyf9rk")) + (patches (search-patches "ghc-memory-fix-32bit.patch")))) (build-system haskell-build-system) (properties '((upstream-name . "memory"))) (inputs (list ghc-basement)) @@ -8491,7 +8509,12 @@ code. It was designed for use in @code{Pandoc}.") '(begin ;; Fix test case. (substitute* "test/writer.ms" - (("\\\\\\[u2212\\]") "-")))))) + (("\\\\\\[u2212\\]") "-")) + (substitute* "test/Tests/Old.hs" + ;; There is no indication why these tests are failing on + ;; i686-linux. + ((".*fb2WriterTest' \"images.*") "") + ((".*fb2WriterTest' \"testsuite.*") "")))))) (build-system haskell-build-system) (properties '((upstream-name . "pandoc"))) (inputs (list ghc-glob @@ -8587,6 +8610,17 @@ provided for those who need a drop-in replacement for Markdown.pl.") #:configure-flags #~(list "-fembed_data_files") #:phases #~(modify-phases %standard-phases + (add-after 'install 'install-more + (lambda _ + (let ((bash (string-append #$output "/etc/bash_completion.d/pandoc")) + (man1 (string-append #$output "/share/man/man1"))) + (mkdir-p (dirname bash)) + (with-output-to-file bash + (lambda _ + (invoke (string-append #$output "/bin/pandoc") + "--bash-completion"))) + (mkdir-p man1) + (install-file "man/pandoc.1" man1)))) (add-after 'register 'remove-libraries (lambda* (#:key outputs #:allow-other-keys) (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))) @@ -8898,7 +8932,8 @@ numbers") (uri (hackage-uri "persistent" version)) (sha256 (base32 - "0z69yvk0rd29dp5qdhi4p587b891y90azrzzpa3g10cxp3gyywvm")))) + "0z69yvk0rd29dp5qdhi4p587b891y90azrzzpa3g10cxp3gyywvm")) + (patches (search-patches "ghc-persistent-fix-32bit.patch")))) (build-system haskell-build-system) (properties '((upstream-name . "persistent"))) (inputs (list ghc-conduit @@ -15669,6 +15704,25 @@ purposes. See the <https://www.stackage.org/package/githash>") (license license:bsd-3))) +(define-public ghc-git-lfs + (package + (name "ghc-git-lfs") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (hackage-uri "git-lfs" version)) + (sha256 + (base32 "1iv3s1c7gwmsima9z3rsphjligpnf7h3vc5c96zgq9b71cx81lba")))) + (build-system haskell-build-system) + (properties '((upstream-name . "git-lfs"))) + (inputs (list ghc-http-client ghc-http-types ghc-aeson ghc-network-uri + ghc-case-insensitive)) + (home-page "http://hackage.haskell.org/package/git-lfs") + (synopsis "git-lfs protocol") + (description "An implementation of the git-lfs protocol.") + (license license:agpl3))) + (define-public ghc-nothunks (package (name "ghc-nothunks") @@ -15966,10 +16020,12 @@ benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/be ghc-tasty-hunit ghc-tasty-quickcheck)) (arguments - `(#:cabal-revision ("2" - "0cz3zzz9k490w9nfn4hpgdw4zx4w70fwqrwsfx8svcwqssqibqw3"))) + `(#:cabal-revision ("4" + "1lc32d5nxk0ry1pfn3ss55hi4cv6qj5nkkdn3j4y3lrdwyv7kbw2") + #:tests? ,(not (or (%current-target-system) + (target-x86-32?))))) (home-page "https://github.com/emilypi/base64") - (synopsis "A modern RFC 4648-compliant Base64 library") + (synopsis "Modern RFC 4648-compliant Base64 library") (description "RFC 4648-compliant Base64 with an eye towards performance and modernity (additional support for RFC 7049 standards)") diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index 7fa7b2f7ba..8b1a2a1c02 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -85,7 +85,9 @@ `(#:tests? #f ; FIXME - When Python's bindings are enabled, tests do not ; pass. #:make-flags - ,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) + ,#~(list + (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib") + "DISTSETUPOPTS=--single-version-externally-managed") ;no .egg files #:configure-flags '("--enable-debug-info" "--enable-man-pages" @@ -95,11 +97,9 @@ (modify-phases %standard-phases ;; These are recommended in the project's README for a development ;; build configuration. - (add-before 'configure 'set-environment-variables + (add-after 'unpack 'reconfigure (lambda _ - (setenv "BABELTRACE_DEV_MODE" "1") - (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE") - (invoke "autoreconf" "-vfi")))))) + (delete-file "configure")))))) (inputs (list glib)) ;; NOTE - elfutils is used for the LTTng debug information filter @@ -141,6 +141,21 @@ LTTng and barectf. This package provides a library with a C API, Python 3 bindings, and the command-line tool @command{babeltrace2}.") (license license:expat))) +(define-public babeltrace/dev + (package/inherit babeltrace + ;; This dev variant of the package babeltrace is slower but allows better + ;; development of plugins as recommended by the authors. + (name "babeltrace-dev") + (synopsis "Trace manipulation toolkit (variant for plugin developers)") + (arguments + (substitute-keyword-arguments (package-arguments babeltrace) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'set-environment-variables + (lambda _ + (setenv "BABELTRACE_DEV_MODE" "1") + (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE"))))))))) + (define-public barectf (package (name "barectf") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7c8c4e0a36..d73550c042 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2311,7 +2311,9 @@ distribution."))) (string-append target new-name)))) (find-files "netbeans" "\\.so$")))))))) (propagated-inputs - (list java-openjfx-base java-swt)) + (list java-openjfx-base)) + (inputs + (list java-swt)) ;; XXX: for unknown reasons ;; modules/graphics/src/main/native-prism-sw/JNativeSurface.c is missing ;; in this revision. @@ -2465,8 +2467,7 @@ debugging, etc.") (modules '((guix build utils))) ;; Delete bundled jars. (snippet '(begin (for-each delete-file-recursively - '("bootstrap" "lib")) - #t)))) + '("bootstrap" "lib")))))) (arguments `(#:make-flags ; bootstrap from javacc-4 ,#~(list (string-append "-Dbootstrap-jar=" @@ -2487,17 +2488,16 @@ debugging, etc.") (lambda _ (display (string-append "#!/bin/sh\n" - (assoc-ref inputs "jdk") "/bin/java" + (assoc-ref inputs "icedtea") "/bin/java" " -cp " dir "/javacc.jar" " `basename $0`" " $*")))) (chmod javacc #o755) ;; symlink to different names to affect the first argument and ;; change the behavior of the jar file. (symlink javacc (string-append bin "/jjdoc")) - (symlink javacc (string-append bin "/jjtree")) - #t)))))) - + (symlink javacc (string-append bin "/jjtree")))))))) (native-inputs - (list javacc-4)))) + (list javacc-4)) + (inputs (list icedtea-8)))) (define-public java-ecj (package diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index e70aa7d7e1..2c7ff744ea 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -184,7 +184,7 @@ context menu in TypeScript.") #t)))) (native-inputs `(("font-mathjax" ,font-mathjax) - ("glibc-utf8-locales" ,glibc-utf8-locales) + ("glibc-utf8-locales" ,(libc-utf8-locales-for-target)) ("uglifyjs" ,node-uglify-js) ,@(package-native-inputs font-mathjax))) (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath") diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index faf3114b84..db78425ec9 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -854,7 +854,7 @@ noun phrases, verb phrases, etc.).") (define-public praat (package (name "praat") - (version "6.3.10") + (version "6.4") (source (origin (method git-fetch) (uri (git-reference @@ -863,7 +863,7 @@ noun phrases, verb phrases, etc.).") (file-name (git-file-name name version)) (sha256 (base32 - "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8")))) + "1rabv4175r1kbgb6n5xbir4j9ldpfr3wr6xa8jakzgny3dwlmsbg")))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list (string-append "CC=" diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e0ab937dbd..de80944702 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -493,7 +493,7 @@ 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.6-version "6.6.1") +(define-public linux-libre-6.6-version "6.6.2") (define-public linux-libre-6.6-gnu-revision "gnu") (define deblob-scripts-6.6 (linux-libre-deblob-scripts @@ -503,12 +503,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp"))) (define-public linux-libre-6.6-pristine-source (let ((version linux-libre-6.6-version) - (hash (base32 "0d42b1hbvv9w3y3q4wydr6il0g5a823n54a06p4p5vcpgkadf7ns"))) + (hash (base32 "0zmpk5ls6282j88xpnymkr8z5hxpk2495hjjxm0jmb6ninnzdm3k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.6))) -(define-public linux-libre-6.5-version "6.5.11") +(define-public linux-libre-6.5-version "6.5.12") (define-public linux-libre-6.5-gnu-revision "gnu") (define deblob-scripts-6.5 (linux-libre-deblob-scripts @@ -518,7 +518,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh"))) (define-public linux-libre-6.5-pristine-source (let ((version linux-libre-6.5-version) - (hash (base32 "06dmb4hbwrms0lp4axphwgj8wbnzsym70sx55lxr501b53wlmqif"))) + (hash (base32 "17rmkzxszp2jg1zx2mmdcy30ffrsd0qms513sxd14klp5k9w2saa"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.5))) @@ -526,7 +526,7 @@ 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.62") +(define-public linux-libre-6.1-version "6.1.63") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -536,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "1v453q4sf0j8708ivs1zmdf645hgimqvxfc8xz7czgnnmipn3zdr"))) + (hash (base32 "13bmy22mi4ybl21kr3hdy6qiaawiqz2jgl2gl9hwqkyx04xh97f2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.138") +(define-public linux-libre-5.15-version "5.15.139") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -551,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1ajaxy97gx0c9cdxiyxa49ykfsykir22i9abfrcizh71ci0yb15g"))) + (hash (base32 "0kh4v1224a7p7ib64pnmc1qid3d1lvg3c14l5s4rpr8qzq6w2s4w"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.200") +(define-public linux-libre-5.10-version "5.10.201") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -566,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "012i41bj8rcqn0vhfxrwq3gg82nb6pp2cwq8n146wj47pwgrcbcx"))) + (hash (base32 "0642y6qj2d4aww6jcki81ba53pvjyfazjxgzgj8brqx8ixchdz3a"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.260") +(define-public linux-libre-5.4-version "5.4.261") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1zpbaipd2j3idj8h9iznlj0ywcq5nkhwj707a1f9ixf82h3q4c4q"))) + (hash (base32 "1hsgnv2vcziflhzrrxiny2yp88ybdqda48fm60xhpaphhs0cgfii"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.298") +(define-public linux-libre-4.19-version "4.19.299") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -596,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0mhgq6hdcls1af7nj999x1mds5b37s7vwin8nsb4q0lnx2y1da4x"))) + (hash (base32 "12p431p2jqjfsf0all3fgn47z9fr2cdqyxipfrf4s4mlw4hpbyy6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.329") +(define-public linux-libre-4.14-version "4.14.330") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -611,7 +611,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1dvb4xf0b7snabznl7bg7gga7ffdmywy8vr8q65pzl9yf6fnhdny"))) + (hash (base32 "0rwgzyfmrns6zir0dpxkwz2hm3z8c0af3wy11lmxamaa5i2wq3k7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) @@ -1125,6 +1125,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.") "aarch64-linux" "powerpc64le-linux" "riscv64-linux") #:configuration-file kernel-config)) +(define-public linux-libre-version linux-libre-6.6-version) +(define-public linux-libre-gnu-revision linux-libre-6.6-gnu-revision) +(define-public linux-libre-pristine-source linux-libre-6.6-pristine-source) +(define-public linux-libre-source linux-libre-6.6-source) +(define-public linux-libre linux-libre-6.6) + (define-public linux-libre-6.5 (make-linux-libre* linux-libre-6.5-version linux-libre-6.5-gnu-revision @@ -1133,12 +1139,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.") "aarch64-linux" "powerpc64le-linux" "riscv64-linux") #:configuration-file kernel-config)) -(define-public linux-libre-version linux-libre-6.5-version) -(define-public linux-libre-gnu-revision linux-libre-6.5-gnu-revision) -(define-public linux-libre-pristine-source linux-libre-6.5-pristine-source) -(define-public linux-libre-source linux-libre-6.5-source) -(define-public linux-libre linux-libre-6.5) - (define-public linux-libre-6.1 (make-linux-libre* linux-libre-6.1-version linux-libre-6.1-gnu-revision @@ -1370,9 +1370,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.") (define-public linux-libre-with-bpf (let ((base-linux-libre (make-linux-libre* - linux-libre-6.5-version - linux-libre-6.5-gnu-revision - linux-libre-6.5-source + linux-libre-6.6-version + linux-libre-6.6-gnu-revision + linux-libre-6.6-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux") #:extra-version "bpf" @@ -9013,7 +9013,8 @@ management tools in userspace.") "0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/vishvananda/netlink")) + `(#:tests? #f ; Tests depend on specific kernel modules. + #:import-path "github.com/vishvananda/netlink")) (native-inputs (list go-golang-org-x-sys go-netns)) (home-page "https://github.com/vishvananda/netlink") @@ -9864,7 +9865,7 @@ kernel side implementation.") (define-public erofs-utils (package (name "erofs-utils") - (version "1.7") + (version "1.7.1") (source (origin (method git-fetch) @@ -9873,7 +9874,7 @@ kernel side implementation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0bi8n1kb263v1gvis21pa9dxsf3p96d1nasm21icmv3rd9g2xh6p")))) + (base32 "1mvybd06cswxj0nzk9ph1pkb9mrs8lvcbn6cgsp7z3wl6jai9d6d")))) (build-system gnu-build-system) (inputs (list lz4 diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm index 63a16d608c..5f5e39c193 100644 --- a/gnu/packages/lisp-check.scm +++ b/gnu/packages/lisp-check.scm @@ -1149,3 +1149,32 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") (define-public ecl-xlunit (sbcl-package->ecl-package sbcl-xlunit)) + +(define-public sbcl-lisp-critic + (let ((commit "ea19f82a168a6119ac1b10d0f457c01a7119602f") + (revision "1")) + (package + (name "sbcl-lisp-critic") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/g000001/lisp-critic") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15zg05pqfs2dhc5j7gfkwjmxawaizjpyb0p7386mpl4w93l9h84l")))) + (build-system asdf-build-system/sbcl) + (synopsis "Common Lisp linter") + (description "The Lisp Critic scans your code for instances of bad + Lisp programming practice.") + (home-page + "https://courses.cs.northwestern.edu/325/exercises/critic.html#critic") + (license license:expat)))) + +(define-public cl-lisp-critic + (sbcl-package->cl-source-package sbcl-lisp-critic)) + +(define-public ecl-lisp-critic + (sbcl-package->ecl-package sbcl-lisp-critic)) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 1c7957c3d7..e5a5d29da8 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -12250,11 +12250,11 @@ Scalable Vector Graphics files.") (sbcl-package->cl-source-package sbcl-cl-svg)) (define-public sbcl-nodgui - (let ((commit "b1d15fa9cca8550926f7823dbdd8be3b34387f1a") - (revision "2")) + (let ((commit "6baccf45371afd4dcc8cd3f38332b300614783b6") + (revision "1")) (package (name "sbcl-nodgui") - (version (git-version "0.4.8.5" revision commit)) + (version (git-version "0.4.8.6" revision commit)) (source (origin (method git-fetch) @@ -12263,19 +12263,20 @@ Scalable Vector Graphics files.") (commit commit))) (file-name (git-file-name "cl-nodgui" version)) (sha256 - (base32 "1gsxg8igiavs8fr39vgw8ypa42wjqaq9sszwqiifpm7yvq54lls7")))) + (base32 "0fjz8362qmvkbzj9ylyllkdxg7vvj38l3y5qn4xi2gim92x4lx67")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria sbcl-bordeaux-threads sbcl-cl-colors2 - sbcl-cl-jpeg sbcl-cl-ppcre-unicode sbcl-cl-unicode sbcl-clunit2 sbcl-esrap + sbcl-jpeg-turbo sbcl-named-readtables sbcl-parse-number + sbcl-pngload tk tklib)) (arguments @@ -12625,7 +12626,7 @@ them as PNG files.") (define-public sbcl-history-tree (package (name "sbcl-history-tree") - (version "0.1.1") + (version "0.1.2") (source (origin (method git-fetch) @@ -12634,12 +12635,7 @@ them as PNG files.") (commit version))) (file-name (git-file-name "cl-history-tree" version)) (sha256 - (base32 "16fynij438zs4g29m7c0vmkfb0sbaz8gj7zjnxpbgjckbim93qwl")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "nasdf") - #t)))) + (base32 "1n3q6aqh0wm24pksj8371j5iinxpzy2kcnz97kmpndm1yhv4x5f2")))) (build-system asdf-build-system/sbcl) (inputs (list @@ -12648,7 +12644,7 @@ them as PNG files.") sbcl-local-time sbcl-nclasses sbcl-trivial-package-local-nicknames)) - (native-inputs (list sbcl-nasdf sbcl-lisp-unit2)) + (native-inputs (list sbcl-lisp-unit2)) (home-page "https://github.com/atlas-engineer/history-tree") (synopsis "Store the history of a browser's visited paths") (description @@ -25894,7 +25890,7 @@ JavaScript code.") (define-public sbcl-nhooks (package (name "sbcl-nhooks") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -25904,7 +25900,7 @@ JavaScript code.") (file-name (git-file-name "cl-nhooks" version)) (sha256 (base32 - "10ym4ybda2l426flicqz0f4yg7fbw7yjk1k0wqpf4wfk24gm1b8g")))) + "1m9dfp7wjm8k16x45qnw258ca8gnic3k2ik79sdn5gxcx6qxy3g8")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-serapeum)) @@ -25980,7 +25976,7 @@ access lexicographic data from WordNet.") (define-public sbcl-nfiles (package (name "sbcl-nfiles") - (version "1.1.3") + (version "1.1.4") (source (origin (method git-fetch) @@ -25990,12 +25986,7 @@ access lexicographic data from WordNet.") (file-name (git-file-name "cl-nfiles" version)) (sha256 (base32 - "1rndrxqb16wfbi5zkg8gbqm163xhs31ka0algsxvrhb9kf2j8c4q")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "nasdf") - #t)))) + "1a8zsphbbl9r4sdm95kgm4ljd9b148c9fnwlq7f930fh9826kf72")))) (build-system asdf-build-system/sbcl) (inputs (list gnupg @@ -26007,8 +25998,7 @@ access lexicographic data from WordNet.") sbcl-trivial-package-local-nicknames sbcl-trivial-types)) (native-inputs - (list sbcl-lisp-unit2 - sbcl-nasdf)) + (list sbcl-lisp-unit2)) (arguments `(#:phases (modify-phases %standard-phases @@ -26105,7 +26095,7 @@ desktop files to the right directories. (define-public sbcl-nclasses (package (name "sbcl-nclasses") - (version "0.6.0") + (version "0.6.1") (source (origin (method git-fetch) @@ -26115,18 +26105,12 @@ desktop files to the right directories. (file-name (git-file-name "cl-nclasses" version)) (sha256 (base32 - "0kp5wim5frr4l52rgchaz1cj74daqngagrz3r0lgasii6bwlzsi6")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "nasdf") - #t)))) + "00is7fg1jsj9r3jawphbk5gh8kmiixl7g60xg1ic2q2cpilfd1by")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-moptilities)) (native-inputs - (list sbcl-lisp-unit2 - sbcl-nasdf)) + (list sbcl-lisp-unit2)) (home-page "https://github.com/atlas-engineer/nclasses") (synopsis "Simplify class, condition, and generic function definitions.") (description @@ -26144,55 +26128,50 @@ extra features like type inference.") (sbcl-package->cl-source-package sbcl-nclasses)) (define-public sbcl-prompter - (let ((commit "b40a13af6ba4bd5c73c17e94dd2cbc2901bbd02f") - (revision "0")) - (package - (name "sbcl-prompter") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/atlas-engineer/prompter") - (commit commit))) - (file-name (git-file-name "cl-prompter" version)) - (sha256 - (base32 - "1gg69rq2v9wcr7kj9fvd2i38r28fsgqqw6zs71m46krmr1gmfh4q")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "nasdf") - #t)))) - (build-system asdf-build-system/sbcl) - (inputs - (list - sbcl-alexandria - sbcl-calispel - sbcl-cl-containers - sbcl-cl-str - sbcl-closer-mop - sbcl-lparallel - sbcl-moptilities - sbcl-nclasses - sbcl-serapeum - sbcl-trivial-package-local-nicknames)) - (native-inputs - (list sbcl-lisp-unit2 - sbcl-nasdf)) - (home-page "https://github.com/atlas-engineer/prompter") - (synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework") - (description - "This prompter library is heavily inspired by Emacs' minibuffer and + (package + (name "sbcl-prompter") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atlas-engineer/prompter") + (commit version))) + (file-name (git-file-name "cl-prompter" version)) + (sha256 + (base32 + "008bq36siza9qwmz6b1pvpm53lxmzryahnhy372l18gl3180in03")))) + (build-system asdf-build-system/sbcl) + (inputs + (list + sbcl-alexandria + sbcl-calispel + sbcl-cl-containers + sbcl-cl-str + sbcl-closer-mop + sbcl-lparallel + sbcl-moptilities + sbcl-nclasses + sbcl-serapeum + sbcl-trivial-package-local-nicknames)) + (native-inputs + (list sbcl-lisp-unit2)) + (home-page "https://github.com/atlas-engineer/prompter") + (synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework") + (description + "This prompter library is heavily inspired by Emacs' minibuffer and Helm (@url{https://emacs-helm.github.io/helm/}). It only deals with the backend side of things, it does not handle any display. Features include asynchronous suggestion computation, multiple sources, actions and resumable prompters.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public cl-prompter (sbcl-package->cl-source-package sbcl-prompter)) +(define-public ecl-prompter + (sbcl-package->ecl-package sbcl-prompter)) + (define-public sbcl-cl-template (let ((commit "46193a9a389bb950530e579eae7e6e5a18184832") (revision "0")) @@ -26747,7 +26726,7 @@ in a native template application).") (define-public sbcl-nkeymaps (package (name "sbcl-nkeymaps") - (version "1.1.0") + (version "1.1.1") (source (origin (method git-fetch) @@ -26756,7 +26735,7 @@ in a native template application).") (commit version))) (file-name (git-file-name "cl-nkeymaps" version)) (sha256 - (base32 "08q3bmb3i7mjpm83msp1qgpifpzf019ggikbxwc2dk04i3c2w0vv")))) + (base32 "179hrnkn3pkwkp4ap6ax0zgp7xcr9cq7icff42r79gh43ri3kpzy")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria @@ -26864,7 +26843,7 @@ instead of #'FOO. (define-public sbcl-njson (package (name "sbcl-njson") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) (uri (git-reference @@ -26873,7 +26852,7 @@ instead of #'FOO. (file-name (git-file-name "cl-njson" version)) (sha256 (base32 - "0p3zvn3jfzcdzpvikdaw3g14wfsklq0msw0rjaxin3aa7vmqpyqk")))) + "05v5bk3l47mds4ihxs8jlqm19gqq7hb4q0161bgg99w9847l63lk")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-cl-json sbcl-jzon)) (native-inputs (list sbcl-lisp-unit2)) @@ -26971,7 +26950,7 @@ JSON handling. Load the parser backend you prefer! (define-public sbcl-nsymbols (package (name "sbcl-nsymbols") - (version "0.3.1") + (version "0.3.2") (source (origin (method git-fetch) @@ -26980,7 +26959,7 @@ JSON handling. Load the parser backend you prefer! (commit version))) (file-name (git-file-name "cl-nsymbols" version)) (sha256 - (base32 "14zdwsk2nrismj3xb54kfpgcdcsdzw3fyd7zwxlsir66lv9w9ji9")))) + (base32 "1awh793s4fwhddllfcjz4sbkxwinh5w54s3glxh7rv00c7skdjd6")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-lisp-unit2)) (inputs (list cl-closer-mop)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index f26362c79f..35f041c8e0 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -999,7 +999,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "291") + (version "292") (source (origin (method git-fetch) @@ -1008,7 +1008,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nsb302arpd2mw2z2l12j6yg9pp94lfb79h3sym72ih7rmklnfx7")))) + (base32 "0lly446pinfrr5d4rgsas8c7kqal2g03bbsbmn0yvhvazb39c15g")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -1247,7 +1247,7 @@ including a built-in database engine and a GUI system.") (define-public janet (package (name "janet") - (version "1.29.1") + (version "1.32.1") (source (origin (method git-fetch) @@ -1256,7 +1256,7 @@ including a built-in database engine and a GUI system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18684mxnb0jk63mkzi36zlmd8rjjv0msx3xxpmn67mhrnwz4x861")))) + (base32 "1nnqbpql6749597m0lp56i2zqm003pg690399l0g8kb9kwvpv1yv")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 82a4088829..d0a5e1b71b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -73,6 +73,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages swig) + #:use-module (gnu packages vulkan) #:use-module (gnu packages xml) #:use-module (srfi srfi-1) #:use-module (ice-9 match) @@ -601,13 +602,13 @@ output), and Binutils.") '(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx") ("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2") ("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky") - ("17.0.3" . "1fhrnsv87if7kbqmrsxy2r7ykx3gnr9lmbmvkhvycc91ii4ihybx"))) + ("17.0.5" . "149flpr96vcn7a1ckya6mm93m9yp85l47w156fjd0r99ydxrw5kv"))) (define %llvm-patches '(("14.0.6" . ("clang-14.0-libc-search-path.patch")) ("15.0.7" . ("clang-15.0-libc-search-path.patch")) ("16.0.6" . ("clang-16.0-libc-search-path.patch")) - ("17.0.3" . ("clang-17.0-libc-search-path.patch")))) + ("17.0.5" . ("clang-17.0-libc-search-path.patch")))) (define (llvm-monorepo version) (origin @@ -1500,7 +1501,7 @@ Library.") (define-public llvm-17 (package (inherit llvm-15) - (version "17.0.3") + (version "17.0.5") (source (llvm-monorepo version)))) (define-public clang-runtime-17 @@ -1516,7 +1517,7 @@ Library.") (package-version llvm-17))) (sha256 (base32 - "0an16xdc8rgrdf0dcq3sdg82ajyb00h4bff9n0gm7gqf48ds0da8"))))) + "12dbp10bhq25a44qnvz978mf9y6pdycwpp7sgq8a93by0fpgb72r"))))) (define-public libomp-17 (package @@ -1946,37 +1947,37 @@ standard C++ library.") (define-public libclc (package (name "libclc") - (version "9.0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/llvm/llvm-project") - (commit (string-append "llvmorg-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1d1qayvrvvc1di7s7jfxnjvxq2az4lwq1sw1b2gq2ic0nksvajz0")))) + (version (package-version llvm-15)) + (source (llvm-monorepo version)) (build-system cmake-build-system) (arguments - `(#:configure-flags - (list (string-append "-DLLVM_CLANG=" - (assoc-ref %build-inputs "clang") - "/bin/clang") - (string-append "-DPYTHON=" - (assoc-ref %build-inputs "python") - "/bin/python3")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "libclc") #t))))) + (list + #:configure-flags + #~(list (string-append "-DLLVM_CLANG=" + (assoc-ref %build-inputs "clang") + "/bin/clang") + (string-append "-DLLVM_SPIRV=" + (assoc-ref %build-inputs "spirv-llvm-translator") + "/bin/llvm-spirv")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ + (chdir "libclc"))) + (add-after 'enter-subdirectory 'skip-clspv-tests + (lambda _ + (substitute* "CMakeLists.txt" + (("ptx\\.\\*") "[ptx|clspv].*"))))))) + (propagated-inputs + (list spirv-llvm-translator spirv-tools)) (native-inputs - (list clang-9 llvm-9 python)) + (list clang-15 llvm-15 python)) (home-page "https://libclc.llvm.org") (synopsis "Libraries for the OpenCL programming language") (description "This package provides an implementation of the OpenCL library requirements according to version 1.1 of the OpenCL specification.") + (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))) ;; Apache license 2.0 with LLVM exception (license license:asl2.0))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 65cab6511c..1cde6bd66c 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1269,6 +1269,39 @@ simplicity, and reach of Lua with the flexibility of a Lisp syntax and macro system.") (license license:expat))) +(define-public antifennel + (package + (version "0.2.0") + (name "antifennel") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~technomancy/antifennel") + (commit version))) + (sha256 + (base32 "1hd9h17q31b3gg88c657zq4han4air2ag55rrakbmcpy6n8acsqc")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (inputs (list luajit)) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (delete 'configure) + ;; Tests pass after the fix introduced by the commit + ;; ecd2169fcad1fa6616fdf6e6a8569f5b866601e5 + (delete 'check) + (replace 'install + (lambda _ + (install-file "antifennel" + (string-append #$output "/bin"))))))) + (home-page "https://git.sr.ht/~technomancy/antifennel") + (synopsis "Turn Lua code into Fennel code") + (description + "This package provides a way to turn Lua code into Fennel code. +This compiler does the opposite of what the Fennel compiler does.") + (license license:expat))) + (define-public fnlfmt (package (name "fnlfmt") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index a84377e1eb..38e586232b 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1532,6 +1532,54 @@ computing environments.") data analysis.") (license license:bsd-3))) +(define-public python-scikit-learn-extra + (package + (name "python-scikit-learn-extra") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/scikit-learn-contrib/scikit-learn-extra") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yy6ka94ss88f3r7b6mpjf1l8lnv7aabhsg844pigfj8lfiv0wvl")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'build 'build-ext + (lambda _ + (invoke "python" "setup.py" "build_ext" + "--inplace"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Restrict OpenBLAS threads to prevent segfaults while testing! + (setenv "OPENBLAS_NUM_THREADS" "1") + + ;; Some tests require write access to $HOME. + (setenv "HOME" "/tmp") + + ;; Step out of the source directory to avoid interference; + ;; we want to run the installed code with extensions etc. + (with-directory-excursion "/tmp" + (invoke "pytest" "-vv" "--pyargs" + "sklearn_extra" + ;; ignore tests that require network + "-k" "not test_build")))))))) + (propagated-inputs (list python-numpy python-scikit-learn python-scipy)) + (native-inputs (list python-pytest python-pytest-cov python-cython)) + (home-page "https://github.com/scikit-learn-contrib/scikit-learn-extra") + (synopsis "Set of tools for scikit-learn") + (description + "This package provides a Python module for machine learning that extends +scikit-learn. It includes algorithms that are useful but do not satisfy the +scikit-learn inclusion criteria, for instance due to their novelty or lower +citation number.") + (license license:bsd-3))) + (define-public python-thinc (package (name "python-thinc") @@ -1663,45 +1711,42 @@ and forecasting.") (define-public python-imbalanced-learn (package (name "python-imbalanced-learn") - (version "0.9.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "imbalanced-learn" version)) - (sha256 - (base32 - "0qnrmysnqpc8ii1w5n8mci20gcjhmjr7khvk7f2apdbqc2pgf52f")))) + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "imbalanced-learn" version)) + (sha256 + (base32 "1p4gdgc8nsq0vjmw4y4d2bp9g0m1c23d0zgrzs90pnz6b24ax0km")))) (build-system pyproject-build-system) (arguments (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'unbreak-tests - (lambda _ - ;; The doctests require tensorflow - (substitute* "setup.cfg" - (("--doctest-modules") "")) - ;; Some tests require a home directory - (setenv "HOME" (getcwd)) - ;; We don't have keras - (delete-file "imblearn/keras/tests/test_generator.py") - ;; We don't have tensorflow - (delete-file "imblearn/tensorflow/tests/test_generator.py")))))) - (propagated-inputs - (list python-joblib - python-numpy - python-scikit-learn - python-scipy - python-threadpoolctl)) - (native-inputs - (list python-black - python-flake8 - python-mypy - python-pandas - python-pytest - python-pytest-cov)) + #:test-flags '(list "-k" + ;; Although we cannot satify the Tensorflow and Keras requirements + ;; (python-keras >= 2.4.3 and tensorflow >= 2.4.3), all tests + ;; besides these pass. + "not balanced_batch_generator and not BalancedBatchGenerator") + #:phases '(modify-phases %standard-phases + (add-after 'unpack 'unbreak-tests + (lambda _ + ;; Some tests require a home directory + (setenv "HOME" + (getcwd))))))) + (propagated-inputs (list python-joblib python-numpy python-scikit-learn + python-scipy python-threadpoolctl)) + (native-inputs (list python-black + python-flake8 + python-keras + python-mypy + python-numpydoc + python-pandas + python-pytest + python-pytest-cov + tensorflow)) (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn") (synopsis "Toolbox for imbalanced dataset in machine learning") - (description "This is a Python package offering a number of re-sampling + (description + "This is a Python package offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance. It is compatible with @code{scikit-learn}.") (license license:expat))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e57e3ac07c..523c20c4a9 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1206,14 +1206,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.10.7") + (version "1.10.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/download/v" version "/mu-" version ".tar.xz")) (sha256 - (base32 "089w1m6sd0nk9l9j40d357fjym8kxmz7kwh3bclk58jxa6xckapa")))) + (base32 "129m6rz8vbd7370c3h3ma66bxqdkm6wsdix5qkmv1vm7sanxh4bb")))) (build-system meson-build-system) (native-inputs (list pkg-config @@ -1221,7 +1221,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") gnupg ; for tests texinfo)) (inputs - (list glib gmime xapian)) + (list glib gmime guile-3.0 xapian)) (arguments (list #:modules '((guix build meson-build-system) @@ -1229,6 +1229,8 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (guix build utils)) #:imported-modules `(,@%meson-build-system-modules (guix build emacs-utils)) + #:configure-flags + #~(list (format #f "-Dguile-extension-dir=~a/lib" #$output)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-bin-references @@ -1241,6 +1243,11 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (substitute* '("lib/tests/bench-indexer.cc" "lib/utils/mu-test-utils.cc") (("/bin/rm") (which "rm"))))) + (add-after 'install 'fix-ffi + (lambda _ + (substitute* (find-files #$output "mu.scm") + (("\"libguile-mu\"") + (format #f "\"~a/lib/libguile-mu\"" #$output))))) (add-after 'install 'install-emacs-autoloads (lambda* (#:key outputs #:allow-other-keys) (emacs-generate-autoloads @@ -3185,14 +3192,14 @@ from the Cyrus IMAP project.") (define-public opensmtpd (package (name "opensmtpd") - (version "7.4.0p0") + (version "7.4.0p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "0x731hi7i01mxaz07p1l5q3gwmyl422h404yc61ya4aa8g1wr0f1")))) + (base32 "1dbhvf73z9qi9pzj4h58bgnzsafiwpmy7n17rba83q8rjkna50ly")))) (build-system gnu-build-system) (inputs ;; OpenSMTPd bundled (a subset of) libasr and libtls, which we use. See @@ -4908,11 +4915,12 @@ remote SMTP server.") (string-append "\"" (search-input-file inputs "bin/sh") "\""))) - (substitute* "commands/z.go" - (("\"zoxide\"") - (string-append - "\"" (search-input-file inputs "bin/zoxide") - "\""))) + (when (assoc-ref inputs "zoxide") + (substitute* "commands/z.go" + (("\"zoxide\"") + (string-append + "\"" (search-input-file inputs "bin/zoxide") + "\"")))) (substitute* (list "lib/crypto/gpg/gpg.go" "lib/crypto/gpg/gpg_test.go" "lib/crypto/gpg/gpgbin/keys.go" @@ -4932,45 +4940,49 @@ remote SMTP server.") (invoke "make" "CC=gcc" "install" "-C" (string-append "src/" import-path) (string-append "PREFIX=" #$output))))))) - (inputs (list gnupg - go-github-com-zenhack-go-notmuch - go-golang-org-x-oauth2 - go-github-com-xo-terminfo - go-github-com-stretchr-testify - go-github-com-riywo-loginshell - go-github-com-pkg-errors - go-github-com-mitchellh-go-homedir - go-github-com-miolini-datacounter - go-github-com-mattn-go-runewidth - go-github-com-mattn-go-isatty - go-github-com-lithammer-fuzzysearch - go-github-com-kyoh86-xdg - go-github-com-imdario-mergo - go-github-com-google-shlex - go-github-com-go-ini-ini - go-github-com-gdamore-tcell-v2 - go-github-com-gatherstars-com-jwz - go-github-com-fsnotify-fsnotify - go-github-com-emersion-go-smtp - go-github-com-emersion-go-sasl - go-github-com-emersion-go-pgpmail - go-github-com-emersion-go-message - go-github-com-emersion-go-maildir - go-github-com-emersion-go-imap-sortthread - go-github-com-emersion-go-imap - go-github-com-emersion-go-msgauth - go-github-com-emersion-go-mbox - go-github-com-ddevault-go-libvterm - go-github-com-danwakefield-fnmatch - go-github-com-creack-pty - go-github-com-arran4-golang-ical - go-github-com-protonmail-go-crypto - go-github-com-syndtr-goleveldb-leveldb - go-git-sr-ht-sircmpwn-getopt - go-git-sr-ht-rockorager-tcell-term - python - python-vobject - zoxide)) + (inputs + (append + (list gnupg + go-github-com-zenhack-go-notmuch + go-golang-org-x-oauth2 + go-github-com-xo-terminfo + go-github-com-stretchr-testify + go-github-com-riywo-loginshell + go-github-com-pkg-errors + go-github-com-mitchellh-go-homedir + go-github-com-miolini-datacounter + go-github-com-mattn-go-runewidth + go-github-com-mattn-go-isatty + go-github-com-lithammer-fuzzysearch + go-github-com-kyoh86-xdg + go-github-com-imdario-mergo + go-github-com-google-shlex + go-github-com-go-ini-ini + go-github-com-gdamore-tcell-v2 + go-github-com-gatherstars-com-jwz + go-github-com-fsnotify-fsnotify + go-github-com-emersion-go-smtp + go-github-com-emersion-go-sasl + go-github-com-emersion-go-pgpmail + go-github-com-emersion-go-message + go-github-com-emersion-go-maildir + go-github-com-emersion-go-imap-sortthread + go-github-com-emersion-go-imap + go-github-com-emersion-go-msgauth + go-github-com-emersion-go-mbox + go-github-com-ddevault-go-libvterm + go-github-com-danwakefield-fnmatch + go-github-com-creack-pty + go-github-com-arran4-golang-ical + go-github-com-protonmail-go-crypto + go-github-com-syndtr-goleveldb-leveldb + go-git-sr-ht-sircmpwn-getopt + go-git-sr-ht-rockorager-tcell-term + python + python-vobject) + (if (supported-package? zoxide) + (list zoxide) + '()))) (native-inputs (list scdoc)) (home-page "https://git.sr.ht/~rjarry/aerc") (synopsis "Email client for the terminal") diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 595b08fa20..4a9a382104 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -428,13 +429,13 @@ additions."))) (base32 "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" - (string-append "PREFIX=" - (assoc-ref %outputs "out"))) - #:tests? #f ; no tests included - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:tests? #f ; no tests included + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (home-page "https://github.com/Gottox/smu") (synopsis "Simple markup") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 80941ac10a..0ff8de1525 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -58,6 +58,7 @@ ;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2022 Maximilian Heisinger <mail@maxheisinger.at> ;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com> +;;; Copyright © 2022, 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net> @@ -103,6 +104,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) @@ -9530,7 +9532,7 @@ computation is supported via MPI.") (define-public scilab (package (name "scilab") - (version "2023.1.0") + (version "2024.0.0") (source (origin (method git-fetch) @@ -9540,10 +9542,9 @@ computation is supported via MPI.") (file-name (git-file-name name version)) (sha256 (base32 - "0hbqsnc67b4f8zc690kl79bwhjaasykjlmqbln8iymnjcn3l5ypd")) + "08nyfli3x7gd396ffd1a8zn9fj3gm6a8yw0ggm547c09sp2rgvl7")) (modules '((guix build utils) (ice-9 ftw))) - (patches (search-patches "scilab-hdf5-1.8-api.patch")) (snippet #~(begin ;; Delete everything except for scilab itself: @@ -9560,7 +9561,8 @@ computation is supported via MPI.") (for-each delete-file-recursively '("scilab" "config" - "libs/GetWindowsVersion")) + "libs/GetWindowsVersion" + "Visual-Studio-settings")) (for-each delete-file (cons* "aclocal.m4" "configure" @@ -9572,22 +9574,23 @@ computation is supported via MPI.") "m4/ltversion.m4" "m4/lt~obsolete.m4" "m4/pkg.m4" + "Scilab.sln" (find-files "." "^Makefile\\.in$"))) ;; And finally some files in the modules directory: (for-each - (lambda (file) - (delete-file - (string-append "modules/dynamic_link/src/scripts/" file))) - '("aclocal.m4" - "configure" - "compile" - "config.guess" - "config.sub" - "ltmain.sh" - "depcomp" - "install-sh" - "missing")) + (lambda (file) + (delete-file + (string-append "modules/dynamic_link/src/scripts/" file))) + '("aclocal.m4" + "configure" + "compile" + "config.guess" + "config.sub" + "ltmain.sh" + "depcomp" + "install-sh" + "missing")) (delete-file-recursively "modules/dynamic_link/src/scripts/m4") (for-each delete-file '("modules/ast/src/cpp/parse/scanscilab.cpp" @@ -9596,7 +9599,7 @@ computation is supported via MPI.") "modules/ast/src/cpp/parse/parsescilab.cpp")))))) (build-system gnu-build-system) (native-inputs - (list autoconf + (list autoconf-2.71 autoconf-archive automake bison @@ -9613,8 +9616,9 @@ computation is supported via MPI.") curl fftw gettext-minimal - hdf5-1.14 + hdf5-1.10 lapack + libarchive libx11 libxml2 matio @@ -9625,83 +9629,125 @@ computation is supported via MPI.") tcl tk)) (arguments - (list - ;; The tests require java code. - #:tests? #f - #:configure-flags - #~(list - "--enable-relocatable" - "--disable-static-system-lib" - "--enable-build-parser" - ;; Disable all java code. - "--without-gui" - "--without-javasci" - "--disable-build-help" - "--with-external-scirenderer" - ;; Tcl and Tk library locations. - (string-append "--with-tcl-include=" - (dirname - (search-input-file %build-inputs "include/tcl.h"))) - (string-append "--with-tcl-library=" - (dirname - (search-input-directory %build-inputs "lib/tcl8"))) - (string-append "--with-tk-include=" - (dirname - (search-input-file %build-inputs "include/tk.h"))) - (string-append "--with-tk-library=" - (dirname - (search-input-directory %build-inputs "lib/tk8.6"))) - (string-append "--with-eigen-include=" - (search-input-directory %build-inputs "include/eigen3")) - ;; Find and link to the OCaml Num package - "OCAMLC=ocamlfind ocamlc -package num" - "OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg" - ;; There are some 2018-fortran errors that are ignored - ;; with this fortran compiler flag. - "FFLAGS=-fallow-argument-mismatch") - #:phases - #~(modify-phases %standard-phases - ;; The Num library is specified with the OCAMLC and - ;; OCAMLOPT variables above. - (add-after 'unpack 'fix-ocaml-num - (lambda _ - (substitute* - '("modules/scicos/Makefile.modelica.am" - "modules/scicos/src/translator/makefile.mak" - "modules/scicos/src/modelica_compiler/makefile.mak") - (("nums\\.cmx?a") "")))) - ;; Install only scilab-cli.desktop - (add-after 'unpack 'remove-desktop-files - (lambda _ - (substitute* "desktop/Makefile.am" - (("desktop_DATA =") - "desktop_DATA = scilab-cli.desktop\nDUMMY =")))) - ;; These generated files are assumed to be present during - ;; the build. - (add-after 'bootstrap 'bootstrap-dynamic_link-scripts - (lambda _ - (with-directory-excursion "modules/dynamic_link/src/scripts" - ((assoc-ref %standard-phases 'bootstrap))))) - (add-before 'build 'pre-build - (lambda* (#:key inputs #:allow-other-keys) - ;; Fix scilab script. - (substitute* "bin/scilab" - (("\\/bin\\/ls") - (search-input-file inputs "bin/ls"))) - ;; Fix core.start. - (substitute* "modules/core/etc/core.start" - (("'SCI/modules") - "SCI+'/modules")) - ;; Set SCIHOME to /tmp before macros compilation. - (setenv "SCIHOME" "/tmp"))) - ;; Prevent race condition - (add-after 'pre-build 'build-parsers - (lambda* (#:key (make-flags #~'()) #:allow-other-keys) - (with-directory-excursion "modules/ast" - (apply invoke "make" - "src/cpp/parse/parsescilab.cpp" - "src/cpp/parse/scanscilab.cpp" - make-flags))))))) + (let* ((tcl (this-package-input "tcl")) + (tk (this-package-input "tk"))) + (list + #:configure-flags + #~(list + "--enable-relocatable" + "--disable-static-system-lib" + "--enable-build-parser" + ;; Disable all java code. + "--without-gui" + "--without-javasci" + "--disable-build-help" + "--with-external-scirenderer" + ;; Tcl and Tk library locations. + (string-append "--with-tcl-include=" #$tcl "/include") + (string-append "--with-tcl-library=" #$tcl "/lib") + (string-append "--with-tk-include=" #$tk "/include") + (string-append "--with-tk-library=" #$tk "/lib") + (string-append "--with-eigen-include=" + (search-input-directory %build-inputs "include/eigen3")) + ;; Find and link to the OCaml Num package + "OCAMLC=ocamlfind ocamlc -package num" + "OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg") + #:phases + #~(modify-phases %standard-phases + ;; The Num library is specified with the OCAMLC and + ;; OCAMLOPT variables above. + (add-after 'unpack 'fix-ocaml-num + (lambda _ + (substitute* + '("modules/scicos/Makefile.modelica.am" + "modules/scicos/src/translator/makefile.mak" + "modules/scicos/src/modelica_compiler/makefile.mak") + (("nums\\.cmx?a") "")))) + (add-after 'unpack 'fix-linking + (lambda _ + (substitute* "modules/Makefile.am" + (("libscilab_cli_la_LDFLAGS = .*\\)" all) + (string-append all " -lcurl"))))) + (add-after 'unpack 'set-version + (lambda _ + (substitute* "modules/core/includes/version.h.in" + (("scilab-branch-main") ; version + (string-append + "scilab-" + #$(version-major+minor (package-version this-package))))))) + (add-after 'unpack 'restrain-to-scilab-cli + (lambda _ + ;; Install only scilab-cli.desktop + (substitute* "desktop/Makefile.am" + (("desktop_DATA =") + "desktop_DATA = scilab-cli.desktop\nDUMMY =")) + ;; Replace scilab with scilab-cli for tests. + (substitute* "Makefile.incl.am" + (("scilab-bin") "scilab-cli-bin") + (("scilab -nwni") "scilab-cli") + ;; Do not install tests, demos and examples. + ;; This saves up to 140 Mo in the final output. + (("(TESTS|DEMOS|EXAMPLES)_DIR=.*" all kind) + (string-append kind "_DIR="))))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "Makefile" + (("TESTS = .*") + "TESTS =\n")) + (substitute* "modules/functions_manager/Makefile" + (("check:.*") + "check:\n")) + (substitute* "modules/types/Makefile" + (("\\$\\(MAKE\\) \\$\\(AM_MAKEFLAGS\\) check-am") + "")))) + ;; These generated files are assumed to be present during + ;; the build. + (add-after 'bootstrap 'bootstrap-dynamic_link-scripts + (lambda _ + (with-directory-excursion "modules/dynamic_link/src/scripts" + ((assoc-ref %standard-phases 'bootstrap))))) + (add-before 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys) + ;; Fix scilab script. + (substitute* "bin/scilab" + (("/bin/ls") + (search-input-file inputs "bin/ls"))) + ;; Fix core.start. + (substitute* "modules/core/etc/core.start" + (("'SCI/modules") + "SCI+'/modules")))) + ;; Prevent race condition + (add-after 'pre-build 'build-parsers + (lambda* (#:key (make-flags #~'()) #:allow-other-keys) + (with-directory-excursion "modules/ast" + (apply invoke "make" + "src/cpp/parse/parsescilab.cpp" + "src/cpp/parse/scanscilab.cpp" + make-flags)))) + ;; The startup script is mostly there to define the following env + ;; variables properly. We can do this with guix directly. + (add-after 'install 'rewrap-scilab-cli + (lambda _ + (define (bin path) (string-append #$output "/bin/" path)) + (delete-file (bin "scilab-cli")) + (wrap-program (bin "scilab-cli-bin") + `("SCI" = (,(string-append #$output "/share/scilab"))) + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append #$output "/lib/scilab"))) + `("TCL_LIBRARY" = (,(string-append #$tcl "/lib"))) + `("TK_LIBRARY" = (,(string-append #$tk "/lib")))) + (copy-file (bin "scilab-cli-bin") (bin "scilab-cli")) + (copy-file (bin ".scilab-cli-bin-real") (bin "scilab-cli-bin")) + (delete-file (bin ".scilab-cli-bin-real")) + (substitute* (bin "scilab-cli") + ;; Also set SCIHOME to sensible XDG base dirs value. + (("\\.scilab-cli-bin-real\"") + (string-append + "scilab-cli-bin\" -scihome " + "\"${XDG_STATE_HOME:-$HOME/.local/state}/scilab/" + #$(package-version this-package) "\"")) + (("export SCI=") + "unset LANGUAGE\nexport SCI=")))))))) (home-page "https://www.scilab.org/") (synopsis "Software for engineers and scientists") (description "This package provides the non-graphical version of the Scilab diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index e5f3e04376..8ac13da3f8 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -154,15 +154,15 @@ parsers to allow execution with Guile as extension languages."))) (define-public mes (package (name "mes") - (version "0.25") + (version "0.25.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mes/" "mes-" version ".tar.gz")) (sha256 (base32 - "0h49h85m1jkppfsv95zdxdrrw1q1mwswhq81lwxj1nbyasrm0lij")))) - (supported-systems '("aarch64-linux" "armhf-linux" "i686-linux" + "03np6h4qx94givjdvq2rmhvab38y5f91254n0avg4vq2j0cx78in")))) + (supported-systems '("armhf-linux" "i686-linux" "x86_64-linux" "riscv64-linux")) (propagated-inputs (list mescc-tools nyacc-1.00.2)) (native-inputs @@ -213,14 +213,14 @@ Guile.") (define-public mescc-tools (package (name "mescc-tools") - (version "1.5.0") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "1vjczlajyrbjcx9ld35vhdqbxfdwwy3axg0jray3iwnrf70qr700")))) + "1jak61gxab8bj8ddpgwfn9lqs917szq1phadmg8y5cjsndn1hv4k")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux" "aarch64-linux" @@ -230,11 +230,7 @@ Guile.") #:make-flags #~(list (string-append "PREFIX=" #$output)) #:test-target "test" #:phases #~(modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'patch-Kaem/test.sh - (lambda _ - (substitute* "Kaem/test.sh" - (("#/usr/") "#! /usr"))))))) + (delete 'configure)))) (native-inputs (list which)) (synopsis "Tools for the full source bootstrapping process") (description diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 0e762144a1..dc827a4670 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages lua) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -116,7 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.23.13") + (version "0.23.14") (source (origin (method url-fetch) (uri @@ -125,7 +126,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "06fmy68lfrsi5y03l53dnwcynqhwh5f5vhdpbsr8lzmvzgk02sx9")))) + "1lh9nn4a7ng6i08df7rbs8c4nbgmz883pss9p2gswa6m4rsadfc5")))) (build-system meson-build-system) (arguments (list @@ -622,7 +623,7 @@ mpdevil loads all tags and covers on demand.") (define-public mympd (package (name "mympd") - (version "12.1.1") + (version "13.0.5") (source (origin (method git-fetch) (uri (git-reference @@ -631,22 +632,29 @@ mpdevil loads all tags and covers on demand.") (file-name (git-file-name name version)) (sha256 (base32 - "1bal31xmdmq46bi0qmia07sqcwy695vcz5y5hxwkz71rcfywbsf9")))) + "1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm")))) + (outputs '("out" "doc")) (build-system cmake-build-system) (arguments (list #:configure-flags - #~(list "-DMYMPD_BUILD_TESTING=ON" - ;; Handled by 'strip' phase. - "-DMYMPD_STRIP_BINARY=OFF") + #~(list "-DCMAKE_INSTALL_LOCALSTATEDIR=/var" + "-DMYMPD_BUILD_TESTING=ON" + "-DMYMPD_DOC_HTML=ON") #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? ;; The following test requires network connectivity. - (invoke "ctest" "--exclude-regex" "test_http_client"))))))) - (native-inputs (list jq perl pkg-config)) + (invoke "ctest" "--exclude-regex" "test_http_client")))) + (add-after 'install 'move-doc + (lambda _ + (let ((old (string-append #$output "/share/doc")) + (new (string-append #$output:doc "/share/doc"))) + (mkdir-p (dirname new)) + (rename-file old new))))))) + (native-inputs (list jekyll jq perl pkg-config)) (inputs (list flac libid3tag lua openssl pcre2)) (home-page "https://jcorporation.github.io/") (synopsis "Web-based MPD client") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 2028830087..6b415076e8 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -60,6 +60,7 @@ ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -127,6 +128,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages libbsd) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libusb) @@ -326,42 +328,26 @@ Unix Domain Sockets, SCTP for both IPv4 and IPv6.") (define-public lcsync (package (name "lcsync") - (version "0.2.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://codeberg.org/librecast/lcsync") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5")))) + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/librecast/lcsync") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rhk80ybd2zranay76z1ysifnnm786lg9kiiijcwv76qy95in9ks")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f - #:configure-flags - (list - (string-append "--prefix=" - (assoc-ref %outputs "out"))) + #:configure-flags (list (string-append "--prefix=" + (assoc-ref %outputs "out"))) #:make-flags (let ((target ,(%current-target-system))) (list ,(string-append "CC=" (cc-for-target)))) - #:test-target "test" - #:phases (modify-phases %standard-phases - (add-after 'unpack 'use-prefix-from-configure-in-doc-makefile - ;; Use prefix from configure. Fixed upstream: - ;; https://codeberg.org/librecast/lcsync/commit/4ba00f6 - ;; XXX: Remove for 0.2.2+ - (lambda _ - (substitute* "doc/Makefile.in" - (("PREFIX .= /usr/local") "PREFIX ?= @prefix@")))) - (add-before 'build 'add-library-paths - (lambda* (#:key inputs #:allow-other-keys) - (let* ((librecast (assoc-ref inputs "librecast"))) - (substitute* (list "./src/Makefile" "./test/Makefile") - (("-llibrecast") - (string-append "-L" librecast "/lib -llibrecast"))))))))) - (inputs (list lcrq librecast libsodium)) + #:test-target "test")) + (inputs (list lcrq librecast libsodium libbsd)) (home-page "https://librecast.net/lcsync.html") (synopsis "Librecast file and data syncing tool") (description @@ -522,16 +508,16 @@ GLib-based library, libnice, as well as GStreamer elements to use it.") (define-public librecast (package (name "librecast") - (version "0.7.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://codeberg.org/librecast/librecast") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n")))) + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/librecast/librecast") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01m0q4n2hy3csbzil8ivjyzb1mh4w9jlh9iiv6z53kasl7aas27i")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f @@ -541,7 +527,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.") (string-append "PREFIX=" (assoc-ref %outputs "out")))) #:test-target "test")) - (inputs (list libsodium lcrq)) + (inputs (list libsodium lcrq libbsd)) (synopsis "IPv6 multicast library") (description "Librecast is a C library which supports IPv6 multicast networking.") @@ -4422,7 +4408,7 @@ QUIC protocol.") (define-public yggdrasil (package (name "yggdrasil") - (version "0.4.7") + (version "0.5.2") (source (origin (method git-fetch) @@ -4433,8 +4419,8 @@ QUIC protocol.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk")) - (patches (search-patches "yggdrasil-extra-config.patch")))) + (base32 "0ahgb94s30sq1wwyc8h53mjj3j43ifr0aanj8262rsm6rqk04kzq")) + (patches (search-patches "yggdrasil-extra-config.patch")))) (build-system go-build-system) (arguments (list #:import-path "github.com/yggdrasil-network/yggdrasil-go" @@ -4460,32 +4446,37 @@ QUIC protocol.") (list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil" "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl" "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys")))))))) - ;; https://github.com/kardianos/minwinsvc is windows only (propagated-inputs - (list ;;("go-golang-zx2c4-com-wireguard-windows" - ;; ,go-golang-zx2c4-com-wireguard-windows) - go-golang-zx2c4-com-wireguard - go-golang-org-x-text - go-golang-org-x-sys - go-golang-org-x-net - go-golang-org-x-crypto - go-golang-org-x-tools - go-netns - go-netlink - go-github-com-olekukonko-tablewriter - go-github-com-mitchellh-mapstructure - go-github-com-mattn-go-runewidth - go-github-com-mattn-go-isatty - go-github-com-mattn-go-colorable - go-github-com-kardianos-minwinsvc - go-github-com-hjson-hjson-go - go-github-com-hashicorp-go-syslog - go-github-com-gologme-log - go-github-com-fatih-color - go-github-com-cheggaaa-pb-v3 - go-github-com-vividcortex-ewma - go-github-com-arceliar-phony - go-github-com-arceliar-ironwood)) + (let ((p (package-input-rewriting + `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8)) + #:deep? #true))) + (cons go-golang-org-x-sys-0.8 + (map p + (list go-golang-zx2c4-com-wireguard + go-golang-org-x-text + go-golang-org-x-net + go-golang-org-x-crypto + go-golang-org-x-tools + go-netns + go-netlink + go-github-com-bits-and-blooms-bitset + go-github-com-bits-and-blooms-bloom + go-github-com-quic-go-quic-go + go-github-com-hjson-hjson-go + go-github-com-olekukonko-tablewriter + go-github-com-mitchellh-mapstructure + go-github-com-mattn-go-runewidth + go-github-com-mattn-go-isatty + go-github-com-mattn-go-colorable + go-github-com-kardianos-minwinsvc + go-github-com-hjson-hjson-go + go-github-com-hashicorp-go-syslog + go-github-com-gologme-log + go-github-com-fatih-color + go-github-com-cheggaaa-pb-v3 + go-github-com-vividcortex-ewma + go-github-com-arceliar-phony + go-github-com-arceliar-ironwood))))) (home-page "https://yggdrasil-network.github.io/blog.html") (synopsis "Experiment in scalable routing as an encrypted IPv6 overlay network") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 70a26c242a..30216f518a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -174,8 +174,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.4.0") - (commit "a60ff4611a8814d1f33d64af07401762afbcc597") - (revision 14)) + (commit "aeb494322ca9dec4a4d66a7d063239c8536bd538") + (revision 16)) (package (name "guix") @@ -191,7 +191,7 @@ (commit commit))) (sha256 (base32 - "08czk2789y21cydg1xwwrmah8hjaprdnzvb993n7d7d70ccxk5kz")) + "1xl769lkpvkjpvq4vwkxm4dp77sr9finvr6izvf4kvyi6s3hbsys")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -524,7 +524,7 @@ $(prefix)/etc/openrc\n"))) ("git-minimal" ,git-minimal) ;for 'guix perform-download' - ("glibc-utf8-locales" ,glibc-utf8-locales))) + ("glibc-utf8-locales" ,(libc-utf8-locales-for-target)))) (propagated-inputs `(("guile-gnutls" ,guile-gnutls) ;; Avahi requires "glib" which doesn't cross-compile yet. @@ -1510,8 +1510,8 @@ environments.") "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) (define-public guix-build-coordinator - (let ((commit "34463558e589aa260b15e53422652a37848aec95") - (revision "90")) + (let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900") + (revision "92")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1522,7 +1522,7 @@ environments.") (commit commit))) (sha256 (base32 - "0fhy0l9js38byxwwb72qnjm358ai3k654jdnhwdcgk25pdsdzcpr")) + "06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1754,8 +1754,8 @@ in an isolated environment, in separate namespaces.") (license license:gpl3+))) (define-public nar-herder - (let ((commit "bf539aa08edfe8010606a31c00e0296c3d400319") - (revision "22")) + (let ((commit "5ccd6cbbdf5fc41e43a491d3414c1663e1fba64d") + (revision "23")) (package (name "nar-herder") (version (git-version "0" revision commit)) @@ -1766,7 +1766,7 @@ in an isolated environment, in separate namespaces.") (commit commit))) (sha256 (base32 - "1i9q7ys26r6y2xa4qqy21bcxlqiynxp3p1wl5gmyj33jnb9ryjby")) + "1lid5k4wgghl9lzhazx1c473qv18yxp0xxrvj04b33pdvxnaawl8")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -2052,7 +2052,7 @@ cp -r /tmp/locale/*/en_US.*"))) dbus ; for dbus-daemon gettext-minimal `(,glib "bin") ; for glib-mkenums + gdbus-codegen - glibc-utf8-locales + (libc-utf8-locales-for-target) gobject-introspection libcap pkg-config diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index f3af1680b0..92ff023a6e 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -64,14 +64,14 @@ (define-public parallel (package (name "parallel") - (version "20231022") + (version "20231122") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "1316ydijavz41078c99mbrbaddnshspbs8nsbm5qlyah317vkwlk")) + (base32 "1qpa3dhmdddw7l5906y8ck8rnri66kqkxcbxhsnj058pmbw9qb42")) (snippet '(begin (use-modules (guix build utils)) diff --git a/gnu/packages/patches/aria2-unbundle-wslay.patch b/gnu/packages/patches/aria2-unbundle-wslay.patch new file mode 100644 index 0000000000..e3e534bbe1 --- /dev/null +++ b/gnu/packages/patches/aria2-unbundle-wslay.patch @@ -0,0 +1,54 @@ +This patch causes aria2 to depend on an external wslay. +The wslay version was copied from the configure.ac in deps/wslay +configure still needs to be deleted to update the script +deps/wslay is no longer necessary and can also be removed + +diff --git a/Makefile.am b/Makefile.am +index afe70a2..8c4d058 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = po lib deps src doc test ++SUBDIRS = po lib src doc test + + ACLOCAL_AMFLAGS = -I m4 --install + RST2HTML = @RST2HTML@ +diff --git a/configure.ac b/configure.ac +index 14b340f..74d5937 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1001,15 +1001,18 @@ if test "x$have_option_const_name" = "xyes"; then + fi + + if test "x$enable_websocket" = "xyes"; then +- AC_CONFIG_SUBDIRS([deps/wslay]) ++ PKG_CHECK_MODULES([WSLAY], [libwslay >= 1.1.1], [have_wslay=yes], [have_wslay=no]) + enable_websocket=yes + AC_DEFINE([ENABLE_WEBSOCKET], [1], + [Define 1 if WebSocket support is enabled.]) +- # $(top_srcdir) for `make distcheck` +- WSLAY_CFLAGS="-I\$(top_builddir)/deps/wslay/lib/includes -I\$(top_srcdir)/deps/wslay/lib/includes" +- WSLAY_LIBS="\$(top_builddir)/deps/wslay/lib/libwslay.la" +- AC_SUBST([WSLAY_CFLAGS]) +- AC_SUBST([WSLAY_LIBS]) ++ if test "x$have_wslay" = "xyes"; then ++ WSLAY_CFLAGS="$WSLAY_CFLAGS" ++ WSLAY_LIBS="$WSLAY_LIBS" ++ AC_SUBST([WSLAY_CFLAGS]) ++ AC_SUBST([WSLAY_LIBS]) ++ else ++ ARIA2_DEP_NOT_MET([wslay]) ++ fi + fi + AM_CONDITIONAL([ENABLE_WEBSOCKET], [test "x$enable_websocket" = "xyes"]) + +@@ -1071,8 +1074,7 @@ AC_CONFIG_FILES([Makefile + doc/manual-src/ru/Makefile + doc/manual-src/ru/conf.py + doc/manual-src/pt/Makefile +- doc/manual-src/pt/conf.py +- deps/Makefile]) ++ doc/manual-src/pt/conf.py]) + AC_OUTPUT + + AC_MSG_NOTICE([summary of build options: diff --git a/gnu/packages/patches/ghc-basement-fix-32bit.patch b/gnu/packages/patches/ghc-basement-fix-32bit.patch new file mode 100644 index 0000000000..7407b2ef75 --- /dev/null +++ b/gnu/packages/patches/ghc-basement-fix-32bit.patch @@ -0,0 +1,177 @@ +https://github.com/haskell-foundation/foundation/pull/573 +https://github.com/haskell-foundation/foundation/commit/38be2c93acb6f459d24ed6c626981c35ccf44095.patch + +Changes made: +Changed '904' to '902' to use the fix with GHC-9.2. + +diff --git a/Basement/Bits.hs b/Basement/Bits.hs +index 7eeea0f..b1e9afd 100644 +--- a/Basement/Bits.hs ++++ b/Basement/Bits.hs +@@ -54,8 +54,12 @@ import GHC.Int + import Basement.Compat.Primitive + + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++import GHC.Exts ++#else + import GHC.IntWord64 + #endif ++#endif + + -- | operation over finite bits + class FiniteBitsOps bits where +diff --git a/Basement/Numerical/Additive.hs b/Basement/Numerical/Additive.hs +index d0dfb97..79b7033 100644 +--- a/Basement/Numerical/Additive.hs ++++ b/Basement/Numerical/Additive.hs +@@ -30,8 +30,12 @@ import qualified Basement.Types.Word128 as Word128 + import qualified Basement.Types.Word256 as Word256 + + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++import GHC.Exts ++#else + import GHC.IntWord64 + #endif ++#endif + + -- | Represent class of things that can be added together, + -- contains a neutral element and is commutative. +diff --git a/Basement/Numerical/Conversion.hs b/Basement/Numerical/Conversion.hs +index db502c0..abb6d93 100644 +--- a/Basement/Numerical/Conversion.hs ++++ b/Basement/Numerical/Conversion.hs +@@ -26,8 +26,12 @@ import GHC.Word + import Basement.Compat.Primitive + + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++import GHC.Exts ++#else + import GHC.IntWord64 + #endif ++#endif + + intToInt64 :: Int -> Int64 + #if WORD_SIZE_IN_BITS == 64 +@@ -96,11 +100,22 @@ int64ToWord64 (I64# i) = W64# (int64ToWord64# i) + #endif + + #if WORD_SIZE_IN_BITS == 64 ++#if __GLASGOW_HASKELL__ >= 904 ++word64ToWord# :: Word64# -> Word# ++word64ToWord# i = word64ToWord# i ++#else + word64ToWord# :: Word# -> Word# + word64ToWord# i = i ++#endif + {-# INLINE word64ToWord# #-} + #endif + ++#if WORD_SIZE_IN_BITS < 64 ++word64ToWord32# :: Word64# -> Word32# ++word64ToWord32# i = wordToWord32# (word64ToWord# i) ++{-# INLINE word64ToWord32# #-} ++#endif ++ + -- | 2 Word32s + data Word32x2 = Word32x2 {-# UNPACK #-} !Word32 + {-# UNPACK #-} !Word32 +@@ -113,9 +128,14 @@ word64ToWord32s (W64# w64) = Word32x2 (W32# (wordToWord32# (uncheckedShiftRL# (G + word64ToWord32s (W64# w64) = Word32x2 (W32# (wordToWord32# (uncheckedShiftRL# w64 32#))) (W32# (wordToWord32# w64)) + #endif + #else ++#if __GLASGOW_HASKELL__ >= 902 ++word64ToWord32s :: Word64 -> Word32x2 ++word64ToWord32s (W64# w64) = Word32x2 (W32# (word64ToWord32# (uncheckedShiftRL64# w64 32#))) (W32# (word64ToWord32# w64)) ++#else + word64ToWord32s :: Word64 -> Word32x2 + word64ToWord32s (W64# w64) = Word32x2 (W32# (word64ToWord# (uncheckedShiftRL64# w64 32#))) (W32# (word64ToWord# w64)) + #endif ++#endif + + wordToChar :: Word -> Char + wordToChar (W# word) = C# (chr# (word2Int# word)) +diff --git a/Basement/PrimType.hs b/Basement/PrimType.hs +index f8ca292..b8fbaf7 100644 +--- a/Basement/PrimType.hs ++++ b/Basement/PrimType.hs +@@ -54,7 +54,11 @@ import Basement.Nat + import qualified Prelude (quot) + + #if WORD_SIZE_IN_BITS < 64 +-import GHC.IntWord64 ++#if __GLASGOW_HASKELL__ >= 902 ++import GHC.Exts ++#else ++import GHC.IntWord64 ++#endif + #endif + + #ifdef FOUNDATION_BOUNDS_CHECK +diff --git a/Basement/Types/OffsetSize.hs b/Basement/Types/OffsetSize.hs +index cd94492..b2903ba 100644 +--- a/Basement/Types/OffsetSize.hs ++++ b/Basement/Types/OffsetSize.hs +@@ -70,8 +70,12 @@ import Data.List (foldl') + import qualified Prelude + + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++import GHC.Exts ++#else + import GHC.IntWord64 + #endif ++#endif + + -- | File size in bytes + newtype FileSize = FileSize Word64 +@@ -225,7 +229,11 @@ countOfRoundUp alignment (CountOf n) = CountOf ((n + (alignment-1)) .&. compleme + + csizeOfSize :: CountOf Word8 -> CSize + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++csizeOfSize (CountOf (I# sz)) = CSize (W32# (wordToWord32# (int2Word# sz))) ++#else + csizeOfSize (CountOf (I# sz)) = CSize (W32# (int2Word# sz)) ++#endif + #else + #if __GLASGOW_HASKELL__ >= 904 + csizeOfSize (CountOf (I# sz)) = CSize (W64# (wordToWord64# (int2Word# sz))) +@@ -238,7 +246,11 @@ csizeOfSize (CountOf (I# sz)) = CSize (W64# (int2Word# sz)) + + csizeOfOffset :: Offset8 -> CSize + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++csizeOfOffset (Offset (I# sz)) = CSize (W32# (wordToWord32# (int2Word# sz))) ++#else + csizeOfOffset (Offset (I# sz)) = CSize (W32# (int2Word# sz)) ++#endif + #else + #if __GLASGOW_HASKELL__ >= 904 + csizeOfOffset (Offset (I# sz)) = CSize (W64# (wordToWord64# (int2Word# sz))) +@@ -250,7 +262,11 @@ csizeOfOffset (Offset (I# sz)) = CSize (W64# (int2Word# sz)) + sizeOfCSSize :: CSsize -> CountOf Word8 + sizeOfCSSize (CSsize (-1)) = error "invalid size: CSSize is -1" + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++sizeOfCSSize (CSsize (I32# sz)) = CountOf (I# (int32ToInt# sz)) ++#else + sizeOfCSSize (CSsize (I32# sz)) = CountOf (I# sz) ++#endif + #else + #if __GLASGOW_HASKELL__ >= 904 + sizeOfCSSize (CSsize (I64# sz)) = CountOf (I# (int64ToInt# sz)) +@@ -261,7 +277,11 @@ sizeOfCSSize (CSsize (I64# sz)) = CountOf (I# sz) + + sizeOfCSize :: CSize -> CountOf Word8 + #if WORD_SIZE_IN_BITS < 64 ++#if __GLASGOW_HASKELL__ >= 902 ++sizeOfCSize (CSize (W32# sz)) = CountOf (I# (word2Int# (word32ToWord# sz))) ++#else + sizeOfCSize (CSize (W32# sz)) = CountOf (I# (word2Int# sz)) ++#endif + #else + #if __GLASGOW_HASKELL__ >= 904 + sizeOfCSize (CSize (W64# sz)) = CountOf (I# (word2Int# (word64ToWord# sz))) diff --git a/gnu/packages/patches/ghc-bloomfilter-ghc9.2.patch b/gnu/packages/patches/ghc-bloomfilter-ghc9.2.patch deleted file mode 100644 index 97caf2cc9b..0000000000 --- a/gnu/packages/patches/ghc-bloomfilter-ghc9.2.patch +++ /dev/null @@ -1,303 +0,0 @@ -Taken from https://github.com/bos/bloomfilter/pull/20 - -From fb79b39c44404fd791a3bed973e9d844fb084f1e Mon Sep 17 00:00:00 2001 -From: Simon Jakobi <simon.jakobi@gmail.com> -Date: Fri, 12 Nov 2021 01:37:36 +0100 -Subject: [PATCH] Fix build with GHC 9.2 - -The `FastShift.shift{L,R}` methods are replaced with `unsafeShift{L,R}` -introduced in base-4.5. - -Fixes #19. ---- - Data/BloomFilter.hs | 16 +++++------ - Data/BloomFilter/Hash.hs | 15 +++++----- - Data/BloomFilter/Mutable.hs | 20 +++++++------- - Data/BloomFilter/Util.hs | 55 ++++++------------------------------- - bloomfilter.cabal | 2 +- - 5 files changed, 34 insertions(+), 74 deletions(-) - -diff --git a/Data/BloomFilter.hs b/Data/BloomFilter.hs -index 2210cef..6b47c21 100644 ---- a/Data/BloomFilter.hs -+++ b/Data/BloomFilter.hs -@@ -78,8 +78,8 @@ import Control.DeepSeq (NFData(..)) - import Data.Array.Base (unsafeAt) - import qualified Data.Array.Base as ST - import Data.Array.Unboxed (UArray) --import Data.Bits ((.&.)) --import Data.BloomFilter.Util (FastShift(..), (:*)(..)) -+import Data.Bits ((.&.), unsafeShiftL, unsafeShiftR) -+import Data.BloomFilter.Util ((:*)(..)) - import qualified Data.BloomFilter.Mutable as MB - import qualified Data.BloomFilter.Mutable.Internal as MB - import Data.BloomFilter.Mutable.Internal (Hash, MBloom) -@@ -98,7 +98,7 @@ data Bloom a = B { - } - - instance Show (Bloom a) where -- show ub = "Bloom { " ++ show ((1::Int) `shiftL` shift ub) ++ " bits } " -+ show ub = "Bloom { " ++ show ((1::Int) `unsafeShiftL` shift ub) ++ " bits } " - - instance NFData (Bloom a) where - rnf !_ = () -@@ -172,7 +172,7 @@ singleton hash numBits elt = create hash numBits (\mb -> MB.insert mb elt) - -- | Given a filter's mask and a hash value, compute an offset into - -- a word array and a bit offset within that word. - hashIdx :: Int -> Word32 -> (Int :* Int) --hashIdx mask x = (y `shiftR` logBitsInHash) :* (y .&. hashMask) -+hashIdx mask x = (y `unsafeShiftR` logBitsInHash) :* (y .&. hashMask) - where hashMask = 31 -- bitsInHash - 1 - y = fromIntegral x .&. mask - -@@ -191,7 +191,7 @@ hashesU ub elt = hashIdx (mask ub) `map` hashes ub elt - -- /still/ some possibility that @True@ will be returned. - elem :: a -> Bloom a -> Bool - elem elt ub = all test (hashesU ub elt) -- where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `shiftL` bit) /= 0 -+ where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `unsafeShiftL` bit) /= 0 - - modify :: (forall s. (MBloom s a -> ST s z)) -- ^ mutation function (result is discarded) - -> Bloom a -@@ -255,11 +255,11 @@ insertList elts = modify $ \mb -> mapM_ (MB.insert mb) elts - -- is /still/ some possibility that @True@ will be returned. - notElem :: a -> Bloom a -> Bool - notElem elt ub = any test (hashesU ub elt) -- where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `shiftL` bit) == 0 -+ where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `unsafeShiftL` bit) == 0 - - -- | Return the size of an immutable Bloom filter, in bits. - length :: Bloom a -> Int --length = shiftL 1 . shift -+length = unsafeShiftL 1 . shift - - -- | Build an immutable Bloom filter from a seed value. The seeding - -- function populates the filter as follows. -@@ -318,7 +318,7 @@ fromList hashes numBits = unfold hashes numBits convert - logPower2 :: Int -> Int - logPower2 k = go 0 k - where go j 1 = j -- go j n = go (j+1) (n `shiftR` 1) -+ go j n = go (j+1) (n `unsafeShiftR` 1) - - -- $overview - -- -diff --git a/Data/BloomFilter/Hash.hs b/Data/BloomFilter/Hash.hs -index 132a3a4..d071fd4 100644 ---- a/Data/BloomFilter/Hash.hs -+++ b/Data/BloomFilter/Hash.hs -@@ -38,8 +38,7 @@ module Data.BloomFilter.Hash - ) where - - import Control.Monad (foldM) --import Data.Bits ((.&.), (.|.), xor) --import Data.BloomFilter.Util (FastShift(..)) -+import Data.Bits ((.&.), (.|.), unsafeShiftL, unsafeShiftR, xor) - import Data.List (unfoldr) - import Data.Int (Int8, Int16, Int32, Int64) - import Data.Word (Word8, Word16, Word32, Word64) -@@ -91,11 +90,11 @@ class Hashable a where - -> Word64 -- ^ salt - -> IO Word64 - hashIO64 v salt = do -- let s1 = fromIntegral (salt `shiftR` 32) .&. maxBound -+ let s1 = fromIntegral (salt `unsafeShiftR` 32) .&. maxBound - s2 = fromIntegral salt - h1 <- hashIO32 v s1 - h2 <- hashIO32 v s2 -- return $ (fromIntegral h1 `shiftL` 32) .|. fromIntegral h2 -+ return $ (fromIntegral h1 `unsafeShiftL` 32) .|. fromIntegral h2 - - -- | Compute a 32-bit hash. - hash32 :: Hashable a => a -> Word32 -@@ -149,8 +148,8 @@ cheapHashes :: Hashable a => Int -- ^ number of hashes to compute - cheapHashes k v = go 0 - where go i | i == j = [] - | otherwise = hash : go (i + 1) -- where !hash = h1 + (h2 `shiftR` i) -- h1 = fromIntegral (h `shiftR` 32) -+ where !hash = h1 + (h2 `unsafeShiftR` i) -+ h1 = fromIntegral (h `unsafeShiftR` 32) - h2 = fromIntegral h - h = hashSalt64 0x9150a946c4a8966e v - j = fromIntegral k -@@ -163,7 +162,7 @@ instance Hashable Integer where - (salt `xor` 0x3ece731e) - | otherwise = hashIO32 (unfoldr go k) salt - where go 0 = Nothing -- go i = Just (fromIntegral i :: Word32, i `shiftR` 32) -+ go i = Just (fromIntegral i :: Word32, i `unsafeShiftR` 32) - - instance Hashable Bool where - hashIO32 = hashOne32 -@@ -224,7 +223,7 @@ instance Hashable Word64 where - -- | A fast unchecked shift. Nasty, but otherwise GHC 6.8.2 does a - -- test and branch on every shift. - div4 :: CSize -> CSize --div4 k = fromIntegral ((fromIntegral k :: HTYPE_SIZE_T) `shiftR` 2) -+div4 k = fromIntegral ((fromIntegral k :: HTYPE_SIZE_T) `unsafeShiftR` 2) - - alignedHash :: Ptr a -> CSize -> Word32 -> IO Word32 - alignedHash ptr bytes salt -diff --git a/Data/BloomFilter/Mutable.hs b/Data/BloomFilter/Mutable.hs -index edff1fc..0bb5cc9 100644 ---- a/Data/BloomFilter/Mutable.hs -+++ b/Data/BloomFilter/Mutable.hs -@@ -65,9 +65,9 @@ module Data.BloomFilter.Mutable - import Control.Monad (liftM, forM_) - import Control.Monad.ST (ST) - import Data.Array.Base (unsafeRead, unsafeWrite) --import Data.Bits ((.&.), (.|.)) -+import Data.Bits ((.&.), (.|.), unsafeShiftL, unsafeShiftR) - import Data.BloomFilter.Array (newArray) --import Data.BloomFilter.Util (FastShift(..), (:*)(..), nextPowerOfTwo) -+import Data.BloomFilter.Util ((:*)(..), nextPowerOfTwo) - import Data.Word (Word32) - import Data.BloomFilter.Mutable.Internal - -@@ -86,9 +86,9 @@ new hash numBits = MB hash shft msk `liftM` newArray numElems numBytes - | numBits > maxHash = maxHash - | isPowerOfTwo numBits = numBits - | otherwise = nextPowerOfTwo numBits -- numElems = max 2 (twoBits `shiftR` logBitsInHash) -- numBytes = numElems `shiftL` logBytesInHash -- trueBits = numElems `shiftL` logBitsInHash -+ numElems = max 2 (twoBits `unsafeShiftR` logBitsInHash) -+ numBytes = numElems `unsafeShiftL` logBytesInHash -+ trueBits = numElems `unsafeShiftL` logBitsInHash - shft = logPower2 trueBits - msk = trueBits - 1 - isPowerOfTwo n = n .&. (n - 1) == 0 -@@ -109,7 +109,7 @@ logBytesInHash = 2 -- logPower2 (sizeOf (undefined :: Hash)) - -- | Given a filter's mask and a hash value, compute an offset into - -- a word array and a bit offset within that word. - hashIdx :: Int -> Word32 -> (Int :* Int) --hashIdx msk x = (y `shiftR` logBitsInHash) :* (y .&. hashMask) -+hashIdx msk x = (y `unsafeShiftR` logBitsInHash) :* (y .&. hashMask) - where hashMask = 31 -- bitsInHash - 1 - y = fromIntegral x .&. msk - -@@ -125,7 +125,7 @@ insert mb elt = do - let mu = bitArray mb - forM_ (hashesM mb elt) $ \(word :* bit) -> do - old <- unsafeRead mu word -- unsafeWrite mu word (old .|. (1 `shiftL` bit)) -+ unsafeWrite mu word (old .|. (1 `unsafeShiftL` bit)) - - -- | Query a mutable Bloom filter for membership. If the value is - -- present, return @True@. If the value is not present, there is -@@ -135,7 +135,7 @@ elem elt mb = loop (hashesM mb elt) - where mu = bitArray mb - loop ((word :* bit):wbs) = do - i <- unsafeRead mu word -- if i .&. (1 `shiftL` bit) == 0 -+ if i .&. (1 `unsafeShiftL` bit) == 0 - then return False - else loop wbs - loop _ = return True -@@ -145,7 +145,7 @@ elem elt mb = loop (hashesM mb elt) - - -- | Return the size of a mutable Bloom filter, in bits. - length :: MBloom s a -> Int --length = shiftL 1 . shift -+length = unsafeShiftL 1 . shift - - - -- | Slow, crummy way of computing the integer log of an integer known -@@ -153,7 +153,7 @@ length = shiftL 1 . shift - logPower2 :: Int -> Int - logPower2 k = go 0 k - where go j 1 = j -- go j n = go (j+1) (n `shiftR` 1) -+ go j n = go (j+1) (n `unsafeShiftR` 1) - - -- $overview - -- -diff --git a/Data/BloomFilter/Util.hs b/Data/BloomFilter/Util.hs -index 7f695dc..6ade6e5 100644 ---- a/Data/BloomFilter/Util.hs -+++ b/Data/BloomFilter/Util.hs -@@ -2,15 +2,11 @@ - - module Data.BloomFilter.Util - ( -- FastShift(..) -- , nextPowerOfTwo -+ nextPowerOfTwo - , (:*)(..) - ) where - --import Data.Bits ((.|.)) --import qualified Data.Bits as Bits --import GHC.Base --import GHC.Word -+import Data.Bits ((.|.), unsafeShiftR) - - -- | A strict pair type. - data a :* b = !a :* !b -@@ -22,46 +18,11 @@ nextPowerOfTwo :: Int -> Int - {-# INLINE nextPowerOfTwo #-} - nextPowerOfTwo n = - let a = n - 1 -- b = a .|. (a `shiftR` 1) -- c = b .|. (b `shiftR` 2) -- d = c .|. (c `shiftR` 4) -- e = d .|. (d `shiftR` 8) -- f = e .|. (e `shiftR` 16) -- g = f .|. (f `shiftR` 32) -- in case we're on a 64-bit host -+ b = a .|. (a `unsafeShiftR` 1) -+ c = b .|. (b `unsafeShiftR` 2) -+ d = c .|. (c `unsafeShiftR` 4) -+ e = d .|. (d `unsafeShiftR` 8) -+ f = e .|. (e `unsafeShiftR` 16) -+ g = f .|. (f `unsafeShiftR` 32) -- in case we're on a 64-bit host - !h = g + 1 - in h -- ---- | This is a workaround for poor optimisation in GHC 6.8.2. It ---- fails to notice constant-width shifts, and adds a test and branch ---- to every shift. This imposes about a 10% performance hit. --class FastShift a where -- shiftL :: a -> Int -> a -- shiftR :: a -> Int -> a -- --instance FastShift Word32 where -- {-# INLINE shiftL #-} -- shiftL (W32# x#) (I# i#) = W32# (x# `uncheckedShiftL#` i#) -- -- {-# INLINE shiftR #-} -- shiftR (W32# x#) (I# i#) = W32# (x# `uncheckedShiftRL#` i#) -- --instance FastShift Word64 where -- {-# INLINE shiftL #-} -- shiftL (W64# x#) (I# i#) = W64# (x# `uncheckedShiftL64#` i#) -- -- {-# INLINE shiftR #-} -- shiftR (W64# x#) (I# i#) = W64# (x# `uncheckedShiftRL64#` i#) -- --instance FastShift Int where -- {-# INLINE shiftL #-} -- shiftL (I# x#) (I# i#) = I# (x# `iShiftL#` i#) -- -- {-# INLINE shiftR #-} -- shiftR (I# x#) (I# i#) = I# (x# `iShiftRA#` i#) -- --instance FastShift Integer where -- {-# INLINE shiftL #-} -- shiftL = Bits.shiftL -- -- {-# INLINE shiftR #-} -- shiftR = Bits.shiftR -diff --git a/bloomfilter.cabal b/bloomfilter.cabal -index 821a5d7..c621f7f 100644 ---- a/bloomfilter.cabal -+++ b/bloomfilter.cabal -@@ -18,7 +18,7 @@ extra-source-files: README.markdown cbits/lookup3.c cbits/lookup3.h - library - build-depends: - array, -- base >= 4.4 && < 5, -+ base >= 4.5 && < 5, - bytestring >= 0.9, - deepseq - exposed-modules: Data.BloomFilter diff --git a/gnu/packages/patches/ghc-memory-fix-32bit.patch b/gnu/packages/patches/ghc-memory-fix-32bit.patch new file mode 100644 index 0000000000..cb81b42521 --- /dev/null +++ b/gnu/packages/patches/ghc-memory-fix-32bit.patch @@ -0,0 +1,40 @@ +https://github.com/vincenthz/hs-memory/commit/2738929ce15b4c8704bbbac24a08539b5d4bf30e.patch +https://github.com/vincenthz/hs-memory/pull/99 +Adjusted so the '904' becomes '902' + +From 2738929ce15b4c8704bbbac24a08539b5d4bf30e Mon Sep 17 00:00:00 2001 +From: sternenseemann <sternenseemann@systemli.org> +Date: Mon, 14 Aug 2023 10:51:30 +0200 +Subject: [PATCH] Data.Memory.Internal.CompatPrim64: fix 32 bit with GHC >= 9.4 + +Since 9.4, GHC.Prim exports Word64# operations like timesWord64# even on +i686 whereas GHC.IntWord64 no longer exists. Therefore, we can just use +the ready made solution. + +Closes #98, as it should be the better solution. +--- + Data/Memory/Internal/CompatPrim64.hs | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Data/Memory/Internal/CompatPrim64.hs b/Data/Memory/Internal/CompatPrim64.hs +index b9eef8a..a134c88 100644 +--- a/Data/Memory/Internal/CompatPrim64.hs ++++ b/Data/Memory/Internal/CompatPrim64.hs +@@ -150,6 +150,7 @@ w64# :: Word# -> Word# -> Word# -> Word64# + w64# w _ _ = w + + #elif WORD_SIZE_IN_BITS == 32 ++#if __GLASGOW_HASKELL__ < 902 + import GHC.IntWord64 + import GHC.Prim (Word#) + +@@ -158,6 +159,9 @@ timesWord64# a b = + let !ai = word64ToInt64# a + !bi = word64ToInt64# b + in int64ToWord64# (timesInt64# ai bi) ++#else ++import GHC.Prim ++#endif + + w64# :: Word# -> Word# -> Word# -> Word64# + w64# _ hw lw = diff --git a/gnu/packages/patches/ghc-persistent-fix-32bit.patch b/gnu/packages/patches/ghc-persistent-fix-32bit.patch new file mode 100644 index 0000000000..d0aace2445 --- /dev/null +++ b/gnu/packages/patches/ghc-persistent-fix-32bit.patch @@ -0,0 +1,25 @@ +https://sources.debian.org/data/main/h/haskell-persistent/2.13.3.5-2/debian/patches/fix-tests-32-bit +Inspired by: https://github.com/yesodweb/persistent/pull/1429 + +--- a/test/Database/Persist/THSpec.hs ++++ b/test/Database/Persist/THSpec.hs +@@ -25,6 +25,7 @@ module Database.Persist.THSpec where + + import Control.Applicative (Const(..)) + import Data.Aeson (decode, encode) ++import Data.Bits (bitSizeMaybe) + import Data.ByteString.Lazy.Char8 () + import Data.Coerce + import Data.Functor.Identity (Identity(..)) +@@ -237,7 +238,10 @@ spec = describe "THSpec" $ do + it "should have usual haskell name" $ do + fieldHaskell `shouldBe` FieldNameHS "Id" + it "should have correct underlying sql type" $ do +- fieldSqlType `shouldBe` SqlInt64 ++ fieldSqlType `shouldBe` ++ if bitSizeMaybe (0 :: Int) <= Just 32 ++ then SqlInt32 ++ else SqlInt64 + it "should have correct haskell type" $ do + fieldType `shouldBe` FTTypeCon Nothing "Int" + diff --git a/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch new file mode 100644 index 0000000000..7a243f5d80 --- /dev/null +++ b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch @@ -0,0 +1,50 @@ +https://sources.debian.org/src/golang-gopkg-yaml.v3/3.0.1-3/debian/patches/0001-Fix-0b-on-32-bit-systems.patch/ + +From: Shengjing Zhu <zhsj@debian.org> +Date: Fri, 16 Apr 2021 00:40:09 +0800 +Subject: Fix -0b on 32-bit systems + +Origin: backport, https://github.com/go-yaml/yaml/pull/442 +--- + decode_test.go | 7 ++++--- + resolve.go | 2 +- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/decode_test.go b/decode_test.go +index 51f5070..9cac74c 100644 +--- a/decode_test.go ++++ b/decode_test.go +@@ -175,9 +175,6 @@ var unmarshalTests = []struct { + }, { + "bin: -0b101010", + map[string]interface{}{"bin": -42}, +- }, { +- "bin: -0b1000000000000000000000000000000000000000000000000000000000000000", +- map[string]interface{}{"bin": -9223372036854775808}, + }, { + "decimal: +685_230", + map[string]int{"decimal": 685230}, +@@ -357,6 +354,10 @@ var unmarshalTests = []struct { + "int64_min: -9223372036854775808", + map[string]int64{"int64_min": math.MinInt64}, + }, ++ { ++ "int64_min_base2: -0b1000000000000000000000000000000000000000000000000000000000000000", ++ map[string]int64{"int64_min_base2": math.MinInt64}, ++ }, + { + "int64_neg_base2: -0b111111111111111111111111111111111111111111111111111111111111111", + map[string]int64{"int64_neg_base2": -math.MaxInt64}, +diff --git a/resolve.go b/resolve.go +index 64ae888..1b7d8c3 100644 +--- a/resolve.go ++++ b/resolve.go +@@ -223,7 +223,7 @@ func resolve(tag string, in string) (rtag string, out interface{}) { + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-"+plain[3:], 2, 64) + if err == nil { +- if true || intv == int64(int(intv)) { ++ if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv diff --git a/gnu/packages/patches/igraph-fix-varargs-integer-size.patch b/gnu/packages/patches/igraph-fix-varargs-integer-size.patch new file mode 100644 index 0000000000..2d7ffd7e68 --- /dev/null +++ b/gnu/packages/patches/igraph-fix-varargs-integer-size.patch @@ -0,0 +1,39 @@ +If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size +passed to these vararg arguments is different from the assumed one, +leading to undefined behavior. +Submitted upstream: https://github.com/igraph/igraph/pull/2423 + + +diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c +--- a/examples/simple/igraph_union.c ++++ b/examples/simple/igraph_union.c +@@ -103,7 +103,7 @@ + igraph_vector_ptr_init(&glist, 10); + for (i = 0; i < igraph_vector_ptr_size(&glist); i++) { + VECTOR(glist)[i] = calloc(1, sizeof(igraph_t)); +- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1); ++ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1); + igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED); + igraph_vector_int_destroy(&v); + } +@@ -123,7 +123,7 @@ + igraph_vector_ptr_init(&glist, 10); + for (i = 0; i < igraph_vector_ptr_size(&glist); i++) { + VECTOR(glist)[i] = calloc(1, sizeof(igraph_t)); +- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1); ++ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1); + igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED); + igraph_vector_int_destroy(&v); + } +diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt +--- a/src/core/matrix.pmt ++++ b/src/core/matrix.pmt +@@ -1863,7 +1863,7 @@ + #ifdef FPRINTFUNC_ALIGNED + FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j)); + #else +- fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j)); ++ fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j)); + #endif + } + fprintf(file, "\n"); diff --git a/gnu/packages/patches/php-fix-streams-copy-length.patch b/gnu/packages/patches/php-fix-streams-copy-length.patch deleted file mode 100644 index d68f658071..0000000000 --- a/gnu/packages/patches/php-fix-streams-copy-length.patch +++ /dev/null @@ -1,52 +0,0 @@ -From cddcc10becb013ae498ea9c2836792f407b61678 Mon Sep 17 00:00:00 2001 -From: Julien Lepiller <julien@lepiller.eu> -Date: Tue, 7 Feb 2023 22:55:59 +0100 -Subject: [PATCH] Fix file corruption when using copy_file_range. - -This patch is adapted from https://github.com/php/php-src/pull/10440. ---- - main/streams/streams.c | 21 +++++++++++++++++---- - 1 file changed, 17 insertions(+), 4 deletions(-) - -diff --git a/main/streams/streams.c b/main/streams/streams.c -index 20029fc7..68dc76c5 100644 ---- a/main/streams/streams.c -+++ b/main/streams/streams.c -@@ -1634,8 +1634,21 @@ PHPAPI zend_result _php_stream_copy_to_stream_ex(php_stream *src, php_stream *de - char *p; - - do { -- size_t chunk_size = (maxlen == 0 || maxlen > PHP_STREAM_MMAP_MAX) ? PHP_STREAM_MMAP_MAX : maxlen; -- size_t mapped; -+ /* We must not modify maxlen here, because otherwise the file copy fallback below can fail */ -+ size_t chunk_size, must_read, mapped; -+ if (maxlen == 0) { -+ /* Unlimited read */ -+ must_read = chunk_size = PHP_STREAM_MMAP_MAX; -+ } else { -+ must_read = maxlen - haveread; -+ if (must_read >= PHP_STREAM_MMAP_MAX) { -+ chunk_size = PHP_STREAM_MMAP_MAX; -+ } else { -+ /* In case the length we still have to read from the file could be smaller than the file size, -+ * chunk_size must not get bigger the size we're trying to read. */ -+ chunk_size = must_read; -+ } -+ } - - p = php_stream_mmap_range(src, php_stream_tell(src), chunk_size, PHP_STREAM_MAP_MODE_SHARED_READONLY, &mapped); - -@@ -1667,8 +1680,8 @@ PHPAPI zend_result _php_stream_copy_to_stream_ex(php_stream *src, php_stream *de - return SUCCESS; - } - if (maxlen != 0) { -- maxlen -= mapped; -- if (maxlen == 0) { -+ must_read -= mapped; -+ if (must_read == 0) { - return SUCCESS; - } - } --- -2.38.1 - diff --git a/gnu/packages/patches/plasp-fix-normalization.patch b/gnu/packages/patches/plasp-fix-normalization.patch new file mode 100644 index 0000000000..dc2d3e4b98 --- /dev/null +++ b/gnu/packages/patches/plasp-fix-normalization.patch @@ -0,0 +1,51 @@ +From cddbfa3ade23695dd9996f6e208615702a3a42e1 Mon Sep 17 00:00:00 2001 +From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> +Date: Thu, 23 Nov 2023 09:53:38 +0100 +Subject: [PATCH 1/2] normalization: No longer work around compiler bugs in + Precondition. +To: Patrick Lühne <patrick-github@luehne.de> +Cc: Martin Gebser <martin.gebser@aau.at> + +Newer versions of GCC (such as GCC 11) point out that std::move is meaningless +in this position, so remove it. +--- + lib/pddl/src/pddl/detail/normalization/Precondition.cpp | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp +index 4eebfee..4297e52 100644 +--- a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp ++++ b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp +@@ -83,8 +83,7 @@ normalizedAST::Literal normalizeNested(ast::AndPointer<ast::Precondition> &and_, + + derivedPredicate->declaration->precondition = std::make_unique<normalizedAST::And<normalizedAST::Literal>>(std::move(normalizedArguments)); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +@@ -112,8 +111,7 @@ normalizedAST::Literal normalizeNested(ast::ExistsPointer<ast::Precondition> &ex + return normalizeTopLevel(x, normalizationContext); + }); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +@@ -174,8 +172,7 @@ normalizedAST::Literal normalizeNested(ast::OrPointer<ast::Precondition> &or_, d + + derivedPredicate->declaration->precondition = std::make_unique<normalizedAST::Or<normalizedAST::Literal>>(std::move(normalizedArguments)); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +-- +2.41.0 + diff --git a/gnu/packages/patches/plasp-include-iostream.patch b/gnu/packages/patches/plasp-include-iostream.patch new file mode 100644 index 0000000000..9722e6fc03 --- /dev/null +++ b/gnu/packages/patches/plasp-include-iostream.patch @@ -0,0 +1,26 @@ +From 95c6a506e14cf248e2a3cae2ed3f41ed1eedf278 Mon Sep 17 00:00:00 2001 +From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> +Date: Thu, 23 Nov 2023 09:53:38 +0100 +Subject: [PATCH 2/2] app: Add missing #include <iostream>. +To: Patrick Lühne <patrick-github@luehne.de> +Cc: Martin Gebser <martin.gebser@aau.at> + +--- + app/include/plasp-app/Command.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/app/include/plasp-app/Command.h b/app/include/plasp-app/Command.h +index 5755ee3..671804b 100644 +--- a/app/include/plasp-app/Command.h ++++ b/app/include/plasp-app/Command.h +@@ -1,6 +1,7 @@ + #ifndef __PLASP_APP__COMMAND_H + #define __PLASP_APP__COMMAND_H + ++#include <iostream> // std::cout, std::endl + #include <tuple> + + #include <cxxopts.hpp> +-- +2.41.0 + diff --git a/gnu/packages/patches/python-sphinx-prompt-docutils-0.19.patch b/gnu/packages/patches/python-sphinx-prompt-docutils-0.19.patch new file mode 100644 index 0000000000..01c1879f1c --- /dev/null +++ b/gnu/packages/patches/python-sphinx-prompt-docutils-0.19.patch @@ -0,0 +1,35 @@ +From a885c54d54e71a089b916502f1c222ef14a07a93 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?St=C3=A9phane=20Brunner?= <stephane.brunner@camptocamp.com> +Date: Mon, 15 Aug 2022 10:41:40 +0200 +Subject: [PATCH] Fix the tests + +--- + tests/test_sphinx_prompt.py | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/tests/test_sphinx_prompt.py b/tests/test_sphinx_prompt.py +index 47d16c5..6a31798 100644 +--- a/tests/test_sphinx_prompt.py ++++ b/tests/test_sphinx_prompt.py +@@ -1,3 +1,7 @@ ++from io import StringIO ++ ++import docutils.statemachine ++import docutils.utils + import pytest + + sphinx_prompt = __import__("sphinx_prompt") +@@ -150,6 +154,12 @@ + def test(arguments, options, content, expected): + sphinx_prompt._cache.next_index = 1 + sphinx_prompt._cache.prompts.clear() +- directive = sphinx_prompt.PromptDirective("prompt", arguments, options, content, 0, 0, "", None, None) ++ stream = StringIO() ++ reporter = docutils.utils.Reporter("test data", 2, 4, stream, 1) ++ statemachine = docutils.statemachine.StateMachine([], None) ++ setattr(statemachine, "reporter", reporter) ++ directive = sphinx_prompt.PromptDirective( ++ "prompt", arguments, options, content, 0, 0, "", None, statemachine ++ ) + result = directive.run() + assert result[0].astext() == expected diff --git a/gnu/packages/patches/scilab-hdf5-1.8-api.patch b/gnu/packages/patches/scilab-hdf5-1.8-api.patch deleted file mode 100644 index 8b453e4720..0000000000 --- a/gnu/packages/patches/scilab-hdf5-1.8-api.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch fixes the compilation with hdf5 version >= 1.10. Adapted from -https://aur.archlinux.org/cgit/aur.git/plain/hdf5_18_api.patch?h=scilab-git. - -diff -ur a/scilab/modules/hdf5/includes/HDF5Objects.h b/scilab/modules/hdf5/includes/HDF5Objects.h ---- a/scilab/modules/hdf5/includes/HDF5Objects.h -+++ b/scilab/modules/hdf5/includes/HDF5Objects.h -@@ -16,14 +16,12 @@ - #ifndef __HDF5OBJECTS_H__ - #define __HDF5OBJECTS_H__ - --#define H5_NO_DEPRECATED_SYMBOLS - #undef H5_USE_16_API -+#define H5_USE_18_API - --#define H5Eset_auto_vers 2 - #include <hdf5.h> - #include <hdf5_hl.h> - --#undef H5_NO_DEPRECATED_SYMBOLS - - //#define __HDF5OBJECTS_DEBUG__ - //#define __HDF5ERROR_PRINT__ -diff -ur a/scilab/modules/hdf5/Makefile.am b/scilab/modules/hdf5/Makefile.am ---- a/scilab/modules/hdf5/Makefile.am -+++ b/scilab/modules/hdf5/Makefile.am -@@ -104,8 +104,7 @@ - -DH5Gopen_vers=2 \ - -DH5Tget_array_dims_vers=2 \ - -DH5Acreate_vers=2 \ -- -DH5Rdereference_vers=2 \ -- -DNO_DEPRECATED_SYMBOLS -+ -DH5Rdereference_vers=2 - - - libscihdf5_la_CPPFLAGS = \ -diff -ur a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp ---- a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp -+++ b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp -@@ -13,6 +13,8 @@ - * - */ - -+#define H5_USE_18_API -+ - #include <vector> - #include "function.hxx" - #include "string.hxx" -diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c ---- a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c -+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c -@@ -13,7 +13,7 @@ - * - */ - --#define H5_NO_DEPRECATED_SYMBOLS -+#define H5_USE_18_API - - #ifndef _MSC_VER - #include <sys/time.h> -diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c ---- a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c -+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c -@@ -13,7 +13,7 @@ - * - */ - --#define H5_NO_DEPRECATED_SYMBOLS -+#define H5_USE_18_API - - #ifndef _MSC_VER - #include <sys/time.h> diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch index 7934e2b50f..44c58a8fbd 100644 --- a/gnu/packages/patches/yggdrasil-extra-config.patch +++ b/gnu/packages/patches/yggdrasil-extra-config.patch @@ -1,108 +1,62 @@ -From 779f980451d20079b34812f7006f2d7230738ad0 Mon Sep 17 00:00:00 2001 -From: csepp <raingloom@riseup.net> -Date: Wed, 3 Nov 2021 21:14:54 +0100 +From 5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d Mon Sep 17 00:00:00 2001 +Message-ID: <5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d.1699726745.git.avityazev@posteo.org> +From: Aleksandr Vityazev <avityazev@posteo.org> +Date: Sat, 11 Nov 2023 19:50:46 +0300 Subject: [PATCH] add extra config file option to yggdrasil command This is useful in Guix and Nix, because one config file can come from the world-readable store and another can be placed directly into /etc with much stricter permissions. --- - cmd/yggdrasil/main.go | 29 ++++++++++++++++++++++------- - 1 file changed, 22 insertions(+), 7 deletions(-) + cmd/yggdrasil/main.go | 12 ++++++++++++ + src/config/config.go | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go -index 58b8230..b9df98a 100644 +index a225755..3f53dda 100644 --- a/cmd/yggdrasil/main.go +++ b/cmd/yggdrasil/main.go -@@ -43,11 +43,12 @@ type node struct { - admin *admin.AdminSocket - } - --func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config.NodeConfig { -+func readConfig(log *log.Logger, useconf bool, useconffile string, extraconffile string, normaliseconf bool) *config.NodeConfig { - // Use a configuration file. If -useconf, the configuration will be read - // from stdin. If -useconffile, the configuration will be read from the - // filesystem. - var conf []byte -+ var extraconf []byte - var err error - if useconffile != "" { - // Read the file from the filesystem -@@ -59,6 +60,21 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf - if err != nil { - panic(err) - } -+ if extraconffile != "" { -+ extraconf, err = os.ReadFile(extraconffile); -+ } -+ if err != nil { -+ panic(err) -+ } -+ // Generate a new configuration - this gives us a set of sane defaults - -+ // then parse the configuration we loaded above on top of it. The effect -+ // of this is that any configuration item that is missing from the provided -+ // configuration will use a sane default. -+ cfg := defaults.GenerateConfig() -+ var confs [2][]byte -+ confs[0]=conf -+ confs[1]=extraconf -+ for _, conf := range confs { if len(conf)>0 { - // If there's a byte order mark - which Windows 10 is now incredibly fond of - // throwing everywhere when it's converting things into UTF-16 for the hell - // of it - remove it and decode back down into UTF-8. This is necessary -@@ -72,11 +88,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf - panic(err) - } - } -- // Generate a new configuration - this gives us a set of sane defaults - -- // then parse the configuration we loaded above on top of it. The effect -- // of this is that any configuration item that is missing from the provided -- // configuration will use a sane default. -- cfg := defaults.GenerateConfig() - var dat map[string]interface{} - if err := hjson.Unmarshal(conf, &dat); err != nil { - panic(err) -@@ -136,6 +147,7 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf - if err = mapstructure.Decode(dat, &cfg); err != nil { - panic(err) - } -+ }} - return cfg - } - -@@ -192,6 +204,7 @@ type yggArgs struct { - getaddr bool - getsnet bool - useconffile string -+ extraconffile string - logto string - loglevel string - } -@@ -200,6 +213,7 @@ func getArgs() yggArgs { +@@ -42,6 +42,7 @@ func main() { genconf := flag.Bool("genconf", false, "print a new config to stdout") useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin") useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path") + extraconffile := flag.String("extraconffile", "", "extra (usually private) HJSON/JSON config from specified file path") normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised") + exportkey := flag.Bool("exportkey", false, "use in combination with either -useconf or -useconffile, outputs your private key in PEM format") confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON") - autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)") -@@ -213,6 +227,7 @@ func getArgs() yggArgs { - genconf: *genconf, - useconf: *useconf, - useconffile: *useconffile, -+ extraconffile: *extraconffile, - normaliseconf: *normaliseconf, - confjson: *confjson, - autoconf: *autoconf, -@@ -265,7 +280,7 @@ func run(args yggArgs, ctx context.Context, done chan struct{}) { - cfg = defaults.GenerateConfig() - case args.useconffile != "" || args.useconf: - // Read the configuration from either stdin or from the filesystem -- cfg = readConfig(logger, args.useconf, args.useconffile, args.normaliseconf) -+ cfg = readConfig(logger, args.useconf, args.useconffile, args.extraconffile, args.normaliseconf) - // If the -normaliseconf option was specified then remarshal the above - // configuration and print it back to stdout. This lets the user update - // their configuration file with newly mapped names (like above) or to +@@ -137,6 +138,17 @@ func main() { + return + } + ++ if *extraconffile !="" { ++ f, err := os.Open(*extraconffile) ++ if err != nil { ++ panic(err) ++ } ++ if _, err := cfg.ReadFrom(f); err != nil { ++ panic(err) ++ } ++ _ = f.Close() ++ } ++ + privateKey := ed25519.PrivateKey(cfg.PrivateKey) + publicKey := privateKey.Public().(ed25519.PublicKey) + +diff --git a/src/config/config.go b/src/config/config.go +index e899a35..76b9ec8 100644 +--- a/src/config/config.go ++++ b/src/config/config.go +@@ -112,7 +112,7 @@ func (cfg *NodeConfig) ReadFrom(r io.Reader) (int64, error) { + // then parse the configuration we loaded above on top of it. The effect + // of this is that any configuration item that is missing from the provided + // configuration will use a sane default. +- *cfg = *GenerateConfig() ++ // *cfg = *GenerateConfig() + if err := cfg.UnmarshalHJSON(conf); err != nil { + return n, err + } + +base-commit: b759683b76985665b5218346abab35f08d9f4d38 -- -2.33.1 +2.41.0 diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index cb6b4e7047..8419ac033b 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; 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 © 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; ;;; This file is part of GNU Guix. @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "8.2.2") + (version "8.2.13") (home-page "https://www.php.net/") (source (origin (method url-fetch) @@ -70,9 +70,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0czflx9ikxymjfgnzaifjx9kc30ww2x4063075hcifjjwqwami5x")) - (patches - (search-patches "php-fix-streams-copy-length.patch")) + "0js5bm8r3kngsgmxhyr681vrpl4gib3318k8428pigqp06hvna96")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -177,98 +175,55 @@ (substitute* "ext/standard/tests/streams/bug60602.phpt" (("'ls'") (string-append "'" (which "ls") "'"))) - ,@(if (target-arm32?) - ;; Drop tests known to fail on armhf. - '((for-each delete-file - (list - "ext/calendar/tests/unixtojd_error1.phpt" - "ext/opcache/tests/preload_006.phpt" - "ext/opcache/tests/preload_011.phpt" - ;; arm can be a lot slower, so a time-related test fails - "ext/fileinfo/tests/cve-2014-3538-nojit.phpt" - "ext/pcntl/tests/pcntl_unshare_01.phpt" - "ext/pcre/tests/bug76514.phpt" - "ext/pcre/tests/preg_match_error3.phpt" - "ext/pcre/tests/cache_limit.phpt" - "ext/sockets/tests/socket_getopt.phpt" - "ext/sockets/tests/socket_sendrecvmsg_error.phpt" - "ext/standard/tests/general_functions/var_export-locale.phpt" - "ext/standard/tests/general_functions/var_export_basic1.phpt" - "ext/intl/tests/timezone_getErrorCodeMessage_basic.phpt" - "ext/intl/tests/timezone_getOffset_error.phpt" - "sapi/cli/tests/cli_process_title_unix.phpt" - "sapi/cli/tests/upload_2G.phpt" - "Zend/tests/concat_003.phpt"))) - '()) - - ,@(if (target-x86-32?) - ;; Drop tests known to fail on i686. - '((for-each delete-file - (list - "ext/dba/tests/dba_gdbm.phpt"))) - '()) - - ,@(if (target-ppc64le?) - ;; Drop tests known to fail on powerpc64le. - '((for-each delete-file - (list - ;; phpdbg watchpoints don't work. - ;; Bug tracked upstream at: - ;; https://bugs.php.net/bug.php?id=81408 - "sapi/phpdbg/tests/watch_001.phpt" - "sapi/phpdbg/tests/watch_003.phpt" - "sapi/phpdbg/tests/watch_004.phpt" - "sapi/phpdbg/tests/watch_005.phpt" - "sapi/phpdbg/tests/watch_006.phpt"))) - '()) - - ,@(if (target-riscv64?) - ;; Drop tests known to fail on riscv64. - '((for-each delete-file - (list "sapi/cli/tests/upload_2G.phpt"))) - '()) + ;; Drop tests known to fail on different architectures: + (for-each delete-file + ,(cond + ((target-arm32?) + `(list "ext/calendar/tests/unixtojd_error1.phpt" + "ext/opcache/tests/preload_006.phpt" + "ext/opcache/tests/preload_011.phpt" + ;; arm can be a lot slower, so a time-related test fails + "ext/fileinfo/tests/cve-2014-3538-nojit.phpt" + "ext/pcntl/tests/pcntl_unshare_01.phpt" + "ext/pcre/tests/bug76514.phpt" + "ext/pcre/tests/preg_match_error3.phpt" + "ext/pcre/tests/cache_limit.phpt" + "ext/sockets/tests/socket_getopt.phpt" + "ext/sockets/tests/socket_sendrecvmsg_error.phpt" + "ext/standard/tests/general_functions/var_export-locale.phpt" + "ext/standard/tests/general_functions/var_export_basic1.phpt" + "ext/intl/tests/timezone_getErrorCodeMessage_basic.phpt" + "ext/intl/tests/timezone_getOffset_error.phpt" + "sapi/cli/tests/cli_process_title_unix.phpt" + "Zend/tests/concat_003.phpt")) + ((target-x86-32?) + `(list "ext/dba/tests/dba_gdbm.phpt")) + ((target-ppc32?) + `(list "sapi/phpdbg/tests/watch_001.phpt" + "sapi/phpdbg/tests/watch_003.phpt" + "sapi/phpdbg/tests/watch_004.phpt")) + ((target-ppc64le?) + `(list + ;; phpdbg watchpoints don't work. + ;; Bug tracked upstream at: + ;; https://bugs.php.net/bug.php?id=81408 + "sapi/phpdbg/tests/watch_001.phpt" + "sapi/phpdbg/tests/watch_003.phpt" + "sapi/phpdbg/tests/watch_004.phpt" + "sapi/phpdbg/tests/watch_005.phpt" + "sapi/phpdbg/tests/watch_006.phpt")) + (else `'()))) ;; Drop tests that are known to fail. (for-each delete-file '("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group. "ext/posix/tests/posix_getgrnam_basic.phpt" ; Requires /etc/group. "ext/sockets/tests/bug63000.phpt" ; Fails to detect OS. - "ext/sockets/tests/socket_shutdown.phpt" ; Requires DNS. - "ext/sockets/tests/socket_send.phpt" ; Likewise. - "ext/sockets/tests/mcast_ipv4_recv.phpt" ; Requires multicast. - ;; These needs /etc/services. - "ext/standard/tests/general_functions/getservbyname_basic.phpt" - "ext/standard/tests/general_functions/getservbyport_basic.phpt" - "ext/standard/tests/general_functions/getservbyport_variation1.phpt" - ;; And /etc/protocols. - "ext/standard/tests/network/getprotobyname_basic.phpt" - "ext/standard/tests/network/getprotobynumber_basic.phpt" - ;; And exotic locales. + ;; These need exotic locales. "ext/standard/tests/strings/setlocale_basic1.phpt" "ext/standard/tests/strings/setlocale_basic2.phpt" "ext/standard/tests/strings/setlocale_basic3.phpt" "ext/standard/tests/strings/setlocale_variation1.phpt" - ;; This failing test is skipped on PHP's Travis CI as it is - ;; supposedly inaccurate. - "ext/standard/tests/file/disk_free_space_basic.phpt" - ;; The following test erroneously expect the link - ;; count of a sub-directory to increase compared to - ;; its parent. - "ext/standard/tests/file/lstat_stat_variation8.phpt" - ;; This tests whether microseconds ‘differ enough’ and - ;; fails inconsistently on ‘fast’ machines. - "ext/date/tests/bug73837.phpt" - - ;; XXX: These gd tests fails. Likely because our version - ;; is different from the (patched) bundled one. - ;; Here, gd quits immediately after "fatal libpng error"; while the - ;; test expects it to additionally return a "setjmp" error and warning. - "ext/gd/tests/bug39780_extern.phpt" - "ext/gd/tests/libgd00086_extern.phpt" - ;; Extra newline in gd-png output. - "ext/gd/tests/bug45799.phpt" - ;; Test expects generic "gd warning" but gets the actual function name. - "ext/gd/tests/createfromwbmp2_extern.phpt" ;; This bug should have been fixed in gd 2.2.2. ;; Is it a regression? "ext/gd/tests/bug65148.phpt" @@ -291,47 +246,15 @@ "ext/gd/tests/xpm2gd.phpt" "ext/gd/tests/xpm2jpg.phpt" "ext/gd/tests/xpm2png.phpt" - ;; Whitespace difference, probably caused by a very - ;; long store path - "ext/gd/tests/bug77479.phpt" - ;; Expected invalid XBM but got EOF before image was - ;; complete. It's a warning in both cases and test - ;; result is the same. - "ext/gd/tests/bug77973.phpt" - ;; Test expects uninitialized value to be false, but - ;; instead gets "resource(5) of type (gd)". - "ext/gd/tests/bug79067.phpt" - ;; The following test fails with "The image size - ;; differs: expected 114x115, got 117x117". - "ext/gd/tests/bug79068.phpt" ;; AVIF support disabled "ext/gd/tests/avif_decode_encode.phpt" ;; Typo in expected outputs "ext/gd/tests/bug72339.phpt" - "ext/gd/tests/bug77272.phpt" - "ext/gd/tests/bug66356.phpt" ;; AVIF support disabled "ext/gd/tests/imagecreatefromstring_avif.phpt" - ;; XXX: These iconv tests have the expected outcome, - ;; but with different error messages. - ;; Expects "illegal character", instead gets "unknown error (84)". - "ext/iconv/tests/bug52211.phpt" - "ext/iconv/tests/bug60494.phpt" - ;; Expects "wrong charset", gets unknown error (22). - "ext/iconv/tests/iconv_strlen_error2.phpt" - "ext/iconv/tests/iconv_substr_error2.phpt" - ;; Expects conversion error, gets "error condition Termsig=11". - "ext/iconv/tests/iconv_strpos_error2.phpt" - "ext/iconv/tests/iconv_strrpos_error2.phpt" - ;; Expects "invalid multibyte sequence" but got - ;; "unknown error". - "ext/iconv/tests/bug76249.phpt" - ;; XXX: These test failures appear legitimate, needs investigation. ;; open_basedir() restriction failure. - "ext/curl/tests/bug61948-unix.phpt" - ;; Same error reason but error code slightly different "ext/curl/tests/curl_setopt_ssl.phpt" ;; Fail because there is no "root" in the build container's @@ -340,11 +263,6 @@ "sapi/fpm/tests/bug68591-conf-test-listen-group.phpt" "sapi/fpm/tests/bug68591-conf-test-listen-owner.phpt" - ;; Wrong error name - "ext/dba/tests/dba_gdbm_creation_matrix.phpt" - ;; Expects a false boolean, gets empty array from glob(). - "ext/standard/tests/file/bug41655_1.phpt" - "ext/standard/tests/file/glob_variation5.phpt" ;; The test expects an Array, but instead get the contents(?). "ext/gd/tests/bug43073.phpt" ;; imagettftext() returns wrong coordinates. @@ -357,26 +275,12 @@ "ext/gd/tests/bug53504.phpt" ;; Wrong image size after scaling an image. "ext/gd/tests/bug73272.phpt" - ;; Expects iconv to detect illegal characters, instead gets - ;; "unknown error (84)" and heap corruption(!). - "ext/iconv/tests/bug48147.phpt" - ;; Expects illegal character ".", gets "=?utf-8?Q?." - "ext/iconv/tests/bug51250.phpt" - ;; iconv throws "buffer length exceeded" on some string checks. - "ext/iconv/tests/iconv_mime_encode.phpt" - ;; file_get_contents(): iconv stream filter - ;; ("ISO-8859-1"=>"UTF-8") unknown error. - "ext/standard/tests/file/bug43008.phpt" - ;; Table data not created in sqlite(?). - "ext/pdo_sqlite/tests/bug_42589.phpt" - ;; Expects an Array with 3 preg_matches; gets 0. - "ext/pcre/tests/bug79846.phpt" - ;; Expects an empty Array; gets one with " " in it. - "ext/pcre/tests/bug80118.phpt" - ;; Renicing a process fails in the build environment. - "ext/standard/tests/general_functions/proc_nice_basic.phpt" - ;; Can fail on fast machines? - "Zend/tests/bug74093.phpt")) + ;; PCRE with/without JIT gives different result + "ext/pcre/tests/gh11374.phpt" + "ext/pcre/tests/gh11956.phpt" + + ;; This test fails on most architectures. + "sapi/cli/tests/upload_2G.phpt")) ;; Accomodate two extra openssl errors flanking the expected one: ;; random number generator:RAND_{load,write}_file:Cannot open file @@ -413,7 +317,7 @@ ("libzip" ,libzip) ("oniguruma" ,oniguruma) ("openldap" ,openldap) - ("openssl" ,openssl-1.1) + ("openssl" ,openssl) ("pcre" ,pcre2) ("postgresql" ,postgresql) ("readline" ,readline) diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm index e6d7caa1ef..884da3c99f 100644 --- a/gnu/packages/potassco.scm +++ b/gnu/packages/potassco.scm @@ -221,6 +221,60 @@ satisfiability checking (SAT).") (description "Clingo computes answer sets for a given logic program.") (license license:expat))) +(define-public clingo-dl + (package + (name "clingo-dl") + (version "1.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/clingo-dl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dncwj63vdm6958vb7355d5j9mdr7hm037j4z82yz6l77jg3sipw")))) + (build-system cmake-build-system) + (arguments (list #:tests? #f ; no tests + #:configure-flags #~`("-DPYCLINGODL_ENABLE=off"))) + (inputs (list clingo)) + (home-page "https://github.com/potassco/clingo-dl") + (synopsis "Solver for answer set programs modulo difference constraints") + (description "Clingo-DL is an extension to Clingo that models constraints +over difference logic.") + (license license:expat))) + +(define-public plasp + (package + (name "plasp") + (version "3.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/plasp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "123v1bjzh7yjwgcc5k55rkfz0lfl8ish5p3z8x3pn8k1svd50xal")) + (patches (search-patches + "plasp-fix-normalization.patch" + "plasp-include-iostream.patch")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ; No ‘test’ target + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "bin" + (string-append (assoc-ref outputs "out") + "/bin"))))))) + (inputs (list cxxopts mapbox-variant)) + (home-page "https://potassco.org/") + (synopsis "ASP planning tools for PDDL") + (description "@command{plasp} is a tool collection for planning in +answer set programming. It supports a subset of PDDL 3.1 and SAS 3.") + (license license:expat))) + (define-public emacs-pasp-mode (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") (revision "1")) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 8cd805799e..c157eabce0 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -156,8 +157,11 @@ data in motion, or as a file format for data at rest.") (install-file file slib) (delete-file file)) (find-files lib "\\.a$")))))))) - (native-inputs (list googletest)) - (inputs (list zlib)) + (native-inputs (append (if (%current-target-system) + (list this-package) + '()) + (list googletest))) + (inputs (list zlib googletest)) (home-page "https://github.com/protocolbuffers/protobuf") (synopsis "Data encoding for remote procedure calls (RPCs)") (description diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8e89f61373..ce4f2f76ee 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -145,6 +145,7 @@ ;;; Copyright © c4droid <c4droid@foxmail.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name> +;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2955,6 +2956,40 @@ abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.") (license license:lgpl3+))) +(define-public python-canmatrix + (package + (name "python-canmatrix") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "canmatrix" version)) + (sha256 + (base32 "046dzmggfm6h0fvfvwrblvih0blhc70ma0pqxzry3cphc08jvsrg")) + ;; The test suite uder ./test is a legacy test suite. The new test + ;; suite is defined under src/canmatrix/tests. + (modules '((guix build utils))) + (snippet '(delete-file-recursively "test")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (propagated-inputs (list python-attrs python-click python-future + python-six)) + (native-inputs (list python-lxml python-pytest python-xlrd python-xlwt)) + (home-page "https://github.com/ebroecker/canmatrix") + (synopsis "@acronym{CAN, Controller Area Network} matrices in Python") + (description + "This package implements a @acronym{CAN, Controller Area Network} matrix +object in Python which describes the CAN-communication and its needed objects +such as board units, frames, signals, and values. It also includes two +command-line tools (@command{canconvert} and @command{cancompare}) for +converting and comparing CAN databases.") + (license license:bsd-2))) + (define-public python-canopen (package (name "python-canopen") @@ -5045,13 +5080,13 @@ to Roman Numerals.") (define-public python-rollbar (package (name "python-rollbar") - (version "0.16.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "rollbar" version)) (sha256 (base32 - "1qpd0j50wqli3867xmhwk65pm1cxjs60yg83mcvcf3kic3y3sc82")))) + "1bzkgp4r79d789q15vnjji2gcb34bnksx9l7q9pjkw12kzjbfiv3")))) (build-system python-build-system) (native-inputs (list python-pytest-runner python-unittest2)) (inputs (list python-requests python-six python-httpx python-blinker @@ -15891,7 +15926,7 @@ programmatically with command-line parsers like @code{getopt} and (define-public python-pythonanywhere (package (name "python-pythonanywhere") - (version "0.9.10") + (version "0.12.1") (source (origin (method git-fetch) @@ -15901,7 +15936,7 @@ programmatically with command-line parsers like @code{getopt} and (file-name (git-file-name name version)) (sha256 (base32 - "0vzzc1g8pl7cb9yvm3n1j5zlzxf0jd423rzspc2kvpb8yhvydklx")))) + "12898jrq8bi90s5v3wirj7zprk08smwzwdx09y07x770frqd80vl")))) (build-system python-build-system) (arguments `(#:phases @@ -15932,8 +15967,9 @@ programmatically with command-line parsers like @code{getopt} and (home-page "https://github.com/pythonanywhere/helper_scripts/") (synopsis "PythonAnywhere helper tools for users") (description "PythonAnywhere provides a command-line interface and an -application programming interface that allows managing Web apps and scheduled -tasks. It includes single-command deployment for the Django Girls tutorial.") +application programming interface that allows managing files Web apps, scheduled +tasks and students. It includes single-command deployment for the Django Girls +tutorial.") (license license:expat))) (define-public python-pythondialog @@ -32496,13 +32532,13 @@ Psycopg 2 is both Unicode and Python 3 friendly.") (define-public python-pyfuse3 (package (name "python-pyfuse3") - (version "3.2.1") + (version "3.3.0") (source (origin (method url-fetch) (uri (pypi-uri "pyfuse3" version)) (sha256 - (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92")))) + (base32 "1gbkwmk7gpyy70cqj9226qvwrx13xlwxfz86l86n5ybr4i0zwc9b")))) (build-system python-build-system) (native-inputs (list pkg-config)) (inputs (list fuse)) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 12785c811f..7ec4526492 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -406,7 +406,10 @@ system, and the core design of Django is reused in Grantlee.") libxfixes libxi libxinerama - libxkbcommon + ;; Use libxkbcommon-1.5 as 1.6.0 removed keysyms referenced in the + ;; qtbase source. + ;; TODO: Check if libxkbcommon can be used on next update. + libxkbcommon-1.5 libxml2 libxrandr libxrender diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm index 80bfaf0896..5c25ed96da 100644 --- a/gnu/packages/raspberry-pi.scm +++ b/gnu/packages/raspberry-pi.scm @@ -199,7 +199,7 @@ Raspberry Pi. Note: It does not work on Raspberry Pi 1.") ("ld-wrapper" ,ld-wrapper) ("make" ,gnu-make) ("gcc" ,gcc-6) - ("locales" ,glibc-utf8-locales))) + ("locales" ,(libc-utf8-locales-for-target)))) (inputs `()) (arguments diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 89a79cee2d..f52b86e1ed 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -507,6 +507,38 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.") license:gpl2+ license:public-domain)))) +(define-public ppp-2.4.9 + (package + (inherit ppp) + (name "ppp") + (version "2.4.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ppp-project/ppp") + (commit (string-append "ppp-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk")))) + (arguments + (list #:tests? #f ;; No "check" target + #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'patch-Makefile + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl")) + (libpcap (assoc-ref inputs "libpcap"))) + (substitute* "pppd/Makefile.linux" + (("/usr/include/openssl") + (string-append openssl "/include")) + (("-DPPP_FILTER") + (string-append "-DPPP_FILTER -I" libpcap "/include"))) + (substitute* "pppd/pppcrypt.h" + (("des\\.h") "openssl/des.h"))) + #t))))))) + (define-public wsdd (package (name "wsdd") diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index a4ee654097..3a4aafcaa7 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2023 Evgeny Pisemsky <evgeny@pisemsky.com> +;;; Copyright © 2023 dan <i@dan.games> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages gl) + #:use-module (gnu packages vulkan) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) @@ -116,7 +118,7 @@ joystick, and graphics hardware.") (package (inherit sdl) (name "sdl2") - (version "2.26.2") + (version "2.28.5") (source (origin (method url-fetch) (uri @@ -124,7 +126,7 @@ joystick, and graphics hardware.") version ".tar.gz")) (sha256 (base32 - "1q4r1camsr17mnpv00d6h3qy93b481rp68r6fbxbszq3vv1rplwm")))) + "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) @@ -133,11 +135,13 @@ joystick, and graphics hardware.") #$flags)) ((#:make-flags flags ''()) #~(cons* - ;; SDL dlopens libudev, so make sure it is in rpath. This overrides - ;; the LDFLAG set in sdl’s configure-flags, which isn’t necessary - ;; as sdl2 includes Mesa by default. + ;; SDL dlopens libudev and libvulkan, so make sure they are in + ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, + ;; which isn’t necessary as sdl2 includes Mesa by default. (string-append "LDFLAGS=-Wl,-rpath," - #$(this-package-input "eudev") "/lib") + #$(this-package-input "eudev") "/lib" + ",-rpath," + #$(this-package-input "vulkan-loader") "/lib") #$flags)))) (inputs ;; SDL2 needs to be built with ibus support otherwise some systems @@ -151,6 +155,7 @@ joystick, and graphics hardware.") ibus-minimal libxkbcommon libxcursor ;enables X11 cursor support + vulkan-loader wayland wayland-protocols))) (license license:bsd-3))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 9e6bf6693f..27f4ef0dca 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -789,7 +789,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.") (define-public loksh (package (name "loksh") - (version "7.3") + (version "7.4") (source (origin (method git-fetch) (uri (git-reference @@ -801,7 +801,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.") (file-name (git-file-name name version)) (sha256 (base32 - "1miydvb79wagckchinp189l8i81f08lqajg5jngn77m4x4gwjf3n")))) + "0arbncmgs3wzkwlqzp5za8rwh9px2r5mn3i979rabc4cms1bs0l1")))) (build-system meson-build-system) (inputs (list ncurses)) (native-inputs (list pkg-config)) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index eee1f1c4a8..7e5a929241 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -634,7 +634,9 @@ introspection of @code{zope.interface} instances in code.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0x9wmgf04rzivbzp7jv1b7fkhkpi02lpk5w1qf4i7bcgih00ym8a")))) + (base32 "0x9wmgf04rzivbzp7jv1b7fkhkpi02lpk5w1qf4i7bcgih00ym8a")) + (patches + (search-patches "python-sphinx-prompt-docutils-0.19.patch")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 2434a563c2..47089b197d 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -198,7 +198,7 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "9.4p1") + (version "9.5p1") (source (origin (method url-fetch) @@ -206,7 +206,7 @@ a server that supports the SSH-2 protocol.") "openssh-" version ".tar.gz")) (patches (search-patches "openssh-trust-guix-store-directory.patch")) (sha256 - (base32 "11bahrik5qi337m954g5479f63cxnxdch076ng7668fvi28gs21n")))) + (base32 "0sq8hqk6f0x6djgvqawjbwwxpwd8r1nzjahqfl7m9yx7kfvyf9ph")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index e8cf86f504..aaaa9c95cb 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -1247,7 +1247,7 @@ a nice format.") (delete 'configure)))) ;no configure script (native-inputs (list pkg-config)) (inputs (list freetype libx11 libxft libxtst libxinerama)) - (propagated-inputs (list glibc-utf8-locales)) + (propagated-inputs (list (libc-utf8-locales-for-target))) (home-page "https://tools.suckless.org/x/svkbd/") (synopsis "Virtual on-screen keyboard") (description "svkbd is a simple virtual keyboard, intended to be used in diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index b73ff22e48..ec630a029f 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -49,22 +49,33 @@ (build-system cmake-build-system) (arguments `(#:configure-flags - '(,@(if (target-riscv64?) + '(,@(if (or (target-riscv64?) + (target-ppc32?)) '("-DTBB_TEST_LINK_FLAGS=-latomic") `()) - ,@(if (target-arm32?) + ,@(if (or (target-arm32?) + (target-ppc32?)) '("-DTBB_TEST_COMPILE_FLAGS=-DTBB_TEST_LOW_WORKLOAD") `()) "-DTBB_STRICT=OFF") ;; Don't fail on warnings #:phases (modify-phases %standard-phases - ,@(if (target-arm32?) - `((add-after 'unpack 'adjust-test-suite - (lambda _ - (substitute* "test/CMakeLists.txt" - ;; Bus error, skipped on mips. - ((".*test_malloc_pools.*") ""))))) - '())))) + ,@(cond + ((target-arm32?) + `((add-after 'unpack 'adjust-test-suite + (lambda _ + (substitute* "test/CMakeLists.txt" + ;; Bus error, skipped on mips. + ((".*test_malloc_pools.*") "")))))) + ((target-ppc32?) + `((add-after 'unpack 'adjust-test-suite + (lambda _ + (substitute* "test/CMakeLists.txt" + ;; These tests hang forever. + ((".*test_function_node.*") "") + ((".*test_multifunction_node.*") "") + ((".*test_async_node.*") "")))))) + (else '()))))) (home-page "https://www.threadingbuildingblocks.org") (synopsis "C++ library for parallel programming") (description diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index adb5e223e7..27b1e1a2ac 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -156,32 +156,27 @@ less to gain, as only the helper process is running with privileges (e.g., (package (name "tilda") (version "1.5.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/lanoxx/tilda") - (commit (string-append "tilda-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lanoxx/tilda") + (commit (string-append "tilda-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q")))) (build-system glib-or-gtk-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-po-writable - (lambda _ - (for-each make-file-writable (find-files "po" ".")) - #t))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) - (inputs - (list libconfuse vte)) + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-po-writable + (lambda _ + (for-each make-file-writable + (find-files "po" ".")) #t))))) + (native-inputs (list autoconf automake gettext-minimal pkg-config)) + (inputs (list libconfuse vte)) (synopsis "GTK+-based drop-down terminal") - (description "Tilda is a terminal emulator similar to normal terminals like + (description + "Tilda is a terminal emulator similar to normal terminals like gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down from the edge of a screen when a certain configurable hotkey is pressed. This is similar to the built-in consoles in some applications. Tilda is highly @@ -189,6 +184,29 @@ configurable through a graphical wizard.") (home-page "https://github.com/lanoxx/tilda") (license license:gpl2+))) +(define-public tilda-dbus + (package + (inherit tilda) + (name "tilda") + (version "1.6-alpha") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lanoxx/tilda") + (commit "51a980a55ad6d750daa21d43a66d44577dad277b"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pdarmlxkap9v689s88b89l5hi4vspsrrysh7pbm9rhdjmzk5m2c")))) + (synopsis "GTK+-based drop-down terminal with experimental D-Bus support") + (description + "Tilda is a terminal emulator similar to normal terminals like +gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down +from the edge of a screen when a certain configurable hotkey is pressed. This +is similar to the built-in consoles in some applications. Tilda is highly +configurable through a graphical wizard. This version enables D-Bus support +which is necessary for using Tilda on Wayland."))) + (define-public termite (package (name "termite") diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index b5da339353..0d76710daa 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -742,7 +742,8 @@ and should be preferred to it whenever a package would otherwise depend on (("srcdir/tests/pprecA-0.ind pprecA-0.ind1 \\|\\| exit 1") "srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 77"))))) '()) - #$@(if (target-arm32?) + #$@(if (or (target-arm32?) + (target-ppc32?)) `((add-after 'unpack 'skip-faulty-test (lambda _ ;; Skip this faulty test on armhf-linux: diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 41a34b6c4e..ea182b1925 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch> ;;; Copyright © 2023 Reza Housseini <reza@housseini.me> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1129,13 +1130,13 @@ documents into plain text.") "0im3kzvhxkjlx57w6h13mc9584c74ma1dyymgvpq2y61av3gc35v")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no make check - #:make-flags (list "CC=gcc" - (string-append "DESTDIR=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - ;; no configure script - (delete 'configure)))) + (list #:tests? #f ; no make check + #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "DESTDIR=" #$output)) + #:phases + #~(modify-phases %standard-phases + ;; no configure script + (delete 'configure)))) (inputs (list zlib)) (home-page "https://github.com/dstosberg/odt2txt/") @@ -1289,13 +1290,14 @@ Mainland China, Taiwan, and Hong-Kong.") "0anw0knr1iy4p9w3d3b3pbwzh1c43p1i2q4c28kw9zviw8kx2rly")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; test for perl module - #:make-flags (list "CC=gcc" "CFLAGS=-O2 -Wall -pedantic" - (string-append "prefix=" %output) - "MKDIR=mkdir -p") - #:phases - (modify-phases %standard-phases - (delete 'configure)))) ; No ./configure script + (list #:tests? #f ; test for perl module + #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) + "CFLAGS=-O2 -Wall -pedantic" + (string-append "prefix=" #$output) + "MKDIR=mkdir -p") + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) ; No ./configure script (home-page "https://ja.osdn.net/projects/nkf/") (synopsis "Network Kanji Filter") (description "Nkf is yet another kanji code converter among networks, diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 6a0aaf7f14..75e6370c72 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -991,7 +991,7 @@ number generator") (name "mbedtls-apache") ;; XXX Check whether ‘-Wformat-signedness’ still breaks mbedtls-for-hiawatha ;; when updating. - (version "2.28.0") + (version "2.28.5") (source (origin (method git-fetch) @@ -1000,7 +1000,7 @@ number generator") (commit (string-append "mbedtls-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0s37dsi29v7146fi9k4frvx5rz2snxdm6c3rwq2fvnca2r80hfjl")))) + (base32 "1jlkvvyigpjvv404b8vmx68f1v6g1h2zr6rd78dhc0xgqi018phs")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 21d5279e85..2fa47315c0 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Leo Famulari <leo@famulari.name> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +71,7 @@ (search-input-file inputs (string-append "bin/" cmd))))))))) (inputs (list bash-minimal coreutils sed + diffutils fmt gmp)) (native-inputs (list pkg-config)) (home-page "https://gitlab.com/lilyp/daikichi") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index cf9a2f7a4c..e1d7e19703 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -3726,7 +3726,7 @@ commit messages for style.") (define-public hut (package (name "hut") - (version "0.2.0") + (version "0.4.0") (source (origin (method git-fetch) @@ -3735,7 +3735,7 @@ commit messages for style.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ybngrwwmkm00dlkdhvkfcvcjhp5xzs8fh90zqr0h12ssqx9pll3")))) + (base32 "0klp7qlii07j8ka9g91m5xg3ybg6cq0p5lp1ibfihq2p4kwqj57m")))) (build-system go-build-system) (arguments (list @@ -3758,6 +3758,7 @@ commit messages for style.") (inputs (list go-git-sr-ht-emersion-go-scfg go-git-sr-ht-emersion-gqlclient + go-github-com-dustin-go-humanize go-github-com-juju-ansiterm go-github-com-spf13-cobra go-golang-org-x-oauth2 diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 561268aabd..2822cdf4bf 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -66,6 +66,7 @@ ;;; Copyright © 2023 Ott Joon <oj@vern.cc> ;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org> ;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi> +;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -116,6 +117,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages bittorrent) #:use-module (gnu packages boost) #:use-module (gnu packages cdrom) #:use-module (gnu packages check) @@ -195,6 +197,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages swig) + #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) @@ -210,6 +213,78 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public ani-cli + (package + (name "ani-cli") + (version "4.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pystardust/ani-cli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ni9pzjb5qh87iz7c8252bx79qadr1qx6jnkqvvjcqrchh7q473a")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;nothing to configure + (delete 'build) ;nothing to build + (replace 'install + (lambda _ + (install-file "ani-cli" (string-append #$output "/bin")) + (install-file "ani-cli.1" + (string-append #$output "/share/man/man1")))) + (add-after 'install 'wrap + (lambda* (#:key inputs #:allow-other-keys) + (define (bin command) + (dirname (search-input-file + inputs (string-append "bin/" command)))) + (wrap-program (string-append #$output "/bin/ani-cli") + `("PATH" ":" prefix + ,(map bin (list "aria2c" + "curl" + "ffmpeg" + "fzf" + "grep" + "mpv" + "sed" + "tput" + "uname" + "yt-dlp"))))))))) + (inputs (list aria2 + bash-minimal + coreutils + curl + ffmpeg + fzf + grep + mpv + ncurses + sed + yt-dlp)) + (native-search-paths + ;; This was copied from the curl package. + (list (search-path-specification + (variable "CURL_CA_BUNDLE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))))) + (home-page "https://github.com/pystardust/ani-cli") + (synopsis "Browse and watch anime from the command line") + (description + "ani-cli is a @acronym{CLI, command-line interface} to browse and watch +anime by streaming videos from @uref{https://allanime.to,All Anime}. + +There are different features such as episode browsing, history tracking, +streaming at multiple resolutions, and much more, depending on what programs the +user has installed.") + (license license:gpl3+))) + (define-public transcode (package (name "transcode") @@ -2683,7 +2758,7 @@ YouTube.com and many more sites.") (define-public yt-dlp (package/inherit youtube-dl (name "yt-dlp") - (version "2023.09.24") + (version "2023.10.13") (source (origin (method git-fetch) @@ -2692,7 +2767,7 @@ YouTube.com and many more sites.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "15ngsg3cadf2bv700fa1k5az5xpsm0wqr0cixbz8fcbhwdflfq6f")))) + (base32 "1cy8cpqwq6yfsbrnln3qqp9lsjckn20m6w7b890ha7jahyir5m1n")))) (arguments (substitute-keyword-arguments (package-arguments youtube-dl) ((#:tests? _) (not (%current-target-system))) @@ -3618,18 +3693,15 @@ and JACK.") (define-public obs-looking-glass (package (name "obs-looking-glass") - (version "B5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gnif/LookingGlass") - (commit version) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "09mn544x5hg1z31l92ksk7fi7yj9r8xdk0dcl9fk56ivcr452ylm")))) + (version "B6") + (source (origin + (method url-fetch) + (uri (string-append "https://looking-glass.io/artifact/" version + "/source")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15d7wwbzfw28yqbz451b6n33ixy50vv8acyzi8gig1mq5a8gzdib")))) (build-system cmake-build-system) (arguments (list diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 469c8b64cb..9debed0b86 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -14,6 +14,8 @@ ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022, 2023 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> ;;; Copyright © 2023 Charles Jackson <charles.b.jackson@protonmail.com> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> +;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +40,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system pyproject) @@ -48,7 +51,9 @@ #:use-module (gnu packages attr) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages check) #:use-module (gnu packages code) + #:use-module (gnu packages coq) #:use-module (gnu packages enlightenment) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) @@ -448,6 +453,65 @@ trouble using them, because you do not have to remember each snippet name.") (home-page "https://github.com/Shougo/context_filetype.vim") (license license:expat)))) ; ??? check again +(define-public vim-coqtail + (let ((commit "dfe3939c9caff69d9af76bfd74f1a40fb7dc5609") + (revision "0")) + (package + (name "vim-coqtail") + (version (git-version "1.7.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whonore/Coqtail") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks")))) + (build-system vim-build-system) + (arguments + '(#:plugin-name "coqtail" + #:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda* (#:key inputs native-inputs tests? #:allow-other-keys) + (when tests? + (display "Running Python unit tests.\n") + (setenv "PYTHONPATH" (string-append (getcwd) "/python")) + (invoke "pytest" "-q" "tests/unit") + + (display "Running Python Coq tests.\n") + (invoke "pytest" "-q" "tests/coq") + + (display "Running Vim unit tests.\n") + (let* ((vim-vader (assoc-ref (or native-inputs inputs) + "vim-vader")) + (vader-path (string-append + vim-vader + "/share/vim/vimfiles/pack/guix/start/vader"))) + (with-directory-excursion "tests/vim" + (setenv "VADER_PATH" vader-path) + (invoke (string-append + (assoc-ref (or native-inputs inputs) "vim-full") + "/bin/vim") + "-E" "-Nu" "vimrc" + "-c" "Vader! *.vader"))) + + ;; Remove __pycache__ files generated during testing so that + ;; they don't get installed. + (delete-file-recursively "python/__pycache__"))))))) + (native-inputs + `(("coq-for-coqtail" ,coq-for-coqtail) + ("python-pytest" ,python-pytest) + ("vim-full" ,vim-full) ; Plugin needs Python 3. + ("vim-vader" ,vim-vader))) + (propagated-inputs (list coq coq-ide-server)) + (synopsis "Interactive Coq proofs in Vim") + (description "Coqtail enables interactive Coq proof development in Vim +similar to CoqIDE or ProofGeneral.") + (home-page "https://github.com/whonore/Coqtail") + (license license:expat)))) + (define-public vim-fugitive (package (name "vim-fugitive") @@ -1423,3 +1487,92 @@ files for reading or editing, and perform basic file system operations.") operations and styles which are invoked via key mappings and a menu. These operations are available for most filetypes.") (license license:cc0))) + +(define-public vim-vader + (let ((revision "0") + (commit "6fff477431ac3191c69a3a5e5f187925466e275a")) + (package + (name "vim-vader") + (version (git-version "0.4.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/junegunn/vader.vim") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "179dbbqdyl6qf6jdb6kdazn3idz17m1h2n88rlggb1wnly74vjin")))) + (build-system vim-build-system) + (arguments + '(#:plugin-name "vader" + #:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; FIXME: suite1.vader fails with an unknown reason, + ;; lang-if.vader requires Python and Ruby. + (substitute* "test/vader.vader" + (("Include.*feature/suite1.vader.*$") "") + (("Include.*feature/lang-if.vader.*$") "")) + + (display "Running Vim tests\n") + (with-directory-excursion "test" + (setenv "VADER_TEST_VIM" "vim -E") + (invoke "bash" "./run-tests.sh")))))))) + (native-inputs (list vim)) + (home-page "https://github.com/junegunn/vader.vim") + (synopsis "Test framework for Vimscript") + (description "Vader is a test framework for Vimscript designed to +simplify the process of writing and running unit tests. Vader.vim provides an +intuitive test syntax for defining test cases and expectations, it also can +be integrated with @acronym{CI, Continuous Integration} pipelines to +automate testing and is compatible with Vim and Neovim.") + (license license:expat)))) ;; Specified in README.md. + +(define-public vim-jedi-vim + (package + (name "vim-jedi-vim") + (version "0.11.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidhalter/jedi-vim") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03fj7f5cpchrdmz9szal6fdg05wdwb0j6260nnyp37nmpcpn13yc")))) + (build-system vim-build-system) + (arguments (list #:plugin-name "jedi-vim")) + (propagated-inputs (list python-jedi)) + (home-page "https://github.com/davidhalter/jedi-vim") + (synopsis "Jedi autocompletion library for Vim") + (description + "@code{jedi-vim} is a VIM binding to the autocompletion library Jedi.") + (license license:expat))) + +(define-public vim-srcery-vim + (package + (name "vim-srcery-vim") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/srcery-colors/srcery-vim") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nwk81y9j5ljjm3k19kf1zmscdxiis4mwan026wv7cqp7f9qhxlr")))) + (build-system vim-build-system) + (arguments + (list #:plugin-name "srcery" + #:mode "opt")) + (home-page "https://srcery.sh") + (synopsis "Dark colorscheme for gvim and vim") + (description + "Srcery is a color scheme with clearly defined contrasting colors +and a slightly earthy tone.") + (license license:expat))) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 972f9b0329..489a35da42 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -825,7 +825,9 @@ others.") (native-inputs (list autoconf automake pkg-config)) (inputs - (list openssl ppp)) + ;; ppp < 2.5.0 is required due to + ;; <https://github.com/adrienverge/openfortivpn/pull/1148>. + (list openssl ppp-2.4.9)) (home-page "https://github.com/adrienverge/openfortivpn") (synopsis "Client for PPP+SSL VPN tunnel services") (description "Openfortivpn is a client for PPP+SSL VPN tunnel services. It diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 1d2e58f1d4..ca771a30b1 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) + #:use-module (gnu packages llvm) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages wine) @@ -152,6 +153,38 @@ parser,disassembler, validator, and optimizer for SPIR-V.") SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.") (license license:asl2.0))) +(define-public spirv-llvm-translator + (package + (name "spirv-llvm-translator") + (version "15.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/SPIRV-LLVM-Translator") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lix3bpli7i9csz26bq0d9g1v7c0gim498m5bm2gp8kifj2yih1s")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=" + (assoc-ref %build-inputs "spirv-headers") + "/include/spirv") + (string-append "-DLLVM_EXTERNAL_LIT=" + (assoc-ref %build-inputs "python-lit") + "/bin/lit") + "-DLLVM_SPIRV_INCLUDE_TESTS=ON"))) + (inputs (list llvm-15)) + (native-inputs (list clang-15 llvm-15 python-lit spirv-headers)) + (home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator") + (synopsis "Bi-directional translation between SPIR-V and LLVM IR") + (description + "The LLVM/SPIR-V Bi-Directional Translator is a library and tool for +translation between LLVM IR and SPIR-V.") + (license license:asl2.0))) + (define-public glslang (package (name "glslang") diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 3033102926..da5662f28e 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -95,6 +95,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages webkit) #:use-module (gnu packages xorg)) @@ -852,16 +853,16 @@ http, and https via third-party applications.") (define-public tinmop (package (name "tinmop") - (version "0.9.9.141") + (version "0.9.9.1414213") (source (origin (method git-fetch) (uri (git-reference - (url "https://notabug.org/cage/tinmop") + (url "https://codeberg.org/cage/tinmop") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hx52kaq0q9iccalkxk50q1v3mf9ypardjgv56d5sdrbhfqyashl")))) + (base32 "0rlgnqld6ls46452xvcr8k4ji4lwmlsrxib5ii9l9clkm0s477wv")))) (build-system gnu-build-system) (native-inputs (list autoconf @@ -872,6 +873,7 @@ http, and https via third-party applications.") nano openssl sbcl + tk unzip xdg-utils)) (inputs @@ -893,10 +895,12 @@ http, and https via third-party applications.") sbcl-crypto-shortcuts sbcl-drakma sbcl-esrap + sbcl-flexi-streams sbcl-ieee-floats sbcl-local-time sbcl-log4cl sbcl-marshal + sbcl-nodgui sbcl-osicat sbcl-parse-number sbcl-percent-encoding @@ -907,6 +911,7 @@ http, and https via third-party applications.") sbcl-trivial-clipboard sbcl-unix-opts sbcl-usocket + sbcl-yason sqlite)) (arguments `(#:tests? #f @@ -937,10 +942,10 @@ http, and https via third-party applications.") "--eval \"(push \\\"$$(pwd)/\\\" asdf:*central-registry*)\" ")))) #t))))) (synopsis - "Gemini, gopher, kami and pleroma client with a terminal interface") + "Gemini, gopher, kami and mastodon/pleroma client with a terminal interface") (description - "This package provides a Gemini, gopher, kami and pleroma client with a -terminal interface.") + "This package provides a Gemini, gopher, kami and mastodon/pleroma client +with a terminal interface, for Gemini also a GUI is available.") (home-page "https://www.autistici.org/interzona/tinmop.html") (license license:gpl3+))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 389f7d1375..4a4252138b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -186,6 +186,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages re2c) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) #:use-module (gnu packages search) #:use-module (gnu packages serialization) #:use-module (gnu packages skribilo) @@ -4956,8 +4957,8 @@ Cloud.") (license license:expat))) (define-public guix-data-service - (let ((commit "37a07c2d6e8285877ad0440a7e4ae286b7b65177") - (revision "43")) + (let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180") + (revision "44")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4969,7 +4970,7 @@ Cloud.") (file-name (git-file-name name version)) (sha256 (base32 - "0h83j10bq7dyda2idbqh5y6dcvmbl3xgc147yq4pk6bkh10y29y6")))) + "0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22")))) (build-system gnu-build-system) (arguments (list @@ -5715,6 +5716,39 @@ project.") written in C. It is developed as part of the NetSurf project.") (license license:expat))) +(define-public libnsfb + (package + (name "libnsfb") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.netsurf-browser.org/libs/releases/" + name "-" version "-src.tar.gz")) + (sha256 + (base32 "16m3kv8x8mlic4z73h2s3z8lqmyp0z8i30x95lzr1pslxfinqi5y")))) + (build-system gnu-build-system) + (native-inputs + (list netsurf-buildsystem pkg-config)) + (inputs + ;; SDL is needed to accept any (keyboard, mouse) input. Don't propagate it + ;; to satisfy libnsfb.pc: netsurf is the only user and not worth the pain. + (list sdl)) + (arguments netsurf-buildsystem-arguments) + (home-page "https://www.netsurf-browser.org/projects/libnsfb/") + (synopsis "Framebuffer display abstraction library") + (description + "LibNSFB is a framebuffer abstraction library, written in C. It is +developed as part of the NetSurf project and is intended to be suitable for use +in other projects too. + +The overall idea of the library is to provide a generic abstraction to a linear +section of memory which corresponds to a visible array of pixel elements on a +display device. Different colour depths are supported and the library provides +routines for tasks such as drawing onto the framebuffer and rectangle copy +operations.") + (license license:expat))) + (define-public libnsgif (package (name "libnsgif") @@ -7988,8 +8022,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (define-public nghttp2 (package (name "nghttp2") - (version "1.49.0") - (replacement nghttp2-1.57) + (version "1.58.0") (source (origin (method url-fetch) @@ -7998,7 +8031,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") "nghttp2-" version ".tar.xz")) (sha256 (base32 - "0vm692c7q2wc4xxz8c41nr8jps2fkwf51xp8fb233cghpf9d9kxh")))) + "1q4ps8acr7nyia7mf2z11m0yh3fn1imhyv855j3xjbx91l2a6s2a")))) (build-system gnu-build-system) (outputs (list "out" "lib")) ; only libnghttp2 @@ -8100,19 +8133,6 @@ compressed JSON header blocks. (("print \\(ver >= '3\\.8'\\)") "print (tuple(map(int, ver.split('.'))) >= (3,8))"))))))))))) -(define-public nghttp2-1.57 - (package - (inherit nghttp2) - (version "1.57.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nghttp2/nghttp2/" - "releases/download/v" version "/" - "nghttp2-" version ".tar.xz")) - (sha256 - (base32 - "0n598w7w8rqdqiay2fad3a11253hibakan5c4vjkpx09648v044j")))))) - (define-public hpcguix-web (package (name "hpcguix-web") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 553b733a6b..ede2d73627 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -510,14 +510,14 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "1.4.1") + (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 - "0fbb2dyjvf71p42y2jmwdcylsvj03w52f5rb23c2d00rwahhfg4l")))) + "0awwz5pg9x5bj0d7dpg4a7bd4gl6k55mlpxwb12534fkrpn19p0f")))) (build-system meson-build-system) (inputs (list libx11 @@ -554,6 +554,19 @@ X11 (yet).") "See 'COPYING' in the distribution.")) (properties '((cpe-name . "xkbcommon"))))) +(define-public libxkbcommon-1.5 + (package + (inherit libxkbcommon) + (version "1.5.0") + (source (origin + (inherit (package-source libxkbcommon)) + (method url-fetch) + (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" + version ".tar.xz")) + (sha256 + (base32 + "05z08rpa464x8myjxddhix7jp9jcmakd7xrybx4hz8dwpg2123sn")))))) + (define-public libfakekey (package (name "libfakekey") @@ -688,7 +701,7 @@ following the mouse.") (define-public pixman (package (name "pixman") - (version "0.40.0") + (version "0.42.2") (source (origin (method url-fetch) @@ -697,7 +710,7 @@ following the mouse.") "https://www.cairographics.org/releases/pixman-" version ".tar.gz")) (sha256 - (base32 "1z13n96m7x91j25qq9wlkxsbq04wfwjhw66ir17frna06zn0s83d")) + (base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) (patches (search-patches "pixman-CVE-2016-5296.patch")))) @@ -722,7 +735,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.114") + (version "2.4.117") (source (origin (method url-fetch) (uri (string-append @@ -730,7 +743,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "09nhk3jx3qzggl5vyii3yh4zm0npjqsbxhzvxrg2xla77a2cyj9h")))) + "0ar4c4ikcbm1s4sg09ld406izq5s1yk7b2n0mmvql77bwdlqv252")))) (build-system meson-build-system) (arguments (list #:configure-flags @@ -744,6 +757,16 @@ rasterisation.") (_ ''())) #:phases #~(modify-phases %standard-phases + ;; A typo in a previous upstream commit disabled building + ;; libdrm_intel by default on supported platforms. This was + ;; fixed by the following change in upstream commit + ;; 8a933c778a0eb36526bf3fc8a289e25add9ff8b0. + ;; TODO: Remove on next update of libdrm. + (add-after 'unpack 'build-intel-by-default + (lambda _ + (substitute* "meson.build" + (("system\\(\\)\\.startswith") + "cpu_family().startswith")))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -1709,7 +1732,7 @@ less if you are working in front of the screen at night.") (define-public xscreensaver (package (name "xscreensaver") - (version "6.04") + (version "6.08") (source (origin (method url-fetch) @@ -1717,7 +1740,7 @@ less if you are working in front of the screen at night.") (string-append "https://www.jwz.org/xscreensaver/xscreensaver-" version ".tar.gz")) (sha256 - (base32 "0lmiyvp3qs2gngd53f191jmlizs9l04i2gnrqbn96mqckyr18w3q")) + (base32 "18vnbs2ns42cgnnsvwn0zh98wcfzxf2k9mib5x5zkv6f4njjpxaw")) (modules '((guix build utils))) (snippet ;; 'configure.ac' checks for $ac_unrecognized_opts and exits if it's @@ -1764,14 +1787,13 @@ less if you are working in front of the screen at night.") libjpeg-turbo linux-pam pango - gdk-pixbuf-xlib gtk+ perl cairo bc libxrandr glu - glib)) + `(,glib "bin"))) (home-page "https://www.jwz.org/xscreensaver/") (synopsis "Classic screen saver suite supporting screen locking") (description @@ -2773,9 +2795,16 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.") #~(list (string-append "-Dzshcompletiondir=" #$output "/share/zsh/site-functions") (string-append "-Dfishcompletiondir=" #$output - "/share/fish/completions")) + "/share/fish/vendor_completions.d")) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-bash-completion-dir + (lambda _ + (substitute* "completions/bash/meson.build" + (("bash_completion_dir =.*") + (string-append "bash_completion_dir = " + "join_paths(get_option('sysconfdir'), " + "'bash_completion.d')\n"))))) (add-after 'unpack 'patch-file-names (lambda* (#:key inputs #:allow-other-keys) (substitute* (find-files "src" "\\.c$") @@ -3195,6 +3224,7 @@ initialize programs.") (build-system gnu-build-system) (native-inputs (list autoconf automake + dbus-glib ;; for dbus-binding-tool `(,glib "bin") pkg-config)) (inputs (list dbus-glib glib libx11)) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f65ffa7476..87c64080a4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1432,18 +1432,17 @@ treat it as part of their software base when porting.") (define-public libxpm (package (name "libxpm") - (version "3.5.13") - (replacement libxpm/fixed) + (version "3.5.17") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/lib/libXpm-" version - ".tar.bz2")) + ".tar.xz")) (sha256 (base32 - "09dc6nwlb2122h02vl64k9x56mxnyqz2gwpga0abfv4bb1bxmlcw")))) + "0hvf49qy55gwldpwpw7ihcmn5i2iinpjh2rbha63hzcy060izcv4")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -1457,21 +1456,6 @@ treat it as part of their software base when porting.") (description "XPM (X Pixmap) image file format library.") (license license:x11))) -(define-public libxpm/fixed - (package - (inherit libxpm) - (version "3.5.17") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/lib/libXpm-" - version - ".tar.xz")) - (sha256 - (base32 - "0hvf49qy55gwldpwpw7ihcmn5i2iinpjh2rbha63hzcy060izcv4")))))) - (define-public libxres (package (name "libxres") @@ -5029,7 +5013,7 @@ by the Xorg server.") (define-public xorg-server (package (name "xorg-server") - (version "21.1.4") + (version "21.1.9") (source (origin (method url-fetch) @@ -5037,7 +5021,7 @@ by the Xorg server.") "/xserver/xorg-server-" version ".tar.xz")) (sha256 (base32 - "11y5w6z3rz3i4jyv0wc3scd2jh3bsmcklq0fm7a5invywj7bxi2w")) + "0fjk9ggcrn96blq0bm80739yj23s3gjjjsc0nxk4jk0v07i7nsgz")) (patches (list ;; See: @@ -5332,16 +5316,15 @@ Wayland.") (define-public libx11 (package (name "libx11") - (version "1.8.1") - (replacement libx11-fixed) ;security fixes + (version "1.8.7") (source (origin (method url-fetch) - (uri (string-append "https://xorg.freedesktop.org/archive/" - "/individual/lib/libX11-" version ".tar.xz")) + (uri (string-append "mirror://xorg/individual/lib/libX11-" + version ".tar.xz")) (sha256 (base32 - "1xyry8i7zqmlkvpbyyqwi18rrdw6ycczlvfp63rh2570pfhimi0v")))) + "1vlrgrdibp4lr84wgmsdy1ihzaai8bvvqc68npi1m19wir36gwh5")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML @@ -5363,19 +5346,6 @@ Wayland.") (description "Xorg Core X11 protocol client library.") (license license:x11))) -(define-public libx11-fixed - (package - (inherit libx11) - (version "1.8.7") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/lib/libX11-" - version ".tar.xz")) - (sha256 - (base32 - "1vlrgrdibp4lr84wgmsdy1ihzaai8bvvqc68npi1m19wir36gwh5")))))) - ;; packages of height 5 in the propagated-inputs tree (define-public libxcursor @@ -6120,7 +6090,7 @@ Conventions Manual) and some of the @dfn{EWMH} (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - (list pkg-config autoconf automake)) + (list util-macros pkg-config autoconf automake)) (inputs (list libx11 libxext diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm index dcca9a1121..08ee650d8b 100644 --- a/gnu/packages/zig.scm +++ b/gnu/packages/zig.scm @@ -20,6 +20,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages zig) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix git-download) @@ -29,10 +30,10 @@ #:use-module (gnu packages compression) #:use-module (gnu packages llvm)) -(define-public zig-0.10 +(define-public zig-0.9 (package (name "zig") - (version "0.10.1") + (version "0.9.1") (source (origin (method git-fetch) @@ -41,57 +42,66 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b")) - (patches (search-patches "zig-do-not-link-against-librt.patch")))) + (base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7")) + (patches (search-patches "zig-0.9-riscv-support.patch" + "zig-use-system-paths.patch" + "zig-do-not-link-against-librt.patch")))) (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list #$@(if (%current-target-system) + (list (string-append "-DZIG_TARGET_TRIPLE=" + (%current-target-system))) + '())) + #:out-of-source? #f ; for tests + ;; There are too many unclear test failures. + #:tests? (not (or (target-riscv64?) + (%current-target-system))) + #:phases + #~(modify-phases %standard-phases + #$@(if (target-riscv64?) + ;; It is unclear why all these tests fail to build. + `((add-after 'unpack 'adjust-tests + (lambda _ + (substitute* "build.zig" + ((".*addRuntimeSafetyTests.*") "") + ((".*addRunTranslatedCTests.*") "")) + (substitute* "test/standalone.zig" + ;; These tests fail to build on riscv64-linux. + ;; They both contain 'exe.linkSystemLibrary("c");' + ((".*shared_library.*") "") + ((".*mix_o_files.*") "") + ;; ld.lld: error: undefined symbol: __tls_get_addr + ;; Is this symbol x86 only in glibc? + ((".*link_static_lib_as_system_lib.*") ""))))) + '()) + (add-after 'configure 'set-cache-dir + (lambda _ + ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. + (setenv "ZIG_GLOBAL_CACHE_DIR" + (string-append (getcwd) "/zig-cache")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke (string-append #$output "/bin/zig") + ;; Testing the standard library takes >7.5GB RAM, and + ;; will fail if it is OOM-killed. The 'test-toolchain' + ;; target skips standard library and doc tests. + "build" "test-toolchain" + ;; Stage 2 is experimental, not what we run with `zig', + + "-Dskip-stage2-tests" + ;; Non-native tests try to link and execute non-native + ;; binaries. + "-Dskip-non-native"))))))) (inputs - (list clang-15 ; Clang propagates llvm. - lld-15 - zlib - (list zstd "lib"))) + (list clang-13 ;Clang propagates llvm. + lld-13)) ;; Zig compiles fine with GCC, but also needs native LLVM libraries. (native-inputs - (list llvm-15)) - (arguments - `(#:configure-flags - (list ,@(if (%current-target-system) - '(string-append "-DZIG_TARGET_TRIPLE=" - (%current-target-system)) - '()) - (string-append "-DZIG_TARGET_MCPU=baseline") - "-DZIG_SHARED_LLVM=ON" - (string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out") - "/lib/zig")) - #:validate-runpath? #f ; TODO: zig binary can't find ld-linux. - #:out-of-source? #f ; for tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-env-variables - (lambda* (#:key inputs native-inputs #:allow-other-keys) - ;; Set CC, since the stage 2 zig relies on it to find the libc - ;; installation, and otherwise silently links against its own. - (setenv "CC" ,(cc-for-target)) - ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. - (setenv "ZIG_GLOBAL_CACHE_DIR" - (string-append (getcwd) "/zig-cache")))) - (add-after 'patch-source-shebangs 'patch-more-shebangs - (lambda* (#:key inputs #:allow-other-keys) - ;; Zig uses information about /usr/bin/env to determine the - ;; version of glibc and other data. - (substitute* "lib/std/zig/system/NativeTargetInfo.zig" - (("/usr/bin/env") (search-input-file inputs "/bin/env"))))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs tests? #:allow-other-keys) - (when tests? - (invoke (string-append (assoc-ref outputs "out") "/bin/zig") - "build" "test" - ;; We're not testing the compiler bootstrap chain. - "-Dskip-stage1" - "-Dskip-stage2-tests" - ;; Non-native tests try to link and execute non-native - ;; binaries. - "-Dskip-non-native"))))))) + (list llvm-13)) (native-search-paths (list (search-path-specification @@ -122,11 +132,11 @@ toolchain. Among other features it provides (properties `((max-silent-time . 9600))) (license license:expat))) -(define-public zig-0.9 +(define-public zig-0.10 (package - (inherit zig-0.10) + (inherit zig-0.9) (name "zig") - (version "0.9.1") + (version "0.10.1") (source (origin (method git-fetch) @@ -135,63 +145,52 @@ toolchain. Among other features it provides (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7")) - (patches (search-patches "zig-0.9-riscv-support.patch" - "zig-use-system-paths.patch" - "zig-do-not-link-against-librt.patch")))) + (base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b")) + (patches (search-patches "zig-do-not-link-against-librt.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments zig-0.9) + ((#:configure-flags flags ''()) + #~(cons* "-DZIG_TARGET_MCPU=baseline" + "-DZIG_SHARED_LLVM=ON" + (string-append "-DZIG_LIB_DIR=" #$output "/lib/zig") + #$flags)) + ;; TODO: zig binary can't find ld-linux. + ((#:validate-runpath? _ #t) #f) + ((#:tests? _ #t) #t) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + #$@(if (target-riscv64?) + `((delete 'adjust-tests)) + '()) + (add-after 'unpack 'set-CC + (lambda _ + ;; Set CC, since the stage 2 zig relies on it to find the libc + ;; installation, and otherwise silently links against its own. + (setenv "CC" #$(cc-for-target)))) + (add-after 'patch-source-shebangs 'patch-more-shebangs + (lambda* (#:key inputs #:allow-other-keys) + ;; Zig uses information about /usr/bin/env to determine the + ;; version of glibc and other data. + (substitute* "lib/std/zig/system/NativeTargetInfo.zig" + (("/usr/bin/env") (search-input-file inputs "/bin/env"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke (string-append #$output "/bin/zig") + "build" "test" + ;; We're not testing the compiler bootstrap chain. + "-Dskip-stage1" + "-Dskip-stage2-tests" + ;; Non-native tests try to link and execute non-native + ;; binaries. + "-Dskip-non-native")))))))) (inputs - (list clang-13 ; Clang propagates llvm. - lld-13)) - ;; Zig compiles fine with GCC, but also needs native LLVM libraries. + (modify-inputs (package-inputs zig-0.9) + (prepend zlib `(,zstd "lib")) + (replace "clang" clang-15) + (replace "lld" lld-15))) (native-inputs - (list llvm-13)) - (arguments - `(#:configure-flags - (list ,@(if (%current-target-system) - (string-append "-DZIG_TARGET_TRIPLE=" - (%current-target-system)) - '())) - #:out-of-source? #f ; for tests - ;; There are too many unclear test failures. - #:tests? ,(not (or (target-riscv64?) - (%current-target-system))) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'set-cache-dir - (lambda _ - ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. - (setenv "ZIG_GLOBAL_CACHE_DIR" - (string-append (getcwd) "/zig-cache")))) - ,@(if (target-riscv64?) - ;; It is unclear why all these tests fail to build. - `((add-after 'unpack 'adjust-tests - (lambda _ - (substitute* "build.zig" - ((".*addRuntimeSafetyTests.*") "") - ((".*addRunTranslatedCTests.*") "")) - (substitute* "test/standalone.zig" - ;; These tests fail to build on riscv64-linux. - ;; They both contain 'exe.linkSystemLibrary("c");' - ((".*shared_library.*") "") - ((".*mix_o_files.*") "") - ;; ld.lld: error: undefined symbol: __tls_get_addr - ;; Is this symbol x86 only in glibc? - ((".*link_static_lib_as_system_lib.*") ""))))) - '()) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs tests? #:allow-other-keys) - (when tests? - (invoke (string-append (assoc-ref outputs "out") "/bin/zig") - ;; Testing the standard library takes >7.5GB RAM, and - ;; will fail if it is OOM-killed. The 'test-toolchain' - ;; target skips standard library and doc tests. - "build" "test-toolchain" - ;; Stage 2 is experimental, not what we run with `zig', - ;; and stage 2 tests require a lot of RAM. - "-Dskip-stage2-tests" - ;; Non-native tests try to link and execute non-native - ;; binaries. - "-Dskip-non-native"))))))))) + (modify-inputs (package-native-inputs zig-0.9) + (replace "llvm" llvm-15))))) (define-public zig zig-0.10) diff --git a/gnu/services.scm b/gnu/services.scm index ff153fbc7b..23c3d8a9f4 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -651,7 +651,9 @@ information is missing, return the empty list (for channels) and possibly ;; Force file names to be decoded as UTF-8. See ;; <https://bugs.gnu.org/26353>. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append + (libc-utf8-locales-for-target (%current-system)) + "/lib/locale")) (setlocale LC_CTYPE "en_US.utf8") (delete-file-recursively "/tmp") (delete-file-recursively "/var/run") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 154e3079d3..ab66b12255 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -63,7 +63,9 @@ #:use-module (gnu packages bash) #:use-module ((gnu packages base) #:select (coreutils glibc glibc/hurd - glibc-utf8-locales make-glibc-utf8-locales + glibc-utf8-locales + libc-utf8-locales-for-target + make-glibc-utf8-locales tar canonical-package)) #:use-module ((gnu packages compression) #:select (gzip)) #:use-module (gnu packages fonts) @@ -2152,7 +2154,8 @@ raise a deprecation warning if the 'compression-level' field was used." ;; nars for packages that contain UTF-8 file names such ;; as 'nss-certs'. See <https://bugs.gnu.org/26948>. (list (string-append "GUIX_LOCPATH=" - #$glibc-utf8-locales "/lib/locale") + #$(libc-utf8-locales-for-target) + "/lib/locale") "LC_ALL=en_US.utf8") #:log-file "/var/log/guix-publish.log")) (endpoints #~(let ((ai (false-if-exception diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index c2023d618c..ebea0a473a 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,15 +30,36 @@ #:use-module (gnu services shepherd) #:use-module (gnu system setuid) #:use-module (gnu system shadow) + #:use-module (gnu packages admin) ;shadow #:use-module (gnu packages docker) #:use-module (gnu packages linux) ;singularity #:use-module (guix records) + #:use-module (guix diagnostics) #:use-module (guix gexp) + #:use-module (guix i18n) #:use-module (guix packages) + #:use-module (srfi srfi-1) + #:use-module (ice-9 format) + #:use-module (ice-9 match) #:export (docker-configuration docker-service-type - singularity-service-type)) + singularity-service-type + oci-container-configuration + oci-container-configuration? + oci-container-configuration-fields + oci-container-configuration-user + oci-container-configuration-group + oci-container-configuration-command + oci-container-configuration-entrypoint + oci-container-configuration-environment + oci-container-configuration-image + oci-container-configuration-provision + oci-container-configuration-network + oci-container-configuration-ports + oci-container-configuration-volumes + oci-container-service-type + oci-container-shepherd-service)) (define-configuration docker-configuration (docker @@ -216,3 +238,239 @@ bundles in Docker containers.") (service-extension activation-service-type (const %singularity-activation)))) (default-value singularity))) + + +;;; +;;; OCI container. +;;; + +(define (oci-sanitize-pair pair delimiter) + (define (valid? member) + (or (string? member) + (gexp? member) + (file-like? member))) + (match pair + (((? valid? key) . (? valid? value)) + #~(string-append #$key #$delimiter #$value)) + (_ + (raise + (formatted-message + (G_ "pair members must contain only strings, gexps or file-like objects +but ~a was found") + pair))))) + +(define (oci-sanitize-mixed-list name value delimiter) + (map + (lambda (el) + (cond ((string? el) el) + ((pair? el) (oci-sanitize-pair el delimiter)) + (else + (raise + (formatted-message + (G_ "~a members must be either a string or a pair but ~a was +found!") + name el))))) + value)) + +(define (oci-sanitize-environment value) + ;; Expected spec format: + ;; '(("HOME" . "/home/nobody") "JAVA_HOME=/java") + (oci-sanitize-mixed-list "environment" value "=")) + +(define (oci-sanitize-ports value) + ;; Expected spec format: + ;; '(("8088" . "80") "2022:22") + (oci-sanitize-mixed-list "ports" value ":")) + +(define (oci-sanitize-volumes value) + ;; Expected spec format: + ;; '(("/mnt/dir" . "/dir") "/run/current-system/profile:/java") + (oci-sanitize-mixed-list "volumes" value ":")) + +(define-maybe/no-serialization string) + +(define-configuration/no-serialization oci-container-configuration + (user + (string "oci-container") + "The user under whose authority docker commands will be run.") + (group + (string "docker") + "The group under whose authority docker commands will be run.") + (command + (list-of-strings '()) + "Overwrite the default command (@code{CMD}) of the image.") + (entrypoint + (maybe-string) + "Overwrite the default entrypoint (@code{ENTRYPOINT}) of the image.") + (environment + (list '()) + "Set environment variables. This can be a list of pairs or strings, even +mixed: + +@lisp +(list '(\"LANGUAGE\" . \"eo:ca:eu\") + \"JAVA_HOME=/opt/java\") +@end lisp + +String are passed directly to the Docker CLI. You can refer to the +@url{https://docs.docker.com/engine/reference/commandline/run/#env,upstream} +documentation for semantics." + (sanitizer oci-sanitize-environment)) + (image + (string) + "The image used to build the container. Images are resolved by the Docker +Engine, and follow the usual format +@code{myregistry.local:5000/testing/test-image:tag}.") + (provision + (maybe-string) + "Set the name of the provisioned Shepherd service.") + (network + (maybe-string) + "Set a Docker network for the spawned container.") + (ports + (list '()) + "Set the port or port ranges to expose from the spawned container. This can +be a list of pairs or strings, even mixed: + +@lisp +(list '(\"8080\" . \"80\") + \"10443:443\") +@end lisp + +String are passed directly to the Docker CLI. You can refer to the +@url{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream} +documentation for semantics." + (sanitizer oci-sanitize-ports)) + (volumes + (list '()) + "Set volume mappings for the spawned container. This can be a +list of pairs or strings, even mixed: + +@lisp +(list '(\"/root/data/grafana\" . \"/var/lib/grafana\") + \"/gnu/store:/gnu/store\") +@end lisp + +String are passed directly to the Docker CLI. You can refer to the +@url{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream} +documentation for semantics." + (sanitizer oci-sanitize-volumes)) + (container-user + (maybe-string) + "Set the current user inside the spawned container. You can refer to the +@url{https://docs.docker.com/engine/reference/run/#user,upstream} +documentation for semantics.") + (workdir + (maybe-string) + "Set the current working for the spawned Shepherd service. +You can refer to the +@url{https://docs.docker.com/engine/reference/run/#workdir,upstream} +documentation for semantics.")) + +(define oci-container-configuration->options + (lambda (config) + (let ((entrypoint + (oci-container-configuration-entrypoint config)) + (network + (oci-container-configuration-network config)) + (user + (oci-container-configuration-user config)) + (workdir + (oci-container-configuration-workdir config))) + (apply append + (filter (compose not unspecified?) + `(,(if (maybe-value-set? entrypoint) + `("--entrypoint" ,entrypoint) + '()) + ,(append-map + (lambda (spec) + (list "--env" spec)) + (oci-container-configuration-environment config)) + ,(if (maybe-value-set? network) + `("--network" ,network) + '()) + ,(if (maybe-value-set? user) + `("--user" ,user) + '()) + ,(if (maybe-value-set? workdir) + `("--workdir" ,workdir) + '()) + ,(append-map + (lambda (spec) + (list "-p" spec)) + (oci-container-configuration-ports config)) + ,(append-map + (lambda (spec) + (list "-v" spec)) + (oci-container-configuration-volumes config)))))))) + +(define (oci-container-shepherd-service config) + (define (guess-name name image) + (if (maybe-value-set? name) + name + (string-append "docker-" + (basename (car (string-split image #\:)))))) + + (let* ((docker-command (file-append docker-cli "/bin/docker")) + (user (oci-container-configuration-user config)) + (group (oci-container-configuration-group config)) + (command (oci-container-configuration-command config)) + (provision (oci-container-configuration-provision config)) + (image (oci-container-configuration-image config)) + (options (oci-container-configuration->options config)) + (name (guess-name provision image))) + + (shepherd-service (provision `(,(string->symbol name))) + (requirement '(dockerd user-processes)) + (respawn? #f) + (documentation + (string-append + "Docker backed Shepherd service for image: " image)) + (start + #~(make-forkexec-constructor + ;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...] + (list #$docker-command "run" "--rm" + "--name" #$name + #$@options #$image #$@command) + #:user #$user + #:group #$group)) + (stop + #~(lambda _ + (invoke #$docker-command "rm" "-f" #$name))) + (actions + (list + (shepherd-action + (name 'pull) + (documentation + (format #f "Pull ~a's image (~a)." + name image)) + (procedure + #~(lambda _ + (invoke #$docker-command "pull" #$image))))))))) + +(define %oci-container-accounts + (list (user-account + (name "oci-container") + (comment "OCI services account") + (group "docker") + (system? #t) + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define (configs->shepherd-services configs) + (map oci-container-shepherd-service configs)) + +(define oci-container-service-type + (service-type (name 'oci-container) + (extensions (list (service-extension profile-service-type + (lambda _ (list docker-cli))) + (service-extension account-service-type + (const %oci-container-accounts)) + (service-extension shepherd-root-service-type + configs->shepherd-services))) + (default-value '()) + (extend append) + (compose concatenate) + (description + "This service allows the management of Docker and OCI +containers as Shepherd services."))) diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index fe602efb99..389903451a 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -23,7 +23,7 @@ #:use-module (guix records) #:use-module (guix packages) #:use-module ((gnu packages base) - #:select (glibc-utf8-locales)) + #:select (libc-utf8-locales-for-target)) #:use-module (gnu packages admin) #:use-module (gnu packages databases) #:use-module (gnu packages web) @@ -381,7 +381,8 @@ #:pid-file-timeout 60 #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.utf8" "PATH=/run/current-system/profile/bin" ; for hooks #$@extra-environment-variables) @@ -508,7 +509,8 @@ #:user #$user #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") ;; XDG_CACHE_HOME is used by Guix when caching narinfo files "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent" "LC_ALL=en_US.utf8") @@ -600,7 +602,8 @@ #:user #$user #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.utf8") #:log-file "/var/log/guix-build-coordinator/queue-builds.log")))) (stop #~(make-kill-destructor)) @@ -712,7 +715,8 @@ ca-certificates.crt file in the system profile." #:pid-file "/var/run/guix-data-service/pid" #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/web.log")) (stop #~(make-kill-destructor))) @@ -733,7 +737,8 @@ ca-certificates.crt file in the system profile." `("HOME=/var/lib/guix-data-service" "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" ,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/process-jobs.log")) (stop #~(make-kill-destructor)))))) @@ -989,7 +994,8 @@ ca-certificates.crt file in the system profile." #:pid-file "/var/run/nar-herder/pid" #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.utf8" #$@extra-environment-variables) #:log-file "/var/log/nar-herder/server.log")) @@ -1108,7 +1114,8 @@ ca-certificates.crt file in the system profile." #:directory "/var/lib/bffe" #:environment-variables `(,(string-append - "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.utf8" #$@extra-environment-variables) #:log-file "/var/log/bffe/server.log")) diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index 42e4d0247e..e85dd50934 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm @@ -291,6 +291,7 @@ please use 'modules' instead~%"))) (make-socket-address AF_INET6 IN6ADDR_ANY #$port-number))) '())) + #:service-name-stem "rsync" #:user #$user #:group #$group) (make-forkexec-constructor #$rsync-command diff --git a/gnu/services/vnc.scm b/gnu/services/vnc.scm index f90bd7258f..8b9ad0b179 100644 --- a/gnu/services/vnc.scm +++ b/gnu/services/vnc.scm @@ -149,7 +149,7 @@ CONFIG, a <xvnc-configuration> object." (xvnc display-number geometry depth port ipv4? ipv6? password-file xdmcp? inetd? frame-rate security-types localhost? log-level extra-options) #~(list #$(file-append xvnc "/bin/Xvnc") - #$(format #f ":~a" display-number) + #$@(if inetd? '() (list (format #f ":~a" display-number))) "-geometry" #$geometry "-depth" #$(number->string depth) #$@(if inetd? diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 818226a4f7..023b187cb0 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1498,7 +1498,8 @@ files.") '#$(optional anonip-configuration-regex "--regex")) ;; Run in a UTF-8 locale #:environment-variables - (list (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales + (list (string-append "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale") "LC_ALL=en_US.utf8"))) @@ -1976,7 +1977,8 @@ WSGIPassAuthorization On (define (mumi-shepherd-services config) (define environment #~(list "LC_ALL=en_US.utf8" - (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales + (string-append "GUIX_LOCPATH=" + #$(libc-utf8-locales-for-target) "/lib/locale"))) (match config diff --git a/gnu/system/image.scm b/gnu/system/image.scm index a990c4f861..b825892232 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -466,7 +466,9 @@ used in the image." ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be ;; decoded. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target + (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (initializer image-root @@ -633,7 +635,8 @@ used in the image. " ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") @@ -737,7 +740,8 @@ output file." ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar)) @@ -816,7 +820,8 @@ output file." ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded. (setenv "GUIX_LOCPATH" - #+(file-append glibc-utf8-locales "/lib/locale")) + #+(file-append (libc-utf8-locales-for-target (%current-system)) + "/lib/locale")) (setlocale LC_ALL "en_US.utf8") (let ((image-root (string-append (getcwd) "/tmp-root")) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 28161de153..336d13bd07 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -454,7 +454,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (service gc-root-service-type (append (list bare-bones-os - glibc-utf8-locales + (libc-utf8-locales-for-target system) texinfo guile-3.0) %default-locale-libcs))) |