1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 19:44:04 +02:00

Compare commits

..

55 Commits

Author SHA1 Message Date
宋文武 8ce414a206 gnu: xfce: Add 'stable-version-regexp' property for packages.
* gnu/packages/xfce.scm (libxfce4util, xfconf, libxfce4ui, catfish, exo)
(garcon, tumbler, libxfce4windowing, xfce4-appfinder, xfce4-session)
(xfce4-settings, thunar, thunar-volman, xfwm4, xfdesktop, parole)
(xfce4-power-manager, orage, xfce4-screensaver, xfce4-dev-tools)
[properties]: Add stable-version-regexp.

Merges: guix/guix!5222
Change-Id: Ia296b1ea3dbca95b4c9e99c43a52b4503d5f481a
2026-05-30 10:02:03 +08:00
宋文武 5c41a431df import: git: Support 'stable-version-regexp' property.
Some packages (eg: xfce4-panel) use even number for minor version to indicate
a stable release, when refresh such packages to latest versions we'd like them
to be stable ones.  Introduce 'stable-version-regexp' as a package property,
so that unwanted releases can be filtered out.

* doc/guix.texi (Invoking guix refresh): Document 'stable-version-regexp'.
* guix/import/git.scm (import-git-release): Filter out unstable releases when
target-version is unset but 'stable-version-regexp' is available.

Change-Id: I7bbb2cb41b19175a7e3fb79e00cd8dbb20d049ad
2026-05-30 10:01:58 +08:00
Vagrant Cascadian 5863808183 gnu: linux-libre: Update default version to 7.0.
* gnu/packages/linux.scm (linux-libre-version, linux-libre-gnu-revision,
linux-libre-pristine-source, linux-libre-source, linux-libre,
linux-libre-arm64-mnt-reform): Update to 7.0.

Merges: guix/guix#8954
2026-05-29 14:29:00 -07:00
Cayetano Santos 0b083f0dc9 gnu: qucs-s: Update to 26.1.1.
* gnu/packages/electronics.scm (qucs-s): Update to 26.1.1.

Change-Id: I910a976a69230aac6bf99add71e07bdab122887e
2026-05-29 22:19:16 +02:00
Cayetano Santos 32328a29ce gnu: netgen: Update to 1.5.320.
* gnu/packages/electronics.scm (netgen): Update to 1.5.320.

Change-Id: I64efc82c9164211a063043e609f561033a94bf59
2026-05-29 22:19:16 +02:00
Cayetano Santos 5a889494d5 gnu: magic: Update to 8.3.652.
* gnu/packages/electronics.scm (magic): Update to 8.3.652.

Change-Id: I2aaaa407101952bcd19f869a7d6272488bcbda56
2026-05-29 22:19:16 +02:00
Cayetano Santos 31cbb38266 gnu: klayout: Update to 0.30.9.
* gnu/packages/electronics.scm (klayout): Update to 0.30.9.

Change-Id: If080a1f4ac14b724f5e2b729e6a71a62e40281c9
2026-05-29 22:19:15 +02:00
Jake Forster ac7d094687 gnu: insight-toolkit: Replace zlib with zlib-ng-compat.
* gnu/packages/image-processing.scm (insight-toolkit)[inputs]: Replace zlib
with zlib-ng-compat.

Change-Id: I2286a321420311a8260ce15b30a04519ea88fc90
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Jake Forster 4093bf9e95 gnu: Add zlib-ng-compat.
* gnu/packages/compression.scm (zlib-ng-compat): New variable.

Change-Id: I765cef93406dc975e93a1c87590abc61b2ef3bd2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Jake Forster 66a8184c46 gnu: Add zlib-ng.
* gnu/packages/compression.scm (zlib-ng): New variable.

Change-Id: Ic4f5b9fa005ccc89160f4dc8a275ca6c9adadc30
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Sören Tempel 26368214a6 gnu: chicken: Refer to required programs by path, not name.
Fixes #8471

