1
0
forked from tribes/guix

Compare commits

..

43 Commits

Author SHA1 Message Date
Sharlatan Hellseher 613d3f87f1 gnu: Add python-openspace-api.
* gnu/packages/astronomy.scm (python-openspace-api): New variable.

Change-Id: Idffd14b9600024a31adbb479c25ca498781853c1
2026-05-29 18:02:29 +01:00
Sharlatan Hellseher d53a54e788 gnu: Add python-adari-core.
Note on adding tests: `inst_reports' custom ESO Python module -- the one
for espresso is the reports directory in the espdr-3.3.23.tar.gz file in
espdr-kit-3.3.23.tar.gz from
<https://ftp.eso.org/pub/dfs/pipelines/espresso/espdr-kit-3.3.23.tar.gz>,
and due to a large size of calibration data for pipeline, tests would be
kept disabled anyway.

* gnu/packages/astronomy.scm (python-adari-core): New variable.

Change-Id: Ica2779d9e5656074069166ff6cd04e54b8fc3989
2026-05-29 17:57:53 +01:00
Sharlatan Hellseher 3b04339e6d gnu: Add python-requests-unixsocket.
* gnu/packages/python-web.scm (python-requests-unixsocket): New variable.

Change-Id: I4b874b9dd9e575f9b6436f59d4242094db0b2172
2026-05-29 16:45:26 +01:00
Sharlatan Hellseher d3c47268d2 gnu: python-astromartini: Update to 2.1.18.
* gnu/packages/astronomy.scm (python-astromartini): Update to 2.1.18.
[propagated-inputs]: Add python-velociraptor.

Change-Id: I1e421ac2c85a274f12d46c257efd7bfcc11198be
2026-05-29 16:45:26 +01:00
Sharlatan Hellseher 2a60c9e0c3 gnu: Add python-velociraptor.
* gnu/packages/astronomy.scm (python-velociraptor): New variable.

Change-Id: I76f71961eb48de1ee24b4b66fb020ef1e2907c44
2026-05-29 16:45:25 +01:00
Sharlatan Hellseher 973477b4d5 gnu: uraniborg: Update to 0.0.15.
* gnu/packages/astronomy.scm (uraniborg): Update to 0.0.15.

Change-Id: I5685a0c2b3d35f4a3c8d26f77b8a3c09aa8d03a2
2026-05-29 16:45:25 +01:00
Sharlatan Hellseher 12b3853dee gnu: siril: Update to 1.4.3.
* gnu/packages/astronomy.scm (siril): Update to 1.4.3.

Change-Id: I5bd3e334bb76ea89c27d0fc294a2065769db3d72
2026-05-29 16:45:25 +01:00
Sharlatan Hellseher 616b4fdf7b gnu: scamp: Update to 2.15.0.
* gnu/packages/astronomy.scm (scamp): Update to 2.15.0.

Change-Id: I65875d1632b284d5462b7339a81774187440e8c0
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 0e9c99ac1c gnu: cianna: Update to 1.0.1.4-0.3c41568.
* gnu/packages/patches/cianna-remove-error-for-missing-cuda.patch:
Delete file.
* gnu/local.mk (dist_patch_DATA): Deregister patch.
* gnu/packages/astronomy.scm (cianna): Update to
3c4156801b91a9824d534baae9d1473d1aed56d8 commit.
[source]: <patches>: Drop it.

Change-Id: I5696139a1f1e10b40134de534d37099e7db20ba8
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 6f10f2fc87 gnu: python-swiftsimsoap: Update to 1.0.0-1.6d9bc69.
* gnu/packages/astronomy.scm (python-swiftsimsoap): Update to
6d9bc69c1321ab1be89cf21a68e23f92420678df commit.

Change-Id: Id11f97634466ffb5f27b689c9b56f8bca12a3aac
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 37a5698bd5 gnu: python-fitsio: Update to 1.3.0-0.3a30123.
* gnu/packages/astronomy.scm (python-fitsio): Update to
3a301234b28aeac48f96597c44d6339ad3a19778 commit.
[source]: Switch to git-fetch.
<snippet>: Refresh to match cfitsio v4.6.4.
[native-inputs]: Add python-setuptools-scm.

Change-Id: Ia4066d50aed70ea778baf95e85c715f34ce5804a
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 22268a20f7 gnu: python-space-dolphin: Update to 1.3.0.
* gnu/packages/astronomy.scm (python-space-dolphin): Update to 1.3.0.
[arguments] <test-flags>: Skip Jax related tests.

Change-Id: I5ed20cca5e35a1f5a7a975847e5d7ec4d7b6aedd
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 5c28644f8a gnu: python-pyspedas: Update to 2.1.1.
* gnu/packages/astronomy.scm (python-pyspedas): Update to 2.1.1.
[native-inputs]: Remove python-pytest.

Change-Id: Iafd798259c915d41778125179262460fea70b875
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher ff481da2a8 gnu: python-pint-pulsar: Update to 1.1.5.
* gnu/packages/astronomy.scm (python-pint-pulsar): Update to 1.1.5.
[arguments] <test-flags>: Rework list of test files.
[phases]{remove-deprecated-scripts}: Remove phase.
[native-inputs]: Remove python-wheel.

Change-Id: I4c8b6f307cddf526ab6e2e999cf721f29c3e4cbf
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 4588769175 gnu: python-czml3: Update to 3.3.1.
* gnu/packages/astronomy.scm (python-czml3): Update to 3.3.1.

Change-Id: I358d2db79798f701943c61cc1c54f8cb31dd3345
2026-05-29 16:45:24 +01:00
Sharlatan Hellseher 9009073fe3 gnu: python-romancal: Update to 1.0.0.
* gnu/packages/astronomy.scm (python-romancal): Update to 1.0.0.

Change-Id: Ib97c5f8150c4e73d28f0f546eb3eba7656516cb1
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher c156eeae47 gnu: python-viresclient: Update to 0.16.0.
* gnu/packages/astronomy.scm (python-viresclient): Update to 0.16.0.

Change-Id: I747876a5edb7519e6d24e0fb0c1a849d3a8e95ea
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher 70a36c5155 gnu: python-glue-vispy-viewers: Update to 1.4.0.
* gnu/packages/astronomy.scm (python-glue-vispy-viewers): Update to 1.4.0.
[source]: Switch to git-fetch.

Change-Id: Ib8fa18a1ca49a4fb8b5a52e6bd15b19de23de784
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher d1290aa868 gnu: python-drizzlepac: Update to 3.11.0.
* gnu/packages/astronomy.scm (python-drizzlepac): Update to 3.11.0.

Change-Id: I8a5cd33ae61d346472cfbae7a0a4fd2f17fd2bc7
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher c78d586db9 gnu: python-sunkit-spex: Update to 0.5.0.
* gnu/packages/astronomy.scm (python-sunkit-spex): Update to 0.5.0.
[arguments] <tests?, test-flags>: Enable some portion of tests.
[phases]{relax-requirements, set-home}: New phases.
[propagated-inputs]: Remove python-corner, python-emcee, python-nestle,
and python-numdifftools.

Change-Id: Id41897aec80def8ca14c74d709a053705ddc88e3
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher 6938a05a31 gnu: python-acstools: Update to 3.8.1.
* gnu/packages/astronomy.scm (python-acstools): Update to 3.8.1.
[source]: Switch to git-source.
[arguments] <test-flags>: Skip one test.
[propagated-inputs]: Add python-dask, python-matplotlib,
python-photutils, python-scikit-image, python-scipy,
python-stsci-imagestats, and python-stsci-tools.
[native-inputs]: Remove python-wheel.

Change-Id: Iba651cae4909dbebc5ef5fe041d71296f98f5ae1
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher 9907047fdf gnu: python-geopack: Update to 1.0.13-0.8c5f0e0.
* gnu/packages/geo.scm (python-geopack): Update to
8c5f0e0f6752604c5a6f57bac752059e0f85edbb commit.
[phases]{set-version}: New phase.

Change-Id: Icfb6dfb8683cffbdbc3dda44e0c5038976a63674
2026-05-29 16:45:23 +01:00
Sharlatan Hellseher 7b36fe45cf gnu: python-pycpl: Build with pybind11@3.
* gnu/packages/astronomy.scm (python-pycpl):
[native-inputs]: Remove pybind11-2; add pybind11.

Change-Id: I2a0eda8685cdac87d9ad3bcead9d52470bfb9b99
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher 8e0cdc3b45 gnu: python-losoto: Update to 2.7.1.
* gnu/packages/astronomy.scm (python-losoto): Update to 2.7.1.

Change-Id: I8c9a481404e64df6b6a3b7362abedeb903d33082
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher 29886ef79f gnu: python-jwst: Update to 2.0.1.
* gnu/packages/astronomy.scm (python-jwst): Update to 2.0.1.
[phases]{relax-requirements}: Remove phase.

Change-Id: I73c03265abca42e6b76689d89ecb7ae89eb74f23
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher b3f0be8a16 gnu: python-cdasws: Update to 1.8.16.
* gnu/packages/astronomy.scm (python-cdasws): Update to 1.8.16.

Change-Id: I72d6a919430b5a503bccf05be5827b451812c777
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher 89bdca6104 gnu: python-romanisim: Update to 0.14.0.
* gnu/packages/astronomy.scm (python-romanisim): Update to 0.14.0.

Change-Id: I859ed8edcffd9e99459d8191440bfc5bbec92dfb
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher bfa07468d1 gnu: python-hapiclient: Update to 0.2.7.
* gnu/packages/astronomy.scm (python-hapiclient): Update to 0.2.7.

Change-Id: I0384033603044299a3557a06b7a02b754cb343f0
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher 658040170f gnu: python-specreduce: Update to 1.9.0.
* gnu/packages/astronomy.scm (python-specreduce): Update to 1.9.0.
[arguments] <test-flags>: Ignore tests requiring network access.

Change-Id: I3e6bd43e68b388c2c5b0be9c66b31376fd82fc3c
2026-05-29 16:45:22 +01:00
Sharlatan Hellseher c96cbb6fef gnu: tempo2: Update to 2026.04.1.
* gnu/packages/astronomy.scm (tempo2): Update to 2026.04.1.

Change-Id: I36a8c9d3bde30cdf218553565a9a7211b8b9a991
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher 2e4a33c165 gnu: python-stdatamodels: Update to 5.0.2.
* gnu/packages/astronomy.scm (python-stdatamodels): Update to 5.0.2.

Change-Id: Ia5ce68950aab644090c37f82b30ffec01775ec7b
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher 26b31bf02b gnu: indi: Update to 2.2.1.1.
* gnu/packages/astronomy.scm (indi): Update to 2.2.1.1.

Change-Id: Id9a7bb2180556c8958c890994faab7513fa9bee7
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher 25ba370441 gnu: python-stpipe: Update to 0.13.0.
* gnu/packages/astronomy.scm (python-stpipe): Update to 0.13.0.

Change-Id: Ia6637ccae11b981dfe31eee35e40e5ef29879765
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher ca41670014 gnu: python-stcal: Relax required version for python-tweakwcs.
* gnu/packages/astronomy.scm (python-stcal)[phases]{relax-requriements}:
New phase.

Change-Id: I54b230df1985b4429d64befde8136f5c3f951230
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher 36c31393c1 gnu: python-swiftsimio: Update to 12.1.3.
* gnu/packages/astronomy.scm (python-swiftsimio): Update to 12.1.3.

Change-Id: I8e6f5f4321007dbbfb88998c9d8364ff58aa0ea7
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher d6484691a9 gnu: python-tweakwcs: Update to 0.9.0.
* gnu/packages/astronomy.scm (python-tweakwcs): Update to 0.9.0.
[source]: Switch to git-fetch.

Change-Id: I8a11c88705113824d45f91c5acb4c0e566c14976
2026-05-29 16:45:21 +01:00
Sharlatan Hellseher e3ac3b6ad4 gnu: python-crds: Update to 13.2.1.
* gnu/packages/astronomy.scm (python-crds): Update to 13.2.1.

Change-Id: I44d9647a636c993c66bef141b5a5a1bd1098d597
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher 1b87adf114 gnu: python-cdflib: Update to 1.3.10.
* gnu/packages/astronomy.scm (python-cdflib): Update to 1.3.10.

Change-Id: Iacfc15aa92938e1b4eeee2f008a07e3c82a3b78a
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher 3b34ace33d gnu: python-roman-datamodels: Update to 1.0.0.
* gnu/packages/astronomy.scm (python-roman-datamodels): Update to 1.0.0.

Change-Id: I6e9b3fd39f6d50c01da99f749cccb87e22b83cc2
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher a86e0c0d60 gnu: python-rad: Update to 1.0.0.
* gnu/packages/astronomy.scm (python-rad): Update to 1.0.0.

Change-Id: I56ad083c5256b356d9381e6b2e852a14633fb10d
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher d444012ea8 gnu: python-asdf: Update to 5.3.0.
* gnu/packages/astronomy.scm (python-asdf): Update to 5.3.0.
[native-inputs]: Add python-syrupy.

Change-Id: Ib2c10ba86e0f6aa7493088a53d4e48e4747edc91
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher ff3e2447ee gnu: python-astropy-iers-data: Update to 0.2026.5.11.1.8.52.
* gnu/packages/astronomy.scm (python-astropy-iers-data): Update to 0.2026.5.11.1.8.52.

Change-Id: Id230b3292c5a39b884aa3b06aec4e535fbd4a9fe
2026-05-29 16:45:20 +01:00
Sharlatan Hellseher 73083c9c51 gnu: cfitsio: Update to 4.6.4.
* gnu/packages/astronomy.scm (cfitsio): Update to 4.6.4.

Change-Id: Ia3153a53ea622516548e5292f80d5f538e889e69
2026-05-29 16:45:19 +01:00
16 changed files with 553 additions and 703 deletions
-4
View File
@@ -16124,10 +16124,6 @@ the tag name for separating the numbers of the version.
pre-releases; to make it also look for pre-releases, set the this
property to @code{#t}.
@item @code{stable-version-regexp}: a regular expression for matching the
version string, if specified the updater will pick the latest version from
matching ones when the @option{--target-version} option is omitted.
@end itemize
@lisp
-2
View File
@@ -1101,7 +1101,6 @@ dist_patch_DATA = \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/chez-irregex-import-cond-expand.patch \
%D%/packages/patches/chez-scheme-bin-sh.patch \
%D%/packages/patches/cianna-remove-error-for-missing-cuda.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
@@ -1993,7 +1992,6 @@ dist_patch_DATA = \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
%D%/packages/patches/network-manager-plugin-ownership.patch \
+324 -156
View File
File diff suppressed because it is too large Load Diff
+47 -95
View File
@@ -20,113 +20,65 @@
(define-module (gnu packages chicken)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system chicken)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (srfi srfi-1))
#:prefix license:))
;; This package is build from pre-built C source code, provided in the CHICKEN
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
;; the Scheme source, thus enabling us to (at least) patch it.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken-bootstrap
(hidden-package
(package
(name "chicken-bootstrap")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
la nguage standard, and includes many enhancements and extensions.")
(license license:bsd-3))))
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
;; tarballs includes auto-generated C code to mitigate the compiler
;; bootstrapping problem. To be able to patch the original Scheme source,
;; we compile from this Scheme source here using the chicken-bootstrap
;; compiler obtained from the autogenerated C code.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken
(package
(inherit chicken-bootstrap)
(name "chicken")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments chicken-bootstrap)
((#:phases phases)
#~(modify-phases #$phases
;; CHICKEN contains auto-generated C code, remove it and
;; compile from the Scheme source using chicken-bootstrap.
(add-after 'unpack 'remove-auto-generated-code
(lambda _
(invoke "make" "spotless")))
;; Invoke commands by name, not by path.
;;
;; See <https://codeberg.org/guix/guix/issues/8471>.
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(cp (search-input-file inputs "/bin/cp")))
(substitute* "egg-compile.scm"
(("/bin/sh") sh)
(("\"cp\"") (string-append "\"" cp "\"")))
(substitute* "posixunix.scm"
(("/bin/sh") sh))
(substitute* "chicken-install.scm"
(("\"sh \"") (string-append "\"" sh " \""))))))))))
(inputs (list chicken-bootstrap))
(properties
(alist-delete 'hidden? (package-properties chicken-bootstrap)))))
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS Scheme
language standard, and includes many enhancements and extensions.")
(license license:bsd-3)))
(define-public chicken-compile-file
(package
-31
View File
@@ -42,7 +42,6 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3192,33 +3191,3 @@ exported by the zlib library.")
ratio at the cost of high CPU/memory usage.")
(home-page "https://github.com/byronknoll/cmix")
(license license:gpl3)))
(define-public zlib-ng
(package
(name "zlib-ng")
(version "2.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/zlib-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/zlib-ng/zlib-ng")
(synopsis "Fork of the zlib data compression library")
(description
"zlib-ng is a @code{zlib} replacement with optimizations for next
generation systems.")
(license license:zlib)))
(define-public zlib-ng-compat
(package/inherit zlib-ng
(name "zlib-ng-compat")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~(list))
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
-67
View File
@@ -53,7 +53,6 @@
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1434,9 +1433,6 @@ data transfer object.")
(define-public nlohmann-json
(package
(name "nlohmann-json")
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
;; updating from 3.12.0, as the unique patch it applies will already be
;; incorporated in.
(version "3.12.0")
(home-page "https://github.com/nlohmann/json")
(source
@@ -1510,46 +1506,6 @@ intuitive syntax and trivial integration.")
(define-deprecated-package json-modern-cxx
nlohmann-json)
(define-public nlohmann-json-no-char8-t
(package
;; XXX: Version 3.12.0 does not work without char8_t support.
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
;; See https://github.com/nlohmann/json/pull/4736
(inherit nlohmann-json)
(name "nlohmann-json-no-char8-t")
(version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/nlohmann/json")
(commit (string-append "v" version))))
(sha256
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
"/tmp")
(delete-file-recursively "./tests/thirdparty")
(install-file "/tmp/doctest_compatibility.h"
"./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
(substitute* (find-files "./tests/" "\\.h(pp)?")
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
(with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))
(patches
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
(define-public jthread
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
(revision "0"))
@@ -4524,29 +4480,6 @@ file name and location, as well as filters with friendly names (such as
"This package provides a simple S-Expression parser for C++.")
(license license:gpl3+))))
(define-public sfl-library
(package
(name "sfl-library")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavenf/sfl-library")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/slavenf/sfl-library")
(synopsis "Header-only C++11/20 container library")
(description "sfl-library provides many STL-like (Standard Template Library)
containers including vectors, associative containers, and unordered containers
based on hash tables. These containers are designed for C++11 and C++20
constant expression usage.")
(license license:zlib)))
(define-public string-view-lite
(package
(name "string-view-lite")
+8 -8
View File
@@ -1021,7 +1021,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.9")
(version "0.30.8")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +1030,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
(build-system copy-build-system)
(arguments
(list
@@ -2207,7 +2207,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic
(package
(name "magic")
(version "8.3.652")
(version "8.3.644")
(source
(origin
(method git-fetch)
@@ -2216,7 +2216,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2312,7 +2312,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.320")
(version "1.5.319")
(source
(origin
(method git-fetch)
@@ -2321,7 +2321,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4376,7 +4376,7 @@ input and outputs an XML dataset.")
(define-public qucs-s
(package
(name "qucs-s")
(version "26.1.1") ;update qucsator-rf accordingly
(version "26.1.0") ;update qucsator-rf accordingly
(source
(origin
(method git-fetch)
@@ -4386,7 +4386,7 @@ input and outputs an XML dataset.")
(file-name (git-file-name name version))
(sha256
(base32
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
(build-system qt-build-system)
(arguments
(list
+100 -102
View File
@@ -6148,22 +6148,39 @@ have a steep learning curve.")))
(define-public openrct2-title-sequences
(package
(name "openrct2-title-sequences")
(version "0.4.26")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OpenRCT2/title-sequences"
"/releases/download/v" version
"/title-sequences.zip"))
(uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
version "/title-sequence-v" version ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0n680llpcyzl22bbphp9diz4m86gz2rn97yxlky44qspn63rgfys"))))
(build-system copy-build-system)
"0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
(arguments
(list #:install-plan #~'(("." "/share/openrct2/title-sequences"))))
(native-inputs (list unzip))
(home-page "https://openrct2.io")
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(openrct2-title-sequences (string-append out
"/share/openrct2/title-sequences"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(copy-file source (string-append ,name "-" ,version ".zip"))
(invoke unzip (string-append ,name "-" ,version ".zip"))
(delete-file (string-append ,name "-" ,version ".zip"))
(mkdir-p openrct2-title-sequences)
(copy-recursively "."
openrct2-title-sequences)
#t))))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(synopsis "Title sequences for OpenRCT2")
(description
"openrct2-title-sequences is a set of title sequences for OpenRCT2.")
@@ -6173,22 +6190,38 @@ have a steep learning curve.")))
(define-public openrct2-objects
(package
(name "openrct2-objects")
(version "1.7.9")
(version "1.0.20")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OpenRCT2/objects"
"/releases/download/v" version "/objects.zip"))
(uri (string-append "https://github.com/OpenRCT2/objects/releases/download/v"
version "/objects.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32 "1mpa4vpgs4m9izak8h5rkfcn80jbcm2di717k97g30kf1k91wijm"))))
(build-system copy-build-system)
(base32 "1q7a38kcwrfijav6app1gf253yfv8b0rljbkah8040y6i7snw9mw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
(arguments
;; zip has multiple top-level directories to install.
(list #:install-plan #~'((".." "/share/openrct2/objects"
#:exclude ("environment-variables")))))
(native-inputs (list unzip))
(home-page "https://openrct2.io")
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(openrct2-objects (string-append out
"/share/openrct2/objects"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(copy-file source (string-append ,name "-" ,version ".zip"))
(invoke unzip (string-append ,name "-" ,version ".zip"))
(delete-file (string-append ,name "-" ,version ".zip"))
(mkdir-p openrct2-objects)
(copy-recursively "."
openrct2-objects)
#t))))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(synopsis "Objects for OpenRCT2")
(description
"openrct2-objects is a set of objects for OpenRCT2.")
@@ -6284,7 +6317,7 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
(define-public openrct2
(package
(name "openrct2")
(version "0.5.0")
(version "0.3.3")
(source
(origin
(method git-fetch)
@@ -6293,88 +6326,53 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pxlk3a8akl0ghcbqqq5xw8chmxss7kwbvi52ixfqri68n46srxh"))
(modules '((guix build utils)))
(snippet
#~(begin
(with-directory-excursion "src/thirdparty"
(for-each delete-file-recursively
'("quickjs-ng" "sfl")))
(substitute* "src/openrct2/CMakeLists.txt"
;; use sys quickjs for scripting features
(("if \\(ENABLE_SCRIPTING\\)") "if (false)")
(("add_library\\(OpenRCT2[^\n]+" all)
(string-join
`(,all
"find_library(QJS_L NAMES qjs REQUIRED)"
"find_path(QJS_I NAMES quickjs.h REQUIRED)"
"target_link_libraries(libopenrct2 ${QJS_L})"
"target_include_directories(libopenrct2 SYSTEM PRIVATE ${QJS_I})")
"\n")))))))
(base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DDOWNLOAD_OBJECTS=OFF"
"-DDOWNLOAD_TITLE_SEQUENCES=OFF"
"-DDOWNLOAD_OPENSFX=OFF"
"-DDOWNLOAD_OPENMUSIC=OFF"
"-DDISABLE_DISCORD_RPC=ON"
"-DDISABLE_VERSION_CHECKER=ON")
;; many issues such as https://github.com/OpenRCT2/OpenRCT2/issues/12719
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-usr-share-paths&add-data
;; TODO: OpenRCT2 can optionally use free music and sounds!
;; https://github.com/OpenRCT2/OpenMusic
;; https://github.com/OpenRCT2/OpenSoundEffects
;; ideally we package these instead of the ones the user is supposed
;; to supply.
(lambda* (#:key inputs #:allow-other-keys)
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
(objects (assoc-ref inputs "openrct2-objects"))
(sfl (assoc-ref inputs "sfl-library")))
;; Fix some references to /usr/share.
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
(("/usr/share")
(string-append #$output "/share")))
(copy-recursively
(string-append titles "/share/openrct2/title-sequences")
"data/title")
(copy-recursively
(string-append objects "/share/openrct2/objects")
"data/object")
(copy-recursively
(string-append sfl "/include")
"src/thirdparty"))))
(add-before 'configure 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
(("-Werror") "")))))))
(inputs
(list curl
flac
fontconfig
freetype
icu4c
jansson
libpng
libvorbis
libzip
mesa
nlohmann-json-no-char8-t
openrct2-objects
openrct2-title-sequences
openssl
quickjs-ng
sdl2
sfl-library
speexdsp
zlib
(list zstd "lib")))
(native-inputs (list pkg-config))
(home-page "https://openrct2.io")
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
"-DDOWNLOAD_TITLE_SEQUENCES=OFF")
#:tests? #f ; tests require network access
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-usr-share-paths&add-data
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
(objects (assoc-ref inputs "openrct2-objects")))
;; Fix some references to /usr/share.
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
(("/usr/share")
(string-append (assoc-ref %outputs "out") "/share")))
(copy-recursively
(string-append titles "/share/openrct2/title-sequences")
"data/title")
(copy-recursively
(string-append objects "/share/openrct2/objects")
"data/object"))))
(add-before 'configure 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
(("-Werror") ""))
#t)))))
(inputs `(("curl" ,curl)
("duktape" ,duktape)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
("nlohmann-json" ,nlohmann-json)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
("openrct2-objects" ,openrct2-objects)
("openrct2-title-sequences" ,openrct2-title-sequences)
("openssl" ,openssl)
("sdl2" ,sdl2)
("speexdsp" ,speexdsp)
("zlib" ,zlib)))
(native-inputs
(list pkg-config))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
(description "OpenRCT2 is a free software re-implementation of
RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and
@@ -6382,8 +6380,8 @@ maintaining an amusement park containing attractions, shops and facilities.
Note that this package does @emph{not} provide the game assets (sounds,
images, etc.)")
;; See bottom of:
;; https://github.com/OpenRCT2/OpenRCT2/blob/develop/distribution/readme.txt
;; See <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
;; regarding assets.
(license license:gpl3+)))
(define-public openriichi
+15 -4
View File
@@ -1248,21 +1248,32 @@ readily with other Python GIS packages such as pyproj, Rtree, and Shapely.")
(define-public python-geopack
(package
(name "python-geopack")
(version "1.0.12")
;; See: <https://github.com/tsssss/geopack/issues/26>.
(properties '((commit . "8c5f0e0f6752604c5a6f57bac752059e0f85edbb")
(revision . "0")))
(version (git-version "1.0.13"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tsssss/geopack")
(commit (string-append "v" version))))
(commit (assoc-ref properties 'commit))))
(file-name (git-file-name name version))
(sha256
(base32 "0ap5j4359xxjkbz06y097yq5d37sxcwlnlsfwrv6dvza7ydmgcgg"))))
(base32 "0ywqg9j09mhpfb9dcjmnlvh26s0v4lvzfwdmlivgx9ypamafa117"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX Reported upstream <https://github.com/tsssss/geopack/issues/21>.
#:tests? #f))
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
(lambda _
(substitute* "setup.py"
(("1.0.12") "1.0.13")))))))
(native-inputs
(list python-setuptools))
(propagated-inputs
+1 -1
View File
@@ -1521,7 +1521,7 @@ libraries designed for computer vision research and implementation.")
python
onetbb
vxl-1
zlib-ng-compat))
zlib))
(native-inputs
(list castxml
git-minimal
+8 -8
View File
@@ -1218,12 +1218,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-7.0-version)
(define-public linux-libre-gnu-revision linux-libre-7.0-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-7.0-pristine-source)
(define-public linux-libre-source linux-libre-7.0-source)
(define-public linux-libre linux-libre-7.0)
(define-public linux-libre-6.19
(make-linux-libre* linux-libre-6.19-version
linux-libre-6.19-gnu-revision
@@ -1240,6 +1234,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.18-version)
(define-public linux-libre-gnu-revision linux-libre-6.18-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.18-pristine-source)
(define-public linux-libre-source linux-libre-6.18-source)
(define-public linux-libre linux-libre-6.18)
(define-public linux-libre-6.12
(make-linux-libre* linux-libre-6.12-version
linux-libre-6.12-gnu-revision
@@ -1979,8 +1979,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-7.0)
(define-public linux-libre-arm64-mnt-reform-6.19
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -2317,6 +2315,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-6.18)
(define-public linux-libre-arm64-mnt-reform-6.12
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -1,32 +0,0 @@
From 5eed2d2ca7c13c08ca7eb92fc4a78c30ca4b6b3d Mon Sep 17 00:00:00 2001
From: Hellseher <sharlatanus@gmail.com>
Date: Sat, 18 Apr 2026 08:26:29 +0000
Subject: [PATCH] Remove CUDA error handling from network.c
Removed error handling for CUDA compilation check.
Fixes: https://github.com/Deyht/CIANNA/issues/4
---
src/network.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/network.c b/src/network.c
index d454f64..5a9497c 100644
--- a/src/network.c
+++ b/src/network.c
@@ -155,15 +155,6 @@ CIANNA V-1.0.1.2 stable build (04/2026), by D.Cornu\n\
init_cuda(networks[network_number]);
#endif
- #ifndef CUDA
- if(comp_int == C_CUDA)
- {
- printf("\n ERROR: compute method set to CUDA while CIANNA was not compiled for it.\n");
- printf(" Install Nvidia CUDA and recompile CIANNA with the appropriate option.\n\n");
- exit(EXIT_FAILURE);
- }
- #endif
-
#ifndef BLAS
if(comp_int == C_BLAS)
{
@@ -1,141 +0,0 @@
From 756ca22ec5b0d89b5d107b4c30891d1293650c87 Mon Sep 17 00:00:00 2001
From: Sergiu Deitsch <sergiud@users.noreply.github.com>
Date: Wed, 23 Apr 2025 18:36:41 +0200
Subject: [PATCH] Provide fallback for missing `char8_t` support (#4736)
---
.../nlohmann/detail/conversions/from_json.hpp | 5 +++-
.../nlohmann/detail/conversions/to_json.hpp | 21 ++++++++++-----
single_include/nlohmann/json.hpp | 26 +++++++++++++------
tests/src/unit-deserialization.cpp | 5 ++--
4 files changed, 39 insertions(+), 18 deletions(-)
diff --git a/include/nlohmann/detail/conversions/from_json.hpp b/include/nlohmann/detail/conversions/from_json.hpp
index 797f714dfae1dcc7fd8d2435ae7015023da76b97..3a24a6f4d26c0162531d8100a99a05291d8a2090 100644
--- a/include/nlohmann/detail/conversions/from_json.hpp
+++ b/include/nlohmann/detail/conversions/from_json.hpp
@@ -539,7 +539,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
}
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
-#ifdef JSON_HAS_CPP_20
+ // Checking for C++20 standard or later can be insufficient in case the
+ // library support for char8_t is either incomplete or was disabled
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
#else
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
diff --git a/include/nlohmann/detail/conversions/to_json.hpp b/include/nlohmann/detail/conversions/to_json.hpp
index f8413850d5d7f8dd4bd6d2f174959a8ddd5c233a..8b910dd1615b710308392eed4999d3b7533a26e7 100644
--- a/include/nlohmann/detail/conversions/to_json.hpp
+++ b/include/nlohmann/detail/conversions/to_json.hpp
@@ -15,7 +15,8 @@
#include <algorithm> // copy
#include <iterator> // begin, end
-#include <string> // string
+#include <memory> // allocator_traits
+#include <string> // basic_string, char_traits
#include <tuple> // tuple, get
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
#include <utility> // move, forward, declval, pair
@@ -440,15 +441,21 @@ inline void to_json(BasicJsonType& j, const T& t)
}
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
+#if defined(__cpp_lib_char8_t)
+template<typename BasicJsonType, typename Tr, typename Allocator>
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
+{
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
+}
+#endif
+
template<typename BasicJsonType>
inline void to_json(BasicJsonType& j, const std_fs::path& p)
{
-#ifdef JSON_HAS_CPP_20
- const std::u8string s = p.u8string();
- j = std::string(s.begin(), s.end());
-#else
- j = p.u8string(); // returns std::string in C++17
-#endif
+ // Returns either a std::string or a std::u8string depending whether library
+ // support for char8_t is enabled.
+ j = p.u8string();
}
#endif
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index 13b07c0fbc87e5c24127922fb2ef45fc3ea2bff5..93e5983cf1b1cdbe0452d89dcfa487c7b18dd4df 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -5324,7 +5324,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
}
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
-#ifdef JSON_HAS_CPP_20
+ // Checking for C++20 standard or later can be insufficient in case the
+ // library support for char8_t is either incomplete or was disabled
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
#else
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
@@ -5379,7 +5382,8 @@ NLOHMANN_JSON_NAMESPACE_END
#include <algorithm> // copy
#include <iterator> // begin, end
-#include <string> // string
+#include <memory> // allocator_traits
+#include <string> // basic_string, char_traits
#include <tuple> // tuple, get
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
#include <utility> // move, forward, declval, pair
@@ -6086,15 +6090,21 @@ inline void to_json(BasicJsonType& j, const T& t)
}
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
+#if defined(__cpp_lib_char8_t)
+template<typename BasicJsonType, typename Tr, typename Allocator>
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
+{
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
+}
+#endif
+
template<typename BasicJsonType>
inline void to_json(BasicJsonType& j, const std_fs::path& p)
{
-#ifdef JSON_HAS_CPP_20
- const std::u8string s = p.u8string();
- j = std::string(s.begin(), s.end());
-#else
- j = p.u8string(); // returns std::string in C++17
-#endif
+ // Returns either a std::string or a std::u8string depending whether library
+ // support for char8_t is enabled.
+ j = p.u8string();
}
#endif
diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp
index 84a970a183e4392166a8fe9bf76b582a53b76dd5..5c450c23d3042991cfc8959d4632208cfb21f400 100644
--- a/tests/src/unit-deserialization.cpp
+++ b/tests/src/unit-deserialization.cpp
@@ -1134,9 +1134,10 @@ TEST_CASE("deserialization")
}
}
-// select the types to test - char8_t is only available in C++20
+// select the types to test - char8_t is only available since C++20 if and only
+// if __cpp_char8_t is defined.
#define TYPE_LIST(...) __VA_ARGS__
-#ifdef JSON_HAS_CPP_20
+#if defined(__cpp_char8_t) && (__cpp_char8_t >= 201811L)
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t, char8_t)
#else
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t)
+28
View File
@@ -3392,6 +3392,34 @@ files.")
code asynchronously.")
(license license:asl2.0)))
(define-public python-requests-unixsocket
(package
(name "python-requests-unixsocket")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/msabramo/requests-unixsocket")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f0pi31xqzm3cdag4s4gpdj36x169jwc8ibqvcwqz6h9c0pklf3n"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools
python-setuptools-scm
python-waitress))
(propagated-inputs
(list python-requests))
(home-page "https://github.com/msabramo/requests-unixsocket")
(synopsis "Use requests to talk HTTP via a UNIX domain socket")
(description
"This package provides an extension to @code{requests} which let it talk
HTTP via a UNIX domain socket.")
(license license:asl2.0)))
(define-public python-s3path
(package
(name "python-s3path")
+21 -44
View File
@@ -94,8 +94,6 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define %xfce-stable-version "^4[.][0-9]*[02468][.]")
(define-public libxfce4util
(package
(name "libxfce4util")
@@ -125,8 +123,7 @@
"A general-purpose utility library with core application support for the
Xfce Desktop Environment.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfconf
(package
@@ -169,8 +166,7 @@ Xfce Desktop Environment.")
"Settings daemon for Xfce, implemented as a D-Bus-based configuration
storage system.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public libxfce4ui
(package
@@ -204,8 +200,7 @@ storage system.")
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
to share commonly used Xfce widgets among the Xfce applications.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public catfish
(package
@@ -259,8 +254,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
intentionally lightweight and simple, using only GTK+ 3. You can configure
it to your needs by using several command line options.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public elementary-xfce-icon-theme
(package
@@ -328,8 +322,7 @@ that are targeted at desktop development, libexo is targeted at application
development.")
;; Libraries are under LGPLv2+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public garcon
(package
@@ -362,8 +355,7 @@ GLib and GIO. It was started as a complete rewrite of the former Xfce menu
library called libxfce4menu, which, in contrast to garcon, was lacking menu
merging features essential for loading menus modified with menu editors.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public tumbler
(package
@@ -399,8 +391,7 @@ merging features essential for loading menus modified with menu editors.")
various URI schemes and MIME types. It is an implementation of the thumbnail
management D-Bus specification.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public libxfce4windowing
(package
@@ -434,8 +425,7 @@ management D-Bus specification.")
windowing concepts (screens, toplevel windows, workspaces, etc.) in a
windowing-system-independent manner.")
(license lgpl2.1+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-panel
(package
@@ -484,8 +474,7 @@ windowing-system-independent manner.")
applications menu, workspace switcher and more.")
;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-battery-plugin
(package
@@ -710,8 +699,7 @@ per window.")
"Application finder for Xfce, it will show the applications installed on
your system in categories, so you can quickly find and launch them.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-session
(package
@@ -782,8 +770,7 @@ your system in categories, so you can quickly find and launch them.")
"Session manager for Xfce, it will restore your session on startup and
allows you to shut down the computer from Xfce.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-settings
(package
@@ -834,8 +821,7 @@ allows you to shut down the computer from Xfce.")
"Settings manager for Xfce, it can control various aspects of the desktop
like appearance, display, keyboard and mouse settings.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public thunar
(package
@@ -881,8 +867,7 @@ like appearance, display, keyboard and mouse settings.")
"A modern file manager for graphical desktop, aiming to be easy-to-use and
fast.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public thunar-volman
(package
@@ -911,8 +896,7 @@ thunar-volman is installed and configured properly, and you plug in your
digital camera, it will automatically spawn your preferred photo application
and import the new pictures from your camera.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public thunar-archive-plugin
(package
@@ -1092,8 +1076,7 @@ menu.")
"Window manager for Xfce, it handles the placement of windows
on the screen.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfwm4-themes
(package
@@ -1180,8 +1163,7 @@ window manager.")
optional application menu or icons for minimized applications or launchers,
devices and folders.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public gigolo
(package
@@ -1259,8 +1241,7 @@ local and remote file systems and manage bookmarks of such.")
GStreamer framework and written to fit well in the Xfce desktop. Parole
features playback of local media files, DVD/CD and live streams.")
(license gpl2) ;version 2 only
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-terminal
(package
@@ -1455,8 +1436,7 @@ freedesktop-compliant DBus interfaces to inform other applications about current
power level so that they can adjust their power consumption, and it provides the
inhibit interface which allows applications to prevent automatic sleep.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public ristretto
(package
@@ -1551,8 +1531,7 @@ calendar applications. It also includes a panel clock plugin and an
international clock application capable of simultaneously showing clocks from
several different time zones.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-notifyd
(package
@@ -1725,8 +1704,7 @@ A plugin for the Xfce panel is also available.")
"Xfce Screensaver is a screen saver and locker that aims to have simple,
sane, secure defaults and be well integrated with the Xfce desktop.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public xfce4-volumed-pulse
(package
@@ -2447,5 +2425,4 @@ local weather in the panel, using forecast data provided by the
developers and people that want to build Xfce from Git In addition it contains
the Xfce developer's handbook.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
+1 -8
View File
@@ -206,14 +206,7 @@ a version prefix when PARTIAL-VERSION? is #t."
(old-reference (origin-uri (package-source package)))
(tags (get-package-tags package))
(versions (map car tags))
(stable-rx (and=> (assq-ref (package-properties package)
'stable-version-regexp)
make-regexp))
(version (find-version
(if (and stable-rx (not version))
(filter (cut regexp-exec stable-rx <>) versions)
versions)
version partial-version?))
(version (find-version versions version partial-version?))
(tag (assoc-ref tags version)))
(and version
(upstream-source