* gnu/packages/chicken.scm (chicken)[#:phases]<fix-paths>: Refer
to sh and cp by full path in the Scheme source, instead of by name.
[inputs]: Add bash-minimal.

Change-Id: Id5fc66044c4ae736d7c847d5c781d9317313d3ac
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:07 +02:00
Sören Tempel f032a41f41 gnu: chicken: Bootstrap from Scheme source code.
The CHICKEN compiler is itself written in CHICKEN.  To mitigate the
compiler bootstrapping problem, the CHICKEN release tarball includes
auto-generated C code, from which the CHICKEN compiler is build using
a C compiler.

However, if we want to patch the CHICKEN Scheme source (for  #8471), we
need to be able to build the CHICKEN compiler from its Scheme source
files.  This is achieved here by separate the build into two packages
chicken-bootstrap (build from the auto-generated C code) and chicken
(build from the Scheme source).

Note that this still isn't a full-source bootstrap, we still require
the auto-generated C source code, but at least we can now patch the
package based on the Scheme source. Hence, it improves the situation.

See also: https://issues.guix.gnu.org/22366

* gnu/packages/chicken.scm (chicken-bootstrap): Rename from chicken.
* gnu/packages/chicken.scm (chicken): New package.

Change-Id: Ie656e95e2112241b066158a62e55ac07c722c150
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:03 +02:00
bdunahu a13589b2b9 gnu: openrct2: Update to 0.5.0.
* gnu/packages/games.scm (openrct2): Update to 0.5.0.
[source]: Unbundle sfl-library and quickjs-ng.
[#:configure-flags]: Do not download music or sound effects.
Disable version checks on startup and Discord RPC.
[#:phases]<fix-usr-share-paths&data>: Also copy sfl includes.
[inputs]: Add flac, libvorbis, quickjs-ng, sfl-library, and ztsd:lib.
Remove duktape.
Replace nlohmann-json with nlohmann-json-no-char8-t.
[license]: Update comment.

Change-Id: I4a6b2952ba0425b8d25e52af78a0ccc9dcdca64e
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:32 +02:00
bdunahu 1f146dc38f gnu: openrct2-title-sequences: Update to 0.4.26.
* gnu/packages/games.scm (openrct2-title-sequences): Update to 0.4.26.
[source]: Adjust uri accordingly.

Change-Id: I55b2e7bbb4abc436e390ff89ae2be42613eeab36
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:13 +02:00
bdunahu 89d9027f18 gnu: openrct2-objects: Update to 1.7.9.
* gnu/packages/games.scm (openrct2-objects): Update to 1.7.9.

Change-Id: I24d33b3e1f804fb633ed903c8356cf03a93e7b41
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:11 +02:00
bdunahu c32a2a2e5d gnu: openrct2-title-sequences: Modernize package declaration.
* gnu/packages/games.scm (openrct2-title-sequences)[source]: Split uri to respect line size limit.
[build-system]: Switch to copy-build-system.
[native-inputs]: Remove bash and coreutils.  Remove input labels.
[homepage]: Use “https://openrct2.io”.

Change-Id: I66171fb3e594f27150d656edc1fc815a2d024ac7
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:50 +02:00
bdunahu e02071dae1 gnu: openrct2-objects: Modernize package declaration.
* gnu/packages/games.scm (openrct2-objects)[source]: Split uri to respect line size limit.
[build-system]: Switch to copy-build-system
[native-inputs]: Remove bash and coreutils.  Remove input labels.
[homepage]: Use “https://openrct2.io”

Change-Id: Id0477bde171420676a2f99c68a09f27b4bec5797
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:46 +02:00
bdunahu 255921621b gnu: openrct2: Modernize package declaration.
* gnu/packages/games.scm (openrct2)[arguments]: Change to list of
G-Expressions.
<#:phases>: Remove trailing #t.  Use #$output to refer to outputs.
[inputs]: Remove input labels.
[homepage]: Use “https://openrct2.io”.

Change-Id: I8b47d345cd82718d1a2bd40009c480aca7c2c5b3
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:44 +02:00
bdunahu 0853a1671f gnu: Add nlohmann-json-no-char8-t.
* gnu/packages/patches/nlohmann_json_fix_char8_t.patch: New file.
* gnu/local.mk: (dist_patch_DATA): Register it.
* gnu/packages/cpp.scm (nlohmann-json-no-char8-t): New variable.

Change-Id: I8b47d345cd82718d1a2bd40009c480aca7c2c5b3
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:42 +02:00
bdunahu 54d29defe0 gnu: Add sfl-library.
* gnu/packages/cpp.scm (sfl-library): New variable.

Change-Id: I4c4d054c2cc9fadd1c57996296e382f72ed84864
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:41 +02:00
Charles Roelli 42ab6a3899 gnu: Update default prometheus-node-exporter-configuration-package.
* gnu/services/monitoring.scm
(prometheus-node-exporter-configuration) [package]: Use the
non-deprecated prometheus-node-exporter package as a default value.

Merges: guix/guix!8935
Change-Id: I39a0c4eb3cf9e8d82ec0dc134c4f5abe40f1bc4d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 16:41:42 +01:00
Lars Bilke 2c279760e4 gnu: ogs-serial: Update to 6.5.8
* gnu/packages/geo.scm (ogs-serial): Update to 6.5.8.
* gnu/packages/geo.scm (ogs-serial): Remove patch.
* gnu/packages/geo.scm (ogs-serial): Add xdmf input.
* packages/patches/ogs-6.5.7-netcdfconverter.patch: Removed.
* gnu/local.mk: Deregister patch.

Merges: guix/guix!8841
Change-Id: I9b4e502c37ca9470669296d6a038bb1b5e2de8b7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 16:36:27 +01:00
Lars Bilke fa5a46958f gnu: Add xdmf.
* gnu/packages/math.scm (xdmf): New variable.
* gnu/packages/patches/xdmf-3.0.0-hdf5.patch: Patch for xdmf.
* gnu/local.mk: Register patch.

Relates-to: guix/guix!8841
Change-Id: I0606eaf8f6524f3efe71b442405438e4df070ff7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 16:36:18 +01:00
orahcio e87c221cd2 gnu: Add whatscli.
* gnu/packages/messaging.scm (whatscli): New variable.

Merges: guix/guix!8655
Change-Id: I2c2f03afc93a538bdaf83424d3186665e9749e13
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:35 +01:00
orahcio a2b4e406b9 gnu: mautrix-whatsapp: Update to 0.2605.0.
* gnu/packages/matrix.scm (mautrix-whatsapp): Update to 0.2605.0.

Relates-to: guix/guix!8655
Change-Id: I39d044b02437d2b63f79e0ad9f19c7434c6acf9b
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:35 +01:00
orahcio 347d83f6b4 gnu: go-go-mau-fi-util: Update to 0.9.9.
* gnu/packages/golang-xyz.scm (go-go-mau-fi-util): Update to 0.9.9.

Relates-to: guix/guix!8655
Change-Id: Ibae7a9301e491c5e9b47937ee04862179ef536d9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio 50fde0c4f1 gnu: go-maunium-net-go-mautrix: Update to 0.28.0.
* gnu/packages/golang-web.scm (go-maunium-net-go-mautrix): Update to 0.28.0.
[arguments] <test-flags>: Rework skipped tests.
[propagated-inputs]: Remove go-github-com-gorilla-mux and
go-github-com-gorilla-websocket; add go-github-com-coder-websocket, and
olm.
[native-inputs]: olm move to [propagated-inputs].

Relates-to: guix/guix!8655
Change-Id: I1946010f414edb46caa38eb33f034f0e68ee1397
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio 153c2aa234 gnu: go-go-mau-fi-whatsmeow: Update to 0.0.0-20260529101937-a7ea56383ec4.
* gnu/packages/golang-web.scm (go-go-mau-fi-whatsmeow): Update to
0.0.0-20260529101937-a7ea56383ec4.
[propagated-inputs]: Remove go-github-com-gorilla-websocket; add
go-github-com-beeper-argo-go, go-github-com-coder-websocket and
go-golang-org-x-sync.

Relates-to: guix/guix!8655
Change-Id: If0f2e561b68a91e30b5068558077f6d433e3c403
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio dd96fdd983 gnu: go-go-mau-fi-libsignal: Update to 0.2.1.
* gnu/packages/golang-crypto.scm (go-go-mau-fi-libsignal): Update to 0.2.1.

Relates-to: guix/guix!8655
Change-Id: Ie89222a54e530c8336dcc41a30cc57d173669c78
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio c1ad3df229 gnu: Add go-github-com-beeper-argo-go.
* gnu/packages/golang-web.scm (go-github-com-beeper-argo-go): New variable.

Relates-to: guix/guix!8655
Change-Id: Ic53a29ec2659c7d3c8abd8ac59853193212757ee
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio 1099daf023 gnu: Add go-code-rocketnine-space-tslocum-cbind.
* gnu/packages/golang-xyz.scm (go-code-rocketnine-space-tslocum-cbind): New variable.

Relates-to: guix/guix!8655
Change-Id: I72febb98a17fb30372629542ccfbaacd28789dfe
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio c82ff29e50 gnu: Add go-github-com-elliotchance-orderedmap-v3.
* gnu/packages/golang-xyz.scm (go-github-com-elliotchance-orderedmap-v3): New variable.

Relates-to: guix/guix!8655
Change-Id: I67e941a00316d44bed154472fa30dbd7f7388834
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio 9b26838b93 gnu: Add go-github-com-gen2brain-beeep.
* gnu/packages/golang-xyz.scm (go-github-com-gen2brain-beeep): New variable.

Relates-to: guix/guix!8655
Change-Id: Ia67c794b6cf2697710f7dec39ffcaa662c7abdb0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:34 +01:00
orahcio 7f676b2756 gnu: Add go-github-com-esiqveland-notify.
* gnu/packages/golang-xyz.scm (go-github-com-esiqveland-notify): New variable.

Relates-to: guix/guix!8655
Change-Id: I9711d42925dad3018872e8b5d52de6e3d9daf228
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:33 +01:00
orahcio a011ccb66a gnu: Add go-github-com-jackmordaunt-icns-v3.
* gnu/packages/golang-graphics.scm (go-github-com-jackmordaunt-icns-v3):
New variable.

Relates-to: guix/guix!8655
Change-Id: I306a31ec0ff372b29faa234be760b6cb60d46eff
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:33 +01:00
orahcio beee9fb721 gnu: Add go-github-com-sergeymakinen-go-ico.
* gnu/packages/golang-graphics.scm (go-github-com-sergeymakinen-go-ico):
New variable.

Relates-to: guix/guix!8655
Change-Id: I99edcfb5ab9ea430cbaf6f44547b1d8293da58f0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:33 +01:00
orahcio 7bb3f86293 gnu: Add go-github-com-sergeymakinen-go-bmp.
* gnu/packages/golang-graphics.scm (go-github-com-sergeymakinen-go-bmp): New variable.

Relates-to: guix/guix!8655
Change-Id: Icfd72c90bdf55258d39632cb39a76384c2887919
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:33 +01:00
orahcio d668bc43ee gnu: Add go-github-com-zyedidia-clipboard.
* gnu/packages/golang-xyz.scm (go-github-com-zyedidia-clipboard): New variable.

Relates-to: guix/guix!8655
Change-Id: Ie9360b3944464cc6026794f09acccaaf562797da
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 15:51:31 +01:00
jgart a500ce3177 gnu: trealla: Update to 2.100.25.
* gnu/packages/prolog.scm (trealla): Update to 2.100.25.

Change-Id: Ie39bfe037c19902198b2ab066f6c36c5913e73d8
2026-05-29 10:27:37 -04:00
luca 77eb5a4a3c gnu: thunar: Update to 4.20.8.
* gnu/packages.xfce.scm (thunar): Update to 4.20.8.

Merges: guix/guix!8937
Change-Id: I0e95410bf2cc6548496170e17eb4ebc9f1ff16d0
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-05-29 20:32:45 +08:00
Andreas Enge a7d4c7fe4b gnu: thunarx-python: Fix build.
* gnu/packages/xfce.scm (thunarx-python)[native-inputs]: Add
python-setuptools.

Merges: guix/guix!8931
Change-Id: Id3ebf04ce0a03b58e880bd1f0993c0a71e50f93c
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-05-29 20:32:45 +08:00
Josep Bigorra 7134d139d4 gnu: Add guile-scriba.
* gnu/packages/guile-xyz.scm (guile-scriba): New variable.

Change-Id: I7ed365dedb307a8619b54f9978e135e0214a90bc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8868
2026-05-29 14:28:29 +02:00
Josep Bigorra 9591ab8c99 gnu: guile-veritas: Update to 0.3.0.
* gnu/packages/guile-xyz.scm (guile-veritas): Update to 0.3.0.

- Added guile-json-4 to propagated-inputs

add forgotten dependency

Change-Id: I9c9e195657217ebae4b5b4b00e96c6a728263a49
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8815
2026-05-29 14:27:34 +02:00
Herman Rimm 4514f4cf19 scripts: lint: Add 'whole-file' option with ordering checker.
* guix/scripts/lint.scm (show-help): Describe option.
(%options): Add 'whole-file' option.
(guix-lint): Run checkers on packages defined in files.
* doc/guix.texi (Invoking guix lint): Document option.
* tests/guix-lint.sh: Define unordered package and invoke new option.

Change-Id: I52b48a9a6982d0c4a03416e3d070887c64716485
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8796
2026-05-29 14:23:28 +02:00
Herman Rimm 1d3d136bb0 guix: Move ‘package-location<?’ to (guix packages).
* guix/scripts/style.scm (package-location<?): Move to…
* guix/packages.scm (package-location<?): … here.

Change-Id: I8ebb37c261a1bb3fa5772177b27fd62a2553e318
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-29 14:23:28 +02:00
Sergio Pastor Pérez b7a618f9f2 gnu: tensile: Set executable permissions for Tensile Python scripts.
* gnu/packages/rocm-libs.scm (tensile): Set executable permissions for Tensile
Python scripts.

Fixes: guix/guix#8553

Change-Id: I29c07898877325af5fd8f448e74ef8ea7111a640
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8845
2026-05-29 14:17:27 +02:00
Ricardo Wurmus 33acdbdfb1 gnu: pigx-chipseq: Use latest Snakemake.
* gnu/packages/bioinformatics.scm (pigx-chipseq)[inputs]: Replace
snakemake-7 with snakemake.

Change-Id: I2b12fce7ed04be71643ae4b72931a123bbc63b36
2026-05-29 12:03:06 +02:00
Ricardo Wurmus ce49115168 gnu: pigx-bsseq: Update to 0.1.10-0.1b3a69b.
* gnu/packages/bioinformatics.scm (pigx-bsseq): Update to 0.1.10-0.1b3a69b.
[source]: Fetch git repository.
[arguments]: Add phase 'delete-GNUmakefile.
[native-inputs]: Add autoconf and automake.

Change-Id: I1be72e1016b57c0bc576de689a2edcc31a101d1e
2026-05-29 12:03:06 +02:00
Ricardo Wurmus 8be76ae944 gnu: pigx-sars-cov-2: Use latest Snakemake.
* gnu/packages/bioinformatics.scm (pigx-sars-cov-2)[inputs]: Replace
snakemake-7 with snakemake.

Change-Id: I3cd53aa84a3b49b4eabea2b93e40095d5ee957b6
2026-05-29 12:03:05 +02:00
Anderson Torres 72d813155f gnu: Add let-go.
* gnu/packages/clojure.scm (let-go): New variable.

Merges: guix/guix!8619
Change-Id: I7e2ba76758a16a6a60040582b07cca8d9c70833a
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 10:18:59 +01:00
Anderson Torres decfac5d56 gnu: clojure.scm: Reorder #:use-module directives alphabetically.
* gnu/packages/clojure.scm: Reorder #:use-module directives alphabetically.

Relates-to: guix/guix!8619
Change-Id: I2c73c5fd9902cff2222964b375544f42f711be5a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 10:18:59 +01:00
Anderson Torres 7519fe23c0 gnu: Add go-github-com-zeebo-bencode.
* gnu/packages/golang-xyz.scm (go-github-com-zeebo-bencode): New variable.

Relates-to: guix/guix!8619
Change-Id: I43b6841b81f99afa1417367715cb492e4d34acb6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29 10:18:59 +01:00
Anderson Torres 01d66eb90b gnu: Add go-github-com-alimpfard-line.
* gnu/packages/golang-xyz.scm (go-github-com-alimpfard-line): New variable.

Relates-to: guix/guix!8619
Change-Id: I60ea28e595c1ae80db635449abcd360ca6cd6a8c
2026-05-29 10:18:59 +01:00
Andreas Enge 3288e2f586 gnu: sage: Update to 10.9.
* gnu/packages/sagemath.scm (sage): Update to 10.9.

Change-Id: If8f93389ffe8bb8449476e61bfcb83d61c2c3839
2026-05-29 10:58:23 +02:00
Arun Isaac b8354c2979 services: mumi: Make rsync and index timer event configurable.
* gnu/services/web.scm (<mumi-configuration>)[rsync-and-index-event]: New
field.
* gnu/services/web.scm (mumi-shepherd-services): Use it.
* doc/guix.texi (Web Services)[Mumi]: Document it.

Change-Id: I5910c4a93106b44eaf3900d6a72fb501c01b8773
2026-05-29 09:48:26 +01:00
44 changed files with 1526 additions and 507 deletions
+34 -7
View File
@@ -53,7 +53,7 @@ Copyright @copyright{} 2017, 2019--2026 Maxim Cournoyer@*
Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025 Arun Isaac@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025, 2026 Arun Isaac@*
Copyright @copyright{} 2017 nee@*
Copyright @copyright{} 2018 Rutger Helling@*
Copyright @copyright{} 2018, 2021, 2023, 2025, 2026 Oleg Pykhalov@*
@@ -124,7 +124,7 @@ Copyright @copyright{} 2023 Thomas Ieong@*
Copyright @copyright{} 2023 Saku Laesvuori@*
Copyright @copyright{} 2023 Graham James Addis@*
Copyright @copyright{} 2023-2025 Tomas Volf@*
Copyright @copyright{} 2024, 2025 Herman Rimm@*
Copyright @copyright{} 2024-2026 Herman Rimm@*
Copyright @copyright{} 2024 Matthew Trzcinski@*
Copyright @copyright{} 2024 Richard Sent@*
Copyright @copyright{} 2024 Dariqq@*
@@ -16124,6 +16124,10 @@ 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
@@ -16710,6 +16714,12 @@ guix lint @var{options} @var{package}@dots{}
@end example
If no package is given on the command line, then all packages are checked.
To check packages in particular source files, the syntax is:
@example
guix lint @var{options} --whole-file @var{file}@dots{}
@end example
The @var{options} may be zero or more of the following:
@table @code
@@ -16747,9 +16757,23 @@ Only enable the checkers that do not depend on Internet access.
Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
This allows users to define their own packages and make them visible to
the command-line tools.
@item --whole-file
@itemx -f
Check the top-level package definitions in the given files; subsequent
arguments are treated as file names rather than package names. This
option also enables a special checker which checks if a package
alphabetically succeeds the one above it.
For example, to check if the packages in @file{gnu/packages/matrix.scm}
are sorted alphabetically, and if the package names therein follow
established conventions, run:
@example
guix lint -c name -f gnu/packages/matrix.scm
@end example
The previous two options allow users to define their own packages and
make them visible to the command-line tools.
@end table
@node Invoking guix size
@@ -36741,13 +36765,16 @@ The Mumi package to use.
Data directory to store Debbugs data from upstream Debbugs instance.
@item @code{rsync-remote}
Remote rsync path from which to download Debbugs data. The remote is
polled every 5 minutes, unless a previous instance of rsync is already
running.
Remote rsync path from which to download Debbugs data.
@item @code{rsync-flags} (default: @code{'()})
Additional flags to pass to @command{rsync}.
@item @code{rsync-and-index-event} (default: @code{#~(calendar-event #:minutes '#$(iota 12 0 5))})
Shepherd calendar event to run the rsync and indexing timer at. By
default, this is once every 5 minutes. The timer job is not run if an
earlier instance of it is still running.
@item @code{mailer?} (default: @code{#true})
Whether to enable or disable the mailer component.
+4 -1
View File
@@ -1527,6 +1527,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnumach-version.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
%D%/packages/patches/gnutls-no-which.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
@@ -1992,6 +1993,7 @@ 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 \
@@ -2022,7 +2024,6 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ogs-6.5.7-netcdfconverter.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onetbb-other-arches.patch \
@@ -2116,6 +2117,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-clarabel-blas.patch \
%D%/packages/patches/python-daemon-relax-lockfile.patch \
%D%/packages/patches/python-docrepr-fix-tests.patch \
%D%/packages/patches/python-gpg-setup-72.patch \
%D%/packages/patches/python-hdmedians-replace-nose.patch \
%D%/packages/patches/python-jinja2-fragments-modify-conftest-py.patch \
%D%/packages/patches/python-louvain-fix-test.patch \
@@ -2626,6 +2628,7 @@ dist_patch_DATA = \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xdmf-3.0.0-hdf5.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
+80 -73
View File
@@ -18002,7 +18002,7 @@ expression report comparing samples in an easily configurable manner.")
fastqc
bowtie
idr
snakemake-7
snakemake
samtools
bedtools
kentutils))
@@ -18020,80 +18020,87 @@ in an easily configurable manner.")
(license license:gpl3+)))
(define-public pigx-bsseq
(package
(name "pigx-bsseq")
(version "0.1.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
"releases/download/v" version
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
"1vy3mhbrfdnjbhikwg3mgkfnwnzk96a1n27cxrr7gsffpmz9q6wa"))))
(build-system gnu-build-system)
(arguments
(list
;; TODO: tests currently require 12+GB of RAM. See
;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164
#:tests? #f
#:phases
'(modify-phases %standard-phases
(add-before 'configure 'set-PYTHONPATH
(lambda _
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
(add-before 'check 'set-timezone
;; The readr package is picky about timezones.
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZ" "UTC+1")
(setenv "TZDIR"
(search-input-directory inputs
"share/zoneinfo"))))
(add-before 'check 'pre-check
(lambda _
;; Needed for tests
(setenv "HOME" "/tmp"))))))
(native-inputs
(list tzdata-for-tests))
(inputs
(list coreutils
sed
grep
r-minimal
r-annotationhub
r-dt
r-genomation
r-ggbio
r-ggrepel
r-matrixstats
r-methylkit
r-reshape2
r-rtracklayer
r-rmarkdown
r-bookdown
r-ggplot2
r-ggbio
pandoc
python-wrapper
python-pyyaml
snakemake-7
bismark
bowtie
bwa-meth
fastqc
methyldackel
multiqc
trim-galore
cutadapt
samblaster
samtools))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
(description "PiGx BSseq is a data processing pipeline for raw fastq read
(let ((commit "1b3a69bd5363fa882af4193215de7fb475bae066"))
(package
(name "pigx-bsseq")
(version (git-version "0.1.10" "0" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BIMSBbioinfo/pigx_bsseq/")
(commit commit)
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32
"0r0gjfycgh1hqba7ma03bwxlvr2kz68yzclx5iba3wrxxqmivil6"))))
(build-system gnu-build-system)
(arguments
(list
;; TODO: tests currently require 12+GB of RAM. See
;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164
#:tests? #f
#:phases
'(modify-phases %standard-phases
;; This file is meant for development, but it interferes with
;; Makefile.
(add-after 'unpack 'delete-GNUmakefile
(lambda _ (delete-file "GNUmakefile")))
(add-before 'configure 'set-PYTHONPATH
(lambda _
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
(add-before 'check 'set-timezone
;; The readr package is picky about timezones.
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZ" "UTC+1")
(setenv "TZDIR"
(search-input-directory inputs
"share/zoneinfo"))))
(add-before 'check 'pre-check
(lambda _
;; Needed for tests
(setenv "HOME" "/tmp"))))))
(native-inputs
(list tzdata-for-tests autoconf automake))
(inputs
(list coreutils
sed
grep
r-minimal
r-annotationhub
r-dt
r-genomation
r-ggbio
r-ggrepel
r-matrixstats
r-methylkit
r-reshape2
r-rtracklayer
r-rmarkdown
r-bookdown
r-ggplot2
r-ggbio
pandoc
python-wrapper
python-pyyaml
snakemake
bismark
bowtie
bwa-meth
fastqc
methyldackel
multiqc
trim-galore
cutadapt
samblaster
samtools))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
(description "PiGx BSseq is a data processing pipeline for raw fastq read
data of bisulfite experiments; it produces reports on aggregate methylation
and coverage and can be used to produce information on differential
methylation and segmentation.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public pigx-scrnaseq
(package
@@ -18266,7 +18273,7 @@ based methods.")
r-tidyr
r-viridis
samtools
snakemake-7
snakemake
wget))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Analysis pipeline for wastewater sequencing")
+95 -47
View File
@@ -20,65 +20,113 @@
(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:))
#:prefix license:)
#:use-module (srfi srfi-1))
;; 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
`(#: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)))
(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)))))
(define-public chicken-compile-file
(package
+53 -7
View File
@@ -23,19 +23,24 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages java)
#:use-module (gnu packages maven)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (guix build-system copy)
#:use-module (guix build-system clojure))
#:use-module (guix build-system go)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public clojure-spec-alpha
(package
@@ -1253,3 +1258,44 @@ an operation on the service. invoke takes a map and returns a map, and works
the same way for every operation on every service.")
(home-page "https://github.com/cognitect-labs/aws-api")
(license license:asl2.0)))
(define-public let-go
(package
(name "let-go")
(version "1.7.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nooga/let-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "139a129fw3w9a4bcfgms60ll90vy2vmqinbmjn44zmgx4fr2adif"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.26
#:install-source? #f
#:import-path "github.com/nooga/let-go"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-alimpfard-line
go-github-com-hashicorp-go-uuid
go-github-com-kr-pretty
go-github-com-pmezard-go-difflib
go-github-com-stretchr-testify
go-github-com-zeebo-bencode
go-golang-org-x-sys
go-gopkg-in-check-v1
go-gopkg-in-yaml-v3))
(home-page "https://nooga.github.io/let-go")
(synopsis "Clojure dialect written in Go")
(description
"let-go is a Clojure dialect with a bytecode compiler and a stack virtual
machine, written in the Go programming language.
It is not a drop-in replacement for Clojure JVM. It does not load JARs and
does not aim to. Most idiomatic Clojure code runs unmodified, but a real
project with library dependencies will need adjustments.")
(license license:expat)))
+42 -7
View File
@@ -34,7 +34,7 @@
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021, 2026 Ahmad Jarara <ajarara@fastmail.com>
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@@ -42,6 +42,7 @@
;;; 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.
;;;
@@ -3005,13 +3006,17 @@ can append files to the end of such compressed archives.")
"00ibddiy62kbs9wl52c35j0hbqanx6pi7lvzkpzmbsizkj8mhp1p"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~'("-DWITH_TESTS=ON"
"-DBUILD_SHARED_LIBS=ON")))
'(#:tests? #f
#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(lib (string-append out "/lib")))
(list
"-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_SHARED_LIBS=ON"
"-DCBOR_CUSTOM_ALLOC=ON"
(string-append "-DCMAKE_INSTALL_LIBDIR=" lib)
(string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
(synopsis "The C library for parsing and generating CBOR")
(native-inputs
(list cmocka))
(description
"@acronym{CBOR, The Concise Binary Object Representation} is a data format
whose design goals include the possibility of extremely small code size, fairly
@@ -3187,3 +3192,33 @@ 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,6 +53,7 @@
;;; 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.
;;;
@@ -1433,6 +1434,9 @@ 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
@@ -1506,6 +1510,46 @@ 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"))
@@ -4480,6 +4524,29 @@ 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")
+2 -2
View File
@@ -1009,7 +1009,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
(define-public rhash
(package
(name "rhash")
(version "1.4.6")
(version "1.4.3")
(source
(origin
(method url-fetch)
@@ -1018,7 +1018,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
(file-name (string-append "rhash-" version ".tar.gz"))
(sha256
(base32
"0ylkxhkj4nzmb0iampn2lv7v4yw59x7dl8mdcxqcx2mfxv7ijq4z"))))
"0glaghjvwh9ziiqf599v0fdr6jrgc7lcnriq0h7r41k3jrkglh0y"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
+8 -8
View File
@@ -1021,7 +1021,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.8")
(version "0.30.9")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +1030,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
(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.644")
(version "8.3.652")
(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 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2312,7 +2312,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.319")
(version "1.5.320")
(source
(origin
(method git-fetch)
@@ -2321,7 +2321,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
(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.0") ;update qucsator-rf accordingly
(version "26.1.1") ;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
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
(build-system qt-build-system)
(arguments
(list
+102 -100
View File
@@ -6148,39 +6148,22 @@ have a steep learning curve.")))
(define-public openrct2-title-sequences
(package
(name "openrct2-title-sequences")
(version "0.1.2")
(version "0.4.26")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
version "/title-sequence-v" version ".zip"))
(uri (string-append "https://github.com/OpenRCT2/title-sequences"
"/releases/download/v" version
"/title-sequences.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
"0n680llpcyzl22bbphp9diz4m86gz2rn97yxlky44qspn63rgfys"))))
(build-system copy-build-system)
(arguments
`(#: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")
(list #:install-plan #~'(("." "/share/openrct2/title-sequences"))))
(native-inputs (list unzip))
(home-page "https://openrct2.io")
(synopsis "Title sequences for OpenRCT2")
(description
"openrct2-title-sequences is a set of title sequences for OpenRCT2.")
@@ -6190,38 +6173,22 @@ have a steep learning curve.")))
(define-public openrct2-objects
(package
(name "openrct2-objects")
(version "1.0.20")
(version "1.7.9")
(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 "1q7a38kcwrfijav6app1gf253yfv8b0rljbkah8040y6i7snw9mw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
(base32 "1mpa4vpgs4m9izak8h5rkfcn80jbcm2di717k97g30kf1k91wijm"))))
(build-system copy-build-system)
(arguments
`(#: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")
;; 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")
(synopsis "Objects for OpenRCT2")
(description
"openrct2-objects is a set of objects for OpenRCT2.")
@@ -6317,7 +6284,7 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
(define-public openrct2
(package
(name "openrct2")
(version "0.3.3")
(version "0.5.0")
(source
(origin
(method git-fetch)
@@ -6326,53 +6293,88 @@ 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 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
(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")))))))
(build-system cmake-build-system)
(arguments
`(#: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")
(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")
(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
@@ -6380,8 +6382,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 <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
;; regarding assets.
;; See bottom of:
;; https://github.com/OpenRCT2/OpenRCT2/blob/develop/distribution/readme.txt
(license license:gpl3+)))
(define-public openriichi
+3 -4
View File
@@ -807,7 +807,7 @@ OpenGeoSys")
(define-public ogs-serial
(package
(name "ogs-serial")
(version "6.5.7")
(version "6.5.8")
(source
(origin
(method git-fetch)
@@ -816,9 +816,7 @@ OpenGeoSys")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1wflgkbcsa4sr8g63img0ld6h4jm1b7hjzsa2m4gsbzc6j7kd41w"))
;; Remove patch on next release, likely 6.5.8
(patches (search-patches "ogs-6.5.7-netcdfconverter.patch"))))
(base32 "037il6jw2j1g7bvrwvbp20yf0cnz7c7f3wmszxfv5ay7l54sffqg"))))
(build-system cmake-build-system)
(arguments
(list
@@ -873,6 +871,7 @@ OpenGeoSys")
tclap
tfel
vtk
xdmf
xmlpatch
zlib))
(propagated-inputs
+49 -107
View File
@@ -27,7 +27,6 @@
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -83,7 +82,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -239,7 +237,7 @@ generation.")
(define-public libassuan
(package
(name "libassuan")
(version "3.0.2")
(version "3.0.1")
(source
(origin
(method url-fetch)
@@ -247,7 +245,7 @@ generation.")
version ".tar.bz2"))
(sha256
(base32
"1xin9h3vhx94j5w9p7xi3csmw1a6yfif2w4r1x8k7rk6sbd1r4yj"))))
"1ccly6aqyxv3hgshhls6qw177salcrawp0x4lsqs9ph3c4pg9w68"))))
(build-system gnu-build-system)
(arguments (if (%current-target-system)
(list #:configure-flags
@@ -269,7 +267,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
(version "1.8.0")
(version "1.6.7")
(source
(origin
(method url-fetch)
@@ -278,7 +276,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
"14lj3ld4nxf916kq01z0203x36nhgymxf0j222mg4jap16wrssr9"))))
"0qxpmadxggx5808326i9g4ya0xrnv14mfxpg7rlvckmviq5m2wng"))))
(build-system gnu-build-system)
(propagated-inputs
(list libgpg-error))
@@ -436,16 +434,16 @@ libskba (working with X.509 certificates and CMS data).")
(substitute* "checks/Makefile.in"
(("/bin/sh") (which "sh"))))))))))
(define-public gpgme-2
(define-public gpgme
(package
(name "gpgme")
(version "2.1.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
(sha256
(base32 "0azrddb51c423il7xdqcrahvi8fyhblvvs7hzgs5jqn27yjmw744"))))
(base32 "0px87fbp90xp8vf1wms02flk14zmrqsfr135f5his1kiiqjx01ga"))))
(build-system gnu-build-system)
(arguments
(list
@@ -457,7 +455,7 @@ libskba (working with X.509 certificates and CMS data).")
(propagated-inputs
;; As required by the pkg-config's Requires.private.
(list libgpg-error libassuan))
(home-page "https://gnupg.org/software/gpgme/index.html")
(home-page "https://www.gnupg.org/related_software/gpgme/")
(synopsis "Library providing simplified access to GnuPG functionality")
(description
"GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
@@ -471,107 +469,57 @@ instead. This way bug fixes or improvements can be done at a central place
and every application benefits from this.")
(license license:lgpl2.1+)))
(define-public gpgme-1
(package
(inherit gpgme-2)
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
(sha256
(base32 "0px87fbp90xp8vf1wms02flk14zmrqsfr135f5his1kiiqjx01ga"))))))
(define-public gpgme gpgme-1)
(define-public gpgmepp
(package
(name "gpgmepp")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpgmepp/gpgmepp-" version ".tar.xz"))
(sha256
(base32 "1qhn583cbi67694m3bg77ckb892in2f16src2x5m0102ix309y2p"))))
(build-system cmake-build-system)
(arguments
(list
;; FIXME: BUILD_TESTING variable is enabled by deault, but still no tests
;; are found.
#:tests? #f))
(propagated-inputs
;; As required by the pkg-config's Requires.private.
(list gpgme-2 libgpg-error))
(home-page "https://gnupg.org/software/gpgme/index.html")
(synopsis "C++ bindings/wrapper for GPGME")
(description
"GPGME++ is a C++ wrapper (or C++ bindings) for the GnuPG project's
@acronym{GPGME, GnuPG Made Easy} library.")
(license license:lgpl2.1+)))
(define-public qgpgme-qt5
(package
(inherit gpgme)
(name "qgpgme-qt5")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/qgpgme/qgpgme-" version ".tar.xz"))
(sha256
(base32 "1bb198dk49bd7yx4cf4w07acjhllilx1nczdna7139ncflj5nr0m"))))
(build-system qt-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd))
(invoke "gpg-agent" "--daemon"))))))
(propagated-inputs
(list gpgme-2 ;for FindGpgme.cmake and QGpgmeQt6Config.cmake
gpgmepp ;for QGpgmeQt6Config.cmake
libgpg-error)) ;for FindLibGpgError.cmake and QGpgmeQt6Config.cmake
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'chdir-and-symlink
(lambda* (#:key inputs #:allow-other-keys)
(let ((gpgme (assoc-ref inputs "gpgme")))
(symlink (string-append gpgme "/lib/libgpgmepp.la")
"lang/cpp/src/libgpgmepp.la")
(symlink (string-append gpgme "/lib/libgpgme.la")
"src/libgpgme.la"))
(chdir "lang/qt"))))))
(propagated-inputs (list gpgme)) ;required by QGpgmeConfig.cmake
(native-inputs
(list gnupg ;for tests
pkg-config))
(home-page "https://gnupg.org/software/gpgme/index.html")
(modify-inputs native-inputs
(prepend pkg-config)))
(inputs
(modify-inputs inputs
(prepend qtbase-5)))
(synopsis "Qt API bindings for gpgme")
(description "QGpgme provides a very high level Qt API around GpgMEpp.
QGpgME was originally developed as part of libkleo and incorporated into
gpgpme starting with version 1.7.")
(license license:gpl2+)))
(license license:gpl2+))) ;; Note: this differs from gpgme
(define-public qgpgme
(package
(inherit gpgme)
(name "qgpgme")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/qgpgme/qgpgme-" version ".tar.xz"))
(sha256
(base32 "024gdw8i5ibmq0bjjf6znhxw93chh1j21dr25m0gk9z4xsrzwcjv"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd))
(invoke "gpg-agent" "--daemon"))))))
(propagated-inputs
(list gpgme-2 ;for FindGpgme.cmake and QGpgmeQt6Config.cmake
gpgmepp ;for QGpgmeQt6Config.cmake
libgpg-error)) ;for FindLibGpgError.cmake and QGpgmeQt6Config.cmake
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'chdir-and-symlink
(lambda* (#:key inputs #:allow-other-keys)
(let ((gpgme (assoc-ref inputs "gpgme")))
(symlink (string-append gpgme "/lib/libgpgmepp.la")
"lang/cpp/src/libgpgmepp.la")
(symlink (string-append gpgme "/lib/libgpgme.la")
"src/libgpgme.la"))
(chdir "lang/qt"))))))
(propagated-inputs (list gpgme)) ;required by QGpgmeConfig.cmake
(native-inputs
(list gnupg ;for tests
pkg-config))
(home-page "https://gnupg.org/software/gpgme/index.html")
(modify-inputs native-inputs
(prepend pkg-config)))
(inputs
(modify-inputs inputs
(prepend qtbase)))
(synopsis "Qt API bindings for gpgme")
(description "QGpgme provides a very high level Qt API around GpgMEpp.")
(license license:gpl2+)))
@@ -635,20 +583,21 @@ interface (FFI) of Guile.")
(define-public python-gpg
(package
(name "python-gpg")
(version "2.0.0")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(patches (search-patches "python-gpg-setup-72.patch"))
(sha256
(base32
"0f2l0iyc8gp49i604c5wpliaa1dsyj0i0p9xc9zfj4z7fwaavdsf"))))
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; No test suite.
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-setup.py
(add-before 'build 'set-environment
(lambda _
;; GPGME is built with large file support, so we need to set
;; _FILE_OFFSET_BITS to 64 in all users of the GPGME library.
@@ -658,16 +607,9 @@ interface (FFI) of Guile.")
"extra_macros = { \"_FILE_OFFSET_BITS\": 64 }")))
#~())
(substitute* "setup.py"
(("cc") (which "gcc"))
(("\\/usr\\/lib\\/x86_64-linux-gnu( -lgpg-error)" _ keep)
(string-append #$(this-package-input "libgpg-error") "/lib"
keep))
(("\\/usr\\/lib\\/x86_64-linux-gnu( -lgpgme)" _ keep)
(string-append #$(this-package-input "gpgme") "/lib" keep))
(("\\/usr\\/local(', 'include', 'gpgme\\.h')" _ keep)
(string-append #$(this-package-input "gpgme") keep))))))))
(("cc") (which "gcc"))))))))
(inputs
(list gpgme-2 libgpg-error))
(list gpgme))
(native-inputs
(list swig-4.0 python-setuptools))
(home-page (package-home-page gpgme))
+2 -2
View File
@@ -4293,7 +4293,7 @@ purpose of improving obfs4proxy's meek_lite transport.")
(define-public go-go-mau-fi-libsignal
(package
(name "go-go-mau-fi-libsignal")
(version "0.1.2")
(version "0.2.1")
(source
(origin
(method git-fetch)
@@ -4309,7 +4309,7 @@ purpose of improving obfs4proxy's meek_lite transport.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pd2kijza7dr5nbgfw176ca1r3rmgpx8h22gqjp557awxqhw9lzr"))))
(base32 "0jwqhaaqjf5fb322karppisbg5s1la459a0cwvhbii899nzyd59k"))))
(build-system go-build-system)
(arguments
(list
+86
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -249,3 +250,88 @@ multiple return values, Go's native multiple return values are used instead.
Whenever a native GTK call could return an unexpected NULL pointer, an
additional error is returned in the Go binding.")
(license license:isc)))
(define-public go-github-com-jackmordaunt-icns-v3
(package
(name "go-github-com-jackmordaunt-icns-v3")
(version "3.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JackMordaunt/icns")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04wnxv79b1xbca16kgz98zc929q60lwcgcc6q784lkz2a1clh2z2"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
(delete-file-recursively "cmd")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/jackmordaunt/icns/v3"
#:test-flags #~(list "-vet=off")))
(propagated-inputs
(list go-github-com-nfnt-resize))
(home-page "https://github.com/jackmordaunt/icns")
(synopsis "Easily create .icns files")
(description
"This package provides Go library to easily convert @code{.jpg} and
@code{.png} to @code{.icns}, or to convert from any @code{image.Image} to
@code{.icns}.")
(license license:expat)))
(define-public go-github-com-sergeymakinen-go-bmp
(package
(name "go-github-com-sergeymakinen-go-bmp")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sergeymakinen/go-bmp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bglvxqmjvgclcfjpkznxyifj5r0bh837c2iw6x1vylc7lqcq07h"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sergeymakinen/go-bmp"))
(home-page "https://github.com/sergeymakinen/go-bmp")
(synopsis "BMP image decoder and encoder")
(description "Package bmp implements a BMP image decoder and encoder.")
(license license:bsd-3)))
(define-public go-github-com-sergeymakinen-go-ico
(package
(name "go-github-com-sergeymakinen-go-ico")
(version "1.0.0-beta.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sergeymakinen/go-ico")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "115fgnhn1j91zvkigl1x03jkc2dn6vx7qvfmm6l59d24qkfv6cwn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sergeymakinen/go-ico"))
(propagated-inputs
(list go-github-com-sergeymakinen-go-bmp))
(home-page "https://github.com/sergeymakinen/go-ico")
(synopsis "ICO and CUR file decoders and encoders")
(description "Package ico implements an ICO file decoder and encoder.")
(license license:bsd-3)))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above in alphabetic order:
;;; guix import --insert=gnu/packages/golang-graphics.scm pypi <package-name>.
;;;
+83 -29
View File
@@ -3724,6 +3724,51 @@ lookups. It implements looking up the following records:
Storage}.")
(license license:asl2.0)))
(define-public go-github-com-beeper-argo-go
(package
(name "go-github-com-beeper-argo-go")
(version "1.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/beeper/argo-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c11aqbap9yxpnc8bvzjiy5cg53brhc47hw2q24xjvbw5d90r2ff"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/beeper/argo-go"
#:embed-files #~(list "prelude.graphql")
#:test-flags
#~(list "-vet=off"
"-skip" (string-join
;; These test groups fail with panic by similar error:
;; UnsignedDecode failed for 10000000000000000000000:
;; varint: varint too large for 64-bit. Encoded:
;; 80808092abb7b2f099bc08.
(list "TestUnsignedRoundTrip"
"TestQueriesEquivalence"
"TestStarWarsEquivalence"
"TestZigZagRoundTrip"
;; UnsignedDecode error mismatch for too long
;; varint.
"TestUnsignedDecodeTooLong")
"|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-elliotchance-orderedmap-v3
go-github-com-vektah-gqlparser-v2))
(home-page "https://github.com/beeper/argo-go")
(synopsis "Go implementation of Argo for GraphQL")
(description
"Go implementation of Argo, a compact and compressible binary
serialization format for GraphQL.")
(license license:expat)))
(define-public go-github-com-beevik-ntp
(package
(name "go-github-com-beevik-ntp")
@@ -20872,28 +20917,30 @@ state machine. See @url{https://raft.github.io/raft.pdf} for more info.")
(define-public go-go-mau-fi-whatsmeow
(package
(name "go-go-mau-fi-whatsmeow")
(version "0.0.0-20241215104421-68b0856cce22")
(version "0.0.0-20260529101937-a7ea56383ec4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tulir/whatsmeow")
(commit (go-version->git-ref version))))
(url "https://github.com/tulir/whatsmeow")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1y3h132g3w6ihc8jn587wvyha9xm3sinjlr0znqq7krvynz3z8id"))))
(base32 "0i6vcn6l5sf0wsyr3k856xiz5pq3ivl9a7xd1bzqzlq74jmivivc"))))
(build-system go-build-system)
(arguments
(list
#:import-path "go.mau.fi/whatsmeow"))
(propagated-inputs
(list go-github-com-google-uuid
go-github-com-gorilla-websocket
(list go-github-com-beeper-argo-go
go-github-com-coder-websocket
go-github-com-google-uuid
go-github-com-rs-zerolog
go-go-mau-fi-libsignal
go-go-mau-fi-util
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sync
go-google-golang-org-protobuf))
(home-page "https://go.mau.fi/whatsmeow")
(synopsis "Go library for the WhatsApp web multidevice API")
@@ -23343,16 +23390,16 @@ the code or routes.")
(define-public go-maunium-net-go-mautrix
(package
(name "go-maunium-net-go-mautrix")
(version "0.22.1")
(version "0.28.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mautrix/go")
(commit (string-append "v" version))))
(url "https://github.com/mautrix/go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0msqbs3qc9ljckj41hgvp16p0sbfzm25wzldb68av9svimscwnmm"))))
(base32 "09isb4q876mkcwm2yk7vgzwhd3yw1n0s78qvdb7wpmab6vvxjnlf"))))
(build-system go-build-system)
(arguments
(list
@@ -23368,27 +23415,32 @@ the code or routes.")
;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
;; cannot embed irregular file data/text
"text")
#:test-flags
#~(list "-skip" (string-join
;; Network access is required for the tets.
(list "TestClient_Version"
"TestResolveServerName/RM_Step_3B"
"TestResolveServerName/RM_Step_3C"
"TestResolveServerName/RM_Step_3C_MSC4040"
"TestResolveServerName/RM_Step_3D"
"TestResolveServerName/RM_Step_4"
"TestResolveServerName/RM_Step_4_MSC4040"
"TestResolveServerName/maunium")
"|")
"-vet=off")))
;; XXX: The final application needs a "libolm" package.
(native-inputs
(list olm))
#:test-flags
#~(list "-skip" (string-join
;; Network access is required for the tets.
(list "TestCrossSignVerification_ScanQRAndConfirmScan"
"TestSelfVerification_Accept_QRContents"
"TestSelfVerification_ScanQRAndConfirmScan"
"TestSelfVerification_ScanQRTransactionIDCorrup"
"TestSelfVerification_ScanQRKeyCorrupted"
"TestVerification_SAS"
"TestVerification_SAS_BothCallStart"
"TestVerification_Start"
"TestVerification_StartThenCancel"
"TestVerification_Accept_NoSupportedMethods"
"TestVerification_Accept_CorrectMethodsPresented"
"TestVerification_Accept_CancelOnNonParticipati"
"TestVerification_ErrorOnDoubleAccept"
"TestVerification_CancelOnDoubleStart"
"TestClient_Version"
"TestResolveServerName"
"TestServerKeyResponse_VerifySelfSignature"
"TestServerKeyResponse_FailWithFilter")
"|"))))
(propagated-inputs
(list go-filippo-io-edwards25519
go-github-com-chzyer-readline
go-github-com-gorilla-mux
go-github-com-gorilla-websocket
go-github-com-coder-websocket
go-github-com-lib-pq
go-github-com-mattn-go-sqlite3
go-github-com-rs-xid
@@ -23405,7 +23457,9 @@ the code or routes.")
go-golang-org-x-net
go-golang-org-x-sync
go-gopkg-in-yaml-v3
go-maunium-net-go-mauflag))
go-maunium-net-go-mauflag
;; XXX: The final application needs a "libolm" package.
olm))
(home-page "https://maunium.net/go/mautrix")
(synopsis "Golang Matrix framework")
(description
+200 -2
View File
@@ -78,6 +78,7 @@
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -113,6 +114,7 @@
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-graphics)
#:use-module (gnu packages golang-maths)
#:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web)
@@ -443,6 +445,33 @@ a human-readable byte format.")
time dependencies in tests.")
(license license:asl2.0)))
(define-public go-code-rocketnine-space-tslocum-cbind
(package
(name "go-code-rocketnine-space-tslocum-cbind")
(version "0.1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/tslocum/cbind.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0a0gpzapm3jsivdf5h6lvlxhzngrmyj7xp5fdk20l8r4yba7yqsy"))))
(build-system go-build-system)
(arguments
(list
#:import-path "code.rocketnine.space/tslocum/cbind"
#:test-flags #~(list "--skip" "TestConfiguration")))
(propagated-inputs
(list go-github-com-gdamore-tcell-v2))
(home-page "https://codeberg.org/tslocum/cbind")
(synopsis "Key event handling library for tcell")
(description
"Package cbind provides a tcell key event encoding, decoding and handling
as human-readable strings.")
(license license:expat)))
(define-public go-codeberg-org-anaseto-gruid
(package
(name "go-codeberg-org-anaseto-gruid")
@@ -1840,6 +1869,33 @@ software (based on Python's
@uref{https://github.com/pycontribs/tendo, tendo}).")
(license license:expat)))
(define-public go-github-com-alimpfard-line
(package
(name "go-github-com-alimpfard-line")
(version "0.0.0-20230131232016-03b4e7dee324")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alimpfard/line")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0swjy1z7hqy4xgq2hfa457rs7p9d7fw5lmdh0zaf3n25rqv10ds1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/alimpfard/line"))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/alimpfard/line")
(synopsis "Terminal line editor")
(description
"This package provides a full reimplementation of SerenityOS's LibLine in
Go language. It supports flexible autocompletion, live prompt, buffer update
and stylisation, multiline editing and more.")
(license license:bsd-2)))
(define-public go-github-com-alsm-ioprogress
(package
(name "go-github-com-alsm-ioprogress")
@@ -9770,6 +9826,37 @@ O(1) for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.")
#~(modify-phases %standard-phases
(delete 'remove-submodule)))))))
(define-public go-github-com-elliotchance-orderedmap-v3
(package
(name "go-github-com-elliotchance-orderedmap-v3")
(version "3.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elliotchance/orderedmap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w681qsybcf34g0wn9hm6nnzc9jcdv59ahjiqdq9hs22xq0qgnjj"))))
(build-system go-build-system)
(arguments
(list
;; Projects includes v1, v2 and v3 in the same source tree.
#:import-path "github.com/elliotchance/orderedmap/v3"
#:unpack-path "github.com/elliotchance/orderedmap"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/elliotchance/orderedmap")
(synopsis "Ordered map in with amortized O(1) for Set, Get, Delete and Len")
(description
"An @code{*OrderedMap} is a high performance ordered map that maintains
amortized O(1) for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.
Internally an @code{*OrderedMap} uses the composite type
@url{https://go.dev/blog/maps, map} combined with a trimmed down linked list
to maintain the order.")
(license license:expat)))
(define-public go-github-com-elliotwutingfeng-asciiset
(package
(name "go-github-com-elliotwutingfeng-asciiset")
@@ -10102,6 +10189,36 @@ and @code{io.ReadCloser}) with overwrites
" This package is a fork of dlclark/regexp2 providing a
more similar API to regexp."))))
(define-public go-github-com-esiqveland-notify
(package
(name "go-github-com-esiqveland-notify")
(version "0.13.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/esiqveland/notify")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03d27a8rl55j6dqclg3233dj3j7v0i0p9cda06f9c4a21djamrfb"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/esiqveland/notify"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-godbus-dbus-v5))
(home-page "https://github.com/esiqveland/notify")
(synopsis "Delivering desktop notifications over DBus")
(description
"Notify is a Go library for interacting with the DBus notification
service defined by freedesktop.org at
@url{https://developer.gnome.org/notification-spec/}. Notify can deliver
desktop notifications over DBus, ala how @code{libnotify} does it.")
(license license:bsd-3)))
(define-public go-github-com-ettle-strcase
(package
(name "go-github-com-ettle-strcase")
@@ -10893,6 +11010,37 @@ library in go standard library.")
"Go library that pluralizes and singularizes English nouns.")
(license license:bsd-2)))
(define-public go-github-com-gen2brain-beeep
(package
(name "go-github-com-gen2brain-beeep")
(version "0.11.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gen2brain/beeep")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jvfspz941r93djf83gsjqw8w9v34fa9dys1465iwbq769ayizmw"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gen2brain/beeep"
#:test-flags #~(list "--skip" "TestAlert|TestNotify")))
(propagated-inputs
(list go-github-com-esiqveland-notify
go-github-com-godbus-dbus-v5
go-github-com-jackmordaunt-icns-v3
go-github-com-sergeymakinen-go-ico
go-golang-org-x-sys))
(home-page "https://github.com/gen2brain/beeep")
(synopsis "Sending desktop notifications, alerts and beeps")
(description
"Package beeep provides a cross-platform library for sending desktop
notifications and beeps.")
(license license:bsd-2)))
(define-public go-github-com-ghemawat-stream
(package
(name "go-github-com-ghemawat-stream")
@@ -29765,6 +29913,31 @@ utilities for cty Golang module.")
"Package yaml can marshal and unmarshal cty values in YAML format.")
(license license:asl2.0)))
(define-public go-github-com-zeebo-bencode
(package
(name "go-github-com-zeebo-bencode")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zeebo/bencode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c6bw1if1vbcr9l4684a4jdri8z31m8msjpp7z6y2p9s1jqjhkrp"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zeebo/bencode"))
(home-page "https://github.com/zeebo/bencode")
(synopsis "Bencode marshal and unmarshal library")
(description
"This library implements encoding and decoding of
@url{https://wiki.theory.org/BitTorrentSpecification#Bencoding, bencoded}
objects.")
(license license:expat)))
(define-public go-github-com-zeebo-errs
(package
(name "go-github-com-zeebo-errs")
@@ -30078,6 +30251,31 @@ connections.")
"This package provides a pretty printing library for Golang values.")
(license license:expat)))
(define-public go-github-com-zyedidia-clipboard
(package
(name "go-github-com-zyedidia-clipboard")
(version "1.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zyedidia/clipboard")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nrs2ll6dh31wyzxh2zbykwvpavhlpzysfk6qgfj5s4rz6ck8glz"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;requires clipboard (xclip or xsel)
#:import-path "github.com/zyedidia/clipboard"))
(home-page "https://github.com/zyedidia/clipboard")
(synopsis "Clipboard for Golang")
(description
"Package clipboard read/write on clipboard. It's an alternative fork of
@url{https://github.com/atotto/clipboard}.")
(license license:bsd-3)))
(define-public go-github-com-zyedidia-clipper
(package
(name "go-github-com-zyedidia-clipper")
@@ -30586,7 +30784,7 @@ Identifier (RFC3986) specification in Go.")
(define-public go-go-mau-fi-util
(package
(name "go-go-mau-fi-util")
(version "0.8.4")
(version "0.9.9")
(source
(origin
(method git-fetch)
@@ -30595,7 +30793,7 @@ Identifier (RFC3986) specification in Go.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zzkrbwgbxfppsxjck8qgj4xxzpiq25sx4p3zwjh6s1yz3kfb97p"))))
(base32 "1d6365n4j5hx172mi5f9rk49l7cgcbf8qvi721b0l34j2m036rsy"))))
(build-system go-build-system)
(arguments
(list
+35 -3
View File
@@ -4019,6 +4019,38 @@ with documentation.
;; details.
(license license:gpl3+)))
(define-public guile-scriba
(package
(name "guile-scriba")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jjba23/scriba.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1chhbhy21g6zghc3alpqhvb6nizylmzzapjariykv41f47ynhljs"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"))
(propagated-inputs (list guile-json-4))
(inputs (list guile-3.0))
(synopsis "Structured logging framework for Guile Scheme")
(description
"Scriba is a structured logging library for GNU Guile that prioritizes
flexibility and observability. It provides modular log routing, formatting,
and filtering, allowing developers to generate human-readable console logs
during development and machine-readable JSON logs for production environments.
Key features include an auto-logger configured via environment variables,
dynamically scoped log contexts using Scheme parameters, ahead-of-time log
level filtering, and minimal runtime overhead achieved through memoization
and compile-time macros.")
(home-page "https://codeberg.org/jjba23/scriba")
(license license:lgpl3+)))
(define-public guile-simple-iterators
(let ((commit "50f16a2b2aa57e657e52e19fb3c35bdc182cfa36")
(revision "0"))
@@ -7526,7 +7558,7 @@ in a large number of randomly generated test cases.")
(define-public guile-veritas
(package
(name "guile-veritas")
(version "0.1.6")
(version "0.3.0")
(source
(origin
(method git-fetch)
@@ -7535,13 +7567,13 @@ in a large number of randomly generated test cases.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h4si2p8gj4wfhvn4cshga2kjxf59vd4nwvxkc2i3g5gv3kxhm3k"))))
(base32 "1i64pd5pcx37i25hnks7zj8pbwf1fdy0s5y9ic2sgn800zqq1dxy"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"))
(native-inputs (list guile-3.0))
(propagated-inputs (list guile-fibers))
(propagated-inputs (list guile-fibers guile-json-4))
(home-page "https://codeberg.org/jjba23/veritas")
(synopsis "Testing framework for Guile")
(description
+1 -1
View File
@@ -1521,7 +1521,7 @@ libraries designed for computer vision research and implementation.")
python
onetbb
vxl-1
zlib))
zlib-ng-compat))
(native-inputs
(list castxml
git-minimal
+2 -2
View File
@@ -4540,7 +4540,7 @@ to separate the structure of documents from the data they contain.")
(native-inputs
(list extra-cmake-modules kdoctools pkg-config))
(inputs
(list gpgme-2
(list gpgme
kauth
kcodecs
kconfig
@@ -4585,7 +4585,7 @@ the passwords on KDE work spaces.")
(native-inputs
(list extra-cmake-modules kdoctools-5))
(inputs
(list gpgme-2
(list gpgme
kauth-5
kcodecs-5
kconfig-5
+8 -8
View File
@@ -581,7 +581,7 @@ PIM data into Akonadi for use in KDE PIM applications.")
akonadi-mime
boost
breeze-icons
gpgme-2
gpgme
grantleetheme
kcmutils
kcontacts
@@ -785,7 +785,7 @@ information.")
akonadi-mime
akonadi-search
boost
gpgme-2
gpgme
grantleetheme
kcalendarcore
kcmutils
@@ -1552,7 +1552,7 @@ protocol for querying and modifying directory services running over TCP/IP.")
kdoctools))
(inputs
(list boost
gpgme-2
gpgme
kcmutils
kcodecs
kconfig
@@ -1614,7 +1614,7 @@ and retrieving certificates from LDAP servers.")
akonadi-mime
akonadi-search
boost
gpgme-2
gpgme
grantleetheme
kaddressbook
kbookmarks
@@ -1788,7 +1788,7 @@ KMail.")
(inputs
(list akonadi-contacts
boost
gpgme-2
gpgme
grantleetheme
karchive
kcodecs
@@ -1972,7 +1972,7 @@ using a Qt/KMime C++ API.")
(list akonadi-contacts
akonadi-search
boost
gpgme-2
gpgme
grantleetheme
karchive
kcalendarcore
@@ -2634,7 +2634,7 @@ various Google services.")
(list extra-cmake-modules kdoctools qttools))
(inputs
(list boost
gpgme-2
gpgme
kcodecs
kcompletion
kconfig
@@ -2648,7 +2648,7 @@ various Google services.")
kpimtextedit
qgpgme))
(propagated-inputs
(list gpgme-2 qgpgme))
(list gpgme qgpgme))
(arguments
(list
#:qtbase qtbase
+1 -1
View File
@@ -344,7 +344,7 @@ your computer.")
"02g9k51srrqslapjxzcymnmy9v1frv9pkgg8wmf6d0607hwkaff5"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list gpgme-2
(inputs (list gpgme
kauth
karchive
kcoreaddons
+2 -2
View File
@@ -60,14 +60,14 @@ Java libraries.")
(define-public libidn2
(package
(name "libidn2")
(version "2.3.8")
(version "2.3.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libidn/" name "-" version
".tar.gz"))
(sha256
(base32
"0ykqq39yacg9vvf2alyl5sskbfr531dmzwrgyzhj25hpyqdr2mzm"))))
"0r3xzmmrx4hsc53jdncd5yqmkwzjgc4vh4hfkndm3f8hns8sf8ac"))))
(inputs
(list libunistring))
(build-system gnu-build-system)
+8 -8
View File
@@ -1218,6 +1218,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-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
@@ -1234,12 +1240,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.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,6 +1979,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-7.0)
(define-public linux-libre-arm64-mnt-reform-6.19
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -2315,8 +2317,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-6.18)
(define-public linux-libre-arm64-mnt-reform-6.12
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
+32
View File
@@ -11732,3 +11732,35 @@ use the library and researchers to make new capabilities available under a
common interface.
")
(license license:bsd-3)))
(define-public xdmf
(package
(name "xdmf")
;; Project does not publish releases / tags
(properties '((commit . "04a84bab0eb1568e0f1a27c8fb60c6931efda003")
(revision . "0")))
(version (git-version "3.0.0"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.kitware.com/xdmf/xdmf")
(commit (assoc-ref properties 'commit))))
(file-name (git-file-name name version))
(patches
(search-patches "xdmf-3.0.0-hdf5.patch"))
(sha256
(base32 "06k4vibkvgxlzkn06x470aq5q18p7yhql8awrpdz3czys3z8i288"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ;has no tests
(inputs
(list boost hdf5 libxml2))
(home-page "https://www.xdmf.org/index.html")
(synopsis "XDMF library")
(description
"This package provides the eXtensible Data Model and Format (XDMF) C++
library.")
(license license:bsd-4)))
+10 -3
View File
@@ -11,6 +11,7 @@
;;; Copyright © 2025 Arjan Adriaanse <arjan@adriaan.se>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2026 Zheng Junjie <z572@z572.online>
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,7 +60,7 @@
(define-public mautrix-whatsapp
(package
(name "mautrix-whatsapp")
(version "0.11.2")
(version "0.2605.0")
(source
(origin
(method git-fetch)
@@ -68,7 +69,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wn9kldhh865w5mbg3cl61m0db9nr7zl1j8lqs2dixsaihv1lbnx"))))
(base32 "02gmzby57vn5cc23m2laqcqqkvghlabm08fzjzqfzx8g18cmymas"))))
(build-system go-build-system)
(arguments
(list
@@ -105,7 +106,13 @@
;; go.mau.fi/webp/webp.go:14:12: pattern internal: cannot embed
;; directory internal: contains no embeddable files
".*\\.c"
".*\\.h")))
".*\\.h"
;; go.mau.fi/whatsmeow/argo/argo.go:16:13:
;; pattern argo-wire-type-store.argo: cannot embed
".*\\.argo"
;; go.mau.fi/whatsmeow/argo/argo.go:19:13:
;; pattern name-to-queryids.json: cannot embed
".*\\.json")))
(native-inputs
(list olm
go-github-com-gorilla-mux
+51
View File
@@ -47,6 +47,7 @@
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Adrien 'neox' Bourmault <neox@gnu.org>
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3459,6 +3460,56 @@ a persistent connection to an IRC server, acting as a proxy and buffer for
a number of clients.")
(license license:gpl3+)))
(define-public whatscli
(package
(name "whatscli")
(version "1.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/normen/whatscli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ijp0783h4hivj33qi10azhq1bl512jq1wrva2alpkv7wp4qhnw6"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/normen/whatscli"
#:embed-files #~(list ".*\\.argo" ".*\\.json" ".*\\.sql")))
(native-inputs
(list go-code-rocketnine-space-tslocum-cbind
go-github-com-adrg-xdg
go-github-com-gdamore-tcell-v2
go-github-com-gen2brain-beeep
go-github-com-mattn-go-colorable
go-github-com-mattn-go-sqlite3
go-github-com-rivo-tview
go-github-com-skip2-go-qrcode
go-github-com-skratchdot-open-golang
go-github-com-zyedidia-clipboard
go-go-mau-fi-whatsmeow
go-google-golang-org-protobuf
go-gopkg-in-ini-v1))
(home-page "https://github.com/normen/whatscli")
(synopsis "Command line interface for WhatsApp")
(description
"WhatsCLI is a command-line interface for WhatsApp that connects
through the Web App API without requiring a browser. It provides a
terminal-based user interface built with tview, featuring:
@itemize
@item Sending and receiving WhatsApp messages in a terminal
@item QR code setup for simple authentication
@item Downloading and opening image, video, audio, and document attachments
@item Sending images, video, audio, and document attachments
@item Basic group management capabilities
@item Desktop notifications support
@item Color customization options
@end itemize")
(license license:expat)))
(define-public weechat-wee-slack
(package
(name "weechat-wee-slack")
@@ -0,0 +1,92 @@
Upstream-status:
diff --git a/tests/pkcs11-tool.sh b/tests/pkcs11-tool.sh
index 2d650b52f..e64803fc3 100755
--- a/tests/pkcs11-tool.sh
+++ b/tests/pkcs11-tool.sh
@@ -64,7 +64,7 @@ if ! test -f "${SOFTHSM_MODULE}"; then
exit 77
fi
-if [ -z "$(which pkcs11-tool 2>/dev/null)" ]; then
+if ! command -v pkcs11-tool >/dev/null; then
echo "Need pkcs11-tool from opensc package to run this test."
exit 77
fi
diff --git a/tests/tpm2.sh b/tests/tpm2.sh
index d48364c6c..a03945da8 100755
--- a/tests/tpm2.sh
+++ b/tests/tpm2.sh
@@ -29,22 +29,22 @@ if ! test -x "${CERTTOOL}"; then
exit 77
fi
-if [ -z "$(which swtpm 2>/dev/null)" ]; then
+if ! command -v swtpm >/dev/null; then
echo "Need swtpm package to run this test."
exit 77
fi
-if [ -z "$(which ncat 2>/dev/null)" ]; then
+if ! command -v ncat >/dev/null; then
echo "Need ncat from nmap-ncat package to run this test."
exit 77
fi
-if [ -z "$(which tpm2_startup 2>/dev/null)" ]; then
+if ! command -v tpm2_startup >/dev/null; then
echo "Need tpm2_startup from tpm2-tools package to run this test."
exit 77
fi
-if [ -z "$(which base64 2>/dev/null)" ]; then
+if ! command -v base64 >/dev/null; then
echo "Need the base64 tool to run this test."
exit 77
fi
@@ -58,7 +58,7 @@ case `"$OPENSSL" version` in
;;
esac
-if [ -z "$(which tpm2tss-genkey 2>/dev/null)" ]; then
+if ! command -v tpm2tss-genkey >/dev/null; then
echo "Need tpm2tss-genkey from tpm2-tss-engine package to run this test."
exit 77
fi
diff --git a/tests/tpmtool_test.sh b/tests/tpmtool_test.sh
index a14242808..962d571f6 100755
--- a/tests/tpmtool_test.sh
+++ b/tests/tpmtool_test.sh
@@ -28,27 +28,27 @@ if [ "$(id -u)" -ne 0 ]; then
exit 77
fi
-if [ -z "$(which swtpm 2>/dev/null)" ]; then
+if ! command -v swtpm >/dev/null; then
echo "Need swtpm package to run this test."
exit 77
fi
-if [ -z "$(which tcsd 2>/dev/null)" ]; then
+if ! command -v tcsd >/dev/null; then
echo "Need tcsd (TrouSerS) package to run this test."
exit 77
fi
-if [ -z "$(which tpm_createek 2>/dev/null)" ]; then
+if ! command -v tpm_createek >/dev/null; then
echo "Need tpm_createek from tpm-tools package to run this test."
exit 77
fi
-if [ -z "$(which ncat 2>/dev/null)" ]; then
+if ! command -v ncat >/dev/null; then
echo "Need ncat from nmap-ncat package to run this test."
exit 77
fi
-if [ -z "$(which expect 2>/dev/null)" ]; then
+if ! command -v expect >/dev/null; then
echo "Need expect from expect package to run this test."
exit 77
fi
@@ -0,0 +1,141 @@
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)
@@ -1,23 +0,0 @@
Upstream fix
https://gitlab.opengeosys.org/ogs/ogs/-/commit/9a8399b0d3cff032e70fe79a85dc35c4e7c662f2
diff --git a/Applications/Utils/FileConverter/NetCdfConverter.cpp b/Applications/Utils/FileConverter/NetCdfConverter.cpp
index c6fb9f151d..622bd2cd54 100644
--- a/Applications/Utils/FileConverter/NetCdfConverter.cpp
+++ b/Applications/Utils/FileConverter/NetCdfConverter.cpp
@@ -232,11 +232,12 @@ static bool dimensionSelectionLoop(NcVar const& var,
if (n_dims > 1)
{
std::string temp_str("");
- cout << "Is the parameter time-dependent?\n";
+ std::cout << "Is the parameter time-dependent?\n";
while (dim_idx_map[0] == std::numeric_limits<std::size_t>::max() &&
is_time_dep == true)
{
- cout << "Enter ID for temporal dimension or \"c\" to continue: ";
+ std::cout
+ << "Enter ID for temporal dimension or \"c\" to continue: ";
std::getline(std::cin, temp_str);
std::stringstream str_stream(temp_str);
if (str_stream.str() == "c" || str_stream.str() == "continue")
@@ -0,0 +1,22 @@
Inspired by
https://github.com/gentoo/gentoo/commit/2ad1ddf9b8b0e0b1f91fc3dd9412ad2f9c1346c3
see also
https://dev.gnupg.org/rMecd0c86d62351d267bdc9566286c532a394c711b
Gemeinsame Unterverzeichnisse: gpg-1.10.0.alt/examples und gpg-1.10.0/examples.
Gemeinsame Unterverzeichnisse: gpg-1.10.0.alt/gpg und gpg-1.10.0/gpg.
diff -u gpg-1.10.0.alt/setup.py gpg-1.10.0/setup.py
--- gpg-1.10.0.alt/setup.py 2025-12-13 21:18:02.595203761 +0100
+++ gpg-1.10.0/setup.py 2025-12-13 21:19:42.624197460 +0100
@@ -220,9 +220,9 @@
def run(self):
self._generate()
- swig_sources.extend((self._in_build_base('gpgme.i'), self._in_build_base('helpers.c')))
- swig_opts.extend(['-I' + self.build_base,
- '-outdir', os.path.join(self.build_lib, 'gpg')])
+ swige.sources.extend((self._in_build_base('gpgme.i'), self._in_build_base('helpers.c')))
+ swige.swig_opts.extend(['-I' + self.build_base,
+ '-outdir', os.path.join(self.build_lib, 'gpg')])
include_dirs.insert(0, self.build_base)
self.run_command('build_ext')
@@ -0,0 +1,45 @@
From 92a851f1acb87ad5367eb62f9b97785bedb700bb Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Thu, 28 Oct 2021 22:34:00 +0200
Subject: [PATCH] Detect if hid_t is defined in new versions of HDF5
In HDF5 development the header file guards were changed,
namely the leading underscore was removed. This lead to
a redefinition of the hid_t type, which is int64_t.
The change happened in commit
https://github.com/HDFGroup/hdf5/commit/c17b4b93d680340af2b3f2c026f2c03c3baeb33ahttps://github.com/HDFGroup/hdf5/commit/c17b4b93d680340af2b3f2c026f2c03c3baeb33a
and is published in HDF5 version hdf5-1_13_0-rc6.
---
core/XdmfHDF5Controller.hpp | 2 +-
core/XdmfHDF5Writer.hpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/XdmfHDF5Controller.hpp b/core/XdmfHDF5Controller.hpp
index c5c15d0a..b52bab3f 100644
--- a/core/XdmfHDF5Controller.hpp
+++ b/core/XdmfHDF5Controller.hpp
@@ -30,7 +30,7 @@
// So that hdf5 does not need to be included in the header files
// It would add a dependancy to programs that use Xdmf
-#ifndef _H5Ipublic_H
+#if !defined(_H5Ipublic_H) && !defined(H5Ipublic_H)
#ifndef XDMF_HID_T
#define XDMF_HID_T
typedef int hid_t;
diff --git a/core/XdmfHDF5Writer.hpp b/core/XdmfHDF5Writer.hpp
index cfbec6f4..6f8cfd4f 100644
--- a/core/XdmfHDF5Writer.hpp
+++ b/core/XdmfHDF5Writer.hpp
@@ -31,7 +31,7 @@
// So that hdf5 does not need to be included in the header files
// It would add a dependancy to programs that use Xdmf
-#ifndef _H5Ipublic_H
+#if !defined(_H5Ipublic_H) && !defined(H5Ipublic_H)
#ifndef XDMF_HID_T
#define XDMF_HID_T
typedef int hid_t;
--
GitLab
+2 -2
View File
@@ -237,7 +237,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.100.24")
(version "2.100.25")
(source
(origin
(method git-fetch)
@@ -246,7 +246,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "09jm5hs2lv481yzf76p646jx6467zx98bbbsg24xh3glk1f9gaaq"))
(base32 "1si84zaihsi2zwr0qdfr6kjcrly6ih1br0r6v58xm9v9db5zpx6x"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
+11 -1
View File
@@ -297,7 +297,17 @@ configurations deterministically based on compute and memory latencies.")
"availableArchs = ['"
(string-join (current-amd-gpu-targets) "', '") "']")))
(setenv "TENSILE_ROCM_ASSEMBLER_PATH"
(string-append (which "clang"))))))))
(string-append (which "clang")))))
;; Packages, such as rocblas, expect to be able to run those scripts
;; in their CMake builds.
(add-after 'install 'adjust-tensile-binaries-permissions
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((site-packages (site-packages inputs outputs)))
(with-directory-excursion (string-append site-packages
"/Tensile/bin")
;; Use `make-file-executable' once #7224 is merged.
(chmod "Tensile" #o555)
(chmod "TensileCreateLibrary" #o555))))))))
(native-inputs
(list python-filelock
python-pandas
+2 -2
View File
@@ -365,7 +365,7 @@ database.")
(define-public sage
(package
(name "sage")
(version "10.7")
(version "10.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -374,7 +374,7 @@ database.")
(file-name (git-file-name name version))
(sha256
(base32
"0513nmym1shlj0vkb982hpj1v86f327w5kav0523wk1xljc432cx"))))
"1rbwhhxj6iizfcgbzd63lf1g1dh24253mmmzgfkvcbv6hx0l507h"))))
(build-system pyproject-build-system)
(native-inputs
(list autoconf automake m4 pkg-config ; for ./bootstrap
+4 -3
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2021, 2026 Ahmad Jarara <ajarara@fastmail.com>
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@@ -1163,8 +1163,9 @@ phone and a running pcscd service are required.")
(arguments
(list
#:configure-flags
#~(list
(string-append "-DUDEV_RULES_DIR=" #$output "/lib/udev/rules.d"))))
#~(list (string-append "-DUDEV_RULES_DIR=" #$output "/lib/udev/rules.d"))
;; regress tests enabled only for debug builds
#:tests? #f))
(synopsis "Library functionality and command-line tools for FIDO devices")
(description "libfido2 provides library functionality and command-line
tools to communicate with a FIDO device over USB, and to verify attestation
+5 -4
View File
@@ -151,14 +151,14 @@ in intelligent transportation networks.")
(define-public p11-kit
(package
(name "p11-kit")
(version "0.26.2")
(version "0.25.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/p11-glue/p11-kit/releases/"
"download/" version "/p11-kit-" version ".tar.xz"))
(sha256
(base32 "0a7qxkfaj7ayq5b3vw850h6ndr88f37ygmbk3qaa64s8v929zz89"))))
(base32 "1rcq2578aq3ag288qnvdmj4a2wbihncndbr6iw0vxcfda1jail04"))))
(build-system gnu-build-system)
(native-inputs
(list nss-certs ;default certificates
@@ -210,7 +210,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
(version "3.8.13")
(version "3.8.9")
(source (origin
(method url-fetch)
;; Note: Releases are no longer on ftp.gnu.org since the
@@ -218,9 +218,10 @@ living in the same process.")
(uri (string-append "mirror://gnupg/gnutls/v"
(version-major+minor version)
"/gnutls-" version ".tar.xz"))
(patches (search-patches "gnutls-no-which.patch"))
(sha256
(base32
"0zn9m5nb3a4r9rh5ws3xaczbals7vrvy7ahl9xnl5hh9pz0qxvgz"))))
"1v9090cbajf02cw01idfbp0cgmgjn5091ff1b96hqryi0bc17qb9"))))
(build-system gnu-build-system)
(arguments
(list #:tests? (not (or (%current-target-system)
+49 -25
View File
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2024 宋文武 <iyzsong@envs.net>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2026 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
;;; Copyright © 2016, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -68,6 +68,7 @@
#:use-module (gnu packages polkit)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages search)
@@ -93,6 +94,8 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define %xfce-stable-version "^4[.][0-9]*[02468][.]")
(define-public libxfce4util
(package
(name "libxfce4util")
@@ -122,7 +125,8 @@
"A general-purpose utility library with core application support for the
Xfce Desktop Environment.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfconf
(package
@@ -165,7 +169,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public libxfce4ui
(package
@@ -199,7 +204,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public catfish
(package
@@ -253,7 +259,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public elementary-xfce-icon-theme
(package
@@ -321,7 +328,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public garcon
(package
@@ -354,7 +362,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public tumbler
(package
@@ -390,7 +399,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public libxfce4windowing
(package
@@ -424,7 +434,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-panel
(package
@@ -473,7 +484,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-battery-plugin
(package
@@ -698,7 +710,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-session
(package
@@ -769,7 +782,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-settings
(package
@@ -820,12 +834,13 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar
(package
(name "thunar")
(version "4.20.6") ;stable version = even minor
(version "4.20.8") ;stable version = even minor
(source
(origin
(method git-fetch)
@@ -834,7 +849,7 @@ like appearance, display, keyboard and mouse settings.")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ayjnnpl15v4h3rpay1a127cvrlaj6qwydk496083i9494j6cp9f"))))
(base32 "0605a9vxva3bplnv4pj0qf1gk1jxacqg03czhi396qs1fgs6ihw1"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags '("--enable-maintainer-mode" ;for thunar-marshal.c
@@ -866,7 +881,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar-volman
(package
@@ -895,7 +911,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar-archive-plugin
(package
@@ -1027,7 +1044,7 @@ menu.")
(base32 "1x39pbdx4186f7bkrc9ab5q7qs783mivm2j1msyf9m1nh09y617f"))))
(build-system gnu-build-system)
(native-inputs
(list xfce4-dev-tools))
(list python-setuptools xfce4-dev-tools))
(inputs
(list exo
thunar
@@ -1075,7 +1092,8 @@ menu.")
"Window manager for Xfce, it handles the placement of windows
on the screen.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfwm4-themes
(package
@@ -1162,7 +1180,8 @@ window manager.")
optional application menu or icons for minimized applications or launchers,
devices and folders.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public gigolo
(package
@@ -1240,7 +1259,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-terminal
(package
@@ -1435,7 +1455,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public ristretto
(package
@@ -1530,7 +1551,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-notifyd
(package
@@ -1703,7 +1725,8 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-volumed-pulse
(package
@@ -2424,4 +2447,5 @@ 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 "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
+1 -1
View File
@@ -225,7 +225,7 @@ HTTP.")
make-prometheus-node-exporter-configuration
prometheus-node-exporter-configuration?
(package prometheus-node-exporter-configuration-package
(default go-github-com-prometheus-node-exporter))
(default prometheus-node-exporter))
(web-listen-address prometheus-node-exporter-web-listen-address
(default ":9100"))
(textfile-directory prometheus-node-exporter-textfile-directory
+6 -4
View File
@@ -329,6 +329,7 @@
mumi-configuration-data-directory
mumi-configuration-rsync-remote
mumi-configuration-rsync-flags
mumi-configuration-rsync-and-index-event
mumi-configuration-mailer?
mumi-configuration-sender
mumi-configuration-smtp
@@ -2355,6 +2356,9 @@ WSGIPassAuthorization On
(rsync-remote mumi-configuration-rsync-remote)
(rsync-flags mumi-configuration-rsync-flags
(default '()))
(rsync-and-index-event mumi-configuration-rsync-and-index-event
;; Run every 5 minutes by default.
(default #~(calendar-event #:minutes '#$(iota 12 0 5))))
(mailer? mumi-configuration-mailer? (default #t))
(sender mumi-configuration-sender (default #f))
(smtp mumi-configuration-smtp (default #f))
@@ -2465,7 +2469,7 @@ WSGIPassAuthorization On
"/lib/locale")))
(match-record config <mumi-configuration>
(mumi mailer? sender smtp)
(mumi rsync-and-index-event mailer? sender smtp)
(list (shepherd-service
(provision '(mumi))
(documentation "Mumi bug-tracking web interface.")
@@ -2482,9 +2486,7 @@ WSGIPassAuthorization On
(provision '(mumi-rsync-and-index))
(modules '((shepherd service timer)))
(start #~(make-timer-constructor
;; Run every 5 minutes, unless an instance of
;; this job is already running.
(calendar-event #:minutes '#$(iota 12 0 5))
#$rsync-and-index-event
(command (list #$(mumi-rsync-and-index config)))
#:log-file #$%mumi-rsync-and-index-log
#:max-duration (* 2 60 60)
+8 -1
View File
@@ -206,7 +206,14 @@ a version prefix when PARTIAL-VERSION? is #t."
(old-reference (origin-uri (package-source package)))
(tags (get-package-tags package))
(versions (map car tags))
(version (find-version versions version partial-version?))
(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?))
(tag (assoc-ref tags version)))
(and version
(upstream-source
+11
View File
@@ -120,6 +120,8 @@
define-deprecated-package
package-field-location
package-location<?
this-package-input
this-package-native-input
@@ -874,6 +876,15 @@ if FIELD could not be found."
#f)))
(_ #f)))
(define (package-location<? p1 p2)
"Return true if P1's location is \"before\" P2's."
(let ((loc1 (package-location p1))
(loc2 (package-location p2)))
(and loc1 loc2
(if (string=? (location-file loc1) (location-file loc2))
(< (location-line loc1) (location-line loc2))
(string<? (location-file loc1) (location-file loc2))))))
(define-syntax-rule (this-package-input name)
"Return the input NAME of the package being defined--i.e., an input
from the inputs or propagated-inputs field. Native inputs are not
+49 -6
View File
@@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019, 2020 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2024, 2026 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,8 +29,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix scripts lint)
#:use-module (guix diagnostics)
#:use-module (guix packages)
#:use-module (guix lint)
#:use-module (guix modules)
#:use-module (guix ui)
#:use-module (guix store)
#:use-module (guix scripts)
@@ -87,6 +90,28 @@
checkers)
(exit 0))
(define* (process-whole-file file checkers #:key store)
"Run the given CHECKERS on packages in FILE and check that the
packages are sorted alphabetically."
(load* file '())
(let* ((module (resolve-interface (file-name->module-name file)))
(packages (sort (fold-packages cons '() (list module))
package-location<?)))
(fold (lambda (package previous)
(let ((line (location-line (package-location package)))
(name (package-name package)))
(run-checkers package checkers #:store store)
(and (string<? name previous)
(emit-warnings
(list (lint-warning
(package package)
(location (location file line 0))
(message-text
(G_ "breaks from alphabetical order"))
(message-data '())))))
name))
"" packages)))
;;;
;;; Command-line options.
@@ -115,6 +140,9 @@ run the checkers on all packages.\n"))
-L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
(display (G_ "
-f, --whole-file check the packages defined in the given file(s)"))
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-l, --list-checkers display the list of available lint checkers"))
@@ -161,6 +189,9 @@ run the checkers on all packages.\n"))
(lambda args
(leave-on-EPIPE (show-help))
(exit 0)))
(option '(#\f "whole-file") #f #f
(lambda (opt name arg result)
(alist-cons 'whole-file? #t result)))
(option '(#\l "list-checkers") #f #f
(lambda (opt name arg result)
(alist-cons 'list? #t result)))
@@ -187,12 +218,17 @@ run the checkers on all packages.\n"))
#:build-options? #f))
(let* ((opts (parse-options))
(args (filter-map (match-lambda
(('argument . spec)
(specification->package spec))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f))
(whole-file? (assoc-ref opts 'whole-file?))
(args (filter-map (if whole-file?
(match-lambda
(('argument . file) file)
(_ #f))
(match-lambda
(('argument . spec)
(specification->package spec))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f)))
(reverse opts)))
(no-checkers (or (assoc-ref opts 'exclude) '()))
(the-checkers (filter (lambda (checker)
@@ -221,6 +257,13 @@ run the checkers on all packages.\n"))
(call-maybe-with-store
(lambda (store)
(cond
(whole-file?
(when (null? args)
(warning (G_ "no files specified, nothing to do~%")))
(for-each
(lambda (file)
(process-whole-file file checkers #:store store))
args))
((null? args)
(fold-packages (lambda (p r) (run-checkers p checkers
#:store store)) '()))
-9
View File
@@ -603,15 +603,6 @@ bailing out~%"))
#:format-comment canonicalize-comment
#:format-vertical-space canonicalize-vertical-space)))))
(define (package-location<? p1 p2)
"Return true if P1's location is \"before\" P2's."
(let ((loc1 (package-location p1))
(loc2 (package-location p2)))
(and loc1 loc2
(if (string=? (location-file loc1) (location-file loc2))
(< (location-line loc1) (location-line loc2))
(string<? (location-file loc1) (location-file loc2))))))
;;;
;;; Whole-file formatting.
+18 -2
View File
@@ -1,5 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
# Copyright © 2026 Herman Rimm <herman@rimm.ee>
#
# This file is part of GNU Guix.
#
@@ -35,12 +36,20 @@ cat > "$module_dir/foo.scm"<<EOF
#:use-module (guix packages)
#:use-module (gnu packages base))
;; This definition uses (the line number of) the hello package location
;; instead of generating a new one.
(define-public hi hello)
(define-public dummy
(package (inherit hello)
(name "dummy")
(version "42")
(synopsis "dummy package")
(description "dummy package. Only used for testing purposes.")))
(define-public bar
(package (inherit dummy)
(name "bar")))
EOF
GUIX_PACKAGE_PATH="$module_dir"
@@ -52,10 +61,11 @@ grep_warning ()
echo $res
}
# Three issues with the dummy package:
# Issues with the dummy package:
# 1) the synopsis starts with the package name;
# 2) the synopsis starts with a lower-case letter;
# 3) the description has a single space following the end-of-sentence period.
# 3) the description has a single space following the end-of-sentence period;
# 4) the alphabetically lesser bar package succeeds it.
out=`guix lint -c synopsis,description dummy 2>&1`
test `grep_warning "$out"` -eq 3
@@ -69,6 +79,12 @@ test `grep_warning "$out"` -eq 1
out=`guix lint -c description,synopsis dummy 2>&1`
test `grep_warning "$out"` -eq 3
working_dir="$(pwd)"
cd "$module_dir"
out=`guix lint -c name -f foo.scm 2>&1`
cd "$working_dir"
test `echo "$out" | grep -E -c "breaks from alphabetical order"` -eq 1
guix lint -c synopsis,invalid-checker dummy 2>&1 | \
grep -q 'invalid-checker: invalid checker'