1
0
forked from tribes/guix

Compare commits

..

156 Commits

Author SHA1 Message Date
Saku Laesvuori f0a9b062ac gnu: packages: Update haskell packages to current Stackage
* gnu/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/dhall.scm (...): Update Haskell packages
to current Stackage.
* gnu/packages/finance.scm (...): As above.
* gnu/packages/haskell-apps.scm (...): As above.
* gnu/packages/haskell-check.scm (...): As above.
* gnu/packages/haskell-crypto.scm (...): As above.
* gnu/packages/haskell-web.scm (...): As above.
* gnu/packages/wm.scm (...): As above.
* gnu/packages/haskell-xyz.scm (...): As above.
(ghc-chell-quickcheck): Patch testsuite to work with current quickcheck.

Change-Id: I8c8bea6755121706c46606a658cba8b590780fe1

FIXUP add the chell patch

Change-Id: I5efc8f467efe85b038cd44b18acbb27826036484
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:17:38 +02:00
Saku Laesvuori 03401147f2 guix: import: stackage: Update default LTS version to 24.9
* guix/import/stackage.scm (%default-lts-version): Update to 24.9.

Change-Id: I4bd431ef79d0ecf28b9a10c46847f1d59f670c89
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori b4f7c683cd haskell-build-system: Do not re-set GHC_PACKAGE_PATH after configure
The Cabal shipped with GHC 9.10 refuses to run tests if GHC_PACKAGE_PATH
is set. Since Cabal anyway uses the package database that it was given
in configure, this environment variable is not needed for any later
phases and we may just unset it.

* guix/build/haskell-build-system.scm (configure): Do not set
  GHC_PACKAGE_PATH after unsetting it.

Change-Id: I5b2c662c31d84be79eb39688d6dd43285fbddcb3
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori b87ca9a3d5 gnu: ghc: Update to version 9.10.2
* gnu/packages/haskell.scm (ghc): Update to ghc-9.10

Change-Id: I40da6cacc4d260902cd66d7d626375038fba4346
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori 97f8dd37cd gnu: Add ghc-9.10
* gnu/packages/haskell.scm (ghc-9.10): New variable.

Change-Id: I4e4c9c4b8f135936a52ff8df16924f50de4ce726
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori f63700e8d3 gnu: Add ghc-9.8
* gnu/packages/haskell.scm (ghc-9.8): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori e8c35a2d49 gnu: ghc-9.4: Fix build for bootstrapping GHC 9.8's Hadrian
The testsuite driver's worker thread pool gets filled with zombie
processes which causes it to hang and the build to time out. No idea
what might be causing that, but as 9.4 is only used to build later GHC
versions it should be enough that they pass their testsuites.

* gnu/packages/haskell.scm
(ghc-9.4): Downgrade to 9.4.3 for bootstrapping GHC 9.8's hadrian.
<arguments>[#:tests?]: Set to #f to disable failing testsuite.

Change-Id: I2c889f5fc7a6898562fcb8377fc1f582ad835434
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori eda1a86685 gnu: patches: Fix recomp015 test in GHC testsuite
*  gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch: Append
   non-executable stack marker to ManySections.s instead of replacing
   the entire file with it.

Change-Id: I3c3cfbeb1a156412db7b4a633db2030fb0f0ee30
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:05 +02:00
André Batista 10ea4f874e gnu: ungoogled-chromium: Update to 147.0.7727.55.
Fixes various CVEs, too many to list.

* gnu/packages/chromium.scm (%preserved-third-party-files): Add
  base/third_party/nspr,
  buildtools/third_party/libc++,
  buildtools/third_party/libc++abi,
  third_party/catapult/third_party/beautifulsoup4-4.9.3,
  third_party/catapult/third_party/html5lib-1.1,
  third_party/catapult/third_party/typ,
  third_party/dawn/third_party/renderdoc,
  third_party/dawn/third_party/webgpu-headers,
  third_party/devscripts,
  third_party/devtools-frontend/src/front_end/third_party/csp_evaluator,
  third_party/devtools-frontend/src/front_end/third_party/legacy-javascript,
  third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec,
  third_party/federated_compute/chromium/fcp/confidentialcompute,
  third_party/freetype,
  third_party/fxdiv,
  third_party/hyphenation-patterns,
  third_party/icu,
  third_party/libc++,
  third_party/libpfm4,
  third_party/libpng,
  third_party/libx11,
  third_party/libxcb-keysyms,
  third_party/llvm-libc,
  third_party/neon_2_sse,
  third_party/opus,
  third_party/pdfium/third_party/lcms,
  third_party/pdfium/third_party/libopenjpeg,
  third_party/perfetto/protos/third_party/pprof,
  third_party/perfetto/protos/third_party/primes,
  third_party/perfetto/protos/third_party/simpleperf,
  third_party/pyyaml,
  third_party/sentencepiece,
  third_party/sentencepiece/src/third_party/darts_clone,
  third_party/six and
  third_party/skia/include/third_party/vulkan.
Remove:
  net/third_party/nss,
  third_party/compiler-rt/src/lib,
  third_party/libaom/source/libaom/third_party/SVT-AV1,
  third_party/skia/third_party/vulkanmemoryallocator and
  third_party/webrtc/rtc_base/third_party/sigslot.

(%chromium-version): Update to 147.0.7727.55.
(%ungoogled-origin, %debian-origin): Update hashes.
(%debian-patches): Add debianization/safe-libcxx.patch,
  disable/enterprise-tests.patch,
  disable/rustc-allow-features.patch,
  fixes/bytemuck.patch,
  fixes/libpng-testonly.patch,
  llvm-19/clang19.patch (move from bookwork),
  llvm-19/clone-traits.patch,
  llvm-19/keyfactory.patch,
  llvm-19/value-or.patch,
  llvm-22/ignore-for-ubsan.patch,
  trixie/cookie-string-view.patch and
  trixie/nodejs-main.patch.
Remove trixie/rust-no-alloc-shim.patch.

(%guix-patches): Add ungoogled-chromium-custom-compiler.patch and
ungoogled-chromium-empty-parsed-rustc-args.patch.  Remove
ungoogled-chromium-unbundle-icu-target.patch which was merged upstream.
(ungoogled-chromium-snippet): Remove icu from replace_gn_files args.  Our
icu does not have ucmndata.h, umapfile.h and putilimp.h which are required
to build now.
(ungoogled-chromium) [arguments] <#:configure-flags>: Add is_component_build,
webnn_use_tflite, fatal_linker_warnings, enable_perfetto_unittests,
skia_enable_skshapper_tests, tint_build_unittests, enable_nocompile_tests,
enable_screen_ai_browsertests flags and set them to false.  Set
use_system_icu to false.  Remove enable_glic, enable_js_type_check and
removed_rust_stdlib_libs.  The first two were removed and the last one is
not necessary any longer.  Add blink_symbol_level and v8_symbol_level and
set them to zero.
[arguments] <#:phases> {patch-stuff}: Remove compiler substitution which
is not needed anymore.  Adjust rustfmt_path to guix.
{include-pthreadpool}: New phase.
{adjust-CPLUS_INCLUDE_PATH}: Help clang find gcc's bits/c++config.h.
[inputs]: icu-77 is required now, even though we're not using it this time.

* gnu/packages/patches/ungoogled-chromium-custom-compiler.patch: Add it.
* gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch: Same.
* gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch: Remove it.
* gnu/local.mk: (Un)register the above patches.

Change-Id: I597b69b15368e9b410fa3d29342700d9ea0b0d82
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-15 13:10:02 +02:00
André Batista c5280fd612 gnu: gn: Update to 0.0-2354.6e8dcde.
* gnu/packages/build-tools.scm (gn): Update to 0.0-2354.6e8dcde.

Change-Id: Idc9f52ae9f4a758d47413922de742409d9fee4c7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-15 13:09:55 +02:00
Efraim Flashner ed63c9e8f7 gnu: rust-crates: Sort alphabetically.
* gnu/packages/rust-crates.scm: Sort rust crates alphabetically.

Change-Id: I2d793ef07dc9aff97216be21714c3bd180935ba3
2026-04-15 13:25:53 +03:00
Efraim Flashner 297b593f62 gnu: zed: Remove a prebuilt binary.
* gnu/packages/text-editors.scm (zed)[source]: Add a snippet to remove a
bundled binary.

Change-Id: Ie4d94807c51d71d8199195225a6e019512021719
2026-04-15 13:25:53 +03:00
Cayetano Santos 07ecb050c0 gnu: coreboot.scm: Update to 26.03.
* gnu/packages/coreboot.scm (%coreboot-version): Update to 26.03.
(%coreboot-origin): Update sha256.

Merges guix/guix!7862

Change-Id: I0cafb9431afeab0cb5a3ce80c3ffaf99ab27b0f6
2026-04-15 11:52:33 +02:00
Cayetano Santos ac316e522a gnu: coreboot.scm: Use local variables.
* gnu/packages/coreboot.scm (%coreboot-version, %coreboot-origin): New
variables.
* gnu/packages/coreboot.scm (bincfg, ifdtool, intelmetool,
nvramtool)[version]: Replace by %coreboot-version.
[source]: Replace by %coreboot-source.

Merges guix/guix!7862

Change-Id: I9b586347823729680a1958524985abadfa67ab09
2026-04-15 11:52:22 +02:00
Ryan Campbell 99fdbdef6a gnu: python-pynvim: Fix test_command_error with neovim 0.12.x.
Neovim 0.12.0 changed the error message for invalid cursor positions
from "Cursor position outside buffer" to "Invalid cursor line: out of
range", causing test_command_error to fail.

This applies the upstream patch temporarily until a new pynvim release
is created.

Merges guix/guix!7755

* gnu/packages/patches/python-pynvim-fix-test-command-error.patch: New
patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/vim.scm (python-pynvim)[source]: Use it.

Change-Id: Ibff0545a60948c946c420fe7118a37d161d93a30
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-15 11:42:50 +02:00
Ryan Campbell 101b12a54a gnu: neovim: Update to 0.12.1.
* gnu/packages/vim.scm (neovim): Update to 0.12.1.

Merges guix/guix!7755

Change-Id: I56afc43fff966720e80d6c85003bdb15a87d339f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-15 11:42:48 +02:00
Andreas Enge aafdf7ecf7 gnu: Remove python-pydantic-1.
* gnu/packages/python-xyz.scm (python-pydantic-1): Delete variable.

Fixes: guix/guix#7186
Change-Id: I75088c0eaa764fc6dd499801da64124eb7fbecf4
2026-04-15 11:07:31 +02:00
Ada Stevenson 0999b3268c gnu: icedove: Update to 140.9.1.
Follow-up to 6ab6e5b75d

* gnu/packages/gnuzilla.scm (%icedove-build-id, %icedove-version,
thunderbird-comm-source): Update to 140.9.1.

Change-Id: Id8f6ecb30138b6e36b3856ec795d77f8ca796df1
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-04-15 15:08:34 +09:00
Andy Tai e296f3f012 gnu: libmicrohttpd: Update to 1.0.3.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 1.0.3.

Change-Id: I018d6b06ebab5440cfc7a4fa919228a7d3c4e04e
Merges: https://codeberg.org/guix/guix/pulls/7676
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 14:07:42 +09:00
Patrick Norton 759bdcb469 gnu: fuzzel: Update to 1.14.1.
* gnu/packages/xdisorg.scm (fuzzel): 1.14.1.

Change-Id: Ib5c29af4b9bcc19013e3be2b0a698266f0a32066
Merges: https://codeberg.org/guix/guix/pulls/7675
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 14:05:01 +09:00
Foster Hangdaan ee985ff4d6 gnu: wesnoth: Update to 1.18.7.
* gnu/packages/games.scm (wesnoth): Update to 1.18.7.

Change-Id: I61040ae6417afa851c51799aef1f6245bf0c5dd0
Merges: https://codeberg.org/guix/guix/pulls/7721
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:30:48 +09:00
Danylo Kondratiev 4fdaa6e2f2 gnu: gkrellm: Update to 2.5.1.
* gnu/packages/gkrellm.scm (gkrellm): Update to 2.5.1.
  [inputs]: Drop libice.

Change-Id: Ie907b82395607dfa856000c69ea45569d4fe3266
Merges: https://codeberg.org/guix/guix/pulls/7876
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:25:55 +09:00
Danylo Kondratiev 445e61337e gnu: gkrellm: Improve style.
* gnu/packages/gkrellm.scm (gkrellm): Run guix style.
  [inputs]: Drop input labels, remove gettext-minimal.
  [native-inputs]: Add gettext-minimal.
  [source]: Set https URL scheme.
  [arguments]<#:phases>: Convert to GExps.
  [arguments]<#:make-flags>: Set CC to (cc-for-target).
  [home-page]: Set https URL scheme.

Change-Id: I854cc3cd4537dd2ed64fa34500a6b280d6573cad
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:25:13 +09:00
Daniel Martins d632b423d5 gnu: Add rtcqs.
* gnu/packages/audio.scm (rtcqs): New variable.

Change-Id: If0a28098773e3daa106830d69a87666d3fe14368
Merges: https://codeberg.org/guix/guix/pulls/7858
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:20:08 +09:00
aecepoglu 4a4ef229e6 gnu: sbcl-coalton: Update to 0.0.1-5.bf475c8.
* gnu/packages/lisp-xyz.scm (sbcl-coalton): Update to 0.0.1-5.bf475c8.

Change-Id: I92c6a057b982500ba0629ed663c5a86c0616e358
Signed-off-by: jgart <jgart@dismail.de>
2026-04-14 22:03:56 -04:00
Danny Milosavljevic 2c51b803e3 gnu: Add zed.
* gnu/packages/patches/zed-0.225.10-add-guix-container-support.patch: New file.
* gnu/packages/patches/zed-0.225.10-collapse-multiline-git-deps.patch: New
file.
* gnu/packages/patches/zed-0.225.10-disable-dlopen.patch: New file.
* gnu/packages/patches/zed-0.225.10-exclude-libwebrtc-from-audio.patch: New
file.
* gnu/packages/patches/zed-0.225.10-fix-sqlite-memory-mode.patch: New file.
* gnu/packages/patches/zed-0.225.10-fix-test-db-isolation.patch: New file.
* gnu/packages/patches/zed-0.225.10-fix-workspace-race.patch: New file.
* gnu/packages/patches/zed-0.225.10-keep-regular-file-workspaces.patch: New file.
* gnu/packages/patches/zed-0.225.10-remove-patch-crates-io.patch: New file.
* gnu/packages/patches/zed-0.225.10-use-mock-livekit-on-linux.patch: New file.
* gnu/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/rust-sources.scm (rust-alacritty-0.25.1.9d9640d,
rust-candle-0.9.1.724d75e, rust-dap-types-0.0.1.1b461b3,
rust-gh-workflow-0.8.0.c9eac0e, rust-livekit-0.7.8.5f04705,
rust-notify-8.2.0.ce58c24, rust-pet-0.1.0.d5b5bb0,
rust-tiktoken-rs-0.9.1.2570c43, rust-zed-xim-0.4.0-zed.16f35a2): New
variables.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Modify.
* gnu/packages/text-editors.scm (zed): New variable.

Change-Id: I16d4c5431e3398261ac4eb74483747c09cf74449
2026-04-15 03:19:10 +02:00
jgart 6690bf46c6 gnu: trealla: Update to 2.92.30.
* gnu/packages/prolog.scm (trealla): Update to 2.92.30.
[inputs]: Add libedit.

Change-Id: Ica510ab3eed3f79a5333dda8b5f2a460780467e7
2026-04-14 19:16:11 -04:00
Igorj Gorjaĉev 58266bb4ba gnu: jpm: Update to 1.2.0.
* gnu/packages/lisp.scm (jpm): Update to 1.2.0.

Change-Id: Ib8c7c9ac1e66a767b9e280761ae48140f866a443
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:58:15 +02:00
Foster Hangdaan 69f512e520 gnu: skopeo: Update to 1.22.2.
* gnu/packages/virtualization.scm (skopeo): Update to 1.22.2.

Change-Id: I7c860a205c40cd5efd329770f6262b80716b2e4d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:38:26 +02:00
Foster Hangdaan 83e5fe437f gnu: podman: Update to 5.8.2.
* gnu/packages/containers.scm (podman): Update to 5.8.2.

Change-Id: I681067e7c2ac11f4e12c94db5898e121b6a1e0f2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:21:25 +02:00
Nicolas Goaziou ef81d340cd gnu: dvisvgm: Deprecate in favor of texlive-dvisvgm.
* gnu/packages/tex.scm (dvisvgm): Deprecate.
* etc/teams/tex/tex-manifest.scm (%sundry-texlive-packages): Do not monitor
dvisvgm anymore.
* gnu/packages/statistics.scm (python-openturns): Use texlive-dvisvgm.

Change-Id: I1903a0bdd4e66f9f2a49d21029371e87924435ac
2026-04-14 22:17:55 +02:00
André Batista 5ce1b4a3e3 gnu: ublock-origin: Update to 1.70.0.
* gnu/packages/browser-extensions.scm (ublock-origin): Update to 1.70.0.
(ublock-main-assets): Update to 0-6.004af606e6a0e.
(ublock-prod-assets): Update to 0-6.6c15e4ef91888.

Change-Id: I730ef9d4623a9abe972d82c5700458f6c888077c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 21:19:44 +02:00
Artyom V. Poptsov e155ef7c4b gnu: Add guile-pnm.
* gnu/packages/guile-xyz.scm (guile-pnm): New variable.

Change-Id: I0e5e2fa77c6d75567983ab61c61880bef34f3e30
2026-04-14 20:03:58 +03:00
Roman Scherer 09a4a0fce4 gnu: Add github-cli.
* gnu/packages/version-control.scm (github-cli): New variable.

Merges: https://codeberg.org/guix/guix/issues/5190
Change-Id: I1ee51dbef75f8dee5fa691bff098176b1cd32660
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:12 +01:00
Roman Scherer d841bf2ec2 gnu: Add go-github-com-sigstore-sigstore-go.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-go): New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: Iab52a05d6bb67bfac431036f4a23e484ff5e0ee5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer fe7badf33e gnu: Add go-github-com-sigstore-rekor-tiles-v2.
* gnu/packages/golang-web.scm (go-github-com-sigstore-rekor-tiles-v2):
New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: I5da1cd2c6791257ff304ba4d40f038749a585834
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer e0fd8f335c gnu: Add go-github-com-sigstore-rekor.
* gnu/packages/golang-web.scm (go-github-com-sigstore-rekor): New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: I5101feaee393f0da9dbf4cd9b68ce79474a9ffbd
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer 343d7553f0 gnu: Add go-github-com-sigstore-timestamp-authority-v2.
* gnu/packages/golang-web.scm (go-github-com-sigstore-timestamp-authority-v2):
New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: Ia60bb68476551423d5b754ab7de8e361d4750b89
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher dca6d32c62 gnu: Add go-github-com-tink-crypto-tink-go-awskms-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-awskms-v2): New variable.

Change-Id: I26524cae0be9a4119bdabd7c99525a2e78b05069
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher 4719c0781c gnu: Add go-github-com-tink-crypto-tink-go-gcpkms-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-gcpkms-v2): New variable.

Change-Id: Iebfd1bbe0646680eaeacdaeb2ab5dd6b466ba96e
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher e3a096758c gnu: Add go-github-com-tink-crypto-tink-go-hcvault-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-hcvault-v2): New variable.

Change-Id: Ic633d6eedd127f247d30177f66d1e410eb517522
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher bd16834557 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-azure.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-azure): New variable.

Change-Id: I18a7e3a81266a29a52caf9a292497cbe191b3bf4
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher d1c04ded76 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-aws.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-aws): New variable.

Change-Id: I5f8e94ddaa87fc60ed9451f21c76fc2ca68026ea
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher 39d7eadd40 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-gcp.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-gcp): New variable.

Change-Id: I38de7fca6d1703382b9104ecb6535c20c589d6aa
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher 891e434c6b gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault.
* gnu/packages/golang-web.scm
(go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault): New
variable.

Change-Id: Ia6f5e99631a26f81f052d92776d2d54a63bd67ba
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher 0b409bae2c gnu: Add go-github-com-jellydator-ttlcache-v3.
* gnu/packages/golang-web.scm (go-github-com-jellydator-ttlcache-v3): New variable.

Change-Id: I256e49f06c5bd91495ccd1aae8f2c0c5eabf5482
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher 15c7094492 gnu: Add go-cloud-google-com-go-security.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-security): New variable.
(go-cloud-google-com-go)[source]: Remove "security" submodule.

Change-Id: I208134112aa75477c1d1306966bf41e8a7709537
2026-04-14 12:32:10 +01:00
Evgeny Pisemsky c1ca168e05 gnu: Add go-github-com-juju-ratelimit.
* gnu/packages/golang-web.scm (go-github-com-juju-ratelimit): New variable.

Merges: https://codeberg.org/guix/guix/pulls/7796
Change-Id: Iccc29214cb44ae8ab5d61b0e2b8410424dbf8b9a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:10 +01:00
bdunahu 8e9f2feeef gnu: warzone2100: Update to 4.6.3.
* gnu/packages/games.scm (warzone2100): Update to 4.6.3.
[inputs]: Replace sdl2 by sdl3.
* gnu/packages/patches/warzone2100-unbundle-libs.patch:
Adjust diff for upstream code changes.

Change-Id: I1e8939e7925f7e62c442f0a07a8654ffcf213ce2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 12:26:54 +02:00
André Batista 66c2b3f46d gnu: lyrebird: Buid with go-1.25.
* gnu/packages/golang-web.scm (lyrebird)[arguments] <go>: Use go-1.25.

Change-Id: I5806103b947c8fc85543b810d2de31fc5acc7fbc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 11:24:40 +02:00
moksh 5578b6daf2 gnu: josm: Update to 19555.
* gnu/packages/geo.scm (josm): Update to 19555.

Change-Id: I1714f1d906df83882f7d44a06d2a92a67599218d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 11:19:22 +02:00
Andreas Enge 5d80f53024 gnu: Remove python-chai.
* gnu/packages/python-xyz.scm (python-chai): Delete variable.

Fixes: guix/guix#7140
Change-Id: I1f0ab14f560d1b0b7c38d12bf40d07d6595e322a
2026-04-14 11:17:09 +02:00
Andreas Enge 7927aebb9e gnu: Remove libphonenumber-8.11.
* gnu/packages/messaging.scm (libphonenumber-8.11): Delete variable.

Fixes: guix/guix#7136
Change-Id: If87ea63baf0a599e37c53bccdb078a219f114072
2026-04-14 11:17:09 +02:00
Andreas Enge a3c93d47fa gnu: Remove libnl-python2.
* gnu/packages/linux.scm (libnl-python2): Delete variable.

Fixes: guix/guix#7141
Change-Id: I7281d4fd66a8f5dbd48084e646fc4a1920eb301e
2026-04-14 11:17:01 +02:00
moksh f6b79709c3 gnu: mcomix: Update to 3.1.1.
* gnu/packages/image-viewers.scm (mcomix): Update to 3.1.1.

Merges guix/guix!7870

Change-Id: I5ccba025e9b36d9c17c82342a0824c5809136cc2
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-14 11:02:31 +02:00
moksh 1b9b62e0c5 gnu: mcomix: Fix build.
* gnu/packages/image-viewers.scm (mcomix)[inputs]: Sort; add
gobject-introspection.

Fixes: guix/guix#7864
Merges guix/guix!7870

Change-Id: I096b7bc5d75706eeb8dd0df62fce629b7240955f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-04-14 11:02:31 +02:00
Sharlatan Hellseher 1a76acd4c2 gnu: Remove go-1.23.
* gnu/packages/golang.scm (go-1.23, go-std-1.23): Delete variables.

Fixes: guix/guix#7080
Change-Id: I854866b0136f5b17fcec24945f576a83d90c0c77
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 10:57:48 +02:00
Nigko Yerden 0bb446efff gnu: tor: Update to 0.4.9.6.
* gnu/packages/tor.scm (tor): Update to 0.4.9.6.

Change-Id: I86e5204d15c20f94e2b103d113cfba43644ed8a0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 10:21:11 +02:00
Mark H Weaver 6ab6e5b75d gnu: icecat: Update to 140.9.1-gnu1 [security fixes].
Includes fixes for CVE-2026-5731, CVE-2026-5732, and CVE-2026-5734.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
2026-04-14 01:12:53 -04:00
Andreas Enge 40fc279123 gnu: v4l-utils-minimal: Deprecate.
* gnu/packages/video.scm (v4l-utils-minimal): Deprecate by the
(up to its name) identical v4l-utils.
* gnu/packages/aidc.scm (zbar)[inputs],
* gnu/packages/gstreamer.scm (libdc1394)[inputs],
(gst-plugins-good)[inputs], (gst-plugins-bad)[inputs]: Replace
v4l-utils-minimal by v4l-utils.

Change-Id: I1157adb6d2f1a36ddf2152ca66ed1aeaf55fe322
2026-04-14 00:25:38 +02:00
Andreas Enge 36f773a1f2 gnu: v4l-utils: Drop binaries.
The qv4l2 and qvidcap binaries still depend on Qt5. The other removed
inputs are not referenced.

* gnu/packages/video.scm (v4l-utils)[inputs]: Remove alsa-lib, glu, libx11
and qtbase-5.
* gnu/packages/video.scm (v4l-utils-minimal)[inputs]: Also inherit.

Change-Id: Ibd1e5d92cf363c12e7e5df58478e1e79901e8e08
2026-04-14 00:25:20 +02:00
Yelninei 08222e17eb gnu: ldc-bootstrap: Remove unneeded inputs.
* gnu/packages/dlang.scm (ldc-bootstrap)[inputs]: Remove libconfig and libedit.

Change-Id: I2fde427534c4e7ad2454dd218646dd4fa7d0921b
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-04-13 22:51:04 +02:00
Nikita Mitasov 3b4e41a01b gnu: mangowc: Update to 0.12.8 and rename to mangowm.
* gnu/packages/wm.scm (mangowc): Deprecate and rename package to...
(mangowm): ...this new variable. Update version to 0.12.7.
[name, source, inputs, home-page, description]: Update accordingly.

Change-Id: I49416d5441a94685f61d5eb1aef200fc644cab3f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-13 22:23:21 +02:00
Gabriel Wicki af0379d6c4 gnu: linux-libre: Extract common kernel modules into variables.
Deduplicate common default modules in an attempt to clean the module up.

* gnu/packages/linux.scm (pinebook-extra-modules,
arm64-generic-extra-modules): New variables.
(linux-libre-arm64-generic, linux-libre-lts-arm64-generic,
linux-libre-arm64-generic-5.10): Use new variables.

Change-Id: Ia48d6942332e71cadd43decb59d633180b0d3264
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-13 09:52:01 -07:00
Gabriel Wicki 727b300e04 gnu: linux-libre: Build wireguard and netfilter modules by default.
* gnu/packages/linux.scm (default-extra-linux-options): Add module options.
(linux-libre-arm64-honeycomb, linux-libre-arm64-mnt-reform-6.19,
linux-libre-arm64-mnt-reform-6.18, linux-libre-arm64-mnt-reform-6.12): Remove
options.

Change-Id: I25655d1c7aa1cd8ccceabbe4d9e0ccc5fa876765
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-13 09:51:58 -07:00
Vagrant Cascadian 1d6eb98dd6 gnu: linux-libre 6.1: Update to 6.1.168.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.168.
(linux-libre-6.1-pristine-source): Update hash.

Change-Id: I451c59abf88d7603cc1ef9b33f0452f822b3b1d7
2026-04-13 09:51:56 -07:00
Vagrant Cascadian 65011d15fd gnu: linux-libre 6.6: Update to 6.6.134.
* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.134.
(linux-libre-6.6-pristine-source): Update hash.

Change-Id: Ia9c3e1466a37cfdc38816be528c078ab550d52cb
2026-04-13 09:51:53 -07:00
Vagrant Cascadian a816cf8965 gnu: linux-libre 6.12: Update to 6.12.81.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.81.
(linux-libre-6.12-pristine-source): Update hash.

Change-Id: Ica289eea5726487dbd923c3b8b91f088fca3d93b
2026-04-13 09:51:50 -07:00
Vagrant Cascadian 5672a9e280 gnu: linux-libre 6.18: Update to 6.18.22.
* gnu/packages/linux.scm (linux-libre-6.18-version): Update to 6.18.22.
(linux-libre-6.18-pristine-source): Update hash.

Change-Id: I249b4d2b0dcec260a10e7a4a5b1e63ae9869b477
2026-04-13 09:51:47 -07:00
Vagrant Cascadian 92de7e0cae gnu: linux-libre 6.19: Update to 6.19.12.
* gnu/packages/linux.scm (linux-libre-6.19-version): Update to 6.19.12.
(linux-libre-6.19-pristine-source): Update hash.

Change-Id: Ibaa1dea8ac75bdc972929dccead39929761eced8
2026-04-13 09:51:29 -07:00
Efraim Flashner 5fe112e4fa gnu: sdcc: Build with python3.
* gnu/packages/embedded.scm (sdcc)[native-inputs]: Remove python-2; add
python-minimal-wrapper.

Change-Id: I2f9962781037c7a75aeb8aad4bfe45dffb38c377
2026-04-13 17:45:42 +03:00
Efraim Flashner b7992ceef5 gnu: sundials: Build with python3.
* gnu/packages/maths.scm (sundials)[native-inputs]: Remove python-2; add
python-minimal-wrapper.

Change-Id: I7e0e8984786391fdf9b966acd48560ea3f2e5d7a
2026-04-13 17:36:50 +03:00
Efraim Flashner 3b57556870 gnu: hoedown: Build with python3.
* gnu/packages/markup.scm (hoedown)[native-inputs]: Remove python-2; add
python-minimal-wrapper.

Change-Id: I511590eb58c4427b548b3c9ae4542f4374b791e5
2026-04-13 17:36:43 +03:00
Efraim Flashner e270914ffe gnu: dvdstyler: Remove some pre-generated files.
* gnu/packages/cdrom.scm (dvdstyler)[source]: Add a snippet to remove
some files.
[native-inputs]: Add bison.

Change-Id: I0baa24a4a859eccc421a92500b3d3e055bd4ed5e
2026-04-13 17:36:38 +03:00
Efraim Flashner 62e144930a gnu: dvdstyler: Remove input labels.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Remove input labels, sort
alphabetically.
[native-inputs]: Remove input labels, sort alphabetically.

Change-Id: Id3ab0de2b1ee570b12da0f018dbec212f2dec658
2026-04-13 17:36:33 +03:00
Efraim Flashner 8632cc58e4 gnu: dvdstyler: Build with python3.
* gnu/packages/cdrom.scm (dvdstyler)[native-inputs]: Remove python-2;
add python-minimal-wrapper.

Change-Id: I5d56d99e4f1ef36f2c3477ce1aaf359455efbee4
2026-04-13 17:36:25 +03:00
Efraim Flashner cf94cd3e4e gnu: bam: Build with python3.
* gnu/packages/build-tools.scm (bam)[source]: Add patch.
[native-inputs]: Remove python-2; add python-minimal-wrapper.
* gnu/packages/patches/bam-python3-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Iec960101e148b7b71caf737cccdb5b762477a545
2026-04-13 17:36:13 +03:00
Andreas Enge f6365c6b3e gnu: Remove clearsilver.
* gnu/packages/web.scm (clearsilver): Delete variable.

Fixes: guix/guix#7121
Change-Id: Ib56eec4048fbbb47f46817f7cb14a534c2bf3daa
2026-04-13 12:37:02 +02:00
Andreas Enge a8c0685d98 gnu: Remove python-virtualenv-clone.
* gnu/packages/python-xyz.scm (python-virtualenv-clone): Delete variable.

Fixes: guix/guix#7107
Change-Id: I53a45eff1779bb4ed6a36c5b87ccb997d972c7e9
2026-04-13 12:35:33 +02:00
Andreas Enge 8d0df614e1 gnu: Remove mantis.
* gnu/packages/bioinformatics.scm (mantis): Delete variable.

Fixes: guix/guix#7055
Change-Id: I4655b0dc2b9de2b3cb5924538d562539454d5240
2026-04-13 12:34:44 +02:00
Andreas Enge 91b71c2b5f gnu: Remove sbcl-radiance-contribs.
* gnu/packages/lisp-xyz.scm (sbcl-radiance-contribs): Delete variable.

Fixes: guix/guix#6804
Change-Id: I6c19f3962ee6d146dd50b16182147cbe6dee71c6
2026-04-13 12:33:27 +02:00
Andreas Enge 9cdd36e7ed gnu: Remove cl-radiance-contribs.
* gnu/packages/lisp-xyz.scm (cl-radiance-contribs): Delete variable.

Change-Id: Iaf7d6d15010ea5138ede70ac9130c6a370ae9cda
2026-04-13 12:33:07 +02:00
Andreas Enge 4a835a41dd gnu: Remove ecl-radiance-contribs.
* gnu/packages/lisp-xyz.scm (ecl-radiance-contribs): Delete variable.

Change-Id: I33015fdd05be4ec5b5ee8acfcdc64bf1c8c7ed1f
2026-04-13 12:32:42 +02:00
Andreas Enge a4eb13568e gnu: adns.scm: Fix module references.
This is a follow-up to commit 85834b7219 .

* gnu/packages/adns.scm: Replace "(guix packages dns)" by
"(gnu packages dns)".

Fixes: guix/guix#7869
Change-Id: I8cd1d1c5682d9174d12392fd489c749e4ad7c2e8
2026-04-13 12:18:32 +02:00
Efraim Flashner 441dcb81c3 gnu: rust-crates: Sort alphabetically.
* gnu/packages/rust-crates.scm: Sort rust crates alphabetically.

Change-Id: Iba1ed427dd6e13fa0994d1641e1130a823a80545
2026-04-13 13:15:51 +03:00
Ashish SHUKLA 7d6d1663c4 gnu: kakoune: Update to 2026.04.12
* gnu/packages/text-editors.scm (kakoune): Update to 2026.04.12.
[source]: Switch to git-fetch.
[arguments]<#:make-flags, #:phases>: Switch to G-Expressions.
[native-inputs]: Delete ’pkg-config.

Merges guix/guix!7849

Change-Id: I97133eb3b40211ace854d5bac906092fa94ceb13
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-04-13 11:54:36 +02:00
Nicolas Graves 9829ea548c gnu: Add ast-grep.
* gnu/packages/rust-apps.scm (ast-grep): New variable.
* gnu/packages/rust-crates.scm : Record sources accordingly.

Change-Id: I04a31220fbee54946c3939d5edcfc7a4b443bf4f
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-13 10:13:40 +03:00
Efraim Flashner fae4042d23 gnu: rust-crates: Adjust indentation.
* gnu/packages/rust-crates.scm: Standardize the indentation.

Change-Id: Ie482806909e0b1fb00df64753106a67508a8453e
2026-04-13 08:23:58 +03:00
Brickworld ef105f1316 gnu: Add mpdris2-rs.
* gnu/packages/mpd.scm (mpdris2-rs): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add mpdris2-rs.

Change-Id: I999c80a2618aa4b847fed69c065d30f8ed15c145
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-13 08:23:22 +03:00
Nicolas Goaziou 0fbe363fb8 news: Mention TeX Live update (2026.1).
Change-Id: I15b49fedae4cd97ab83fdd48ef2c592ade66d4c5
2026-04-12 23:27:03 +02:00
Nicolas Goaziou 450849da26 gnu: Update TeX Live to 2026.1.
* gnu/packages/tex.scm: Update TeX Live to 2026.1.

Change-Id: I79d6d84949e60f931d59b3d03df54b7dac080281
2026-04-12 23:15:29 +02:00
Nicolas Goaziou 2434428c28 guix: texlive build system: Relax Metafont requirement.
* guix/build/texlive-build-system.scm (generate-font-metrics): Cater for
texlive-metafont both as a native input and as an argument from texlive-local-tree.

Change-Id: I32dd86d49ebcb49efd2a253c0491926e0333d3f4
2026-04-12 23:15:28 +02:00
Nicolas Goaziou 2d7f403979 guix: Generate TeX Live profiles reproductibly.
Fixes: https://issues.guix.gnu.org/73295

* guix/profiles.scm (texlive-font-maps): Do not use mktexlsr command.

Change-Id: I91710740d7f467a236cc82ceca560b0f51a4094d
2026-04-12 23:15:28 +02:00
Nicolas Goaziou 3ec160f69b gnu: Improve instructions about updating TeX Live.
* gnu/packages/tex.scm: Update comments about updating TeX Live.

Change-Id: Ia990c45a9bbccefd0e560f804f6c555332df46f5
2026-04-12 23:15:28 +02:00
Nicolas Goaziou 7674b45fbf gnu: Update TeX Live to 2026.0.
* gnu/packages/tex.scm: Update TeX Live to 2026.0.

Change-Id: I4c5fe8720a3b78379417a0e0a8e76ca5c3f8d2ef
2026-04-12 23:15:27 +02:00
Nicolas Goaziou 8d3cb0bfa1 guix: texlive importer: Handle additional licenses.
* guix/import/texlive.scm (string->license): Handle additional licenses.

Change-Id: Idb89ef4b3f9ba52a404caa4cc7f4a61d4e1201e6
2026-04-12 23:15:27 +02:00
Nicolas Goaziou 33555b672b guix: texlive importer: Refresh texlive-source properly.
* guix/import/texlive.scm (texlive->svn-multi-reference): Rename to...
(texlive->svn-reference): ... this.
(tlpdb->package): Handle "texlive-source" specifically.
(package-from-texlive-repository?):
* guix/upstream.scm (package-update/svn-fetch): New variable.
(%method-updates): Extend with the previous function.
(update-package-source): Also update svn-reference objects.

Change-Id: Iaa988e5e3c401ea933720127bfc3046aa70935f4
2026-04-12 23:15:27 +02:00
Nicolas Goaziou 630b50d46b gnu: texlive-source: Use svn-fetch method.
* gnu/packages/tex.scm (texlive-source)[source]: Use svn-fetch method.

Change-Id: I84a21d7a7acd8932f122ad665a736733882518ee
2026-04-12 23:15:26 +02:00
Andy Tai 7b07f8063f gnu: nano: Update to 9.0.
* gnu/packages/text-editors.scm (nano): Update to 9.0.

Merges guix/guix!7810

Change-Id: Ie7c50799bf6622e8aeb2008a459da5a57feef3a1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 21:57:02 +02:00
kestrel fa060a6d95 gnu: Add wlroots-0.20.
* gnu/packages/wm.scm (wlroots-0.20): New variable.

Merges guix/guix!7588

Change-Id: I9923a6088aff61b59014843a1b2e472bb59c3489
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 21:37:28 +02:00
Andy Tai 864ec1d9d0 gnu: koboldcpp: Update to 1.111.2.
* gnu/packages/machine-learning.scm (koboldcpp): update to 1.111.2.

Merges guix/guix!7715

Change-Id: I8b5af182de1bca05ab6a28b9dc6fe9d68fc91da6
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 21:23:08 +02:00
Anderson Torres 1b0879169d gnu: cvs-fast-export: Update to 1.68.
* gnu/packages/version-control.scm (cvs-fast-export): Update to 1.68.
[arguments]<#:make-flags>: Add -Wno-error=calloc-transposed-args to
CFLAGS.
<#:parallel-build?>: Delete.
[native-inputs]: Delete asciidoc; add ruby-asciidoctor/minimal.

Merges guix/guix!6971

Change-Id: Ie2d5a0e5faee9883f345512d5482bce5fa7df3ae
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 21:17:18 +02:00
Anderson Torres e34642e764 gnu: cvs-fast-export: Cleanup.
* gnu/packages/version-control.scm (cvs-fast-export): Cleanup.

[source]<origin>: Use git reference instead of tarball.
[arguments]: Use G-Expressions.
<#:tests?>: Set to #f.
[inputs]: Use new style.
[native-inputs]: Remove cvs and rcs; add bison and flex.
[description]: Reword.

Merges guix/guix!6971

Change-Id: I127baa8eb3b80bfa3ecb71ab248f7027243a14a5
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 21:15:55 +02:00
Denis 'GNUtoo' Carikli 40651d41da gnu: add nvramtool.
* gnu/packages/coreboot.scm (nvramtool): New variable.

Merge guix/guix!7065

Change-Id: I32df898761e8b2edfe9674cc076eb95d7ac9d5be
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 20:20:29 +02:00
Denis 'GNUtoo' Carikli 7cf91385c5 gnu: Move bincfg, ifdtool and intelmetool to coreboot.scm.
All these packages are being maintained by Coreboot and they are also
present in the Coreboot source code.

Merge guix/guix!7065

* gnu/packages/flashing-tools.scm (bincfg, ifdtool, intelmetool):
  Move from here ...
* gnu/packages/coreboot.scm: ... to here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/packages/POTFILES.in: Add it.

Change-Id: I6d802042670fda52adeb85d9e3a4b3f3a23dcb66
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 20:19:35 +02:00
Cayetano Santos 4ec4ff0148 gnu: python-vunit: Update to 5.0.0-dev.10.
* gnu/packages/electronics.scm (python-vunit): Update to 5.0.0-dev.10.

Change-Id: I2c4b5ef860f69eb0025953179d8ba363fec4b55b
2026-04-12 19:49:51 +02:00
Giacomo Leidi 2d21820519 gnu: local.mk: Add two missing files.
This is a follow up to 0b8e838208.

* gnu/local.mk: Add gnu/services/configuration/environmen-variables.scm
and gnu/services/configuration/utils.scm

Change-Id: I0abdbc6e579f681001c60d85a8f2a23ca12f3c6c
2026-04-12 19:02:29 +02:00
Hugo Buddelmeijer f2ed23fcf4 gnu: ablorb: Update to 0.1.1.
* gnu/packages/web.scm (ablorb): Update to 0.1.1.

Change-Id: I0b8481ee415285f6698007d7e64fdce1dcec3e80
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:29:53 +02:00
Thanos Apollo 466686033e gnu: emacs-gnosis: Update to 0.10.3.
* gnu/packages/emacs-xyz.scm (emacs-gnosis): Update to 0.10.3.
[propagated-inputs]: Remove emacs-compat, emacs-emacsql
and emacs-org-gnosis.
[synopsis, description]: Update.

Change-Id: Ia13f56ab835d6850391d5ed044a911eb5f90c6ad
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:53 +02:00
Anderson Torres 461f61dafa gnu: bittorrent.scm: Sort #:use-module directives.
* gnu/packages/bittorrent.scm: Sort #:use-module directives.
Prefix licenses with license:.

Change-Id: I85258b2e0b62fb3e1e4cd2a2f71ef13df889faa6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:48 +02:00
Anderson Torres f61fc47913 gnu: Sort #:use-module directives.
* gnu/packages/build-tools.scm: Sort #:use-module directives.
* gnu/packages/debian.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/machine-learning.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/node.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/rpc.scm: Likewise.
* gnu/packages/search.scm: Likewise.
* gnu/packages/sssd.scm: Likewise.
* gnu/packages/sync.scm: Likewise.
* gnu/packages/web.scm: Likewise.

Change-Id: I78c89220c9f7ff73892a6008e5d9fb3c23df53ea
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:42 +02:00
Anderson Torres b79aea3544 gnu: dns.scm: Sort #:use-module directives.
* gnu/packages/dns.scm: Sort #:use-module directives.

Change-Id: I8761cde784a0889078ab3da24f61395e2281646c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:34 +02:00
Anderson Torres 6ee49c693f gnu: Rename (gnu packages adns) to (gnu packages dns).
* gnu/packages/bittorrent.scm: Rename (gnu packages adns) to (gnu packages dns).
* gnu/packages/build-tools.scm: Likewise.
* gnu/packages/debian.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/machine-learning.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/node.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/rpc.scm: Likewise.
* gnu/packages/search.scm: Likewise.
* gnu/packages/sssd.scm: Likewise.
* gnu/packages/sync.scm: Likewise.
* gnu/packages/web.scm: Likewise.

Change-Id: Id6705f311aea37342d6769b25d42253e5428703f
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:21 +02:00
Anderson Torres 85834b7219 gnu: Migrate packages from (gnu packages adns) to (gnu packages dns).
* gnu/packages/adns.scm (adns, c-ares, c-ares-for-node-lts)
(c-ares-for-node-bootstrap, c-ares/cmake): Move from here…
* gnu/packages/dns.scm: … to here.

Change-Id: I7fbdac74ff8da370ae74760005e99e3335658eb1
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:27:02 +02:00
Liliana Marie Prikler a5a578b027 gnu: komikku-servers: Update to 50.1.0.
* gnu/packages/gnome-circle.scm (komikku-servers): Update to 50.1.0.
2026-04-12 17:27:00 +02:00
Liliana Marie Prikler 7791daea29 gnu: komikku: Update to 50.1.0.
* gnu/packages/gnome-circle.scm (komikku): Update to 50.1.0.
[inputs]: Add python-ebooklib and python-jxlpy.
2026-04-12 17:26:56 +02:00
Liliana Marie Prikler 3d22340ff4 gnu: Add python-jxlpy.
* gnu/packages/python-xyz.scm (python-jxlpy): New variable.
2026-04-12 17:26:52 +02:00
Giacomo Leidi 0b8e838208 services: configuration: Add environment variable serializer.
This patch implements a general API to serialize configuration records
to list of pairs representing environment variables. The car of each
pair represents the variable name and the cdr the variable value.

* gnu/services/configuration/environment-variables.scm: New file.
(serialize-string-environment-variable)
(serialize-maybe-string-environment-variable)
(serialize-boolean-environment-variable)
(serialize-maybe-boolean-environment-variable)
(serialize-number-environment-variable)
(serialize-maybe-number-environment-variable): New variables.
(serialize-environment-variables): New variable.
* gnu/services/configuration/utils.scm: New file.
(uglify-snake-case): New variable.
* tests/services/configuration.scm: Add tests for environment serializer.
(wrong type for a field): Adjust error location.
* doc/guix.texi: Document it.

Change-Id: I81a166576f94d3c8f5bf78c82a02183689a3091c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:23:42 +02:00
forgoty 2abfd1370f gnu: Add pegasus-frontend.
* gnu/packages/games.scm (pegasus-frontend): New variable.

Change-Id: I400585e5544e8a735a87f3c79b7e58990cf580b4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:23:37 +02:00
Acid Bong bd03432cb8 gnu: gucharmap: Update to 17.0.1.
* gnu/packages/gnome.scm (gucharmap): Update to 17.0.1.
[unicode-files]: Adjust hashes accordingly.
[build-system]: Switch to meson-build-system.
[arguments]<#:modules>: Adjust accordingly.
<#:glib-or-gtk?>: Set to #t.
<#:configure-flags>: Remove CFLAGS.
Replace “--with-unicode-data=../unicode-data” with
“-Ducd_path=../unicode-data”.
Add “-Dvapi=false” and “-Ddocs=false”.
[native-inputs]: Add python.
Update origin for unicode-files.

Change-Id: I81da73f9093c6f770825271a4eaed484a95e7ecc
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:20:40 +02:00
Acid Bong 8fe2277507 gnu: gucharmap: Drop input labels.
* gnu/packages/gnome.scm (gucharmap)[native-inputs, inputs]: Drop labels.

Change-Id: I01f063ae2871887903fa657f82618e8cbd1d619a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-12 17:12:05 +02:00
Sören Tempel 1045f12f00 gnu: neovim: honor TREE_SITTER_GRAMMAR_PATH.
While at it, also depend on tree-sitters that are builtin into neovim.

Fixes #2269

* packages/patches/neovim-tree-sitter-grammar-path.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/vim.scm (neovim): Support TREE_SITTER_GRAMMAR_PATH.
[source] <patches>: Add patch.
[native-search-paths]: Add TREE_SITTER_GRAMMAR_PATH.
[propagated-inputs]: Add strictly required tree-sitter parsers.
2026-04-12 14:41:00 +02:00
Sören Tempel c41e1bffa1 gnu: cvc5: Only build test programs when tests are enabled.
* gnu/packages/maths.scm (cvc5)[#:phases] <build-tests>: Check tests?
before building the test programs, which are only used by 'check.

Change-Id: I14161f88cfde6bdbcb76518b7aa8517640e2cdc1
2026-04-12 14:35:30 +02:00
jgart ba516ec82e gnu: trealla: Update to 2.92.29.
* gnu/packages/prolog.scm (trealla): Update to 2.92.29.

Change-Id: I6541b544b9b1b99b7f27d2861ccf4bc49d934f1d
2026-04-12 07:13:12 -04:00
Herman Rimm 7d74bb3ee4 gnu: rspamd: Update to 3.14.3.
* gnu/packages/mail.scm (rspamd): Update to 3.14.3.
[description]: Use example from project README.md.

Merges guix/guix!7128

Change-Id: Ib6c75e7c216ee32610dbcad568249872df51c308
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:42:53 +02:00
kestrel f00a19b0af gnu: wlroots-0.19: Update to 0.19.3.
* gnu/packages/wm.scm (wlroots-0.19): Update to 0.19.3.

Merges guix/guix!7588

Change-Id: I6b26ee03b9f74370bd1aa605f36899dbb78fdbef
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:02:53 +02:00
kestrel 5fa6ada0e8 gnu: wlroots: Update to 0.20.0.
* gnu/packages/wm.scm (wlroots): Update to 0.20.0.
(wlroots-0.19): Add package recipe.

Merges guix/guix!7588

Change-Id: Ieedc68c4cfa24954b8abd88c3ea65bc7f1e1b73c
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:02:52 +02:00
kestrel 3c2d5297f0 gnu: qtile: Use wlroots-0.19.
* gnu/packages/wm.scm (qtile) [inputs]: Remove wlroots; add wlroots-0.19.

Merges guix/guix!7588

Change-Id: Ifad41c86a100368420b70fa14aa127f8e113038f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:02:52 +02:00
kestrel 53e746150f gnu: sway: Use wlroots-0.19.
* gnu/packages/wm.scm (sway) [inputs]: Remove wlroots; add wlroots-0.19.

Merges guix/guix!7588

Change-Id: I78360a42522648caaf795dbbf8d03ae4de5d2cd0
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:02:52 +02:00
kestrel ff4aa1fd77 gnu: mangowc: Use wlroots-0.19.
* gnu/packages/wm.scm (mangowc) [inputs]: Remove wlroots; add
wlroots-0.19.

Merges guix/guix!7588

Change-Id: I6b731de026021adbdb26a2789bb21e6de4e5c739
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:02:52 +02:00
Patrick Norton 7e93e39db7 gnu: flightgear: Update to 2024.1.5.
* gnu/packages/games.scm (simgear): Update to 2024.1.5.
* gnu/packages/games.scm (flightgear): Update to 2024.1.5.
[native-inputs]: Update flightgear-data URI.

Merges guix/guix!7614

Change-Id: Iffe47a56078e55f7e454da08cec62e7390fbe2d7
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 11:00:33 +02:00
Hilton Chain 7c439d1258 gnu: Add emacs-majutsu.
* gnu/packages/emacs-xyz.scm (emacs-majutsu): New variable.

Merges: #7824
2026-04-12 16:54:18 +08:00
Hilton Chain f8fa16af89 gnu: jujutsu: Update to 0.40.0.
* gnu/packages/rust-apps.scm (jujutsu): Update to 0.40.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs) [jujutsu]: Update entry.

Merges: #7823
2026-04-12 16:54:17 +08:00
Hilton Chain 489b5ab929 gnu: niri: Remove dbus-run-session from wayland session.
dbus-run-session was introduced in 893c49f60c to
address screencasting issue.  Since the issue can't be reproduced stably and the
proper approach would be to configure portals.conf, this patch removes it.

When encountering screencasting issue with niri, please report an issue with the
output of the following command:

sh -c "$(guix build xdg-desktop-portal)/libexec/xdg-desktop-portal -rv"

* gnu/packages/wm.scm (niri) [arguments]: No longer start Wayland session with
  dbus-run-session.

Merges: #7760
2026-04-12 16:54:17 +08:00
Hilton Chain 84347d9ff3 gnu: niri: Patch dependency reference.
* gnu/packages/wm.scm (niri) [arguments]: Patch
  dbus-update-activation-environment references to store paths.
2026-04-12 16:54:14 +08:00
Romain GARBAGE afed309937 gnu: osu-micro-benchmarks: Add symlinks to binaries in /bin.
* gnu/packages/benchmark.scm (osu-micro-benchmarks): Add symlinks to
binaries in /bin.

Merges guix/guix!7631

Change-Id: Ie64994b6b2903ee3311f256b452a1fc939c212f1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 10:43:48 +02:00
Patrick Norton d4afa4f3a1 gnu: the-powder-toy: Update to 99.5.394.
* gnu/packages/games.scm (the-powder-toy): Update to 99.5.394.

Merges guix/guix!7658

Change-Id: I16c47cefda5e69fc60d889fc70f205508b660f68
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-12 10:39:00 +02:00
Foster Hangdaan 45c979eeca gnu: flatpak: Update to 1.16.6.
* gnu/packages/package-management.scm (flatpak): Update to 1.16.6.

Merges guix/guix!7834

Change-Id: I89bf6280929442be3d78164e456ef3c745090cb8
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-12 10:59:11 +03:00
Efraim Flashner 66abefe050 gnu: anthy: Remove dead source URI.
* gnu/packages/anthy.scm (anthy)[source]: Remove dead source URI.

Change-Id: Ia3676cd0a2b7b378716dc7ed0b12e042ab701689
2026-04-12 10:06:04 +03:00
Efraim Flashner bebf93a029 gnu: anarch: Update source URI.
* gnu/packages/games.scm (anarch)[source]: Point to new upstream URI.

Change-Id: Ic59c8ad8af0c0f99d1dbab827d1fceba6f8faf00
2026-04-12 10:06:03 +03:00
Mario Calcagno fc884c09de gnu: pipemixer: Fix hash.
* gnu/packages/audio.scm (pipemixer)[source]: Update sha256.

Change-Id: Ie59142789f9133bff2b27d4f751dc0710e7b0650
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-12 11:08:48 +05:30
moksh 365ff68f3c gnu: librewolf: Update to 149.0.2-2.
* gnu/packages/librewolf.scm (librewolf): Update to 149.0.2-2.

Change-Id: If3097740c91328ba25dbe30fb79146f9d939d448
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-04-11 20:53:49 -07:00
moksh dc2e36600b gnu: firefox-l10n: Update to 0245ffb160688061f0e0c67ea488bcdfdacbeca4.
* gnu/packages/librewolf.scm (firefox-l10n): Update to 0245ffb160688061f0e0c67ea488bcdfdacbeca4.

Change-Id: I0446ec35a45e31cfd3752c51421e4d3416388fec
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-04-11 20:53:48 -07:00
bdunahu 7c3c6cf9c3 gnu: sdl2-compat: Update to 2.32.66.
* gnu/packages/sdl.scm (sdl2-compat): Update to 2.32.66.

Change-Id: I83022dd2563048e83501c01ba1708cfaf02bd7b2
Merges: https://codeberg.org/guix/guix/pulls/7662
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-12 12:30:48 +09:00
bdunahu 4e78e6a842 gnu: sdl3: Update to 3.4.4.
* gnu/packages/sdl.scm (sdl3): Update to 3.4.4.
  [propagated-inputs]: Add libxi, libxscrnsaver, libxtst.

Change-Id: Ie20dab1b9a1d169ee96e84364ed85e96d634fd42
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-12 12:30:43 +09:00
jgart e61b99dfb1 import: gem: Warn when rubygems-fetch fails.
* guix/import/gem.scm: Use (guix diagnostics) and (guix i18n).
(gem->guix-package): Emit a warning when rubygems-fetch returns #f.

Change-Id: I838cb77470ebb35f2065be7772fcd87647153ea8
Signed-off-by: jgart <jgart@dismail.de>
2026-04-11 22:17:35 -04:00
jgart bda50e3411 gnu: trealla: Update to 2.92.25.
* gnu/packages/prolog.scm (trealla): Update to 2.92.25.

Change-Id: Idc712573cb14de9a320e74b64a1908d6c82552b0
2026-04-11 18:42:15 -04:00
Cayetano Santos f1cacebca6 gnu: emacs-calibredb: Add missing paths to binaries.
* gnu/packages/emacs-xyz.scm (emacs-calibredb)[arguments]: Complete
’patch-paths #:phase.

Change-Id: Idcf372702835e807f9739092fb8b4e3b016035f9
2026-04-11 21:28:34 +02:00
Christopher Baines 6cd5bbd0e9 gnu: guile-knots: Update to 0-32.d79284b.
* gnu/packages/guile-xyz.scm (guile-knots): Update to 0-32.d79284b.

Change-Id: Ib4dcbecd9b61f68dd2c66e7e74fbb6f126cd320f
2026-04-11 20:02:35 +03:00
Noé Lopez 1078e42a60 tests: Fix non-deterministic AppImage tests.
The tested AppImages were not actually relocatable and would rely on items
being available on the environment’s store (apart from glibc).

* guix/scripts/pack.scm (wrapped-manifest): New function.
(guix-pack): Extract relocatable manifest to wrapped-manifest.
* tests/pack.scm: Use relocatable profiles in AppImage tests.

Fixes: <https://issues.guix.gnu.org/76850>
Change-Id: Ib3123054913fce903d215dc0629d806e9fceebc7
Reported-by: Reepca Russelstein <reepca@russelstein.xyz>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-10 18:24:56 -07:00
Noé Lopez 3cbd6bd79c gnu: appimage-type-2-runtime: Update to continuous-1.caf24f9.
The runtime-fuse3 binary was renamed to runtime.

* gnu/packages/appimage.scm (appimage-type2-runtime):
Update to continuous-1.caf24f9.
* guix/scripts/pack.scm (self-contained-appimage):
[runtime-path]: Use new runtime name.

Change-Id: Ibbb1fcb6ca914764c37addb62c8234b49cc93bd5
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-10 18:24:53 -07:00
Noé Lopez f303403ec3 gnu: Remove fuse-for-appimage.
fuse:static can now be used instead.

* gnu/packages/linux.scm (fuse-for-appimage): Remove.
* gnu/packages/appimage.scm (appimage-type2-runtime)
[inputs]: Replace fuse-for-appimage with fuse:static.
* gnu/packages/file-systems.scm (squashfuse-for-appimage):
[inputs]: Replace fuse-for-appimage with fuse:static.

Change-Id: If3b10bd397eb10d28a8509feca889154bb287f61
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-10 18:24:50 -07:00
Noé Lopez cd006d069a gnu: fuse: Build static libraries.
* gnu/packages/linux.scm (fuse)
[outputs]: Add static output.
[arguments]<#:configure-flags>: Build static libraries.
<#:phases>: Add phase to install libraries in static output.

Change-Id: I9adfa4777174e700de2f5f0b2d43b286c7156313
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-10 18:24:46 -07:00
Noé Lopez d0a9726a44 gnu: squashfuse: Update to 0.6.1.
* gnu/packages/file-systems.scm (squashfuse):
Update to 0.6.1.

Change-Id: Id589dd7a08a1f1a91ac0547c1a2edaafeaf034b1
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-04-10 18:24:42 -07:00
Danny Milosavljevic f32596b598 gnu: Sort 'mesa in lookup-cargo-inputs.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Order 'mesa
container correctly so cargo import doesn't cause churn.
2026-04-10 23:38:36 +02:00
Bean 12822a4aa9 gnu: librecad: Fix desktop integration and icon installation.
This patch fixes issue #4120 by ensuring that the .desktop file and
application icon are installed to XDG-compliant directories.

* gnu/packages/engineering.scm (librecad)[arguments]: Update
’install #:phase.

Fixes guix/guix#4120
Merges guix/guix!7677

Change-Id: Ibc8143081dad92ce4f9cba59129302d1fb17d311
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Co-authored-by: Cayetano Santos <csantosb@inventati.org>
2026-04-10 23:26:42 +02:00
137 changed files with 36921 additions and 19927 deletions
-6
View File
@@ -13,7 +13,6 @@ gnu/packages/fluidplug\.scm @guix/audio
gnu/packages/music\.scm @guix/audio
gnu/packages/xiph\.scm @guix/audio
gnu/packages/beam-.+\.scm$ @guix/beam
gnu/packages/elixir(-.+|)\.scm$ @guix/beam
guix/build/mix-build-system\.scm @guix/beam
guix/build-system/mix\.scm @guix/beam
@@ -21,12 +20,7 @@ gnu/packages/erlang(-.+|)\.scm$ @guix/beam
guix/build/rebar-build-system\.scm @guix/beam
guix/build-system/rebar\.scm @guix/beam
guix/import/hexpm\.scm @guix/beam
guix/import/mix\.scm @guix/beam
guix/import/mix/mix-lock\.scm @guix/beam
guix/scripts/import/hexpm\.scm @guix/beam
guix/scripts/import/mix\.scm @guix/beam
tests/import/hexpm\.scm @guix/beam
tests/import/mix\.scm @guix/beam
gnu/packages/bioinformatics\.scm @guix/bioinformatics
-5
View File
@@ -22,7 +22,6 @@
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
# Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
# Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
#
# This file is part of GNU Guix.
#
@@ -321,8 +320,6 @@ MODULES = \
guix/import/launchpad.scm \
guix/import/luanti.scm \
guix/import/minetest.scm \
guix/import/mix.scm \
guix/import/mix/mix-lock.scm \
guix/import/nuget.scm \
guix/import/npm-binary.scm \
guix/import/opam.scm \
@@ -380,7 +377,6 @@ MODULES = \
guix/scripts/import/json.scm \
guix/scripts/import/luanti.scm \
guix/scripts/import/minetest.scm \
guix/scripts/import/mix.scm \
guix/scripts/import/npm-binary.scm \
guix/scripts/import/nuget.scm \
guix/scripts/import/opam.scm \
@@ -581,7 +577,6 @@ SCM_TESTS = \
tests/import/hackage.scm \
tests/import/hexpm.scm \
tests/import/luanti.scm \
tests/import/mix.scm \
tests/import/npm-binary.scm \
tests/import/nuget.scm \
tests/import/opam.scm \
+1
View File
@@ -18,6 +18,7 @@ Please send Guix bug reports to bug-guix@gnu.org.
** Distribution
*** GNOME updated to version 48
*** New service for Fossil SCM
*** TeX Live updated to 2026.1
* Changes in 1.5.0 (since 1.4.0)
** Package management
-105
View File
@@ -29,7 +29,6 @@ Copyright @copyright{} 2025 45mg@*
Copyright @copyright{} 2023 Marek Felšöci@*
Copyright @copyright{} 2023 Konrad Hinsen@*
Copyright @copyright{} 2023 Philippe Swartvagher@*
Copyright @copyright{} 2026 Igorj Gorjaĉev@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -141,7 +140,6 @@ Programmable and automated package definition
Packaging Workflows
* Packaging Rust Crates::
* Packaging Elixir Applications::
Packaging Rust Crates
@@ -1634,7 +1632,6 @@ systems, serving as extensions to the concise packaging guidelines
@menu
* Packaging Rust Crates::
* Packaging Elixir Applications::
@end menu
@node Packaging Rust Crates
@@ -1990,108 +1987,6 @@ method, one of the most popular choices for Traditional Chinese users.")
(license license:lgpl2.1+)))
@end lisp
@node Packaging Elixir Applications
@subsection Packaging Elixir Applications
In preparation, add the following packages to your environment:
@example
$ guix shell elixir elixir-depscheck elixir-mix-audit
@end example
In this example, we package @uref{https://livebook.dev, livebook},
which is an interactive, web-based notebook environment for writing,
running, and sharing Elixir code with rich documentation and
visualizations.
@enumerate
@item
We retrieve the @code{livebook} source code with the latest version
from the corresponding @code{git} repository:
@example
$ git clone --branch v0.18.2 --depth 1 \
https://github.com/livebook-dev/livebook
@end example
We should prepare the following definiton for this package (the suggested
location for this definition should be @code{gnu/packages/beam-packages.scm}
or up to your mind):
@lisp
(define-public livebook
(package
(name "livebook")
(version "0.18.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/livebook-dev/livebook")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1pq227nabslr7gh4qvg24wj4320djc0vrh6x6l23g3468x6znxjm"))))
(build-system mix-build-system)
(arguments
(list
#:tests? #f ; TODO: make them work a little bit later
#:vendorize? #t
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(copy-recursively "_build/prod/rel/livebook/"
out)))))))
(inputs (mix-inputs 'livebook))
(synopsis "Web application for writing code notebooks")
(description "This package provides @code{Livebook}, a web application
for writing interactive and collaborative code notebooks.")
(home-page "https://livebook.dev/")
(license license:asl2.0)))
@end lisp
The identifier used to invoke @code{mix-inputs}, in this case the scheme
symbol @code{'livebook}, must be unique, usually matching the variable name
of the package.
@item
Navigate to the unpacked directory, then run the following commands:
@example
$ mix deps.get
$ mix deps.audit
$ mix depscheck --verbose
@end example
@command{mix deps.audit} checks known vulnerabilities and @command{mix
depscheck --verbose} checks licenses, for all the dependencies. We must
have an acceptable output (i.e. message ``No vulnerabilities found.'') of
@command{mix deps.audit} and ensure all dependencies are licensed with our
supported licenses (@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}).
@item
Import dependencies from the lockfile:
@example
$ guix import --insert=gnu/packages/beam-packages.scm \
mix --lockfile=/path/to/mix.lock livebook
# or:
$ guix import -i gnu/packages/beam-packages.scm \
mix -f /path/to/mix.lock livebook
@end example
After that the package could be build by using the following command:
@example
$ guix build livebook
@end example
@end enumerate
@c *********************************************************************
@node System Configuration
+57 -26
View File
@@ -151,7 +151,6 @@ Copyright @copyright{} 2025 Noé Lopez@*
Copyright @copyright{} 2026 David Elsing@*
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
Copyright @copyright{} 2026 Yarl Baudig@*
Copyright @copyright{} 2026 Igorj Gorjaĉev@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -15389,31 +15388,6 @@ Additional options include:
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@item --mix-inputs
@itemx -m
Use vendored @code{mix-inputs} for @code{input} field instead of common
dependencies.
@end table
@item mix
@cindex mix
Import metadata from the @file{mix.lock}, Elixir's
@uref{https://hexdocs.pm/elixir/introduction-to-mix.html, mix} lock file,
as in this example:
@example
guix import mix -f mix.lock yourapp
@end example
Mandatory options are:
@table @code
@item --lockfile=@var{file}
@itemx -f @var{file}
@option{--lockfile} must be a @file{mix.lock} file.
@xref{Packaging Elixir Applications,,, guix-cookbook, GNU Guix Cookbook}, for
packaging workflow utilizing it.
@end table
@end table
@@ -51689,6 +51663,63 @@ phone-number = 0
is-married = true
@end example
@subsubsection Serializing to environment variables
@cindex environment variables, serialization of configuration records
There are services which expect their configuration as environment variables.
The @code{(gnu services configuration environment-variables)} module provides
facilities to serialize configuration records from
@code{(gnu services configuration)} to list of pairs representing environment
variables.
For example this configuration record:
@lisp
(define-configuration/no-serialization server
(ssh-port
(number 22)
"The public SSH port of the server.")
(fqdn
(maybe-string)
"The fully qualified domain name of the server.")
(active?
(boolean #f)
"Whether or not the server should be activated."))
(define my-server
(server
(ssh-port 20022)
(active? #t)))
@end lisp
with this call:
@lisp
(serialize-environment-variables my-server server-fields
#:true-value "1"
#:false-value "0")
@end lisp
would yield:
@lisp
'(("SSH_PORT" . "20022")
("ACTIVE" . "1"))
@end lisp
@anchor{serialize-environment-variables-procedure}
@deffn {Procedure} serialize-environment-variables @var{config} @var{fields} @
[@var{selection} #f] [@var{negate?} #f] [#:prefix #f] @
[#:true-value "true"] [#:false-value "false"]
Serializes the fields whose name is included in SELECTION from CONFIG, a
configuration from @code{(gnu services configuration)}, and FIELDS, the
list of its field records, to a list of pairs. When NEGATE? is #t all services
not included in SELECTION will be serialized. Each pair represents an
environment variable. The first element of each pair is the variable name, the
second is the value. When PREFIX is a string it is prepended to the variable
name. TRUE-VALUE and FALSE-VALUE will be used as a representation for
respectfully @code{#t} and @code{#f}.
@end deffn
@c *********************************************************************
@cindex troubleshooting, Guix System
+3 -9
View File
@@ -482,21 +482,15 @@ already exists. Lookup team IDs among CURRENT-TEAMS."
#:name "Erlang/Elixir/BEAM team"
#:description "The virtual machine at the core of the Erlang Open
Telecom Platform (OTP), Erlang and Elxir languages and packages, development
of Rebar and Mix build systems, Hex.pm and Mix importers."
#:scope (list (make-regexp* "^gnu/packages/beam-.+\\.scm$")
(make-regexp* "^gnu/packages/elixir(-.+|)\\.scm$")
of Rebar and Mix build systems and Hex.pm importer."
#:scope (list (make-regexp* "^gnu/packages/elixir(-.+|)\\.scm$")
"guix/build/mix-build-system.scm"
"guix/build-system/mix.scm"
(make-regexp* "^gnu/packages/erlang(-.+|)\\.scm$")
"guix/build/rebar-build-system.scm"
"guix/build-system/rebar.scm"
"guix/import/hexpm.scm"
"guix/import/mix.scm"
"guix/import/mix/mix-lock.scm"
"guix/scripts/import/hexpm.scm"
"guix/scripts/import/mix.scm"
"tests/import/hexpm.scm"
"tests/import/mix.scm")))
"guix/scripts/import/hexpm.scm")))
(define-team bioinformatics
(team 'bioinformatics
-1
View File
@@ -26,7 +26,6 @@
(define %sundry-texlive-packages
(list bibtool
dvisvgm
rubber
texmaker
texstudio
+22 -6
View File
@@ -56,6 +56,7 @@
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
# Copyright © 2022-2023, 2025-2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
@@ -75,7 +76,6 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
#
# This file is part of GNU Guix.
#
@@ -176,9 +176,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/bash.scm \
%D%/packages/batik.scm \
%D%/packages/bdw-gc.scm \
%D%/packages/beam-apps.scm \
%D%/packages/beam-packages.scm \
%D%/packages/beam-sources.scm \
%D%/packages/benchmark.scm \
%D%/packages/bioconductor.scm \
%D%/packages/bioinformatics.scm \
@@ -220,6 +217,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/convmv.scm \
%D%/packages/codex.scm \
%D%/packages/coq.scm \
%D%/packages/coreboot.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
%D%/packages/cppi.scm \
@@ -742,6 +740,8 @@ GNU_SYSTEM_MODULES = \
%D%/services/cgit.scm \
%D%/services/ci.scm \
%D%/services/configuration.scm \
%D%/services/configuration/environment-variables.scm \
%D%/services/configuration/utils.scm \
%D%/services/containers.scm \
%D%/services/cuirass.scm \
%D%/services/cups.scm \
@@ -1039,6 +1039,7 @@ dist_patch_DATA = \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/azr3-remove-lash.patch \
%D%/packages/patches/barony-fix-textures.patch \
%D%/packages/patches/bam-python3-compat.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bash-linux-pgrp-pipe.patch \
%D%/packages/patches/basis-universal-unbundle-libs.patch \
@@ -1232,7 +1233,6 @@ dist_patch_DATA = \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elixir-vendoring-support.patch \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/exaile-gstreamer-1.28.patch \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
@@ -1453,6 +1453,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-aeson-encodeDouble.patch \
%D%/packages/patches/ghc-basement-fix-32bit.patch \
%D%/packages/patches/ghc-bytestring-handle-ghc9.patch \
%D%/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch \
%D%/packages/patches/ghc-clock-realfrag.patch \
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \
%D%/packages/patches/ghc-memory-fix-32bit.patch \
@@ -1983,6 +1984,7 @@ dist_patch_DATA = \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%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 \
%D%/packages/patches/network-manager-plugin-path.patch \
%D%/packages/patches/newlib-getentropy.patch \
@@ -2113,6 +2115,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-random2-getrandbits-test.patch \
%D%/packages/patches/python-pillow-use-zlib-1.3.patch \
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
%D%/packages/patches/python-pynvim-fix-test-command-error.patch \
%D%/packages/patches/python-pypytools-python-3-fixes.patch \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
@@ -2385,6 +2388,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
@@ -2519,10 +2523,11 @@ dist_patch_DATA = \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
%D%/packages/patches/unity-test-support-int64.patch \
%D%/packages/patches/ungoogled-chromium-custom-compiler.patch \
%D%/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/ungoogled-chromium-unbundle-icu-target.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unknown-horizons-python-3.9.patch \
%D%/packages/patches/unknown-horizons-python-3.10.patch \
@@ -2623,6 +2628,17 @@ dist_patch_DATA = \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/ypsilon-Use-GNU-toolchain-as-default.patch \
%D%/packages/patches/zabbix-agent2-test-timezone-fix.patch \
%D%/packages/patches/zed-0.225.10-add-message-notification-action.patch \
%D%/packages/patches/zed-0.225.10-add-guix-container-support.patch \
%D%/packages/patches/zed-0.225.10-collapse-multiline-git-deps.patch \
%D%/packages/patches/zed-0.225.10-exclude-libwebrtc-from-audio.patch \
%D%/packages/patches/zed-0.225.10-disable-dlopen.patch \
%D%/packages/patches/zed-0.225.10-fix-sqlite-memory-mode.patch \
%D%/packages/patches/zed-0.225.10-fix-test-db-isolation.patch \
%D%/packages/patches/zed-0.225.10-fix-workspace-race.patch \
%D%/packages/patches/zed-0.225.10-keep-regular-file-workspaces.patch \
%D%/packages/patches/zed-0.225.10-remove-patch-crates-io.patch \
%D%/packages/patches/zed-0.225.10-use-mock-livekit-on-linux.patch \
%D%/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch \
%D%/packages/patches/zig-0.9-fix-runpath.patch \
%D%/packages/patches/zig-0.9-riscv-support.patch \
+12 -160
View File
@@ -1,9 +1,4 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -22,163 +17,20 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages adns)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils))
#:use-module (gnu packages dns)
#:use-module (guix deprecation))
(define-public adns
(package
(name "adns")
(version "1.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
(commit (string-append "adns-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
(build-system gnu-build-system)
(arguments
(list
;; INFO: Tests expect real name resolution to work.
#:tests? #f
#:configure-flags
#~(list
;; Make sure the programs under bin/ find libadns.so.
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
#$output:out
"/lib"))))
(native-inputs
(list m4))
(home-page "https://www.gnu.org/software/adns/")
(synopsis "Asynchronous DNS client library and utilities")
(description
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
Name System} resolution functionality. The library is asynchronous, allowing
several concurrent calls. The package also includes several command-line
utilities for use in scripts.")
(license license:gpl3+)))
(define-deprecated/public-alias adns
(@ (gnu packages dns) adns))
(define-public c-ares
(package
(name "c-ares")
(version "1.34.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/c-ares/c-ares/releases/download/v"
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'filter-live-tests
(lambda _
;; Filter tests that require internet access.
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
#$@(if (system-hurd?)
#~((add-after 'unpack 'skip-tests
(lambda _
(substitute* "test/ares-test-main.cc"
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n")))))
(add-after 'filter-live-tests 'filter-hurd-tests
(lambda _
(setenv "GTEST_FILTER"
(string-append
(getenv "GTEST_FILTER")
":.*Basic/2"
":.*CancelImmediate/2"
":.*CancelImmediateGetHostByAddr/2"
":.*CancelLater/1"
":.*FamilyUnspecified/2"
":.*FamilyV6/2"
":.*GetAddrInfoParallelLookups/1"
":.*GetHostByAddrDestroy/2"
":.*GetHostByNameCNAMENoData/2"
":.*GetHostByNameDestroyAbsolute/2"
":.*GetHostByNameDestroyRelative/2"
":.*GetHostByNameParallelLookups/1"
":.*HostAlias/2"
":.*HostAliasMissing/2"
":.*HostAliasMissingFile/2"
":.*NotImplResponse/2"
":.*RefusedResponse/2"
":.*Resend/1"
":.*RetryWithoutEDNS/2"
":.*SearchDomains/2"
":.*SearchDomainsBare/2"
":.*SearchDomainsServFailOnAAAA/2"
":.*SearchDomainsWithResentReply/1"
":.*SearchHighNdots/2"
":.*SearchNoDataThenFail/2"
":.*SearchNoDataThenNoDataBare/2"
":.*SearchNoDataThenSuccess/2"
":.*ServFailResponse/2"
":.*SimpleQuery/2"
":.*SockCallback/2"
":.*SockConfigureCallback/2"
":.*SortListV4/2"
":.*SortListV6/2"
":.*ThirdServer/2"
":.*TruncationRetry/1"
":.*UnspecifiedFamilyCname6A4/2"
":.*UnspecifiedFamilyV4/2"
":.*UnspecifiedFamilyV6/2")))))
#~()))))
(native-inputs
(list pkg-config))
(home-page "https://c-ares.haxx.se/")
(synopsis "C library for asynchronous DNS requests")
(description
"C-ares is a C library that performs DNS requests and name resolution
asynchronously. It is intended for applications which need to perform DNS
queries without blocking, or need to perform multiple DNS queries in parallel.
The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
(define-deprecated/public-alias c-ares
(@ (gnu packages dns) c-ares))
(define-public c-ares-for-node-lts
(hidden-package c-ares))
(define-deprecated/public-alias c-ares-for-node-lts
(@ (gnu packages dns) c-ares-for-node-lts))
(define-public c-ares-for-node-bootstrap
(hidden-package
(package
(inherit c-ares)
(version "1.18.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://c-ares.haxx.se/download/c-ares-" version
".tar.gz"))
(sha256
(base32
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
(define-deprecated/public-alias c-ares-for-node-bootstrap
(@ (gnu packages dns) c-ares-for-node-bootstrap))
;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
;; We can not build c-ares itself with CMake because that would introduce a
;; circular dependency through nghttp2.
;; XXX: It would be nice if we could extract the modules somehow and make them
;; work with the "normal" c-ares package instead of building a whole new library.
(define-public c-ares/cmake
(hidden-package
(package
(inherit c-ares)
(build-system cmake-build-system)
(arguments
`(;; XXX: Tests require name resolution (the normal variant runs no tests).
#:tests? #f)))))
(define-deprecated/public-alias c-ares/cmake
(@ (gnu packages dns) c-ares/cmake))
+1 -1
View File
@@ -370,7 +370,7 @@ This package includes the following programs:
libjpeg-turbo
perl
python
v4l-utils-minimal))
v4l-utils))
(propagated-inputs
;; These are in 'requires' field of .pc files.
(list glib gtk+))
+2 -3
View File
@@ -33,9 +33,8 @@
;; The URI does not appear to be easily guessable. For
;; example, you cannot download version "9100g" simply
;; by replacing "9100h" in the URI.
(uri (list (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
"distfiles/31/anthy-9100h.tar.gz")
"https://osdn.dl.osdn.net/anthy/37536/anthy-9100h.tar.gz"))
(uri (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
"distfiles/31/anthy-9100h.tar.gz"))
(sha256
(base32 "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
(build-system gnu-build-system)
+19 -9
View File
@@ -19,9 +19,11 @@
(define-module (gnu packages appimage)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
@@ -30,9 +32,9 @@
#:use-module (guix utils))
(define-public appimage-type2-runtime
(let ((revision "0")
(let ((revision "1")
;; No releases, just the latest commit.
(commit "47b665594856b4e8928f8932adcf6d13061d8c30"))
(commit "caf24f9f712084686bfc24a70b75e50df0aefb9c"))
(package
(name "appimage-type2-runtime")
(version (git-version "continuous" revision commit))
@@ -44,16 +46,16 @@
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0954crhlbapxis96g1s0vfpf78ybr64zvjalak387ksxj560g44x"))))
(base32 "17z0byws3dp375wcyq5xwy5npqy7hslqw21n677dp38z4f940nzv"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests
#:make-flags
#~(list "-Csrc/runtime" "runtime-fuse3"
#~(list "-Csrc/runtime" "runtime"
(string-append "CC=" #$(cc-for-target))
(string-append
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse/"
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse3/"
" -DGIT_COMMIT='\"" "guix-" #$version "\"'"
" -D_FILE_OFFSET_BITS=64"
" -static"
@@ -64,17 +66,22 @@
(ice-9 binary-ports))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-pkgconfig-flags
(lambda _
(substitute* "src/runtime/Makefile"
(("-lmimalloc")
"$(pkg-config --cflags mimalloc)"))))
(delete 'configure)
(replace 'install
(lambda _
(install-file "src/runtime/runtime-fuse3"
(install-file "src/runtime/runtime"
(string-append #$output "/bin"))))
;; Must be after all elf reliant phases. Used to identify the
;; executable as an AppImage as per the specification.
(add-after 'make-dynamic-linker-cache 'set-magic-bytes
(lambda _
(let ((port (open (string-append #$output
"/bin/runtime-fuse3")
"/bin/runtime")
(logior O_WRONLY))))
(seek port 8 SEEK_SET)
(put-bytevector port #vu8(#x41 #x49 #x02))
@@ -84,9 +91,12 @@
(this-package-input "fuse")
(gexp-input (this-package-input "zstd") "static")
(gexp-input (this-package-input "zlib") "static"))))
(native-inputs (list pkg-config))
;; Only needed at build time.
(inputs (list squashfuse-for-appimage
fuse-for-appimage
(inputs (list `(,fuse "out")
`(,fuse "static")
mimalloc
squashfuse-for-appimage
`(,zstd "static")
`(,zlib "static")))
(synopsis "Runtime for executing AppImages")
+40 -1
View File
@@ -62,6 +62,7 @@
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3438,7 +3439,7 @@ from being able to mix multiple JACK audio streams.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08ji4lg24flzi6g3yaavfq8hz3kr98q2ripk5m4qk9z172qxbbc9"))))
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
(build-system meson-build-system)
(arguments
(list
@@ -3703,6 +3704,44 @@ compensation, (de)interleaving, and byte-swapping
;; original developer.
(license license:expat)))
(define-public rtcqs
(package
(name "rtcqs")
(version "0.6.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/rtcqs/rtcqs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kc3niyaq4m8di68832pgfb1b0m54q5gm68dwlzwwilgxi61ifzc"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-gui
(lambda _
(substitute* "pyproject.toml"
(("\"FreeSimpleGUI\",?")
"")
(("rtcqs_gui = \"rtcqs\\.rtcqs_gui:main\"")
""))
(delete-file "src/rtcqs/rtcqs_gui.py")
(delete-file "src/rtcqs/rtcqs_qt_gui.py"))))))
(native-inputs (list python-setuptools))
(home-page "https://codeberg.org/rtcqs/rtcqs")
(synopsis "Linux audio real-time performance analyzer")
(description
"rtcqs analyzes a Linux system to detect possible bottlenecks that could
have a negative impact on real-time audio performance. It checks kernel
configuration, IRQ priorities, CPU governor, swappiness, and other settings
relevant to low-latency audio work.")
(license license:expat)))
(define-public rtosc
(package
(name "rtosc")
-25
View File
@@ -1,25 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages beam-apps)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system mix))
-29
View File
@@ -1,29 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages beam-sources)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system mix))
;;;
;;; BEAM libraries requiring modification.
;;; These packages are hidden, as they are not interesting to users.
;;;
+14 -1
View File
@@ -944,7 +944,20 @@ configurable through a set of options.")
#~(list (string-append
"CC=" #$(this-package-input "openmpi") "/bin/mpicc")
(string-append
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))))
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))
#:phases
#~(modify-phases %standard-phases
;; OSU installs its binaries to /libexec. Have a symlink in /bin to
;; improve user experience.
(add-after 'install 'symlink-binaries-in-bin
(lambda _
(mkdir-p (string-append #$output "/bin"))
(for-each (lambda (file)
(symlink file
(string-append #$output "/bin/"
(basename file))))
(find-files (string-append #$output
"/libexec"))))))))
(home-page "https://mvapich.cse.ohio-state.edu/benchmarks/")
(synopsis "Benchmarking suite from the MVAPICH project")
(description
-38
View File
@@ -18335,44 +18335,6 @@ following the assay and produces a file detailing peaks of significant
enrichment.")
(license license:expat)))
(define-public mantis
;; This is an arbitrary commit as a year has passed since 0.1 was tagged.
(let ((commit "b6979a269172a45201c8366680d8b889f889432b")
(revision "2"))
(package
(name "mantis")
(version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/splatlab/mantis")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0dq8a785hnaxx5kq757m5czs8xpcjpcph1inq2nm8h6zfvqyj8xs"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; there are none
#:configure-flags (list "-DNH=ON"))) ; do not use SSE4.2 instructions
(inputs
(list sdsl-lite openssl zlib))
(native-inputs
(list gcc-7))
(home-page "https://github.com/splatlab/mantis")
(synopsis "Large-scale sequence-search index data structure")
(description "Mantis is a space-efficient data structure that can be
used to index thousands of raw-read genomics experiments and facilitate
large-scale sequence searches on those experiments. Mantis uses counting
quotient filters instead of Bloom filters, enabling rapid index builds and
queries, small indexes, and exact results, i.e., no false positives or
negatives. Furthermore, Mantis is also a colored de Bruijn graph
representation, so it supports fast graph traversal and other topological
analyses in addition to large-scale sequence-level searches.")
;; uses __uint128_t and inline assembly
(supported-systems '("x86_64-linux"))
(license license:bsd-3))))
(define-public sjcount
;; There is no tag for version 3.2, nor is there a release archive.
(let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
+33 -33
View File
@@ -41,32 +41,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bittorrent)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages nss)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -76,8 +60,9 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages nettle)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -86,15 +71,30 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (guix utils))
(define-public transmission
(package
@@ -194,7 +194,7 @@ DHT, µTP, PEX and Magnet Links.")
;; or any future license endorsed by Mnemosyne LLC.
;;
;; A few files files carry an MIT/X11 license header.
(license (list l:gpl2 l:gpl3))))
(license (list license:gpl2 license:gpl3))))
(define-public transmission-remote-gtk
(package
@@ -224,7 +224,7 @@ DHT, µTP, PEX and Magnet Links.")
(description "transmission-remote-gtk is a GTK client for remote management
of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(home-page "https://github.com/transmission-remote-gtk/transmission-remote-gtk")
(license l:gpl2+)))
(license license:gpl2+)))
(define-public stig
(package
@@ -267,7 +267,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
Line Interface} client for the BitTorrent client Transmission.")
(home-page "https://github.com/rndusr/stig")
(license l:gpl3)))
(license license:gpl3)))
(define-public libtorrent
(package
@@ -291,7 +291,7 @@ Line Interface} client for the BitTorrent client Transmission.")
with the BitTorrent client rtorrent. It is written in C++ with emphasis on
speed and efficiency.")
(home-page "https://github.com/rakshasa/libtorrent")
(license l:gpl2+)))
(license license:gpl2+)))
(define-public rtorrent
(package
@@ -320,7 +320,7 @@ speed and efficiency.")
full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
XML-RPC over SCGI.")
(home-page "https://github.com/rakshasa/rtorrent")
(license l:gpl2+)))
(license license:gpl2+)))
(define-public tremc
(let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
@@ -354,7 +354,7 @@ XML-RPC over SCGI.")
(description "Tremc is a console client, with a curses interface, for the
Transmission BitTorrent daemon.")
(home-page "https://github.com/tremc/tremc")
(license l:gpl3+))))
(license license:gpl3+))))
(define-public aria2
(package
@@ -419,7 +419,7 @@ download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(properties
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
(license l:gpl2+)))
(license license:gpl2+)))
(define-public uget
(package
@@ -453,7 +453,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
"uGet is portable download manager with GTK+ interface supporting
HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection
downloads, download scheduling, download rate limiting.")
(license l:lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public mktorrent
(package
@@ -488,8 +488,8 @@ files and whole directories. It can add multiple trackers and web seed URLs,
and set the @code{private} flag to disallow advertisement through the
distributed hash table (@dfn{DHT}) and Peer Exchange. Hashing is multi-threaded
and will take advantage of multiple processor cores where possible.")
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
l:gpl2+)))) ; with permission to link with OpenSSL
(license (list license:public-domain ; sha1.*, used to build without OpenSSL
license:gpl2+)))) ; with permission to link with OpenSSL
(define-public libtorrent-rasterbar
(package
@@ -541,7 +541,7 @@ and will take advantage of multiple processor cores where possible.")
"libtorrent-rasterbar is a feature-complete C++ BitTorrent implementation
focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
(license license:bsd-2)))
(define-public qbittorrent
(package
@@ -585,7 +585,7 @@ libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
It aims to be a good alternative to all other BitTorrent clients out there.
qBittorrent is fast, stable and provides unicode support as well as many
features.")
(license l:gpl2+)))
(license license:gpl2+)))
(define-public qbittorrent-no-x
(let ((base qbittorrent))
@@ -727,4 +727,4 @@ Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
speed limits. Deluge heavily utilises the libtorrent library. It is
designed to run as both a normal standalone desktop application and as a
client-server.")
(license l:gpl3+)))
(license license:gpl3+)))
+8 -8
View File
@@ -95,8 +95,8 @@ supported content to the Kodi media center.")
;; Arbitrary commit of branch master,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-main-assets")
(commit "011eef4a5b36a7ebf4adedc486d96b77cfa25c54")
(revision "5")
(commit "004af606e6a0efc22bc65ab1016b553441cacb71")
(revision "6")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@@ -105,14 +105,14 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ng8a88zdvrxg30fz83gswjy27b3hfx9q11n2i715id7az7kqf9x")))))
(base32 "1bfd2d53flrkgvjcr1kj9nbxj4y9a4pcr7m3dycccdhd21x6k0ln")))))
(define ublock-prod-assets
;; Arbitrary commit of branch gh-pages,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-prod-assets")
(commit "6844322800de647da0c4fe06dd6a0b212a3942e4")
(revision "5")
(commit "6c15e4ef91888c610caf73829dc78ae9549ed24a")
(revision "6")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@@ -121,12 +121,12 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13vxq4z1wxivz5xklncxd2sj5aqkyhq919vzbbfp0fgh0imhikib")))))
(base32 "0n2h6drqh44b1zgl729bfr70n08mkm536a2vqgivw7dm5dmi8zd3")))))
(define ublock-origin
(package
(name "ublock-origin")
(version "1.66.2")
(version "1.70.0")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@@ -136,7 +136,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
"16ph031hb8bf4rxyxvm6jr0bxmy0snza11jfrbjgfb390gax9r63"))))
"0j1m80nz86yc69c42hv5di5zza0vkycqmjaydb9jgx0abcvi19x5"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(properties '((addon-id . "uBlock0@raymondhill.net")))
+31 -29
View File
@@ -44,37 +44,17 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages build-tools)
#:use-module (ice-9 optargs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages c)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
#:use-module (guix build-system hare)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages cppi)
#:use-module (gnu packages dns)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
@@ -105,7 +85,27 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages unicode)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#: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 guile)
#:use-module (guix build-system hare)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)
#:use-module (ice-9 optargs))
(define-public acr
(package
@@ -196,7 +196,8 @@ according to the system capabilities and the user-selected options.")
(file-name (git-file-name name version))
(sha256
(base32
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))
(patches (search-patches "bam-python3-compat.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags `(,(string-append "CC=" ,(cc-for-target))
@@ -207,7 +208,7 @@ according to the system capabilities and the user-selected options.")
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("python" ,python-2)))
(list python-minimal-wrapper))
(inputs
(list lua))
(home-page "https://matricks.github.io/bam/")
@@ -344,8 +345,8 @@ programs and other files depend.")
(license license:bsd-3)))
(define-public gn
(let ((commit "ee5b7e32b961a9da1933e9f46a018ba6cac8ef60")
(revision "2277")) ;as returned by `git describe`, used below
(let ((commit "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a")
(revision "2354")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@@ -355,7 +356,7 @@ programs and other files depend.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"19kkvwxl66vlzlfppbq03fmi59i5g8a1yc71fsfgwqqmx4wywd6w"))
"0yz38czmbc72q1hkiv3cwxqh2i8ji2vkkvvk5ws2cjplmn2vj0x9"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -365,7 +366,8 @@ programs and other files depend.")
(lambda _
(setenv "CC" "gcc")
(setenv "CXX" "g++")
(setenv "CXXFLAGS" "-g -O2 -Wno-error=redundant-move")
(setenv "CXXFLAGS"
"-g -O2 -Wno-error=redundant-move -Wno-error=comment")
(setenv "AR" "ar")))
(replace 'configure
(lambda _
+26 -21
View File
@@ -595,7 +595,11 @@ capacity is user-selectable.")
version "/DVDStyler-" version ".tar.bz2"))
(sha256
(base32
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))))
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))
(snippet
#~(begin (delete-file "src/dvdvml.c")
(delete-file "src/dvdvmy.c")
(delete-file "src/dvdvmy.h")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -625,27 +629,28 @@ capacity is user-selectable.")
#t)))
#:tests? #f)) ; No tests.
(inputs ; TODO package bundled wxvillalib
`(("wxwidgets" ,wxwidgets)
("wssvg" ,wxsvg)
("bash" ,bash-minimal) ; for wrap-program
("dbus" ,dbus)
("cdrtools" ,cdrtools)
("dvd+rw-tools" ,dvd+rw-tools)
("dvdauthor" ,dvdauthor)
("eudev" ,eudev)
("fontconfig" ,fontconfig)
("libexif" ,libexif)
("libjpeg" ,libjpeg-turbo)
("ffmpeg" ,ffmpeg-4)))
(list bash-minimal ; for wrap-program
cdrtools
dbus
dvd+rw-tools
dvdauthor
eudev
ffmpeg-4
fontconfig
libexif
libjpeg-turbo
wxsvg
wxwidgets))
(native-inputs
`(("pkg-config" ,pkg-config)
("flex" ,flex)
("python" ,python-2)
("xmlto" ,xmlto)
("gettext" ,gettext-minimal)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("zip" ,zip)))
(list bison
docbook-xml
docbook-xsl
flex
gettext-minimal
pkg-config
python-minimal-wrapper
xmlto
zip))
(synopsis "DVD authoring application")
(description "DVDStyler is a DVD authoring application which allows users
to burn video files in many formats to DVD discs, complete with individually
+108 -66
View File
@@ -79,11 +79,13 @@
'("base/third_party/cityhash" ;Expat
"base/third_party/double_conversion" ;BSD-3
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/nspr" ;MPL-2.0
"base/third_party/superfasthash" ;BSD-3
"base/third_party/symbolize" ;BSD-3
"base/third_party/xdg_user_dirs" ;Expat
"buildtools/third_party/libc++" ;BSD
"buildtools/third_party/libc++abi" ;BSD
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/nss" ;MPL-2.0
"net/third_party/quiche" ;BSD-3
"net/third_party/uri_template" ;ASL2.0
"third_party/abseil-cpp" ;ASL2.0
@@ -104,8 +106,11 @@
"third_party/catapult" ;BSD-3
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
"third_party/catapult/third_party/beautifulsoup4-4.9.3" ;Expat
"third_party/catapult/third_party/html5lib-1.1" ;Expat
"third_party/catapult/third_party/polymer" ;BSD-3
"third_party/catapult/third_party/six" ;Expat
"third_party/catapult/third_party/typ" ;ASL2.0
;; XXX: This is a minified version of <https://d3js.org/>.
"third_party/catapult/tracing/third_party/d3" ;BSD-3
"third_party/catapult/tracing/third_party/gl-matrix" ;Expat
@@ -120,19 +125,12 @@
"third_party/cld_3" ;ASL2.0
"third_party/closure_compiler" ;ASL2.0
"third_party/compiler-rt" ;ASL2.0
"third_party/compiler-rt/src/lib" ;ASL2.0
"third_party/compiler-rt/src/lib/builtins" ;ASL2.0
"third_party/content_analysis_sdk" ;BSD-3
"third_party/cpuinfo" ;BSD-2
"third_party/crabbyavif" ;ASL2.0
"third_party/crabbyavif/src/sys/dav1d-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/aom-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/libgav1-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/libyuv-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/ndk-sys" ;ASL2.0
"third_party/crashpad" ;ASL2.0
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
"third_party/crashpad/crashpad/third_party/zlib" ;Zlib
"third_party/crc32c" ;BSD-3
"third_party/cros_system_api" ;BSD-3
"third_party/dav1d" ;BSD-2
@@ -140,19 +138,25 @@
;; TODO: can likely be unbundled when Vulkan is updated.
"third_party/dawn/third_party/khronos" ;ASL2.0
"third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3
"third_party/dawn/third_party/renderdoc" ;Expat
"third_party/dawn/third_party/webgpu-headers" ;BSD-3
"third_party/depot_tools" ;BSD-3
"third_party/devscripts" ;GPL2.0
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end"
"third_party/devtools-frontend/src/front_end/third_party"
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
"third_party/devtools-frontend/src/front_end/third_party\
/additional_readme_paths.json" ;no explicit license; trivial
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/csp_evaluator" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/legacy-javascript" ;ASL-2.0
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/lit" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
@@ -164,10 +168,12 @@
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel" ; Expat
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs" ; ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party\
/vscode.web-custom-data" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/third-party-web" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/web-vitals" ;Expat
"third_party/devtools-frontend/src/third_party/i18n" ;ASL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
@@ -179,6 +185,7 @@
"third_party/farmhash" ;Expat
"third_party/fast_float" ;ASL2.0, Boost1.0, Expat
"third_party/fdlibm" ;non-copyleft
"third_party/federated_compute/chromium/fcp/confidentialcompute" ;ASL2.0
"third_party/federated_compute/src/fcp/base" ;ASL2.0
"third_party/federated_compute/src/fcp/confidentialcompute" ;ASL2.0
"third_party/federated_compute/src/fcp/protos/confidentialcompute" ;ASL2.0
@@ -187,7 +194,9 @@
"third_party/fft2d" ;non-copyleft
"third_party/flatbuffers" ;ASL2.0
"third_party/fp16" ;Expat
"third_party/freetype" ;GPL2.0
"third_party/fusejs" ;ASL2.0
"third_party/fxdiv" ;Expat
"third_party/gemmlowp" ;ASL2.0
"third_party/google_input_tools" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
@@ -196,6 +205,9 @@
"third_party/harfbuzz-ng" ;Expat
"third_party/highway" ;ASL2.0
"third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+
"third_party/hyphenation-patterns" ;Expat
;; FIXME: Our icu does not have some headers such as udatamem.h.
"third_party/icu" ;Unicode3.0
"third_party/ink" ;ASL2.0
"third_party/ink_stroke_modeler" ;ASL2.0
"third_party/inspector_protocol" ;BSD-3
@@ -208,12 +220,14 @@
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/SVT-AV1" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libc++" ;Expat
"third_party/libdrm" ; Expat
"third_party/libgav1" ;ASL2.0
"third_party/libjingle_xmpp" ;BSD-3
"third_party/libpfm4" ;BSD
"third_party/libpng" ;PNG2.0
"third_party/libphonenumber" ;ASL2.0
"third_party/libsecret" ;LGPL2.1+
"third_party/libsrtp" ;BSD-3
@@ -227,11 +241,15 @@
"third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat
"third_party/libwebm" ;BSD-3
"third_party/libx11" ;BSD
"third_party/libxcb-keysyms" ;BSD
"third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3
"third_party/libzip" ;BSD-3
"third_party/lit" ;BSD-3
"third_party/lit/v3_0" ;BSD-3
"third_party/llvm-libc" ;ASL2.0
"third_party/llvm-libc/src/shared" ;ASL2.0
"third_party/lottie" ;Expat
"third_party/lss" ;BSD-3
"third_party/lzma_sdk" ;public domain
@@ -244,6 +262,7 @@
"third_party/modp_b64" ;BSD-3
"third_party/nasm" ;BSD-2
"third_party/nearby" ;ASL2.0
"third_party/neon_2_sse" ;BSD-2
"third_party/node" ;Expat
"third_party/oak/chromium/proto" ;ASL2.0
"third_party/oak/chromium/proto/attestation" ;ASL2.0
@@ -251,14 +270,20 @@
"third_party/one_euro_filter" ;BSD-3
"third_party/openscreen" ;BSD-3
"third_party/openscreen/src/third_party/tinycbor" ;Expat
"third_party/opus" ;BSD-3
"third_party/ots" ;BSD-3
"third_party/pdfium" ;BSD-3
"third_party/pdfium/third_party/agg23" ;Expat
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
"third_party/pdfium/third_party/lcms" ;Expat
"third_party/pdfium/third_party/libopenjpeg" ;BDS-2
"third_party/pdfium/third_party/libtiff" ;non-copyleft
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
"third_party/perfetto" ;ASL2.0
"third_party/perfetto/protos/third_party/chromium" ;BSD-3
"third_party/perfetto/protos/third_party/pprof" ;ASL2.0
"third_party/perfetto/protos/third_party/primes" ;ASL2.0
"third_party/perfetto/protos/third_party/simpleperf" ;ASL2.0
"third_party/pffft" ;the "FFTPACK" license
"third_party/ply" ;BSD-3
"third_party/polymer" ;BSD-3
@@ -268,6 +293,7 @@
"third_party/protobuf/third_party/utf8_range" ; Expat
"third_party/pthreadpool" ;BSD-2
"third_party/puffin" ;Non-copyleft
"third_party/pyyaml" ;Expat
"third_party/pyjson5" ;ASL2.0
"third_party/rapidhash" ;BSD-2
"third_party/readability" ;ASL2.0
@@ -279,11 +305,14 @@
"third_party/search_engines_data" ;BSD-3
"third_party/securemessage" ;ASL2.0
"third_party/selenium-atoms" ;ASL2.0
"third_party/sentencepiece" ;ASL2.0
"third_party/sentencepiece/src/third_party/darts_clone" ;BSD-3
"third_party/shell-encryption" ;ASL2.0
"third_party/simdutf" ;Non-copyleft
"third_party/simplejson" ; Non-copyleft
"third_party/six" ;Expat
"third_party/skia" ;BSD-3
"third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
"third_party/skia/include/third_party/vulkan" ;BSD-3
"third_party/smhasher" ;Expat, public domain
;; FIXME: the snappy "replacement" shim (see replace_gn_files.py below) does
@@ -338,7 +367,6 @@
"third_party/webrtc/modules/third_party/fft" ;Non-copyleft
"third_party/webrtc/modules/third_party/g711" ;Public domain
"third_party/webrtc/modules/third_party/g722" ;Public domain
"third_party/webrtc/rtc_base/third_party/sigslot" ;Public domain
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
"third_party/woff2" ;ASL2.0
"third_party/wuffs" ;ASL2.0
@@ -372,7 +400,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "141.0.7390.65")
(define %chromium-version "147.0.7727.55")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision (string-append "debian/" %ungoogled-revision))
@@ -384,7 +412,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1hk4rww2gccly1qv0xnswd77haj02rlza82403dxdjm8fkdfndy6"))))
"0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc"))))
(define %debian-origin
(origin
@@ -397,7 +425,7 @@
((_ version) version))))
(sha256
(base32
"06s3kvwb3490xb28n6r3q5n1c0ylsvchiw6s4h1rrp8jqzwjbmc6"))))
"0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98"))))
(define (origin-file origin file)
(computed-file
@@ -410,26 +438,38 @@
(define %debian-patches
(map debian-patch
'("bookworm/clang19.patch"
"bookworm/foreach.patch"
'("bookworm/foreach.patch"
"debianization/safe-libcxx.patch"
"disable/enterprise-tests.patch"
"disable/node-version-ck.patch"
"disable/rustc-allow-features.patch"
"fixes/bytemuck.patch"
"fixes/gentoo-stylesheet.patch"
"fixes/libcpp-headers.patch"
"fixes/libpng-testonly.patch"
"fixes/rust-clanglib.patch"
"llvm-19/clang19.patch"
"llvm-19/clone-traits.patch"
"llvm-19/keyfactory.patch"
"llvm-19/value-or.patch"
"llvm-22/ignore-for-ubsan.patch"
"system/openjpeg.patch"
;; Remove after rust is past
;; <https://github.com/rust-lang/rust/pull/141061>.
"trixie/rust-no-alloc-shim.patch")))
"trixie/cookie-string-view.patch"
"trixie/nodejs-main.patch")))
(define %guix-patches
(list (local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-extension-search-path.patch")))
"ungoogled-chromium-custom-compiler.patch")))
(local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-unbundle-icu-target.patch")))
"ungoogled-chromium-empty-parsed-rustc-args.patch")))
(local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-extension-search-path.patch")))
(local-file
(assume-valid-file-name
(search-patch
@@ -500,9 +540,8 @@
"#if 0"))
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "flac" "fontconfig" "freetype"
"harfbuzz-ng" "icu" "libjpeg"
"libpng" "libwebp" "libxml" "libxslt" "openh264" "opus"
"zlib")))))
"harfbuzz-ng" "libjpeg" "libpng" "libwebp" "libxml"
"libxslt" "openh264" "opus" "zlib")))))
(define opus+custom
(package/inherit opus
@@ -531,7 +570,7 @@
%chromium-version "-lite.tar.xz"))
(sha256
(base32
"09iwglswnr6d45zz3zsjw7jpm1xlwwkxlz9h5nlhqxyd933a04fq"))
"1salvlw5sykx3zmsbp7cgmf7y8yy6jlgb4b4zswzsbjrprk4jnap"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -548,6 +587,7 @@
;; directory for an exhaustive list of supported flags.
;; (Note: The 'configure' phase will do that for you.)
#~(list "is_debug=false"
"is_component_build=false"
;; Use the "official" release optimizations, as opposed to
;; a developer build.
"is_official_build=true"
@@ -555,6 +595,7 @@
"use_clang_modules=false"
"use_custom_libcxx=false" ; support for this is deprecated and to be removed.
"optimize_webui=false"
"webnn_use_tflite=false"
"safe_browsing_use_unrar=false"
"chrome_pgo_phase=0"
"use_sysroot=false"
@@ -572,12 +613,10 @@
"enable_service_discovery=false"
"enable_vr=false"
"enable_enterprise_companion=false"
"enable_glic=false"
"enable_iterator_debugging=false"
"enable_hangout_services_extension=false"
"enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency.
"enable_js_type_check=false"
"fatal_linker_warnings=false"
;; Disable code using TensorFlow until it has been scrutinized
;; by the ungoogled project.
"build_with_tflite_lib=false"
@@ -589,6 +628,11 @@
"angle_has_histograms=false"
"angle_build_tests=false"
"build_angle_perftests=false"
"enable_perfetto_unittests=false"
"skia_enable_skshapper_tests=false"
"tint_build_unittests=false"
"enable_nocompile_tests=false"
"enable_screen_ai_browsertests=false"
"clang_warning_suppression_file=\"\""
@@ -597,6 +641,8 @@
"is_cfi=false"
"symbol_level=0"
"blink_symbol_level=0"
"v8_symbol_level=0"
"v8_enable_backtrace=false"
;; Define a custom toolchain that simply looks up CC, AR and
@@ -628,26 +674,10 @@
;; invokation and fails if it's just the version number.
" (f6e511eec 2024-10-15) (built from a source tarball)\"")
;; Chromium's build/rust/std/BUILD.gn has a hardcoded
;; list of stdlib rlibs (stdlib_files) that GN uses to
;; declare build outputs. GN requires static output
;; declarations, so the list must exactly match what
;; rlibs exist in the Rust sysroot. Chromium's list
;; includes unicode_width because their bundled
;; toolchain (Rust 1.89) ships it as a dependency of
;; getopts 0.2.23. Our Rust 1.93 has getopts 0.2.24
;; which dropped that dependency, so unicode_width is
;; not in our sysroot. This GN arg removes it from
;; the list. (Chromium's own use of unicode_width via
;; codespan-reporting is a separate vendored copy under
;; third_party/rust/chromium_crates_io/ and is
;; unaffected.)
"removed_rust_stdlib_libs=[\"unicode_width\"]"
;; Prefer system libraries.
"use_system_freetype=true"
"use_system_harfbuzz=true"
"use_system_icu=true"
"use_system_icu=false"
"use_system_lcms2=true"
"use_system_libffi=true"
"use_system_libjpeg=true"
@@ -713,9 +743,9 @@
;; Many files try to include ICU headers from "third_party/icu/...".
;; Remove the "third_party/" prefix to use system headers instead.
(substitute* (find-files "chrome" "\\.cc$")
(("third_party/icu/source/(common|i18n)/")
""))
;(substitute* (find-files "chrome" "\\.cc$")
; (("third_party/icu/source/(common|i18n)/")
; ""))
;; XXX: Should be unnecessary when use_system_lcms2=true.
(substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h"
@@ -732,16 +762,19 @@
(("include \"third_party/curl")
"include \"curl"))
;; Unknown flags as of clang-19, can be removed when building with
;; newer clang.
(substitute* "build/config/compiler/BUILD.gn"
(("-gsimple-template-names") ""))
;; Clang libs are not under bindgen root directory.
(substitute* "build/rust/rust_bindgen_generator.gni"
;; Our clang libs and rustfmt are not under bindgen root directory.
(substitute* '("build/rust/rust_bindgen_generator.gni"
"build/rust/rust_bindgen.gni")
(("(_libclang_path = )rust_bindgen_root" _ libclang)
(string-append libclang "clang_base_path"))))))
(add-after 'patch-stuff 'add-absolute-references
(string-append libclang "clang_base_path"))
(("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt)
(string-append rustfmt "${rust_sysroot_absolute}"))))))
(add-after 'patch-stuff 'include-pthreadpool
;; FIXME: Somehow the build system cannot locate this header.
(lambda _
(copy-file "third_party/pthreadpool/src/include/pthreadpool.h"
"pthreadpool.h")))
(add-after 'include-pthreadpool 'add-absolute-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((cups-config (search-input-file inputs "/bin/cups-config"))
(libnssckbi.so (search-input-file inputs
@@ -763,13 +796,22 @@
(add-after 'add-absolute-references 'adjust-CPLUS_INCLUDE_PATH
;; The libcxx include/c++/v1 directory is not exposed via
;; CPLUS_INCLUDE_PATH by default, causing errors like
;; "fatal error: 'format' file not found".
;; "fatal error: 'format' file not found". Also clang is
;; unable to find gcc's bits/c++config.h which is machine
;; dependent.
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory inputs
"/include/c++/v1")
":" (getenv "CPLUS_INCLUDE_PATH")))))
(let* ((libcxx-v1 (search-input-directory inputs
"include/c++/v1"))
(target-system #$(nix-system->gnu-triplet
(or (%current-target-system)
(%current-system))))
(target-include (string-append "include/c++/"
target-system))
(gcc-bits (search-input-directory inputs
target-include)))
(setenv "CPLUS_INCLUDE_PATH"
(string-append libcxx-v1 ":" gcc-bits ":"
(getenv "CPLUS_INCLUDE_PATH"))))))
(add-before 'configure 'prepare-build-environment
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((node (search-input-file (or native-inputs inputs)
@@ -955,7 +997,7 @@
glib
gtk+
harfbuzz
icu4c
icu4c-77
lcms
libcxx
libffi
+2 -2
View File
@@ -714,7 +714,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.8.1")
(version "5.8.2")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -727,7 +727,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
(base32 "12bmzbfyjsf0mwnam38cw9ib54wj1znh5b7lxzdyll9cvvkhqisr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+226
View File
@@ -0,0 +1,226 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages coreboot)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages pciutils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-26))
(define %coreboot-version "26.03")
(define %coreboot-origin
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit %coreboot-version)))
(file-name (git-file-name "coreboot" %coreboot-version))
(sha256
(base32
"0436rr0vibh35phvkxrc939njvrmnfq9xw87y1b0nlllglvq07kk"))))
(define-public bincfg
(package
(name "bincfg")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'unpack 'chdir
(lambda _
(chdir "util/bincfg")))
(add-after 'build 'build-binaries
(lambda* (#:key make-flags #:allow-other-keys)
(for-each
(lambda (target result)
(apply invoke "make" (string-append "gen-" target) make-flags)
(rename-file result
(string-append target ".bin")))
(list
;; generate GbE for X200
"gbe-ich9m"
;; generate GbE for X220/x230
"gbe-82579LM"
;; generate IFD for X200
"ifd-x200")
(list
"flashregion_3_gbe.bin"
"flashregion_3_gbe.bin"
"flashregion_0_fd.bin"))))
;; The Makefile has no install target.
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib/bincfg"))
(data (string-append #$output "/share/bincfg")))
;; Install the program
(install-file "bincfg" bin)
;; And its data
(for-each
(lambda (path)
(install-file path data))
(append (find-files "." ".*\\.set")
(find-files "." ".*\\.spec")))
;; And the files generated with the data
(for-each
(lambda (path)
(install-file path lib))
(find-files "." ".*\\.bin"))))))))
(native-inputs (list bison flex))
(home-page "https://coreboot.org")
(synopsis "Encoder/decoder for binary formats described in text files")
(description "
The bincfg program comes with specifications files for the following binary
formats:
@itemize
@item Various DDR3 and DDR4 SPD
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
@item Configuration data for the Intel Gigabit Ethernet controller present in
the Intel ICH9-M chipset.
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
@item Configuration data for the ITE IT8718F SuperIO
@end itemize
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public ifdtool
(package
(name "ifdtool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ifdtool")))
(delete 'configure)) ; no configure script
#:tests? #f)) ; no test suite
(home-page "https://doc.coreboot.org/util/ifdtool/")
(synopsis "Intel Firmware Descriptor dumper")
(description "This package provides @command{ifdtool}, a program to
dump Intel Firmware Descriptor data of an image file.")
(license license:gpl2)))
(define-public intelmetool
(package
(name "intelmetool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/intelmetool")))
(delete 'configure) ;no configure script
(delete 'check))))
(inputs (list pciutils zlib))
(home-page
"https://github.com/coreboot/coreboot/tree/main/util/intelmetool/")
(synopsis "Intel Management Engine tools")
(description "This package provides tools for working with Intel
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
@code{sudo rmmod mei} before using this tool. Also pass
@code{iomem=relaxed} to the Linux kernel command line.")
(license license:gpl2)
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
(supported-systems '("x86_64-linux" "i686-linux"))))
(define-public nvramtool
(package
(name "nvramtool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/nvramtool")))
(delete 'configure)))) ; no configure script
(home-page "https://coreboot.org")
(synopsis "Command line tool that can edit Coreboot settings")
(description "@command{nvramtool} can see and/or modify Coreboot settings
like the serial port speed, log level, etc. It requires Coreboot to be compiled
with CONFIG_USE_OPTION_TABLE and some options require the iomem=relaxed kernel
command line to work. Features:
@itemize
@item If Coreboot was compiled without CONFIG_STATIC_OPTION_TABLE, it can change
its settings, which are applied after a reboot.
@item It can modify Coreboot images default settings with
@command{nvramtool -C coreboot.rom [...]}.
@item It has various options related to the file format used to store these
settings.
@item It can also read/write the CMOS memory where the Coreboot settings can be
located.
@end itemize")
;; Some files are "GPL-2.0-only or BSD-3-Clause", other are GPL-2.0-only
;; and anyway there is. There is also a license declaration in
;; cli/nvramtool.8 that applies to "This program" which uses the GPLv2.
(license license:gpl2)))
+12 -12
View File
@@ -20,18 +20,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages debian)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system trivial)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
@@ -40,6 +28,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages dns)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
@@ -53,6 +42,17 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+10 -12
View File
@@ -31,13 +31,13 @@
(define-public dhall
(package
(name "dhall")
(version "1.41.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "dhall" version))
(sha256
(base32
"14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka"))))
(version "1.42.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "dhall" version))
(sha256
(base32 "0fvvqvh6diqi55dmncfs06rvcw8k0a1hs2gq228yxvsfbzcpv44s"))))
(build-system haskell-build-system)
(properties '((upstream-name . "dhall")))
(inputs (list ghc-aeson
@@ -73,8 +73,8 @@
ghc-text-manipulate
ghc-text-short
ghc-th-lift-instances
ghc-unix-compat
ghc-unordered-containers
ghc-uri-encode
ghc-vector
ghc-cryptohash-sha256
ghc-http-types
@@ -86,7 +86,6 @@
ghc-quickcheck-instances
ghc-special-values
ghc-spoon
ghc-system-filepath
ghc-tasty
ghc-tasty-expected-failure
ghc-tasty-hunit
@@ -97,9 +96,8 @@
ghc-mockery
ghc-doctest))
(arguments
`(#:tests? #f ; Tries to access httpbin.org
#:cabal-revision ("4"
"0innb3cn98ynb8bd83jdyrm64ij7wcvajg5qcwzdwbyzpr62anfx")))
`(#:cabal-revision ("2"
"1h9kxpn3kzwmxj07mqc0cxjj2ak3dyxnifb78z5vn34xn747j5bk")))
(home-page "http://hackage.haskell.org/package/dhall")
(synopsis "Configuration language guaranteed to terminate")
(description
+1 -3
View File
@@ -108,9 +108,7 @@
(lambda _
(invoke "cmake" "--install" "."))))))
(inputs
`(("libconfig" ,libconfig)
("libedit" ,libedit)
("zlib" ,zlib)))
`(("zlib" ,zlib)))
(native-inputs
`(("lld-wrapper" ,(make-lld-wrapper lld-17 #:lld-as-ld? #t))
("llvm" ,llvm-17)
+174 -14
View File
@@ -1,12 +1,13 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015-2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2019-2021 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
@@ -21,9 +22,11 @@
;;; Copyright © 2021, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,12 +49,12 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@@ -65,6 +68,7 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
@@ -84,17 +88,173 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
#:use-module (guix build-system meson)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (guix utils))
(define-public adns
(package
(name "adns")
(version "1.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
(commit (string-append "adns-" version))))
(sha256
(base32
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
(build-system gnu-build-system)
(arguments
(list
;; INFO: Tests expect real name resolution to work.
#:tests? #f
#:configure-flags
#~(list
;; Make sure the programs under bin/ find libadns.so.
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
#$output:out
"/lib"))))
(native-inputs
(list m4))
(home-page "https://www.gnu.org/software/adns/")
(synopsis "Asynchronous DNS client library and utilities")
(description
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
Name System} resolution functionality. The library is asynchronous, allowing
several concurrent calls. The package also includes several command-line
utilities for use in scripts.")
(license license:gpl3+)))
(define-public c-ares
(package
(name "c-ares")
(version "1.34.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/c-ares/c-ares/releases/download/v"
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'filter-live-tests
(lambda _
;; Filter tests that require internet access.
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
#$@(if (system-hurd?)
#~((add-after 'unpack 'skip-tests
(lambda _
(substitute* "test/ares-test-main.cc"
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n")))))
(add-after 'filter-live-tests 'filter-hurd-tests
(lambda _
(setenv "GTEST_FILTER"
(string-append
(getenv "GTEST_FILTER")
":.*Basic/2"
":.*CancelImmediate/2"
":.*CancelImmediateGetHostByAddr/2"
":.*CancelLater/1"
":.*FamilyUnspecified/2"
":.*FamilyV6/2"
":.*GetAddrInfoParallelLookups/1"
":.*GetHostByAddrDestroy/2"
":.*GetHostByNameCNAMENoData/2"
":.*GetHostByNameDestroyAbsolute/2"
":.*GetHostByNameDestroyRelative/2"
":.*GetHostByNameParallelLookups/1"
":.*HostAlias/2"
":.*HostAliasMissing/2"
":.*HostAliasMissingFile/2"
":.*NotImplResponse/2"
":.*RefusedResponse/2"
":.*Resend/1"
":.*RetryWithoutEDNS/2"
":.*SearchDomains/2"
":.*SearchDomainsBare/2"
":.*SearchDomainsServFailOnAAAA/2"
":.*SearchDomainsWithResentReply/1"
":.*SearchHighNdots/2"
":.*SearchNoDataThenFail/2"
":.*SearchNoDataThenNoDataBare/2"
":.*SearchNoDataThenSuccess/2"
":.*ServFailResponse/2"
":.*SimpleQuery/2"
":.*SockCallback/2"
":.*SockConfigureCallback/2"
":.*SortListV4/2"
":.*SortListV6/2"
":.*ThirdServer/2"
":.*TruncationRetry/1"
":.*UnspecifiedFamilyCname6A4/2"
":.*UnspecifiedFamilyV4/2"
":.*UnspecifiedFamilyV6/2")))))
#~()))))
(native-inputs
(list pkg-config))
(home-page "https://c-ares.haxx.se/")
(synopsis "C library for asynchronous DNS requests")
(description
"C-ares is a C library that performs DNS requests and name resolution
asynchronously. It is intended for applications which need to perform DNS
queries without blocking, or need to perform multiple DNS queries in parallel.
The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
(define-public c-ares-for-node-lts
(hidden-package c-ares))
(define-public c-ares-for-node-bootstrap
(hidden-package
(package
(inherit c-ares)
(version "1.18.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://c-ares.haxx.se/download/c-ares-" version
".tar.gz"))
(sha256
(base32
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
;; INFO: gRPC requires a c-ares built with CMake in order to get the .cmake
;; modules. We can not build c-ares itself with CMake because that would
;; introduce a circular dependency through nghttp2.
;;
;; TODO: It would be nice if we could extract the modules somehow and make
;; them work with the "normal" c-ares package instead of building a whole new
;; library.
(define-public c-ares/cmake
(hidden-package
(package
(inherit c-ares)
(build-system cmake-build-system)
(arguments
(list
;; INFO: Tests require name resolution (the normal variant runs no
;; tests).
#:tests? #f)))))
(define-public cloudflare-cli
(let ((commit "2d986d3ec1b0e3158c4bd40e8918947cb74aa392")
+2 -2
View File
@@ -3792,7 +3792,7 @@ to enforce it.")
(define-public python-vunit
(package
(name "python-vunit")
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
(version "5.0.0-dev.10") ;v4.7.0 dates back from 2 years ago.
(source
(origin
(method git-fetch)
@@ -3801,7 +3801,7 @@ to enforce it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
(base32 "1gr9ghwgqly9zf0sf15ai20sac520rs84b9i5qjxdqpj26ayyl1q"))))
(build-system pyproject-build-system)
(arguments
(list
+1 -71
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Pierre-Henry Fröhring <phfrohring@deeplinks.com>
;;; Copyright © 2024, 2026 Igorj Gorjaĉev <igor@goryachev.org>
;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;;
;;; This file is part of GNU Guix.
@@ -24,7 +24,6 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages compression)
#:use-module (gnu packages base)
#:use-module (gnu packages erlang)
#:use-module (gnu packages erlang-xyz)
#:use-module (gnu packages gettext)
#:use-module (gnu packages)
@@ -424,25 +423,6 @@ implementing function decorators for Elixir.")
(home-page "https://hexdocs.pm/decorator/")
(license license:expat)))
(define-public elixir-depscheck
(package
(name "elixir-depscheck")
(version "1.0.11")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "depscheck" version))
(sha256
(base32 "1v33ml2i19s59518j9031bsvipbf4xxr4xk49qx6xs3qby0018aw"))))
(build-system mix-build-system)
(synopsis "Checking dependency license compatibility in Elixir projects")
(description "This package provides @code{elixir-depscheck}, a @code{CI/CD}
tool for checking dependency license compatibility in Elixir projects. Reads
license information from local hex metadata files and validates compatibility
with your project's license using industry-standard rules.")
(home-page "https://hexdocs.pm/depscheck/")
(license license:expat)))
(define-public elixir-erlex
(package
(name "elixir-erlex")
@@ -751,28 +731,6 @@ Elixir.")
(home-page "https://hexdocs.pm/mimic/")
(license license:asl2.0)))
(define-public elixir-mix-audit
(package
(name "elixir-mix-audit")
(version "2.1.5")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "mix_audit" version))
(sha256
(base32 "0s9dnk42n5665s6l22qf05x63ly11n37am2kmybzccns4672kyc7"))))
(build-system mix-build-system)
(propagated-inputs
(list elixir-jason
elixir-yaml-elixir))
(synopsis "Scanning Mix dependencies for security vulnerabilities")
(description "This package provides @code{elixir-mix-audit}, a
@code{mix deps.audit} task to scan @code{Mix} dependencies for security
vulnerabilities. It draw its inspiration from tools like npm audit and
bundler-audit.")
(home-page "https://hexdocs.pm/mix_audit/")
(license license:bsd-3)))
(define-public elixir-mox
(package
(name "elixir-mox")
@@ -1269,34 +1227,6 @@ provides a polyfill for @code{dbg} which was introduced in Elixir 1.14.")
(home-page "https://hexdocs.pm/verbs/")
(license license:expat)))
(define-public elixir-yaml-elixir
(package
(name "elixir-yaml-elixir")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "yaml_elixir" version))
(sha256
(base32 "1ihknd9qy8y533zd150ch2yag2h895hsp86wamqpm4dcgfpaqsya"))))
(build-system mix-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-yamerl-hrl-path
(lambda _
(substitute* "lib/yaml_elixir/records.ex"
(("internal\\/yamerl_constr\\.hrl")
"yamerl_constr.hrl")))))))
(propagated-inputs
(list erlang-yamerl))
(synopsis "YAML parser for Elixir based on native Erlang implementation")
(description "This package provides @code{elixir-yaml-elixir}, a @code{YAML}
parser for @code{Elixir} based on native @code{Erlang} implementation.")
(home-page "https://hexdocs.pm/yaml_elixir/")
(license license:expat)))
(define-public elixir-zest
(package
(name "elixir-zest")
+1 -2
View File
@@ -51,8 +51,7 @@
(file-name (git-file-name name version))
(sha256
(base32 "1i10a5d7mlcrav47k7qirqvrqn2kbl5265fbcp8fzavr86xz67m6"))
(patches (search-patches "elixir-path-length.patch"
"elixir-vendoring-support.patch"))))
(patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments
(list
+69 -12
View File
@@ -2809,6 +2809,56 @@ versions of a topic branch.")
diffs.")
(license license:expat))))
(define-public emacs-majutsu
(package
(name "emacs-majutsu")
(version "0.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0WD0/majutsu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1b840z3p10jyh8d6kmj7syad7308qr9p09gsci4gmha0iw3adnx5"))))
(build-system emacs-build-system)
(arguments
(list
;; XXX: Test fails with `void-function transient--set-layout' when using
;; wrapped ert-runner.
#:test-command
#~'(".ert-runner-real")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-references
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "majutsu-jj.el"
("majutsu-jj-executable"
(search-input-file inputs "bin/jj")))))
(add-after 'install 'install-docs
(lambda _
(with-directory-excursion "docs"
(invoke "make" "majutsu.info")
(install-file "majutsu.info"
(in-vicinity #$output "share/info"))))))))
(native-inputs
;; Use unwrapped ert-runner in test, adding its inputs here.
(modify-inputs (package-inputs emacs-ert-runner)
(delete "bash-minimal")
(prepend emacs-ert-runner texinfo)))
(inputs (list jujutsu))
(propagated-inputs (list emacs-magit))
(home-page "https://github.com/0WD0/majutsu")
(synopsis "Emacs interface for Jujutsu version control system")
(description
"Majutsu provides a @code{emacs-magit}-style interface for
@code{jujutsu}, offering an efficient way to interact with Jujutsu repositories
from within Emacs.")
(license
(list license:gpl3+
license:expat))))
(define-public emacs-conflict-buttons
;; No releases
(let ((commit "22af851d6a0cdd226ef7ba0db54fa096c8ddf235")
@@ -22379,7 +22429,7 @@ are common in Chromium-derived projects.")
(define-public emacs-gnosis
(package
(name "emacs-gnosis")
(version "0.8.0")
(version "0.10.3")
(source
(origin
(method git-fetch)
@@ -22388,7 +22438,7 @@ are common in Chromium-derived projects.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "003pmd0ahpcss5ydk3wbx5j45225ypa85zrgljz5qajijiybvxpi"))))
(base32 "0kpzc2jw51sklz15v0d0vzm5ck05n3d90l02la4nxn8r85jb1f53"))))
(build-system emacs-build-system)
(arguments
(list
@@ -22401,20 +22451,21 @@ are common in Chromium-derived projects.")
(lambda _
(setenv "HOME"
(getenv "TMPDIR"))
(mkdir-p (string-append (getenv "HOME") "/.emacs.d"))))
(mkdir-p (string-append
(getenv "HOME")
"/.emacs.d"))))
(add-before 'install 'make-info
(lambda _
(invoke "make" "doc" "GUIX_SHELL="))))))
(native-inputs (list texinfo))
(propagated-inputs (list emacs-compat emacs-emacsql emacs-org-gnosis
emacs-transient))
(propagated-inputs (list emacs-transient))
(home-page "https://thanosapollo.org/projects/gnosis/")
(synopsis "Spaced repetition system for GNU Emacs")
(synopsis "Personal knowledge system for GNU Emacs")
(description
"Gnosis is a spaced repetition system for note-taking and self-testing
where notes are formatted as Question/Answer/Explanation. Notes are reviewed
at spaced intervals based on the success or failure in recalling the answer to
each question.")
"Gnosis is a personal knowledge system for GNU Emacs that
integrates note-taking with spaced repetition. It combines
Zettelkasten-style linked notes with self-testing review,
all stored in a single SQLite database.")
(license license:gpl3+)))
(define-public emacs-drag-stuff
@@ -39440,10 +39491,16 @@ user interfaces for various built-in modes.")
(make-file-writable "calibredb-core.el")
(let ((calibredb (search-input-file inputs "/bin/calibredb"))
(fetch-ebook-metadata
(search-input-file inputs "/bin/fetch-ebook-metadata")))
(search-input-file inputs "/bin/fetch-ebook-metadata"))
(ebook-convert
(search-input-file inputs "/bin/ebook-convert"))
(calibre-debug
(search-input-file inputs "/bin/calibre-debug")))
(emacs-substitute-variables "calibredb-core.el"
("calibredb-fetch-metadata-program" fetch-ebook-metadata)
("calibredb-program" calibredb))))))))
("calibredb-program" calibredb)
("calibredb-convert-program" ebook-convert)
("calibredb-debug-program" calibre-debug))))))))
(inputs
(list calibre))
(propagated-inputs
+1 -1
View File
@@ -1902,7 +1902,7 @@ PicoBlaze; and Zilog Z80 families, plus many of their variants.")
(inputs
(list readline ucsim))
(native-inputs
(list bison boost flex python-2 texinfo zlib))
(list bison boost flex python-minimal-wrapper texinfo zlib))
(home-page "https://sdcc.sourceforge.net/")
(synopsis "C compiler suite for 8-bit microcontrollers")
(description "SDCC is a retargetable, optimizing Standard C compiler suite
+13 -4
View File
@@ -50,6 +50,7 @@
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2026 Brent Wedderburn <mb@bean.za.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -253,13 +254,21 @@ their devices.")
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'check (assoc-ref gnu:%standard-phases 'check))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append #$output "/bin"))
(share (string-append #$output "/share/librecad")))
(lambda _
(let* ((bin (string-append #$output "/bin"))
(share (string-append #$output "/share"))
(apps (string-append share "/applications"))
(icons (string-append share "/icons/hicolor/128x128/apps")))
(mkdir-p bin)
(install-file "unix/librecad" bin)
(mkdir-p share)
(copy-recursively "unix/resources" share)))))))
(copy-recursively "unix/resources"
(string-append share "/librecad"))
(mkdir-p apps)
(install-file "desktop/librecad.desktop" apps)
(mkdir-p icons)
(copy-file "librecad/res/main/librecad.png"
(string-append icons "/librecad.png"))))))))
(inputs
(list bash-minimal boost muparser freetype qtbase-5 qtsvg-5))
(native-inputs
+4 -3
View File
@@ -2202,7 +2202,7 @@ while working with large number of files.")
(define-public squashfuse
(package
(name "squashfuse")
(version "0.1.105")
(version "0.6.1")
(source
(origin
(method git-fetch)
@@ -2211,7 +2211,7 @@ while working with large number of files.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224"))))
(base32 "16ds2xlk6hb5cggi6di8s0aalir3mrx7rk24rw5daad1xw4dbq0y"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2249,7 +2249,8 @@ memory-efficient.")
(install-file "fuseprivate.h"
(string-append #$output
"/include/squashfuse/")))))))))
(inputs (list fuse-for-appimage
(inputs (list `(,fuse "out")
`(,fuse "static")
`(,zstd "lib")
`(,zstd "static")
`(,zlib "out")
+24 -18
View File
@@ -323,37 +323,41 @@ based on Qt.")
(define-public ghc-hledger
(package
(name "ghc-hledger")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hledger" version))
(sha256
(base32
"0qdg87m7ys2ykqqq32p7h7aw827w4f5bcqx4dspxxq6zqlvzddqb"))))
(version "1.43.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hledger" version))
(sha256
(base32 "043gw3amc29fbjxlzyc4m97bw5i5462352lmk61adlxcd12l47i1"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hledger")))
(inputs (list ghc-decimal
ghc-diff
ghc-aeson
ghc-ansi-terminal
ghc-breakpoint
ghc-cmdargs
ghc-data-default
ghc-extra
ghc-githash
ghc-hashable
ghc-hledger-lib
ghc-http-client
ghc-http-types
ghc-lucid
ghc-math-functions
ghc-megaparsec
ghc-microlens
ghc-modern-uri
ghc-regex-tdfa
ghc-req
ghc-safe
ghc-shakespeare
ghc-split
ghc-tabular
ghc-tasty
ghc-temporary
ghc-text-ansi
ghc-timeit
ghc-unordered-containers
ghc-utf8-string
@@ -384,8 +388,8 @@ Accounting.")
#~(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda _
(install-file "hledger.info" (string-append #$output "/share/info"))
(install-file "hledger.1" (string-append #$output "/man/man1"))))
(install-file "embeddedfiles/hledger.info" (string-append #$output "/share/info"))
(install-file "embeddedfiles/hledger.1" (string-append #$output "/man/man1"))))
(add-after 'register 'remove-libraries
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))))))))
@@ -2308,13 +2312,13 @@ textual ledgers to Beancount files.")
(define-public hledger-web
(package
(name "hledger-web")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hledger-web" version))
(sha256
(base32
"151dxci7dld8626dzw823sr3d9iaac92wfzbfcbdz4jh9f7n07wa"))))
(version "1.43.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hledger-web" version))
(sha256
(base32 "0d4sv9k3m7s0764lbq2l8w9p2p47cby177l0avl5w3fa9y8d0gyd"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hledger-web")))
(inputs (list ghc-decimal
@@ -2322,7 +2326,6 @@ textual ledgers to Beancount files.")
ghc-base64
ghc-blaze-html
ghc-blaze-markup
ghc-breakpoint
ghc-case-insensitive
ghc-clientsession
ghc-cmdargs
@@ -2330,6 +2333,8 @@ textual ledgers to Beancount files.")
ghc-conduit-extra
ghc-data-default
ghc-extra
ghc-file-embed
ghc-githash
ghc-hjsmin
ghc-hledger
ghc-hledger-lib
@@ -2339,6 +2344,7 @@ textual ledgers to Beancount files.")
ghc-http-types
ghc-megaparsec
ghc-network
ghc-safe
ghc-shakespeare
ghc-unix-compat
ghc-unordered-containers
+1 -158
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@@ -84,7 +84,6 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -524,162 +523,6 @@ Loke and Heimdall communicate via the custom Samsung-developed protocol typicall
referred to as the \"Odin 3 protocol\".")
(license license:expat)))
(define-public ifdtool
(package
(name "ifdtool")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ifdtool")))
(delete 'configure)) ; no configure script
#:tests? #f)) ; no test suite
(home-page "https://doc.coreboot.org/util/ifdtool/")
(synopsis "Intel Firmware Descriptor dumper")
(description "This package provides @command{ifdtool}, a program to
dump Intel Firmware Descriptor data of an image file.")
(license license:gpl2)))
(define-public bincfg
(package
(name "bincfg")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'unpack 'chdir
(lambda _
(chdir "util/bincfg")))
(add-after 'build 'build-binaries
(lambda* (#:key make-flags #:allow-other-keys)
(for-each
(lambda (target result)
(apply invoke "make" (string-append "gen-" target) make-flags)
(rename-file result
(string-append target ".bin")))
(list
;; generate GbE for X200
"gbe-ich9m"
;; generate GbE for X220/x230
"gbe-82579LM"
;; generate IFD for X200
"ifd-x200")
(list
"flashregion_3_gbe.bin"
"flashregion_3_gbe.bin"
"flashregion_0_fd.bin"))))
;; The Makefile has no install target.
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib/bincfg"))
(data (string-append #$output "/share/bincfg")))
;; Install the program
(install-file "bincfg" bin)
;; And its data
(for-each
(lambda (path)
(install-file path data))
(append (find-files "." ".*\\.set")
(find-files "." ".*\\.spec")))
;; And the files generated with the data
(for-each
(lambda (path)
(install-file path lib))
(find-files "." ".*\\.bin"))))))))
(native-inputs (list bison flex))
(home-page "https://coreboot.org")
(synopsis "Encoder/decoder for binary formats described in text files")
(description "
The bincfg program comes with specifications files for the following binary
formats:
@itemize
@item Various DDR3 and DDR4 SPD
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
@item Configuration data for the Intel Gigabit Ethernet controller present in
the Intel ICH9-M chipset.
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
@item Configuration data for the ITE IT8718F SuperIO
@end itemize
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public intelmetool
(package
(name "intelmetool")
(version "25.09")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/intelmetool")))
(delete 'configure) ;no configure script
(delete 'check))))
(inputs (list pciutils zlib))
(home-page
"https://github.com/coreboot/coreboot/tree/main/util/intelmetool/")
(synopsis "Intel Management Engine tools")
(description "This package provides tools for working with Intel
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
@code{sudo rmmod mei} before using this tool. Also pass
@code{iomem=relaxed} to the Linux kernel command line.")
(license license:gpl2)
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
(supported-systems '("x86_64-linux" "i686-linux"))))
(define-public me-cleaner
(package
(name "me-cleaner")
+144 -44
View File
@@ -97,6 +97,7 @@
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -114,40 +115,32 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages games)
#:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:autoload (gnu packages pascal) (fpc)
#:use-module (gnu packages acl)
#:use-module (gnu packages adns)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages assembly)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emulators)
#:use-module (gnu packages flex)
@@ -202,8 +195,8 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages messaging)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
@@ -212,7 +205,6 @@
#:use-module (gnu packages oneapi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pcre)
#:autoload (gnu packages pascal) (fpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-compression)
@@ -230,9 +222,9 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages shells)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages squirrel)
#:use-module (gnu packages swig)
@@ -249,22 +241,31 @@
#:use-module (gnu packages wget)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (guix build-system copy)
#: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 glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system haskell)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (srfi srfi-26))
@@ -483,7 +484,7 @@ mouse and joystick control, and original music.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~drummyfish/Anarch")
(url "https://gitlab.com/drummyfish/anarch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -4276,11 +4277,11 @@ interface or via an external visual interface such as GNU XBoard.")
(("TestIOTouchDragAnywhere (test_integration)" all _) _))))
(add-before 'bootstrap 'autoreconf
(lambda _
;; automake is out of date in the source
;; autoreconf updates the automake scripts
(invoke "autoreconf")
;; Build fails when autom4te.cache exists.
(delete-file-recursively "autom4te.cache")
;; automake is out of date in the source
;; autoreconf updates the automake scripts
(invoke "autoreconf")
;; Build fails when autom4te.cache exists.
(delete-file-recursively "autom4te.cache")
#t))
(add-after 'install 'delete-freedinkedit-desktop
(lambda* (#:key outputs #:allow-other-keys)
@@ -4610,6 +4611,105 @@ for common mesh file formats, and collision detection.")
(home-page "https://irrlicht.sourceforge.io/")
(license license:zlib)))
(define-public pegasus-frontend
(let ((commit "c3462e68bf3a178420b44f356998255f8d82a113")
(revision "weekly_2024w38"))
(package
(name "pegasus-frontend")
(version (git-version "0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mmatyas/pegasus-frontend")
(commit commit)))
(sha256
(base32 "1p350nlbif33mw5cbqxwli5yf47dxpransxlj2wp8xvh4w1rb3jx"))
(file-name (git-file-name name version))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase-5
#:make-flags
#~(list (string-append "INSTALL_DESKTOPDIR="
#$output "/share/applications")
(string-append "INSTALL_ICONDIR="
#$output "/share/icons/hicolor"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-modules
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively #$(this-package-native-input
"SortFilterProxyModel")
"./thirdparty/SortFilterProxyModel")
(copy-recursively #$(this-package-native-input
"pegasus-theme-grid")
"./src/themes/pegasus-theme-grid")
(copy-recursively #$(this-package-native-input
"pegasus-frontend-translations") "./lang")))
(add-before 'check 'prepare-test-env
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "QT_QUICK_BACKEND" "software"))))
(add-after 'qt-wrap 'gst-wrap
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/pegasus-fe")
`("GST_PLUGIN_PATH" suffix
,(search-path-as-list '("lib/gstreamer-1.0")
(map cdr inputs)))))))))
(inputs (list sdl2
bash-minimal
qtbase-5
qtsvg-5
qtdeclarative-5
qtgraphicaleffects
qtmultimedia-5
qtgamepad-5
gst-plugins-base
gst-plugins-bad
gst-plugins-good))
(native-inputs (list qttools-5
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/mmatyas/pegasus-frontend-translations")
(commit
"46c7cecec745bdd4c61bfc7ecb967156ad208642")))
(file-name "pegasus-frontend-translations")
(sha256 (base32
"0rvlx199wdrjxr8pgibga556zf4njq4w2n31fdirqgb631rgyqxd")))
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/mmatyas/pegasus-theme-grid")
(commit
"5951db6f2a4fe0db6a4fd6f00da1f280cadfa536")))
(file-name "pegasus-theme-grid")
(sha256 (base32
"1nfnq6lppdm9ni6jk48l1i7hk90m8w2p13swl5nr4zwczln8dbz1")))
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/mmatyas/SortFilterProxyModel")
(commit
"2061f8136ba372fd06c1928a610258b7d88cb144")))
(file-name "SortFilterProxyModel")
(sha256 (base32
"16va8fcf7v6kfm8r9zym0516qrk4vlsy5wmpd3r3002wpz8q39h2")))))
(synopsis
"Graphical frontend for launching and managing game collection")
(description
"Pegasus is a graphical frontend for browsing your game library and
launching all kinds of games from the same place. It's focusing on
customizability, cross platform support (including embedded)
and high performance.")
(home-page "https://pegasus-frontend.org")
(license license:gpl3+))))
(define-public mars
;; No official release since 2013: use the latest commit.
(let ((commit "84664cda094efe6e49d9b1550e4f4f98c33eefa2")
@@ -5421,7 +5521,7 @@ falling, themeable graphics and sounds, and replays.")
(name "wesnoth")
;; Even-numbered minor versions indicate stable versions:
;; https://wiki.wesnoth.org/ReleasingWesnoth#Version_numbering
(version "1.18.6")
(version "1.18.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5430,7 +5530,7 @@ falling, themeable graphics and sounds, and replays.")
(file-name (git-file-name name version))
(sha256
(base32
"0cdlczxczqgzdaqwydb9gfgi7d9jc39li72p2rb5nk1rlgfff79s"))))
"0hdrp4xm9d8kj8id2g5q0wwdwykx4a0f1cs8a7fghmv0czryfv7f"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test target
@@ -6649,7 +6749,7 @@ in-window at 640x480 resolution or fullscreen.")
(define-public warzone2100
(package
(name "warzone2100")
(version "4.6.1")
(version "4.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/warzone2100/releases/"
@@ -6665,7 +6765,7 @@ in-window at 640x480 resolution or fullscreen.")
"inih" "re2" "utf8proc" "utfcpp")))))
(sha256
(base32
"02x5ihkpfkpjxwvh00d8yqzd796af7d684nk96hzhhq28qw5bb16"))))
"0fmiy0pm56yy69c0nhynjdiaslwlfg8cdvfl5s78g5pzdi1y47s3"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~'("-GNinja"
"-DWZ_DISTRIBUTOR=Guix"
@@ -6702,7 +6802,7 @@ in-window at 640x480 resolution or fullscreen.")
opusfile
physfs
re2
sdl2
sdl3
sqlite
utf8proc
utfcpp
@@ -9143,7 +9243,7 @@ elements to achieve a simple goal in the most complex way possible.")
(define-public the-powder-toy
(package
(name "the-powder-toy")
(version "99.3.384")
(version "99.5.394")
(source
(origin
(method git-fetch)
@@ -9152,7 +9252,7 @@ elements to achieve a simple goal in the most complex way possible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0l067j0bbzvr0i2prxrgb0af4xdpl648x741jgnyp4bjzdbm61x7"))
(base32 "0wd0sg3lpl9xafyj76syvpdjh574cxjmxaf9kssfjjxs20y3hjn8"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "meson.build"
@@ -10143,7 +10243,7 @@ your score gets higher, you level up and the blocks fall faster.")
"-DES_USE_SYSTEM_LIBRARIES=1")
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:build-type "Release"
#:tests? (not (target-x86-32?))
#:tests? (not (target-x86-32?))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
@@ -11127,7 +11227,7 @@ levels to unlock.")
(define-public simgear
(package
(name "simgear")
(version "2024.1.4")
(version "2024.1.5")
(source
(origin
(method git-fetch)
@@ -11139,7 +11239,7 @@ levels to unlock.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1k855yxq06gv42f83c3k9hrsz05xxj6vi1c60227zm0dx3jkb4jq"))
(base32 "1ygdc8xkrj7qzm9zklibb1v5w3jp718707zmiwl8fn63sxanbqsq"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -11191,7 +11291,7 @@ and also provides the base for the FlightGear Flight Simulator.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xlpry1g5xci4qmj37rjk4sdhg9zada0vw6a047gsm7cq5p7pkxk"))
(base32 "0hpfvacnba2kcyjwm01lkrqkz0gccvljjil8b0ai42l38hxn5r5h"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -11275,12 +11375,12 @@ and also provides the base for the FlightGear Flight Simulator.")
("flightgear-data"
,(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/flightgear/release-"
(uri (string-append "https://mirrors.ibiblio.org/flightgear/ftp/release-"
(version-major+minor version) "/"
"FlightGear-" version "-data.txz"))
(sha256
(base32
"0pgwxpm5cdm0y6klrmpqspmhmqsfxshz4jljw2kd4wy18fqzd1s6"))))))
"0d81yz9jqmg2jzw5rm769pl1j18pvh2mjkx61l13kw76ja8p6159"))))))
(home-page "https://www.flightgear.org/")
(synopsis "Flight simulator")
(description "The goal of the FlightGear project is to create a
@@ -12184,7 +12284,7 @@ for using any UCI engine and also to connect UCI engines to Lichess and IRC.")
(base32 "1kkcnpkzgybm7rqg7nafd7sqd5m4alns6l4j5zcf3p41jdc9s3iv"))))
(build-system glib-or-gtk-build-system)
(inputs (list automake autoconf pkg-config intltool
gettext-minimal libtool glib gtk+-2 boost))
gettext-minimal libtool glib gtk+-2 boost))
(arguments (list #:tests? #f)) ; No tests in source.
(home-page "http://nine-mens-morris.net/downloads.html")
(synopsis "Implementation of the board game Nine Men's Morris")
+2 -2
View File
@@ -2936,7 +2936,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "19539")
(version "19555")
(source (origin
(method svn-fetch)
(uri (svn-reference
@@ -2945,7 +2945,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"05kslpvdwl4fldjzl6m2kmqvbmjv5yvipfavg01l30ywhw2c7v7v"))
"0kpshdj8kf9ag7h1qqrh9jqc6c9iv8v369mk60a8g7cbzf0xpblw"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
+21 -24
View File
@@ -19,10 +19,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gkrellm)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
@@ -31,32 +33,27 @@
(define-public gkrellm
(package
(name "gkrellm")
(version "2.3.11")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y"))))
(method url-fetch)
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
("gtk+" ,gtk+-2)
("libice" ,libice)
("libsm" ,libsm)))
(native-inputs
(list pkg-config))
(inputs (list gtk+-2 libsm))
(native-inputs (list gettext-minimal pkg-config))
(arguments
`(#:tests? #f ; there is no check target
#:phases
(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "INSTALLROOT=" out)
"CC=gcc"))))
(home-page "http://gkrellm.srcbox.net/")
(list
#:tests? #f ;there is no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
#~(list (string-append "INSTALLROOT=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(home-page "https://gkrellm.srcbox.net/")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports
+7 -4
View File
@@ -39,6 +39,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages ebook)
#:use-module (gnu packages enchant)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
@@ -681,7 +682,7 @@ and a high score table.")
(define-public komikku
(package
(name "komikku")
(version "1.99.0")
(version "50.1.0")
(source
(origin
(method git-fetch)
@@ -691,7 +692,7 @@ and a high score table.")
(file-name (git-file-name name version))
(sha256
(base32
"1did8rh3aw6d3g1myavsma986rwashw09g3m442lv8fzmdiw18r4"))))
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
(build-system meson-build-system)
(arguments
(list
@@ -740,8 +741,10 @@ and a high score table.")
python-cloudscraper
python-colorthief
python-dateparser
python-ebooklib
python-emoji
python-keyring
python-jxlpy
python-lxml
python-magic
python-natsort
@@ -777,7 +780,7 @@ developed with the aim of being used with the Librem 5 phone.")
(define-public komikku-servers
(package
(name "komikku-servers")
(version "1.99.0")
(version "50.1.0")
(source
(origin
(method git-fetch)
@@ -787,7 +790,7 @@ developed with the aim of being used with the Librem 5 phone.")
(file-name (git-file-name name version))
(sha256
(base32
"1did8rh3aw6d3g1myavsma986rwashw09g3m442lv8fzmdiw18r4"))))
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
(build-system copy-build-system)
(arguments
(list
+34 -31
View File
@@ -11258,20 +11258,20 @@ basically a text box in which notes can be written.")
(define-public gucharmap
(let ((unicode-files
'(("Blocks.txt"
"041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
"05fbpc7miqpv7yic5xkm74ybzxkaf5r58ww21a1iwxqr3apyzvf0")
("DerivedAge.txt"
"04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
"160r7wwidj3c2jl4cw3am0c5d0l7qndis9xx38h0y8fwidvdzv7q")
("NamesList.txt"
"0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
"1x1smmn2kmy8clf6ny2njln75i888lidckc6ssyp2gdhgasdrkhd")
("Scripts.txt"
"18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
"1grmn3bd4m0rcmz544h94kimlj3gf1f343s8177ddrxfmg9m0plz")
("UnicodeData.txt"
"07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
"0327jqfw2hyq8x986cfhwrp717r2jl7ydjjwvzp7biarrcfzq7if")
("Unihan.zip"
"1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
"0pjbyf77lbaxdhwidvpgp81cw13lfhlaw1ynn9vsmkssahmqp97p"))))
(package
(name "gucharmap")
(version "12.0.1")
(version "17.0.1")
(source
(origin
(method url-fetch)
@@ -11280,16 +11280,19 @@ basically a text box in which notes can be written.")
name "-" version ".tar.xz"))
(sha256
(base32
"0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
(build-system glib-or-gtk-build-system)
"0sfixlmk7qajcvls6kv2hfczmjafjcr54aczwcdfmp5jjll4m17r"))))
(build-system meson-build-system)
(arguments
`(#:modules ((ice-9 match)
(guix build glib-or-gtk-build-system)
(guix build meson-build-system)
(guix build utils))
#:glib-or-gtk? #t
#:configure-flags
(list
"CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types"
"--with-unicode-data=../unicode-data")
"-Ducd_path=../unicode-data"
"-Dvapi=false"
;; gtk-doc fails because it didn't generate a devhelp2 file
"-Ddocs=false")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-unicode-data
@@ -11302,26 +11305,26 @@ basically a text box in which notes can be written.")
',unicode-files))
#t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
("glib:bin" ,glib "bin") ; for glib-compile-resources.
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
,@(map (match-lambda
((file hash)
`(,file
,(origin
(method url-fetch)
(uri (string-append
"http://www.unicode.org/Public/12.0.0/ucd/"
file))
(sha256 (base32 hash))))))
unicode-files)
("unzip" ,unzip)))
(cons* desktop-file-utils
(list glib "bin")
gobject-introspection
intltool
itstool
pkg-config
python
unzip
(map (match-lambda
((file hash)
(origin
(method url-fetch)
(uri (string-append
"https://www.unicode.org/Public/17.0.0/ucd/"
file))
(sha256 (base32 hash)))))
unicode-files)))
(inputs
`(("gtk+" ,gtk+)
("xmllint" ,libxml2)))
(list gtk+
libxml2))
(home-page "https://wiki.gnome.org/Apps/Gucharmap")
(synopsis "Unicode character picker and font browser")
(description
+2 -2
View File
@@ -165,14 +165,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"1ix843yqhcl8d5gh5652pw2scx4p5n836ca80ymms5rl136lycnz"))))
"0shj6kk4xp3k45vv696bzgx4s2jzpvhp11syck1zb70rmrxba5kq"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
+24 -24
View File
@@ -43,34 +43,33 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnupg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pth)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages compression)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages security-token)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
@@ -78,23 +77,24 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages tor)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages popt)
#:use-module (gnu packages xdisorg)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (ice-9 match)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public libgpg-error
+9 -9
View File
@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-TW"))
;;; Please keep these versions in sync with icedove.
(define %icecat-base-version "140.9.0")
(define %icecat-base-version "140.9.1")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260324000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20260414000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0b79x61w51fjf12p5sr9pipg4b3fjdnbsg0j20fdai3jq6jb4wmr"))))
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "10a8be3fcf725ed01ffb7279ec27c2fba55dd2d2")
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"076s3zpq0cj24a2pjarb57k1xv9z45xazps8rgypzw8yc4pxi9rj"))))
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1249,13 +1249,13 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
(define %icedove-build-id "20260324000000") ;must be of the form YYYYMMDDhhmmss
(define %icedove-build-id "20260403000000") ;must be of the form YYYYMMDDhhmmss
;;; See <https://product-details.mozilla.org/1.0/thunderbird_versions.json>
;;; for the source of truth regarding Thunderbird releases.
;;; Please keep these version numbers in sync with icecat.
;;; Please also update thunderbird-comm-source and thunderbird-comm-l10n to
;;; the icedove version.
(define %icedove-version "140.9.0")
(define %icedove-version "140.9.1")
;; Provides the "comm" folder which is inserted into the icecat source.
;; Avoids the duplication of Icecat's source tarball. Pick the changeset that
@@ -1267,11 +1267,11 @@ testing.")
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/releases/comm-esr140")
(changeset "8be9f2d3072c225a1e5f153745a18984c2babf8f")))
(changeset "427d792f23672fc4adbe9436ce7dddbb2bfb287a")))
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
(sha256
(base32
"04j35957x03m5x7mhh8zxa86mwjy0is2vb614sr4inkvvz4rs2hg"))
"09fj375a0zb5kgvw94f13997zhcj67a4g5ylpdbjzfql0chh572p"))
(patches (search-patches "icedove-observer-fix.patch"))))
;;; To regenerate, see the `format-locales' helper defined above.
+714
View File
@@ -49,6 +49,7 @@
;;; Copyright © 2025 Jared Klingenberger <jkling@noreply.codeberg.org>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -386,6 +387,7 @@ devices.")
;; - cloud.google.com/go/kms
;; - cloud.google.com/go/longrunning
;; - cloud.google.com/go/monitoring
;; - cloud.google.com/go/security
;; - cloud.google.com/go/storage
(for-each delete-file-recursively
(list "auth"
@@ -394,6 +396,7 @@ devices.")
"kms"
"longrunning"
"monitoring"
"security"
"storage"))))))
(build-system go-build-system)
(arguments
@@ -783,6 +786,51 @@ its service definition.")
"This package provides a Go Client Library for Cloud Monitoring API.")
(license license:asl2.0)))
(define-public go-cloud-google-com-go-security
(package
(name "go-cloud-google-com-go-security")
(version "1.21.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googleapis/google-cloud-go")
(commit (go-version->git-ref version #:subdir "security"))))
(file-name (git-file-name name version))
(sha256
(base32 "1pn77lf1d22sqpkia9zccdhdihlqc48lls6y9npc2wrp4lman2kv"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "security")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "cloud.google.com/go/security"
#:unpack-path "cloud.google.com/go"))
(propagated-inputs
(list go-cloud-google-com-go-iam
go-cloud-google-com-go-longrunning
go-github-com-googleapis-gax-go-v2
go-google-golang-org-api
go-google-golang-org-genproto
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf))
(home-page "https://cloud.google.com/go")
(synopsis "Google Cloud Certificate Authority API")
(description
"This package provides a Go Client Library for Certificate Authority API.")
(license license:asl2.0)))
(define-public go-cloud-google-com-go-storage
(package
(name "go-cloud-google-com-go-storage")
@@ -10214,6 +10262,54 @@ Call}.")
(propagated-inputs
(list go-golang-org-x-net))))
(define-public go-github-com-jellydator-ttlcache-v3
(package
(name "go-github-com-jellydator-ttlcache-v3")
(version "3.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jellydator/ttlcache")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c7k99d0km5vplfikb58j2wbriy3mzzrrfrc0d85x50km0y4g4ln"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/jellydator/ttlcache/v3"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-benchmarks
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "bench")
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-stretchr-testify
go-go-uber-org-goleak))
(propagated-inputs
(list go-golang-org-x-sync))
(home-page "https://github.com/jellydator/ttlcache")
(synopsis "In-memory cache with item expiration and generics")
(description
"TTLCache is an in-memory cache with item expiration and generics which
provides the following features:
@itemize
@item simple API
@item type parameters
@item item expiration and automatic deletion
@item automatic expiration time extension on each Get call
@item loader interface that may be used to load/lazily initialize missing
citem items
@item thread safety
@item event handlers (insertion, update, and eviction)
@item metrics
@end itemize")
(license license:expat)))
(define-public go-github-com-jeremija-gosubmit
(package
(name "go-github-com-jeremija-gosubmit")
@@ -10515,6 +10611,33 @@ jsoniter and variable type declarations (if any). jsoniter interfaces gives
https://github.com/flynn/noise crypto protocols.")
(license license:expat)))
(define-public go-github-com-juju-ratelimit
(package
(name "go-github-com-juju-ratelimit")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/juju/ratelimit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/juju/ratelimit"))
(native-inputs
(list go-gopkg-in-check-v1))
(home-page "https://github.com/juju/ratelimit")
(synopsis "Efficient token bucket implementation")
(description
"The ratelimit package provides an efficient
@url{http://en.wikipedia.org/wiki/Token_bucket, token bucket} implementation
that can be used to limit the rate of arbitrary things.")
(license license:lgpl3)))
(define-public go-github-com-julienschmidt-httprouter
(package
(name "go-github-com-julienschmidt-httprouter")
@@ -15975,6 +16098,512 @@ support.")
kinds of referrer URLs (search, social, ...).")
(license license:expat)))
(define-public go-github-com-sigstore-rekor
(package
(name "go-github-com-sigstore-rekor")
(version "1.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/rekor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g2xma0fzy7a4nv7bj04pj9vqg4hbbz3j3jxkir0sxql5ragj36d"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/rekor"
;; XXX: Remove when all inputs are packaged.
#:test-subdirs
#~(list "pkg/events/newentry"
"pkg/indexstorage/mysql"
"pkg/pki/minisign"
"pkg/pki/pgp"
"pkg/pki/ssh"
"pkg/pki/tuf"
"pkg/pki/x509"
"pkg/pubsub/gcp"
"pkg/util")))
(native-inputs
(list go-github-com-asaskevich-govalidator
go-github-com-data-dog-go-sqlmock
go-github-com-golang-mock
go-github-com-google-go-cmp
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-go-uber-org-goleak
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-iam
go-github-com-asaskevich-govalidator
go-github-com-blang-semver
go-github-com-cyberphone-json-canonicalization
go-github-com-go-chi-chi-v5
go-github-com-go-openapi-errors
go-github-com-go-openapi-loads
go-github-com-go-openapi-runtime
go-github-com-go-openapi-spec
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag
go-github-com-go-openapi-swag-conv
go-github-com-go-openapi-validate
go-github-com-go-sql-driver-mysql
go-github-com-go-viper-mapstructure-v2
go-github-com-google-trillian
go-github-com-grpc-ecosystem-go-grpc-middleware
go-github-com-hashicorp-go-cleanhttp
go-github-com-hashicorp-go-retryablehttp
go-github-com-in-toto-in-toto-golang
go-github-com-jedisct1-go-minisign
go-github-com-jmoiron-sqlx
go-github-com-prometheus-client-golang
go-github-com-redis-go-redis-v9
go-github-com-rs-cors
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
go-github-com-theupdateframework-go-tuf
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-v2
go-github-com-transparency-dev-merkle
go-github-com-veraison-go-cose
go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-net
go-golang-org-x-sync
go-google-golang-org-api
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-ini-v1
go-gopkg-in-yaml-v2
go-sigs-k8s-io-yaml
;; TODO: Complete packaging.
;; go-cloud-google-com-go-profiler
;; go-cloud-google-com-go-pubsub
;; go-cloud-google-com-go-pubsub-v2
;; go-github-com-adamkorcz-go-fuzz-headers-1
;; go-github-com-cavaliercoder-go-rpm
;; go-github-com-go-redis-redismock-v9
;; go-github-com-google-rpmpack
;; go-github-com-sassoftware-relic
;; go-github-com-sassoftware-relic-v7
;; go-go-step-sm-crypto
#;go-gocloud-dev))
(home-page "https://github.com/sigstore/rekor")
(synopsis "Sigstore transparency log")
(description
"Rekor provides an immutable tamper-resistant ledger of metadata generated
within a software project's supply chain. It enables software maintainers
and consumers to transparently record signed metadata to a ledger.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-rekor-tiles-v2
(package
(name "go-github-com-sigstore-rekor-tiles-v2")
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/rekor-tiles")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z9is3mf31abzwappwp05z1pzci6f25z1ax27qgghmdisxmd3c6k"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/rekor-tiles/v2"
;; XXX: Remove when all inputs are packaged.
#:test-subdirs
#~(list "internal/algorithmregistry"
"internal/safeint"
"pkg/client/write"
"pkg/types/dsse"
"pkg/types/hashedrekord"
"pkg/types/verifier"
"pkg/verifier/certificate"
"pkg/verifier/publickey"
"pkg/verify")))
(native-inputs
(list go-github-com-go-test-deep
go-github-com-spf13-cobra
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-storage
go-github-com-aws-aws-sdk-go-v2
go-github-com-aws-aws-sdk-go-v2-config
go-github-com-aws-aws-sdk-go-v2-credentials
go-github-com-aws-aws-sdk-go-v2-service-s3
go-github-com-aws-smithy-go
go-github-com-cyberphone-json-canonicalization
go-github-com-grpc-ecosystem-go-grpc-middleware
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-grpc-ecosystem-go-grpc-middleware-v2
go-github-com-grpc-ecosystem-grpc-gateway-v2
go-github-com-prometheus-client-golang
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
;; go-github-com-sigstore-sigstore-go ;cycles
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-v2
go-github-com-transparency-dev-formats
go-github-com-transparency-dev-merkle
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-prometheus
go-go-opentelemetry-io-otel-sdk-metric
go-golang-org-x-exp
go-golang-org-x-mod
go-golang-org-x-sync
go-google-golang-org-api
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-k8s-io-klog-v2
;; TODO: Complete packaging.
;; go-cloud-google-com-go-spanner
;; go-github-com-chainguard-dev-clog
;; go-github-com-transparency-dev-tessera
#;go-go-step-sm-crypto))
(home-page "https://github.com/sigstore/rekor-tiles")
(synopsis "Tile-based transparency log for Sigstore")
(description
"This package provides a tile-based implementation of a transparency log
for the Sigstore ecosystem, supporting efficient verification of log entries.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-go
(package
(name "go-github-com-sigstore-sigstore-go")
(version "1.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jr8jj4wibzxawn3dzv1j4cxmbh2b5g356mh2bqq9d0p78idf7k3"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/sigstore-go"
#:embed-files #~(list ".*\\.json")
#:test-subdirs
#~(list "pkg/bundle"
"pkg/fulcio/certificate"
"pkg/tlog"
"pkg/tuf")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-cyberphone-json-canonicalization
go-github-com-digitorus-timestamp
go-github-com-go-openapi-runtime
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag-conv
go-github-com-google-certificate-transparency-go
go-github-com-in-toto-attestation
go-github-com-in-toto-in-toto-golang
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-rekor
go-github-com-sigstore-rekor-tiles-v2
go-github-com-sigstore-sigstore
go-github-com-sigstore-timestamp-authority-v2
go-github-com-theupdateframework-go-tuf-v2
go-golang-org-x-crypto
go-golang-org-x-mod
go-google-golang-org-protobuf))
(home-page "https://github.com/sigstore/sigstore-go")
(synopsis "Go client library for Sigstore")
(description
"This package provides a Go client library for Sigstore, enabling
verification of signatures and attestations produced by Sigstore tools.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-aws
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-aws")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/aws"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "aws")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/aws"
#:unpack-path "github.com/sigstore/sigstore"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-aws-aws-sdk-go-v2
go-github-com-aws-aws-sdk-go-v2-config
go-github-com-aws-aws-sdk-go-v2-service-kms
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to AWS KMS")
(description
"Package aws implement the interface with Amazon AWS KMS service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-azure
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-azure")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/azure"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "azure")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/azure"
#:unpack-path "github.com/sigstore/sigstore"))
(propagated-inputs
(list go-github-com-azure-azure-sdk-for-go-sdk-azcore
go-github-com-azure-azure-sdk-for-go-sdk-azidentity
go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys
go-github-com-go-jose-go-jose-v4
go-github-com-google-go-cmp
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore
go-golang-org-x-crypto))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Microsoft Azure KMS")
(description
"Package azure implement the interface with Microsoft Azure KMS
service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-gcp")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/gcp"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "gcp")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/gcp"
#:unpack-path "github.com/sigstore/sigstore"))
(propagated-inputs
(list go-cloud-google-com-go-kms
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore
go-golang-org-x-oauth2
go-google-golang-org-api
go-google-golang-org-protobuf))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Google Cloud Platform KMS")
(description
"Package gcp implement the interface with Google Cloud KMS service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/hashivault"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "hashivault")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/hashivault"
#:unpack-path "github.com/sigstore/sigstore"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-hashicorp-vault-api
go-github-com-jellydator-ttlcache-v3
go-github-com-mitchellh-go-homedir
go-github-com-sigstore-sigstore))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Hashivault KMS")
(description
"Package hashivault implement the interface with
@url{https://www.hashicorp.com/en/products/vault HashiCorp Vault} KMS
service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-timestamp-authority-v2
(package
(name "go-github-com-sigstore-timestamp-authority-v2")
(version "2.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/timestamp-authority")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pgdxwkyrl10ayhw02n72r02q362gxg7110l9h9isiyqwbrmw2lp"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/timestamp-authority/v2"
#:embed-files #~(list ".*\\.json")
#:test-subdirs #~(list "pkg/client" "pkg/x509")))
(native-inputs
(list go-github-com-go-playground-validator-v10
go-github-com-google-go-cmp
go-github-com-prometheus-client-golang
go-github-com-sigstore-sigstore
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-spf13-viper
go-github-com-tink-crypto-tink-go-v2
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-security
go-github-com-beevik-ntp
go-github-com-digitorus-pkcs7
go-github-com-digitorus-timestamp
go-github-com-go-chi-chi
go-github-com-go-openapi-errors
go-github-com-go-openapi-loads
go-github-com-go-openapi-runtime
go-github-com-go-openapi-spec
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag
go-github-com-pkg-errors
go-github-com-rs-cors
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-hcvault-v2
go-github-com-urfave-negroni
;; go-go-step-sm-crypto ;not packaged yet in Guix
go-sigs-k8s-io-yaml))
(home-page "https://github.com/sigstore/timestamp-authority")
(synopsis "RFC 3161 timestamp verification for Sigstore")
(description
"This package provides timestamp verification functionality for the
Sigstore ecosystem, implementing RFC 3161 timestamp response validation.")
(license license:asl2.0)))
(define-public go-github-com-shurcool-githubv4
(package
(name "go-github-com-shurcool-githubv4")
@@ -17007,6 +17636,90 @@ Features:
@end itemize")
(license license:expat)))
(define-public go-github-com-tink-crypto-tink-go-awskms-v2
(package
(name "go-github-com-tink-crypto-tink-go-awskms-v2")
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-awskms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0crsky461yyvl04g0gbsz9gh2zmlmgd5li5qk4k7zvmj103gmwlr"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-awskms/v2"))
(propagated-inputs
(list go-github-com-aws-aws-sdk-go
go-github-com-tink-crypto-tink-go-v2))
(home-page "https://github.com/tink-crypto/tink-go-awskms")
(synopsis "Tink Go AWS KMS extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for AWS KMS.")
(license license:asl2.0)))
(define-public go-github-com-tink-crypto-tink-go-gcpkms-v2
(package
(name "go-github-com-tink-crypto-tink-go-gcpkms-v2")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-gcpkms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hf31f26lmpg81k64flsvcx83ngkhazkkf792i5qkq14q4ndsdhw"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-gcpkms/v2"))
(propagated-inputs
(list go-github-com-tink-crypto-tink-go-v2
go-google-golang-org-api))
(home-page "https://github.com/tink-crypto/tink-go-gcpkms")
(synopsis "Tink Go Google Cloud KMS extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for Google Cloud KMS.")
(license license:asl2.0)))
(define-public go-github-com-tink-crypto-tink-go-hcvault-v2
(package
(name "go-github-com-tink-crypto-tink-go-hcvault-v2")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-hcvault")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ifwxrsyynkss652wnn2ivhfj8n84m8rz7fjpi8gcx2cppmx9zrv"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-hcvault/v2"))
(propagated-inputs
(list go-github-com-hashicorp-vault-api
go-github-com-tink-crypto-tink-go-v2))
(home-page "https://github.com/tink-crypto/tink-go-hcvault")
(synopsis "Tink Go HashiCorp Vault extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for HashiCorp Vault.")
(license license:asl2.0)))
(define-public go-github-com-tj-go-elastic
(package
(name "go-github-com-tj-go-elastic")
@@ -21769,6 +22482,7 @@ feature set and features are added on as the need arises.")
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:build-flags #~(list (string-append "-ldflags="
"-X main.lyrebirdVersion="
#$version " -s -w"))
+1
View File
@@ -74,6 +74,7 @@
;;; Copyright © 2025 Aleksandr Lebedev <alex.lebedev2003@icloud.com>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
-51
View File
@@ -1022,56 +1022,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(map (lambda (suffix) (string-append "armv9" suffix "-a"))
'("" ".1" ".2" ".3" ".4" ".5"))))
(define-public go-1.23
(package
(inherit go-1.22)
(name "go")
(version "1.23.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nxcp8wikn93zxipm829dyyagwys13yhf452ai357wzbdzqihm7x"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.22)
((#:phases phases)
#~(modify-phases #$phases
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "// +build !linux linux,!arm64\n\n"
"package plugin_test")))))
((target-arm32?)
;; This test fails when run on aarch64-linux.
#~((substitute* "src/cmd/link/internal/ld/elf_test.go"
(("TestElfBindNow.*" all)
(string-append
all
" if runtime.GOARCH == \"arm\" {\n"
" t.Skipf(\"skipping; flaky on armhf\")\n"
" }\n")))))
(else (list #t)))))))))
(properties
`((compiler-cpu-architectures
("aarch64" ,@%go-1.23-arm64-micro-architectures)
("armhf" ,@%go-1.17-arm-micro-architectures)
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
("x86_64" ,@%go-1.18-x86_64-micro-architectures))))
(native-inputs
;; setarch was added to the tsan test suite in 1.23.12
`(("go" ,util-linux)
,@(package-native-inputs go-1.22)))))
(define-public go-1.24
(package
(inherit go-1.22)
@@ -1239,7 +1189,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(define-public go-std-1.20 (make-go-std go-1.20))
(define-public go-std-1.21 (make-go-std go-1.21))
(define-public go-std-1.22 (make-go-std go-1.22))
(define-public go-std-1.23 (make-go-std go-1.23))
(define-public go-std-1.24 (make-go-std go-1.24))
(define-public go-std-1.25 (make-go-std go-1.25))
(define-public go-std-1.26 (make-go-std go-1.26))
+3 -3
View File
@@ -129,7 +129,7 @@
libxv
mesa
sdl
v4l-utils-minimal))
v4l-utils))
(synopsis "1394-Based Digital Camera Control Library")
(description "LibDC1394 is a library that provides functionality to control
any camera that conforms to the 1394-Based Digital Camera Specification written
@@ -721,7 +721,7 @@ for the GStreamer multimedia library.")
speex
taglib
twolame
v4l-utils-minimal
v4l-utils
wavpack
zlib))
(propagated-inputs
@@ -942,7 +942,7 @@ model to base your own plug-in on, here it is.")
tinyalsa
transcode
usrsctp
v4l-utils-minimal
v4l-utils
vo-aacenc
vo-amrwbenc
vulkan-headers
+40 -3
View File
@@ -5787,6 +5787,43 @@ reading and writing PNG data, as well as some graphic primitives and basic image
processing filters.")
(license license:gpl3+)))
(define-public guile-pnm
(package
(name "guile-pnm")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/guile-pnm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yvsni4hll20g99zq4wl734f9i8gpjr1sqsnk3a93k2dd7b6ymac"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
(native-inputs (list autoconf
automake
pkg-config
texinfo
;; needed when cross-compiling.
guile-3.0
guile-lib
guile-smc))
(inputs (list guile-3.0 guile-lib))
(propagated-inputs (list guile-smc))
(home-page "https://github.com/artyom-poptsov/guile-pnm")
(synopsis "NetBPM (PNM) library for GNU Guile")
(description
"@code{guile-pnm} is a GNU Guile library for working with the
@url{https://en.wikipedia.org/wiki/Netpbm, NetPBM} format (also known as PNM),
including portable bitmap (PBM), portable graymap (PGM) and portable
pixel (PPM) variants.")
(license license:gpl3+)))
(define-public guile-cv
(package
(name "guile-cv")
@@ -7654,8 +7691,8 @@ is an attempt to combine both into something useful.")
(license license:asl2.0))))
(define-public guile-knots
(let ((commit "cb5ec50b341f603e9d129152b45e47cf008ea126")
(revision "31"))
(let ((commit "d79284b4715efc347b22d510c3e3134a0c584b17")
(revision "32"))
(package
(name "guile-knots")
(version (git-version "0" revision commit))
@@ -7666,7 +7703,7 @@ is an attempt to combine both into something useful.")
(commit commit)))
(sha256
(base32
"08gcbyw7kvhk568a30kimhn37m9mygpxhswb294n1141ddmhjchh"))
"0i87jc3dznw6pdib0yy49d8066c1jvwp2m01xi92amx45dkl8ixc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+179 -153
View File
@@ -96,13 +96,13 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
(define-public cabal-install
(package
(name "cabal-install")
(version "3.6.2.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "cabal-install" version))
(sha256
(base32
"0dihpm4h3xh13vnpvwflnb7v614qdvljycc6ffg5cvhwbwfrxyfw"))))
(version "3.12.1.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "cabal-install" version))
(sha256
(base32 "1cmifq189i4x0r0yha3dl8nrzzfh92bnd2saak7dqvvjkkysqj38"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cabal-install")))
(inputs (list ghc-async
@@ -117,13 +117,35 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
ghc-tar
ghc-zlib
ghc-hackage-security
ghc-open-browser
ghc-regex-base
ghc-regex-posix
ghc-safe-exceptions
ghc-semaphore-compat
ghc-resolv
ghc-lukko))
(native-inputs (list ghc-tasty
ghc-tasty-golden
ghc-tasty-quickcheck
ghc-tasty-expected-failure
ghc-tasty-hunit
ghc-tree-diff
ghc-quickcheck
ghc-tasty
ghc-tasty-hunit
ghc-tasty
ghc-tasty-hunit
ghc-tagged
ghc-tagged
ghc-tasty
ghc-tasty-expected-failure
ghc-tasty-hunit
ghc-tasty-quickcheck
ghc-quickcheck
ghc-pretty-show))
(arguments
`(#:cabal-revision ("2"
"1kpgyfl5njxp4c8ax5ziag1bhqvph3h0pn660v3vpxalz8d1j6xv")))
"0fdzqdkg2vbyg0lnbk9bdskr2d23hwjpmnc7jnvpzkcmxmcvl99n")))
(home-page "https://www.haskell.org/cabal/")
(synopsis "Command-line interface for Cabal and Hackage")
(description
@@ -145,11 +167,10 @@ installation of Haskell libraries and programs.")
"17wi7fma2qaqdm1hwgaam3fd140v9bpa8ky0wg708h1pqc5v2nbz"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cpphs")))
(inputs
(list ghc-polyparse ghc-old-locale ghc-old-time))
(inputs (list ghc-polyparse))
(arguments
`(#:cabal-revision ("1"
"1f8jzs8zdh4wwbcq8fy6qqxkv75ypnvsm4yzw49wpr3b9vpnzlha")))
`(#:cabal-revision ("2"
"0vxav36p0kplp4dpd17i4cfzrsl3r437d840xwv83lf1bqp7mrxc")))
(home-page "https://projects.haskell.org/cpphs/")
(synopsis "Liberalised re-implementation of cpp, the C pre-processor")
(description "Cpphs is a re-implementation of the C pre-processor that is
@@ -269,20 +290,18 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public ghcid
(package
(name "ghcid")
(version "0.8.7")
(version "0.8.9")
(source
(origin
(method url-fetch)
(uri (hackage-uri "ghcid" version))
(sha256
(base32 "0yqc1pkfajnr56gnh43sbj50r7c3r41b2jfz07ivgl6phi4frjbq"))))
(base32 "1dq8lc0dwzib8y21279q4j54cmm7lvx64b3hw2yiym1kzi9rrhj4"))))
(build-system haskell-build-system)
(properties '((upstream-name . "ghcid")))
(inputs
(list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
ghc-terminal-size))
(native-inputs
(list ghc-tasty ghc-tasty-hunit))
(inputs (list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
ghc-terminal-size))
(native-inputs (list ghc-tasty ghc-tasty-hunit))
(home-page "https://github.com/ndmitchell/ghcid#readme")
(synopsis "GHCi based bare bones IDE")
(description
@@ -404,95 +423,97 @@ to @code{cabal repl}).")
(string-append bin "/git-remote-annex"))
(symlink (string-append bin "/git-annex")
(string-append bin "/git-remote-tor-annex"))))))))
(inputs
(list curl
ghc-aeson
ghc-ansi-terminal
ghc-async
ghc-attoparsec
ghc-aws
ghc-bloomfilter
ghc-byteable
ghc-case-insensitive
ghc-clientsession
ghc-concurrent-output
ghc-conduit
ghc-connection
ghc-crypto-api
ghc-cryptonite
ghc-data-default
ghc-dav
ghc-dbus
ghc-disk-free-space
ghc-dlist
ghc-edit-distance
ghc-exceptions
ghc-fdo-notify
ghc-feed
ghc-filepath-bytestring
ghc-free
ghc-git-lfs
ghc-hinotify
ghc-http-client
ghc-http-client-tls
ghc-http-client-restricted
ghc-http-conduit
ghc-http-types
ghc-ifelse
ghc-magic
ghc-memory
ghc-microlens
ghc-monad-control
ghc-monad-logger
ghc-mountpoints
ghc-network
ghc-network-bsd
ghc-network-info
ghc-network-multicast
ghc-network-uri
ghc-old-locale
ghc-optparse-applicative
ghc-persistent
ghc-persistent-sqlite
ghc-persistent-template
ghc-quickcheck
ghc-random
ghc-regex-tdfa
ghc-resourcet
ghc-safesemaphore
ghc-sandi
ghc-securemem
ghc-servant-client
ghc-servant-server
ghc-socks
ghc-split
ghc-stm-chans
ghc-tagsoup
ghc-torrent
ghc-transformers
ghc-unbounded-delays
ghc-unix-compat
ghc-unliftio-core
ghc-unordered-containers
ghc-utf8-string
ghc-uuid
ghc-vector
ghc-wai
ghc-wai-extra
ghc-warp
ghc-warp-tls
ghc-yesod
ghc-yesod-core
ghc-yesod-form
ghc-yesod-static
lsof
rsync
xdg-utils))
(inputs (list ghc-network-uri
ghc-optparse-applicative
ghc-uuid
ghc-data-default
ghc-case-insensitive
ghc-random
ghc-dlist
ghc-unix-compat
ghc-safesemaphore
ghc-async
ghc-disk-free-space
ghc-ifelse
ghc-monad-logger
ghc-free
ghc-utf8-string
ghc-sandi
ghc-monad-control
ghc-bloomfilter
ghc-edit-distance
ghc-resourcet
ghc-http-client
ghc-http-client-tls
ghc-http-types
ghc-http-conduit
ghc-http-client-restricted
ghc-conduit
ghc-old-locale
ghc-persistent-sqlite
ghc-persistent
ghc-persistent-template
ghc-unliftio-core
ghc-microlens
ghc-aeson
ghc-vector
ghc-tagsoup
ghc-unordered-containers
ghc-feed
ghc-regex-tdfa
ghc-socks
ghc-byteable
ghc-stm-chans
ghc-securemem
ghc-crypto-api
ghc-memory
ghc-split
ghc-attoparsec
ghc-concurrent-output
ghc-unbounded-delays
ghc-quickcheck
ghc-tasty
ghc-tasty-hunit
ghc-tasty-quickcheck
ghc-tasty-rerun
ghc-ansi-terminal
ghc-aws
ghc-dav
ghc-network
ghc-network-bsd
ghc-git-lfs
ghc-clock
ghc-crypton
ghc-servant
ghc-servant-server
ghc-servant-client
ghc-servant-client-core
ghc-warp
ghc-warp-tls
ghc-os-string
ghc-file-io
ghc-mountpoints
ghc-yesod
ghc-yesod-static
ghc-yesod-form
ghc-yesod-core
ghc-path-pieces
ghc-wai
ghc-wai-extra
ghc-blaze-builder
ghc-clientsession
ghc-shakespeare
ghc-hinotify
ghc-dbus
ghc-fdo-notify
ghc-network-multicast
ghc-network-info
ghc-torrent
ghc-magic
ghc-criterion))
(propagated-inputs
(list git))
(native-inputs
(list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck ghc-tasty-rerun
perl))
(native-inputs (list ghc-filepath-bytestring))
(home-page "https://git-annex.branchable.com/")
(synopsis "Manage files with Git, without checking in their contents")
(description "This package allows managing files with Git, without
@@ -513,13 +534,13 @@ used to keep a folder in sync between computers.")
(define-public hlint
(package
(name "hlint")
(version "3.4.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hlint" version))
(sha256
(base32
"0bkk03c9hacvfd73dk89g4r81b50g7pjgw5pavldali4qwss34cz"))))
(version "3.10")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hlint" version))
(sha256
(base32 "0dzy7spc45v88yplczhd3la464bhcbaihi619a45bd06ghrp55nr"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hlint")))
(inputs (list ghc-unordered-containers
@@ -536,12 +557,10 @@ used to keep a folder in sync between computers.")
ghc-aeson
ghc-deriving-aeson
ghc-filepattern
ghc-lib-parser
ghc-lib-parser-ex
hscolour
ghc-yaml))
(arguments
`(#:cabal-revision ("1"
"1rdaffg5n179yfcn5zjwjb0bki09qy13gz2ijky455y9pbaz8yz9")))
(home-page "https://github.com/ndmitchell/hlint#readme")
(synopsis "Suggest improvements for Haskell source code")
(description
@@ -553,13 +572,13 @@ unwanted suggestions, and to add your own custom suggestions.")
(define-public hoogle
(package
(name "hoogle")
(version "5.0.18.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "hoogle" version))
(sha256
(base32
"0v6k75w0an9pqgb7a6cicnpf9rz77xd2lmxfbafc5l4f99jg83bn"))))
(version "5.0.18.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hoogle" version))
(sha256
(base32 "08z32d87vqzhapb2vw21h25jb2g74csxlpvd8f54xl91k3ijs3wx"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hoogle")))
(inputs (list ghc-quickcheck
@@ -569,7 +588,7 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-cmdargs
ghc-conduit
ghc-conduit-extra
ghc-connection
ghc-crypton-connection
ghc-extra
ghc-foundation
ghc-old-locale
@@ -582,6 +601,7 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-mmap
ghc-process-extras
ghc-resourcet
ghc-safe
ghc-storable-tuple
ghc-tar
ghc-uniplate
@@ -593,6 +613,9 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-warp-tls
ghc-zlib
ghc-semigroups))
(arguments
`(#:cabal-revision ("1"
"1129flhhb1992rijw46dclvmpqlylmbrzl4swsnk2knylx6jgw5a")))
(home-page "https://hoogle.haskell.org/")
(synopsis "Haskell API Search")
(description
@@ -604,14 +627,13 @@ or by approximate type signature.")
(define-public hscolour
(package
(name "hscolour")
(version "1.24.4")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hscolour" version))
(sha256
(base32
"079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4"))))
(base32 "0z679khnmb6as1zcdb44n9qjk7in32jpm4ldscpqg7jrapd31kjl"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hscolour")))
(home-page "https://hackage.haskell.org/package/hscolour")
@@ -760,7 +782,7 @@ Wayland, and Linux console environments alike.")
ghc-text-zipper
ghc-timezone-olson
ghc-timezone-series
ghc-unix-compat-7
ghc-unix-compat
ghc-unordered-containers
ghc-utf8-string
ghc-uuid
@@ -954,6 +976,7 @@ too slow and you'll get wound up in the scroll and crushed.")
(build-system haskell-build-system)
(arguments
(list #:haddock? #f ; TODO: Fails to build.
#:cabal-revision '("1" "1935jrzy1r3g9cc74b330fmxnz2i1j8hsdk9jnl557qgk6xjqzs7")
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-man-page
@@ -993,13 +1016,13 @@ advanced user's otherwise working script to fail under future circumstances.
(define-public shelltestrunner
(package
(name "shelltestrunner")
(version "1.9")
(source (origin
(method url-fetch)
(uri (hackage-uri "shelltestrunner" version))
(sha256
(base32
"1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b"))))
(version "1.10")
(source
(origin
(method url-fetch)
(uri (hackage-uri "shelltestrunner" version))
(sha256
(base32 "1c6bjyxqa4mgnh3w4pqp6sbr5cf160n7jf9i1b4b9sdxzdjk7g87"))))
(build-system haskell-build-system)
(properties '((upstream-name . "shelltestrunner")))
(arguments
@@ -1022,17 +1045,19 @@ advanced user's otherwise working script to fail under future circumstances.
"tests/examples")
(format #t "test suite not run~%"))
#t))))))
(inputs
(list ghc-diff
ghc-cmdargs
ghc-filemanip
ghc-hunit
ghc-pretty-show
ghc-regex-tdfa
ghc-safe
ghc-utf8-string
ghc-test-framework
ghc-test-framework-hunit))
(inputs (list ghc-diff
ghc-filemanip
ghc-hunit
ghc-cmdargs
ghc-pretty-show
ghc-regex-tdfa
ghc-safe
ghc-test-framework
ghc-test-framework-hunit
ghc-utf8-string
ghc-hspec
ghc-hspec-core
ghc-hspec-contrib))
(home-page "https://github.com/simonmichael/shelltestrunner")
(synopsis "Test CLI programs")
(description
@@ -1045,13 +1070,13 @@ output, stderr, and exit status.")
(define-public stylish-haskell
(package
(name "stylish-haskell")
(version "0.14.3.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "stylish-haskell" version))
(sha256
(base32
"17w92v0qnwj7m6yqdq5cxbr04xiz0yfnnyx5q54218wdl7n5lf6d"))))
(version "0.15.1.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "stylish-haskell" version))
(sha256
(base32 "06y6f7bv5j5k7q81194v9jqcbmmqcv7h8ii3lq1783bpfnyd6h19"))))
(build-system haskell-build-system)
(properties '((upstream-name . "stylish-haskell")))
(inputs (list ghc-aeson
@@ -1061,6 +1086,7 @@ output, stderr, and exit status.")
ghc-hsyaml-aeson
ghc-hsyaml
ghc-semigroups
ghc-lib-parser
ghc-lib-parser-ex
ghc-strict
ghc-optparse-applicative))
+319 -283
View File
@@ -45,22 +45,18 @@
(define-public ghc-tasty-ant-xml
(package
(name "ghc-tasty-ant-xml")
(version "1.1.8")
(version "1.1.9")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-ant-xml" version))
(sha256
(base32
"0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8"))))
(base32 "00zgsd6jjfwasr69d0y781vhjr7d8p1jbaaz4pn75ljf33akd92l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-ant-xml")))
(inputs
(list ghc-generic-deriving ghc-xml ghc-tagged ghc-tasty))
(home-page
"https://github.com/ocharles/tasty-ant-xml")
(synopsis
"Render tasty output to XML for Jenkins")
(inputs (list ghc-generic-deriving ghc-tagged ghc-tasty ghc-xml))
(home-page "http://github.com/ocharles/tasty-ant-xml")
(synopsis "Render tasty output to XML for Jenkins")
(description
"A tasty ingredient to output test results in XML, using the Ant
schema. This XML can be consumed by the Jenkins continuous integration
@@ -76,33 +72,37 @@ framework.")
(method url-fetch)
(uri (hackage-uri "tasty-smallcheck" version))
(sha256
(base32
"0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
(base32 "0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-smallcheck")))
(inputs
(list ghc-tasty ghc-smallcheck ghc-async ghc-tagged))
(home-page "https://documentup.com/feuerbach/tasty")
(inputs (list ghc-tasty ghc-smallcheck ghc-tagged ghc-optparse-applicative))
(arguments
`(#:cabal-revision ("1"
"0033ha2w9rzc1rxpzh1dkfdrn256i5lvb41pqbdh2i6kli0v5vmh")))
(home-page "https://github.com/feuerbach/tasty")
(synopsis "SmallCheck support for the Tasty test framework")
(description "This package provides SmallCheck support for the Tasty
Haskell test framework.")
(license license:bsd-3)))
(license license:expat)))
(define-public ghc-tasty-quickcheck
(package
(name "ghc-tasty-quickcheck")
(version "0.10.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-quickcheck" version))
(sha256
(base32
"1qnc6rdvjvlw08q6sln2n98rvj0s0pp689h6w4z58smjbn0lr25l"))))
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-quickcheck" version))
(sha256
(base32 "0si4ccgqlv8h33d6310rrqba7f4pz3g8cinqfj42yd7damsdxm73"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-quickcheck")))
(inputs (list ghc-tagged ghc-tasty ghc-random ghc-quickcheck
ghc-optparse-applicative))
(native-inputs (list ghc-tasty-hunit ghc-pcre-light))
(native-inputs (list ghc-regex-tdfa ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("3"
"1wzvha4xam8npx5mk33c056grmrqnjd6m38nnm6d7y99w2mn1a7w")))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "QuickCheck support for the Tasty test framework")
(description "This package provides QuickCheck support for the Tasty
@@ -140,22 +140,23 @@ contains the correct result for the test.")
(define-public ghc-tasty
(package
(name "ghc-tasty")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty" version))
(sha256
(base32
"006bf4gyc30i2gvb17hj1mzrh1kwnwf7l050x3f72wi6c2axl87l"))))
(version "1.5.3")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty" version))
(sha256
(base32 "10076vlklbcyiz7plakrihava5sy3dvwhskjldqzhfl18jvcg82l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty")))
(inputs
(append
(list ghc-tagged ghc-optparse-applicative ghc-ansi-terminal)
;; TODO: Add ghc-unbounded-delays unconditionally on next rebuild cycle.
(if (member (%current-system) '("i686-linux"))
(list ghc-unbounded-delays)
'())))
(list ghc-tagged
ghc-optparse-applicative
ghc-ansi-terminal
ghc-unbounded-delays)) ; needed on 32-bit architectures
(arguments
`(#:cabal-revision ("2"
"04llcf1i3gawdik0bjhxdgls2wkiqlx0gi76nfh784nv2qzxlpbb")))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "Modern and extensible testing framework")
(description
@@ -167,17 +168,20 @@ and any other types of tests into a single test suite.")
(define-public ghc-tasty-hedgehog
(package
(name "ghc-tasty-hedgehog")
(version "1.3.1.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-hedgehog" version))
(sha256
(base32
"1iq452mvd9wc9pfmjsmm848jwp3cvsk1faf2mlr21vcs0yaxvq3m"))))
(version "1.4.0.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hedgehog" version))
(sha256
(base32 "0lki03z0p38x0dkqx5cqga30zy5m31gxn1saqylja9bi6bbq8d25"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-hedgehog")))
(inputs (list ghc-tagged ghc-tasty ghc-hedgehog))
(native-inputs (list ghc-tasty-expected-failure))
(arguments
`(#:cabal-revision ("6"
"1rb8ncp6xyy7jr6v0hyls9m529ba0djndsxgxmkgr52rk3qq8lrc")))
(home-page "https://github.com/qfpl/tasty-hedgehog")
(synopsis "Integration for tasty and hedgehog")
(description
@@ -190,22 +194,25 @@ framework}.")
(define-public ghc-tasty-hspec
(package
(name "ghc-tasty-hspec")
(version "1.2.0.2")
(version "1.2.0.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hspec" version))
(sha256
(base32 "0cfcpi25jmnmzfzsx364qsj68q6gyph5z112kl8ja222hnhhr2n2"))))
(base32 "1hk1nkjvhp89xxgzj6dhbgw0fknnghpng6afq4i39hjkwv5p78ni"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-hspec")))
(inputs (list ghc-hspec
ghc-hspec-api
ghc-hspec-core
ghc-quickcheck
ghc-tasty
ghc-tasty-smallcheck
ghc-tasty-quickcheck
ghc-tagged))
ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("7"
"0s1y34i8g7fva0z10ws3ipcy2jmlvqk0v4hdbx8rqnby5n0l5kay")))
(home-page "https://github.com/mitchellwrosen/tasty-hspec")
(synopsis "Hspec support for the Tasty test framework")
(description
@@ -215,19 +222,17 @@ framework}.")
(define-public ghc-tasty-hunit
(package
(name "ghc-tasty-hunit")
(version "0.10.0.3")
(version "0.10.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hunit" version))
(sha256
(base32
"0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp"))))
(base32 "1xh33ss7dncm7zanzkzh7ywb3a46k7vkcbh6v8jb767gq6kizw2s"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-hunit")))
(inputs
(list ghc-call-stack-boot ghc-tasty))
(home-page "http://documentup.com/feuerbach/tasty")
(inputs (list ghc-tasty ghc-call-stack-boot))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "HUnit support for the Tasty test framework")
(description "This package provides HUnit support for the Tasty Haskell
test framework.")
@@ -257,13 +262,13 @@ tasty.")
(define-public ghc-tasty-lua
(package
(name "ghc-tasty-lua")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-lua" version))
(sha256
(base32
"1vnyvgcjsvqhwwyqkbgqksr9ppj5whiihpwcqkg33sl7jj3ysdwv"))))
(version "1.1.1.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-lua" version))
(sha256
(base32 "03b2n3gw2w70cnl57w3sh3cv5ka270sf07jlxpb4zs0z5gh83p1r"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-lua")))
(inputs (list ghc-hslua-core
@@ -288,16 +293,15 @@ from Lua.")
(method url-fetch)
(uri (hackage-uri "tasty-th" version))
(sha256
(base32
"0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
(base32 "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-th")))
(inputs
(list ghc-haskell-src-exts ghc-tasty ghc-tasty-hunit))
(inputs (list ghc-haskell-src-exts ghc-tasty))
(native-inputs (list ghc-tasty-hunit))
(home-page "https://github.com/bennofs/tasty-th")
(synopsis "Automatically generate tasty TestTrees")
(description
"Tasty-th automatically generates tasty TestTrees from functions of the
"Tasty-th automatically generates tasty TestTrees from functions of the
current module, using TemplateHaskell. This is a fork the original
test-framework-th package, modified to work with tasty instead of
test-framework.")
@@ -306,28 +310,27 @@ test-framework.")
(define-public ghc-tasty-rerun
(package
(name "ghc-tasty-rerun")
(version "1.1.18")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-rerun" version))
(sha256
(base32
"0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s"))))
(version "1.1.20")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-rerun" version))
(sha256
(base32 "0px58jm1yqbg32qf2s0yk09d2qdjxkkz9df89f31q3nzw85jv2ky"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-rerun")))
(inputs
(list ghc-optparse-applicative ghc-reducers ghc-split ghc-tagged
ghc-tasty))
(inputs (list ghc-optparse-applicative ghc-split ghc-tagged ghc-tasty))
(arguments
`(#:cabal-revision ("3"
"0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb")))
`(#:cabal-revision ("1"
"13xmx91hp7i0qzrhada9ckliqkynwlwa8x6pjbvxjcy1y0qsd7hk")))
(home-page "https://github.com/ocharles/tasty-rerun")
(synopsis "Run tests by filtering the test tree")
(description "This package adds the ability to run tests by filtering the
(description
"This package adds the ability to run tests by filtering the
test tree based on the result of a previous test run. You can use this to run
only those tests that failed in the last run, or to only run the tests that have
been added since previous test run.")
(license license:bsd-3)))
(license license:bsd-3)))
(define-public ghc-tasty-expected-failure
(package
@@ -362,17 +365,17 @@ development.")
(define-public ghc-quickcheck-instances
(package
(name "ghc-quickcheck-instances")
(version "0.3.29.1")
(version "0.3.33")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-instances" version))
(sha256
(base32 "0jx2wfy7y5dr14s9i457g2aah4isjxry4mlbqhj7vlav6ib84gdj"))))
(base32 "0rl8y3rb4fm4nqz122bp5f2aya4f8bc9m9i9n2vwlyq2gdacs0v8"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-instances")))
(inputs (list ghc-quickcheck
ghc-splitmix
ghc-splitmix-bootstrap
ghc-case-insensitive
ghc-data-fix
ghc-hashable
@@ -383,17 +386,15 @@ development.")
ghc-scientific
ghc-strict
ghc-tagged
ghc-text-short
ghc-these
ghc-time-compat
ghc-transformers-compat
ghc-unordered-containers
ghc-uuid-types
ghc-vector
ghc-data-array-byte
ghc-text-short))
ghc-vector))
(arguments
`(#:cabal-revision ("2"
"118xy4z4dy4bpkzsp98daiv3l4n5j7ph9my0saca7cqjybqwkcip")))
`(#:cabal-revision ("1"
"1xkc7rsfgya4rwiizh0yfincws3knpdnh08m280v1dgik4kv37vh")))
(home-page "https://github.com/haskellari/qc-instances")
(synopsis "Common quickcheck instances")
(description "This package provides QuickCheck instances for types
@@ -409,17 +410,38 @@ provided by the Haskell Platform.")
(method url-fetch)
(uri (hackage-uri "quickcheck-unicode" version))
(sha256
(base32
"0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
(base32 "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-unicode")))
(inputs (list ghc-quickcheck))
(home-page
"https://github.com/bos/quickcheck-unicode")
(home-page "https://github.com/bos/quickcheck-unicode")
(synopsis "Generator functions Unicode-related tests")
(description "This package provides generator and shrink functions for
testing Unicode-related software.")
(license license:bsd-3)))
(license license:bsd-2)))
(define-public ghc-quickcheck-text
(package
(name "ghc-quickcheck-text")
(version "0.1.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-text" version))
(sha256
(base32 "02dbs0k6igmsa1hcw8yfvp09v7038vp4zlsp9706km3cmswgshj4"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-text")))
(inputs (list ghc-quickcheck))
(home-page "https://github.com/olorin/quickcheck-text")
(synopsis "Alternative arbitrary instance for Text")
(description
"The usual Arbitrary instance for Text (in
<https://hackage.haskell.org/package/quickcheck-instances quickcheck-instances>)
only has single-byte instances and so isn't an ideal representation of a valid
UTF-8 character. This package has generators for one-, two- and three-byte
UTF-8 characters (all that are currently in use).")
(license license:expat)))
(define-public ghc-quickcheck-io
(package
@@ -446,17 +468,19 @@ use HUnit assertions as QuickCheck properties.")
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
(version "2.14.3")
(version "2.15.0.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "QuickCheck" version))
(sha256
(base32 "0085lwy14r7hk7ibmv8d7d54ja9zin0ijf0b27xai898dfrj43sw"))))
(base32 "0zvfydg44ibs1br522rzvdlxj9mpz0h62js1hay1sj5gvdnj3cm3"))))
(build-system haskell-build-system)
(properties '((upstream-name . "QuickCheck")))
(inputs
(list ghc-random ghc-splitmix-bootstrap))
(inputs (list ghc-random-bootstrap ghc-splitmix-bootstrap))
(arguments
`(#:cabal-revision ("1"
"0cgfp4s51cjphsn9cls6rndisvqmi94vn95xan9g1yz6p5xk7z8c")))
(home-page "https://github.com/nick8325/quickcheck")
(synopsis "Automatic testing of Haskell programs")
(description
@@ -479,10 +503,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
(base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-assertions")))
(native-inputs
(list ghc-hspec))
(inputs
(list ghc-ieee754 ghc-pretty-show ghc-quickcheck))
(inputs (list ghc-quickcheck ghc-ieee754 ghc-pretty-show))
(native-inputs (list ghc-hspec))
(home-page "https://github.com/s9gf4ult/quickcheck-assertions")
(synopsis "HUnit-like assertions for QuickCheck")
(description
@@ -494,33 +516,27 @@ HUnit.")
(define-public ghc-test-framework
(package
(name "ghc-test-framework")
(version "0.8.2.0")
(version "0.8.2.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "test-framework" version))
(sha256
(base32
"1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
(base32 "04ijf5x6xx8i5lqv9ir33zs1rfzc4qkwwz8c1fdycnzvydcv4dnp"))))
(build-system haskell-build-system)
(properties '((upstream-name . "test-framework")))
(inputs (list ghc-ansi-terminal
ghc-ansi-wl-pprint
ghc-random
ghc-regex-posix
ghc-old-locale
ghc-xml
ghc-hostname))
(native-inputs (list ghc-hunit ghc-quickcheck ghc-semigroups-bootstrap))
(arguments
`(#:tests? #f ; FIXME: Tests do not build.
#:cabal-revision
("6" "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r")))
;(native-inputs
; (list ghc-hunit ghc-quickcheck))
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
("ghc-hostname" ,ghc-hostname)
("ghc-old-locale" ,ghc-old-locale)
("ghc-random" ,ghc-random)
("ghc-regex-posix" ,ghc-regex-posix)
("ghc-xml" ,ghc-xml)
("ghc-libxml" ,ghc-libxml)
("ghc-semigroups" ,ghc-semigroups-bootstrap)))
(home-page "https://batterseapower.github.io/test-framework/")
`(#:cabal-revision ("1"
"1yv1qsr6bxphxk9430id9bqhfmkffdqmfg0k017dp9pnn4pqj0zh")))
(home-page "https://github.com/haskell/test-framework#readme")
(synopsis "Framework for running and organising tests")
(description
"This package allows tests such as QuickCheck properties and HUnit test
@@ -557,23 +573,21 @@ reporting and test statistics output.")
(define-public ghc-test-framework-quickcheck2
(package
(name "ghc-test-framework-quickcheck2")
(version "0.3.0.5")
(version "0.3.0.6")
(source
(origin
(method url-fetch)
(uri (hackage-uri "test-framework-quickcheck2" version))
(sha256
(base32
"0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"))))
(base32 "1d0w2q9sm8aayk0aj1zr2irpnqwpzixn6pdfq1i904vs1kkb2xin"))))
(build-system haskell-build-system)
(properties '((upstream-name . "test-framework-quickcheck2")))
(inputs (list ghc-test-framework ghc-quickcheck ghc-extensible-exceptions
ghc-random))
(arguments
`(#:cabal-revision
("3" "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh")))
(inputs
(list ghc-extensible-exceptions ghc-quickcheck ghc-random
ghc-test-framework))
(home-page "https://batterseapower.github.io/test-framework/")
`(#:cabal-revision ("1"
"1af2gw9gvq143jdqmsnxj23cgss9ffdyr67951a5x151aps04y7z")))
(home-page "https://github.com/haskell/test-framework")
(synopsis "QuickCheck2 support for test-framework")
(description
"This package provides QuickCheck2 support for the test-framework
@@ -592,9 +606,8 @@ package.")
(base32 "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0"))))
(build-system haskell-build-system)
(properties '((upstream-name . "test-framework-smallcheck")))
(inputs
(list ghc-smallcheck ghc-test-framework))
(home-page "https://github.com/Bodigrim/smallcheck")
(inputs (list ghc-test-framework ghc-smallcheck))
(home-page "https://github.com/feuerbach/smallcheck")
(synopsis "SmallCheck support for test-framework")
(description
"This package lets programmers use SmallCheck properties in Haskell's
@@ -660,17 +673,17 @@ JUnit tool for Java.")
(define-public hspec-discover
(package
(name "hspec-discover")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-discover" version))
(sha256
(base32
"0536kdxjw6p8b6gcwvmr22jbmb6cgzbddi0fkd01b2m847z37sb5"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-discover" version))
(sha256
(base32 "044vgsy45ff00h9z2k3jgn2m37npcjiacc4cifahrjlmwa7a7ylp"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-discover")))
(native-inputs (list ghc-quickcheck ghc-hspec-meta ghc-mockery-bootstrap))
(home-page "http://hspec.github.io/")
(home-page "https://hspec.github.io/")
(synopsis "Automatically discover and run Hspec tests")
(description "hspec-discover is a tool which automatically discovers and
runs Hspec tests.")
@@ -679,28 +692,30 @@ runs Hspec tests.")
(define-public ghc-hspec-core
(package
(name "ghc-hspec-core")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-core" version))
(sha256
(base32
"040rzqiqwkp373jjpij8lkmv08pp2ya92zzcf95bw8px215rp08n"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-core" version))
(sha256
(base32 "030400w95775jrivbi7n1nnx6j5z717rqd3986ggklb8h9hjalfc"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-core")))
(inputs (list ghc-hunit
ghc-quickcheck
ghc-ansi-terminal
ghc-call-stack
ghc-clock
ghc-haskell-lexer
ghc-hspec-expectations
ghc-quickcheck-io
ghc-random
ghc-setenv
ghc-tf-random))
(native-inputs (list ghc-base-orphans-bootstrap ghc-hspec-meta
ghc-silently-bootstrap ghc-temporary))
(home-page "http://hspec.github.io/")
ghc-silently-bootstrap ghc-temporary-bootstrap))
(arguments
`(#:cabal-revision ("1"
"0yq9nnawcgbgxiz4ymfa8k66jrvgrhmv8j7g880x8k6q8q4ncqlq")))
(home-page "https://hspec.github.io/")
(synopsis "Testing framework for Haskell")
(description "This library exposes internal types and functions that can
be used to extend Hspec's functionality.")
@@ -709,23 +724,28 @@ be used to extend Hspec's functionality.")
(define-public ghc-hspec-meta
(package
(name "ghc-hspec-meta")
(version "2.9.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-meta" version))
(sha256
(base32
"1raxwpsmcijl3x2h5naw6aydhbiknxvhj3x7v384bi1rqi51ainm"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-meta" version))
(sha256
(base32 "1612pg5gihqjxrzqqvbbgckaqiwq3rmz3rg07lrjhzklg975nj69"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-meta")))
(inputs (list ghc-quickcheck
(inputs (list ghc-hunit
ghc-quickcheck
ghc-ansi-terminal
ghc-call-stack-boot
ghc-clock
ghc-haskell-lexer
ghc-hspec-expectations
ghc-quickcheck-io
ghc-random
ghc-setenv))
(home-page "http://hspec.github.io/")
ghc-tf-random))
(arguments
`(#:cabal-revision ("2"
"1jrk14s51psb0zjici56220iyb98i3q06sd3rsyx594s3cddgn5d")))
(home-page "https://hspec.github.io/")
(synopsis "Version of Hspec to test Hspec itself")
(description "This library provides a stable version of Hspec which is
used to test the in-development version of Hspec.")
@@ -734,38 +754,58 @@ used to test the in-development version of Hspec.")
(define-public ghc-hspec
(package
(name "ghc-hspec")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec" version))
(sha256
(base32
"092sfqjkargxxszp9jjqa8ldjz0xv34jwn6k21q59ys5ckvsrpc1"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec" version))
(sha256
(base32 "1zdgkn0gkcphcsfqcqwcfqiqvkz12ljks46v3czpaysndz8icfip"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec")))
(inputs (list ghc-quickcheck ghc-hspec-core hspec-discover
ghc-hspec-expectations))
(home-page "http://hspec.github.io/")
(home-page "https://hspec.github.io/")
(synopsis "Testing Framework for Haskell")
(description "This library provides the Hspec testing framework for
Haskell, inspired by the Ruby library RSpec.")
(license license:expat)))
(define-public ghc-hspec-api
(package
(name "ghc-hspec-api")
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-api" version))
(sha256
(base32 "1xn2b2hafyq6qm3zaia9nw27ir4cg8v2qn499bz2zwnp2vkjra07"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-api")))
(inputs (list ghc-hspec-core))
(native-inputs (list ghc-hspec))
(home-page "https://hspec.github.io/")
(synopsis "A Testing Framework for Haskell")
(description
"This package provides a stable API that can be used to extend Hspec's
functionality.")
(license license:expat)))
(define-public ghc-hspec-contrib
(package
(name "ghc-hspec-contrib")
(version "0.5.1.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-contrib" version))
(sha256
(base32 "1nyb5n2jiq920yyf3flzyxrs5xpfyppl3jn18zhviyysjjk5drpx"))))
(base32 "0002xzvyh790iwf1y33d4nflrbp5sxvpsp010srcfryf1n3qx2b0"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-contrib")))
(inputs (list ghc-hunit ghc-call-stack ghc-hspec-core))
(native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
(arguments (list #:tests? #f)) ; Fail to build.
(home-page "https://hspec.github.io/")
(synopsis "Contributed functionality for Hspec")
(description "This package provides contributed Hspec extensions.")
@@ -774,22 +814,25 @@ Haskell, inspired by the Ruby library RSpec.")
(define-public ghc-hspec-expectations
(package
(name "ghc-hspec-expectations")
(version "0.8.2")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-expectations" version))
(sha256
(base32
"1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1"))))
(base32 "1zr1pqchcwglfr5dvcrgc1l5x924n9w09n2zr68dmkqf4dzdx3bv"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-expectations")))
(inputs (list ghc-hunit ghc-call-stack))
(arguments
;; Tests depend on ghc-nanospec.
(arguments '(#:tests? #f))
(inputs (list ghc-hunit))
(home-page "https://github.com/sol/hspec-expectations")
`(#:tests? #f
#:cabal-revision ("2"
"14zzsjqcz1zbnvi50i82lx84nc8b5da7ar5cazzh44lklyag0ds2")))
(home-page "https://github.com/hspec/hspec-expectations#readme")
(synopsis "Catchy combinators for HUnit")
(description "This library provides catchy combinators for HUnit, see
(description
"This library provides catchy combinators for HUnit, see
@uref{https://github.com/sol/hspec-expectations#readme, the README}.")
(license license:expat)))
@@ -854,13 +897,13 @@ implementations of cryptographic ciphers.")
(define-public ghc-hedgehog
(package
(name "ghc-hedgehog")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "hedgehog" version))
(sha256
(base32
"0dbk75hk6hqpzkjdlpw3s63qhm42kqigij33p321by6xndb59jg1"))))
(version "1.5")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hedgehog" version))
(sha256
(base32 "0sl6x9q9kyrpv73565w9na9dm10wzxdl0qgiraqarffynfgn0hg9"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hedgehog")))
(inputs (list ghc-ansi-terminal
@@ -875,8 +918,12 @@ implementations of cryptographic ciphers.")
ghc-primitive
ghc-random
ghc-resourcet
ghc-safe-exceptions
ghc-transformers-base
ghc-wl-pprint-annotated))
(arguments
`(#:cabal-revision ("2"
"1m0b9m8dw5nw4b3w1jbp5fd0b0kqlyvvy3qsfxc7md77iafxq169")))
(home-page "https://hedgehog.qa")
(synopsis "Property-based testing in the spirt of QuickCheck")
(description
@@ -892,26 +939,16 @@ To get started quickly, see the examples:
(define-public cabal-doctest
(package
(name "cabal-doctest")
(version "1.0.9")
(source (origin
(method url-fetch)
(uri (hackage-uri "cabal-doctest" version))
(sha256
(base32
"0wxs0xkspc80h0g8ks792lrzldxvcnhc9rja1j0k678ijs20hmjm"))))
(version "1.0.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "cabal-doctest" version))
(sha256
(base32 "0gwjpwv2v7c7gs2dvf7ixsxx6likmgw5yi0fy4bqc0i7nkqg4bfw"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cabal-doctest")))
(arguments
`(#:cabal-revision ("2"
"0868js0qgfhvmyw4hjzrvmlzyqsm8dfsbmqhybxb90x44xi3r0i1")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "cabal-doctest.cabal"
(("\\b(Cabal|base)\\s+[^,]+" all dep)
dep)))))))
(home-page "https://github.com/haskellari/cabal-doctest")
(home-page "https://github.com/ulidtko/cabal-doctest")
(synopsis "Setup.hs helper for running doctests")
(description
"To properly work, the @code{doctest} package needs plenty of
@@ -971,13 +1008,13 @@ random testing, and hybrids of the two.")
(define-public ghc-inspection-testing
(package
(name "ghc-inspection-testing")
(version "0.4.6.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "inspection-testing" version))
(sha256
(base32
"0mxff0v3ciccbk4b8kxnh4752fzbwn7213qd8xji0csv6gi2w83y"))))
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "inspection-testing" version))
(sha256
(base32 "0zi1q86sd9jy5dpqfs2j71acdl7kvik0ps78xirpdhyldhwwyqws"))))
(build-system haskell-build-system)
(properties '((upstream-name . "inspection-testing")))
(home-page "https://github.com/nomeata/inspection-testing")
@@ -1010,33 +1047,33 @@ examples and more information.")
(name "ghc-quickcheck-classes")
(version "0.6.5.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes" version))
(sha256
(base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes" version))
(sha256
(base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-classes")))
(inputs
(list ghc-quickcheck
ghc-primitive
ghc-primitive-addr
ghc-quickcheck-classes-base
ghc-aeson
ghc-semigroupoids
ghc-semirings
ghc-vector))
(native-inputs
(list ghc-base-orphans
ghc-tagged
ghc-base-orphans
ghc-tagged
ghc-tasty
ghc-tasty-quickcheck))
(inputs (list ghc-quickcheck
ghc-primitive
ghc-primitive-addr
ghc-quickcheck-classes-base
ghc-semigroups-bootstrap
ghc-fail
ghc-tagged
ghc-aeson
ghc-semigroupoids
ghc-semirings
ghc-vector))
(native-inputs (list ghc-base-orphans ghc-base-orphans ghc-tasty
ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("3"
"1pawam5rsdcdv21fqc87khzqjm0ixwzklfxd6gk3b2qrr5q66bn5")))
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
(synopsis "QuickCheck common typeclasses")
(description
"This library provides QuickCheck properties to ensure that typeclass
"This library provides QuickCheck properties to ensure that typeclass
instances adhere to the set of laws that they are supposed to. There are
other libraries that do similar things, such as @code{genvalidity-hspec} and
@code{checkers}. This library differs from other solutions by not introducing
@@ -1052,24 +1089,26 @@ constraints more cleanly.")
(name "ghc-quickcheck-classes-base")
(version "0.6.2.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes-base" version))
(sha256
(base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes-base" version))
(sha256
(base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-classes-base")))
(inputs
(list ghc-quickcheck
ghc-contravariant
ghc-bifunctors
ghc-semigroups
ghc-fail
ghc-tagged))
(inputs (list ghc-quickcheck
ghc-contravariant
ghc-bifunctors
ghc-semigroups-bootstrap
ghc-fail
ghc-tagged))
(arguments
`(#:cabal-revision ("1"
"1p3v38jhpx0r6rnvaspkkivl8xyq2mq4xnmycgmkj1gr77vplkdr")))
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
(synopsis "QuickCheck common typeclasses from `base`")
(description
"This library is a minimal variant of `quickcheck-classes` that only
"This library is a minimal variant of `quickcheck-classes` that only
provides laws for typeclasses from `base`. The main purpose of splitting this
out is so that `primitive` can depend on `quickcheck-classes-base` in its test
suite, avoiding the circular dependency that arises if `quickcheck-classes` is
@@ -1087,67 +1126,61 @@ this library uses the higher-kinded typeclasses
(define-public ghc-doctest-lib
(package
(name "ghc-doctest-lib")
(version "0.1")
(version "0.1.1.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "doctest-lib" version))
(sha256
(base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2"))))
(origin
(method url-fetch)
(uri (hackage-uri "doctest-lib" version))
(sha256
(base32 "1hb3zx1xzib3v41blnwcbhc2v0rzwdzq7gm4sajqndimwjkkxc67"))))
(build-system haskell-build-system)
(properties '((upstream-name . "doctest-lib")))
(home-page "https://hub.darcs.net/thielema/doctest-lib/")
(synopsis "Parts of doctest exposed as library")
(description
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
(license license:expat)))
(define-public ghc-doctest-exitcode-stdio
(package
(name "ghc-doctest-exitcode-stdio")
(version "0.0")
(version "0.0.0.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "doctest-exitcode-stdio" version))
(sha256
(base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x"))))
(origin
(method url-fetch)
(uri (hackage-uri "doctest-exitcode-stdio" version))
(sha256
(base32 "0kg5xiw4giyvqpcj6cxqqnysvixhxlwm0pbg3qks8dzwb5w79dvk"))))
(build-system haskell-build-system)
(properties '((upstream-name . "doctest-exitcode-stdio")))
(inputs
(list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
(arguments
`(#:cabal-revision ("1"
"1065s8bch6zhl6mc8nhvfpwd1irmjd04z7xgycbpihc14x4ijim3")))
(inputs (list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
(home-page "https://hub.darcs.net/thielema/doctest-exitcode-stdio/")
(synopsis "Run Doctests in a @code{Cabal.Test.exitcode-stdio} environment")
(description
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
environment.")
(license license:bsd-3)))
(define-public ghc-tasty-silver
(package
(name "ghc-tasty-silver")
(version "3.3.1.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-silver" version))
(sha256
(base32
"13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m"))))
(version "3.3.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-silver" version))
(sha256
(base32 "01w3576kymglcddinh10m1wgy71dia49k2pnw5y1c97jjrhanf17"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-silver")))
(inputs (list ghc-ansi-terminal
ghc-async
ghc-optparse-applicative
ghc-process-extras
ghc-regex-tdfa
ghc-silently
ghc-tagged
ghc-tasty
ghc-temporary
ghc-semigroups))
ghc-temporary))
(native-inputs (list ghc-tasty-hunit))
(home-page "https://github.com/phile314/tasty-silver")
(synopsis "Fancy test runner, including support for golden tests")
@@ -1163,16 +1196,19 @@ result of golden tests.")
(define-public ghc-tasty-inspection-testing
(package
(name "ghc-tasty-inspection-testing")
(version "0.1.0.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-inspection-testing" version))
(sha256
(base32
"0p46w44f19w7lvdzyg3vq6qzix0rjp8p23ilxz82dviq38lgmifp"))))
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-inspection-testing" version))
(sha256
(base32 "0wl2xlnbmqdkwhi4ic6a4q4lxf9qg433lidi8d0hlp3ykrjpbcay"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-inspection-testing")))
(inputs (list ghc-inspection-testing ghc-tasty))
(arguments
`(#:cabal-revision ("2"
"0z9al0hyq381fw146agbpz7rf24rwms1w91m7s0k1w3xbfw16l9n")))
(home-page "https://github.com/Bodigrim/tasty-inspection-testing")
(synopsis "Inspection testing support for tasty")
(description
+192 -141
View File
@@ -62,18 +62,19 @@ format.")
(package
(name "ghc-asn1-encoding")
(version "0.9.6")
(source (origin
(method url-fetch)
(uri (hackage-uri "asn1-encoding" version))
(sha256
(base32
"02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "asn1-encoding" version))
(sha256
(base32 "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
(build-system haskell-build-system)
(properties '((upstream-name . "asn1-encoding")))
(inputs
(list ghc-hourglass ghc-asn1-types))
(native-inputs
(list ghc-tasty ghc-tasty-quickcheck))
(inputs (list ghc-hourglass ghc-asn1-types))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("2"
"16503ryhq15f2rfdav2qnkq11dg2r3vk3f9v64q9dmxf8dh8zv97")))
(home-page "https://github.com/vincenthz/hs-asn1")
(synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
(description
@@ -111,15 +112,18 @@ when ASN1 pattern matching is not convenient.")
(method url-fetch)
(uri (hackage-uri "crypto-api" version))
(sha256
(base32
"19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
(base32 "19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-api")))
(inputs (list ghc-cereal ghc-tagged ghc-entropy))
(arguments
`(#:cabal-revision ("1"
"1z6n1sa5pn3iqvqjrd8hv4bc2pxzsrhm5sh0l8z7g9lbqp6w0wp5")))
(home-page "https://github.com/TomMD/crypto-api")
(synopsis "Provides generic interface for cryptographic operations
for Haskell")
(description "This Haskell package provides a generic interface for
(description
"This Haskell package provides a generic interface for
cryptographic operations (hashes, ciphers, randomness).
Maintainers of hash and cipher implementations are encouraged to add instances
@@ -197,13 +201,15 @@ that hides the C implementation.")
(method url-fetch)
(uri (hackage-uri "cryptohash-md5" version))
(sha256
(base32
"018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
(base32 "018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-md5")))
(native-inputs (list ghc-base16-bytestring ghc-puremd5 ghc-tasty
ghc-tasty-hunit ghc-tasty-quickcheck))
(home-page "https://github.com/hvr/cryptohash-md5")
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("6"
"0m7f9mgw4w9vcch37ja9zgbn0knq8rjppqr9x2ylkcdxfdnmhhif")))
(home-page "https://github.com/haskell-hvr/cryptohash-md5")
(synopsis "MD5 implementation for Haskell")
(description "This Haskell package provides implementation of MD5.")
(license license:bsd-3)))
@@ -212,20 +218,20 @@ that hides the C implementation.")
(package
(name "ghc-cryptohash-sha1")
(version "0.11.101.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "cryptohash-sha1" version))
(sha256
(base32
"0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "cryptohash-sha1" version))
(sha256
(base32 "0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-sha1")))
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("1"
"0bz9rfl7b2iwn45m0lxcmsyi5rrv3xdgzx2lzr79bds91dw6i25b")))
(home-page "https://github.com/hvr/cryptohash-sha1")
`(#:cabal-revision ("6"
"1cxdw2y10z4v0mz91wki7f233jziipx85j4qy5msig4nv3djkprb")))
(home-page "https://github.com/haskell-hvr/cryptohash-sha1")
(synopsis "SHA-1 implementation for Haskell")
(description
"This Haskell package provides an incremental and one-pass,
@@ -246,20 +252,18 @@ the C implementation.")
(method url-fetch)
(uri (hackage-uri "cryptohash-sha256" version))
(sha256
(base32
"1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
(base32 "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-sha256")))
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision
("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
#:tests? #f)) ; TODO: tasty ==1.1.*
(native-inputs
(list ghc-base16-bytestring ghc-sha ghc-tasty ghc-tasty-hunit
ghc-tasty-quickcheck))
(home-page "https://github.com/hvr/cryptohash-sha1")
`(#:cabal-revision ("6"
"01s12sl5mxvraj5fj3cs0pkb03pm8xpjz13y09dpl7i6rv6f578f")))
(home-page "https://github.com/haskell-hvr/cryptohash-sha256")
(synopsis "SHA-256 implementation for Haskell")
(description "This Haskell package provides an incremental and
(description
"This Haskell package provides an incremental and
one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
SHA-256 cryptographic hash algorithm}, with performance close to the
fastest implementations available in other languages.
@@ -272,12 +276,12 @@ the C implementation.")
(package
(name "ghc-cryptonite")
(version "0.30")
(source (origin
(method url-fetch)
(uri (hackage-uri "cryptonite" version))
(sha256
(base32
"07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "cryptonite" version))
(sha256
(base32 "07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptonite")))
(inputs (list ghc-memory ghc-basement))
@@ -326,19 +330,17 @@ elsewhere.")
(define-public ghc-digest
(package
(name "ghc-digest")
(version "0.0.1.7")
(version "0.0.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "digest" version))
(sha256
(base32 "02jzw0bsng87y1n2kgpy7vb30lvqsnpbfd8dpg4hmvbg9s06qgdj"))))
(base32 "163418p50bqdxn8ajzj6x3455xbch9jq1w6psbkdz5qzw017py6b"))))
(build-system haskell-build-system)
(properties '((upstream-name . "digest")))
(arguments
`(#:extra-directories ("zlib")
#:cabal-revision ("1"
"0wh34kyag2vhwvsdwv8qmvm13gy32nc94yfyqfdnl67nyc2sx8wl")))
`(#:extra-directories ("zlib")))
(inputs (list zlib))
(native-inputs (list pkg-config))
(home-page "http://hackage.haskell.org/package/digest")
@@ -352,13 +354,13 @@ are implemented as FFI bindings to efficient code from zlib.")
(define-public ghc-entropy
(package
(name "ghc-entropy")
(version "0.4.1.10")
(source (origin
(method url-fetch)
(uri (hackage-uri "entropy" version))
(sha256
(base32
"1rbx4ydabrjs8kkdg9laznkh9nisiq6b5z93vnp9bh6iy59ivb45"))))
(version "0.4.1.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "entropy" version))
(sha256
(base32 "1slj5n783k2amsx2hqs5qwvcw4rgfhdhgmiyg7cii0wg4w0mmpgm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "entropy")))
(home-page "https://github.com/TomMD/entropy")
@@ -415,6 +417,35 @@ the MD5 digest (hash) algorithm. This now supports the @code{crypto-api} class
interface.")
(license license:bsd-3)))
(define-public ghc-rsa
(package
(name "ghc-rsa")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "RSA" version))
(sha256
(base32 "0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj"))))
(build-system haskell-build-system)
(properties '((upstream-name . "RSA")))
(inputs (list ghc-crypto-api ghc-crypto-pubkey-types ghc-sha))
(native-inputs (list ghc-quickcheck ghc-tagged ghc-test-framework
ghc-test-framework-quickcheck2))
(arguments
`(#:cabal-revision ("2"
"090yzm99fmh7c6z4m9hbkasqhc3xlw104g2b6wnk77n1abd13ryj")))
(home-page "http://hackage.haskell.org/package/RSA")
(synopsis
"Implementation of RSA, using the padding schemes of PKCS#1 v2.1.")
(description
"This library implements the RSA encryption and signature algorithms for
arbitrarily-sized @code{ByteStrings}. While the implementations work, they are
not necessarily the fastest ones on the planet. Particularly key generation.
The algorithms included are based of RFC 3447, or the Public-Key Cryptography
Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
(license license:bsd-3)))
(define-public ghc-sha
(package
(name "ghc-sha")
@@ -594,6 +625,24 @@ implementation. If it matters for your case, you should make sure you have
AES-NI available, or you'll need to use a different implementation.")
(license license:bsd-3)))
(define-public ghc-crypto-pubkey-types
(package
(name "ghc-crypto-pubkey-types")
(version "0.4.3")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypto-pubkey-types" version))
(sha256
(base32 "0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-pubkey-types")))
(inputs (list ghc-asn1-types ghc-asn1-encoding))
(home-page "http://github.com/vincenthz/hs-crypto-pubkey-types")
(synopsis "Generic cryptography Public keys algorithm types")
(description "Generic cryptography public keys algorithm types.")
(license license:bsd-3)))
(define-public ghc-crypto-random
(package
(name "ghc-crypto-random")
@@ -617,13 +666,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton
(package
(name "ghc-crypton")
(version "0.34")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton" version))
(sha256
(base32 "1mhypjhzn95in853bp7ary0a2xc6lsji6j8hrrgn2mfa4ilq8i24"))))
(base32 "06h1qjvqd8gmiyzvh31sc061vcgns101l0774c44a8k44015925l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton")))
(inputs (list ghc-memory ghc-basement))
@@ -653,13 +702,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton-x509
(package
(name "ghc-crypton-x509")
(version "1.7.6")
(version "1.7.7")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509" version))
(sha256
(base32 "1zyaz0krf08g36g30zr5wn8f2x51l4dj2zcjnhpiw9h05p54mdzb"))))
(base32 "10pkva9wvm6ih48bprxlnyhnn3nr6xq9dhkrk4hfxpsaij6f9v7g"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509")))
(inputs (list ghc-memory
@@ -669,13 +718,7 @@ abstraction for CPRNGs.")
ghc-asn1-encoding
ghc-asn1-parse
ghc-crypton))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-x509))
(arguments
`(#:cabal-revision ("1"
"10a2x47znhbayyfr6fqgq27623akpycyjbfxz4hnavavf1x6ary5")
;; build phase fails when tests are activated.
;; See https://github.com/kazu-yamamoto/crypton-certificate/pull/7
#:tests? #f))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
(synopsis "X509 reader and writer")
(description "This package provides generic X509 support for Haskell.")
@@ -684,13 +727,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton-x509-store
(package
(name "ghc-crypton-x509-store")
(version "1.6.9")
(version "1.6.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509-store" version))
(sha256
(base32 "0vr5b9cyf9x016wn1g0bryslf5nz8jq2sy8r3llwqfg02apihqiy"))))
(base32 "07vq7f883cm5krqz2kc0qkh9ks54jknrwdqvfqsk91s12b693a83"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509-store")))
(inputs (list ghc-pem ghc-asn1-types ghc-asn1-encoding ghc-crypton
@@ -727,24 +770,25 @@ storage methods, and accessors.")
(define-public ghc-crypton-x509-validation
(package
(name "ghc-crypton-x509-validation")
(version "1.6.12")
(version "1.6.14")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509-validation" version))
(sha256
(base32 "1xjhwvmkcy47a6xiqxb3xy944ca7g660203jdrz5xzd46zibfq0f"))))
(base32 "07b09kgrd3m5ahxpj458r5ycd30bz8ldwjwf19mdcnfv4x0kj3pd"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509-validation")))
(inputs (list ghc-memory
ghc-hourglass
ghc-data-default-class
ghc-data-default
ghc-pem
ghc-asn1-types
ghc-asn1-encoding
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton))
ghc-crypton
ghc-iproute))
(native-inputs (list ghc-tasty ghc-tasty-hunit))
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
(synopsis "X.509 Certificate and CRL validation")
@@ -752,6 +796,44 @@ storage methods, and accessors.")
and @dfn{Certificates revocation list} (CRL) validation.")
(license license:bsd-3)))
(define-public ghc-crypton-socks
(package
(name "ghc-crypton-socks")
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-socks" version))
(sha256
(base32 "0fwzlvndyxjwhxambxdjzzm63yvb6jzsg53dkv3i6x17biz0hdm8"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-socks")))
(inputs (list ghc-cereal ghc-network ghc-network-bsd))
(home-page "http://github.com/mpilgrem/crypton-socks")
(synopsis "SOCKS Protocol Version 5")
(description
"This package provides a library implementing SOCKS Protocol Version 5.")
(license license:bsd-3)))
(define-public ghc-crypto-token
(package
(name "ghc-crypto-token")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypto-token" version))
(sha256
(base32 "18xphlvn6wzyi6lqrvm5vic97pkcbiph1938p5l1mb22rj5215zm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-token")))
(inputs (list ghc-crypton ghc-memory ghc-network-byte-order))
(native-inputs (list ghc-hspec hspec-discover))
(home-page "http://hackage.haskell.org/package/crypto-token")
(synopsis "crypto tokens")
(description "Encrypted tokens/tickets to keep state in the client side.")
(license license:bsd-3)))
(define-public ghc-cprng-aes
(package
(name "ghc-cprng-aes")
@@ -804,20 +886,17 @@ percent.
(method url-fetch)
(uri (hackage-uri "ed25519" version))
(sha256
(base32
"0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
(base32 "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
(build-system haskell-build-system)
(properties '((upstream-name . "ed25519")))
(native-inputs (list ghc-quickcheck ghc-doctest))
(arguments
`(#:cabal-revision
("6" "0qyx6cl52fnll8lp6v9133wfvv3zhvq7v2crn441mng520j9wp48")
;; We omit these test suites because they require old versions of
;; packages and packages we do not have.
#:configure-flags
'("--flags=-test-hlint -test-doctests -test-properties")))
(home-page "http://thoughtpolice.github.com/hs-ed25519")
`(#:cabal-revision ("9"
"0y5vfdcys18waa5k5zxiq9n8jq0l05j76riml23i0gxmwgdhsmgi")))
(home-page "https://github.com/thoughtpolice/hs-ed25519/")
(synopsis "Ed25519 cryptographic signatures")
(description "This package provides a simple, fast, self-contained
(description
"This package provides a simple, fast, self-contained
copy of the Ed25519 public-key signature system with a clean interface.
It also includes support for detached signatures, and thorough
documentation on the design and implementation, including usage
@@ -827,29 +906,41 @@ guidelines.")
(define-public ghc-tls
(package
(name "ghc-tls")
(version "1.5.8")
(version "2.1.8")
(source (origin
(method url-fetch)
(uri (hackage-uri "tls" version))
(sha256
(base32
"0rxdv8ab98kd4nqql7djmmi51k4vayq21s38s43sx3rzn0iyla3b"))))
"1csdy3426lva1a5f7gh9qm96vzfraqj91jbxlm79wbf1jsdzfhsq"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tls")))
(inputs (list ghc-cereal
ghc-data-default-class
ghc-memory
ghc-cryptonite
ghc-asn1-types
(inputs (list ghc-asn1-types
ghc-asn1-encoding
ghc-x509
ghc-x509-store
ghc-x509-validation
ghc-async
ghc-hourglass
ghc-network))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
(home-page "http://github.com/vincenthz/hs-tls")
ghc-base16-bytestring
ghc-cereal
ghc-crypton
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton-x509-validation
ghc-data-default
ghc-memory
ghc-network
ghc-serialise
ghc-transformers
ghc-unix-time
ghc-zlib))
(native-inputs (list ghc-quickcheck
ghc-asn1-types
ghc-async
ghc-crypton
ghc-crypton-x509
ghc-crypton-x509-validation
ghc-hourglass
ghc-hspec
ghc-serialise
hspec-discover))
(home-page "http://github.com/haskell-tls/hs-tls")
(synopsis "TLS/SSL protocol native implementation (Server and Client)")
(description
"Native Haskell TLS and SSL protocol implementation for server and client.
@@ -861,43 +952,6 @@ Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
extensions.")
(license license:bsd-3)))
(define-public ghc-tls-1.9
(package
(name "ghc-tls")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tls" version))
(sha256
(base32 "0gj3af9sqd0bw7dpcqfyvbslpxsk2ij00a77kl710fwhw35vj1an"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tls")))
(inputs (list ghc-cereal
ghc-data-default-class
ghc-memory
ghc-crypton
ghc-asn1-types
ghc-asn1-encoding
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton-x509-validation
ghc-async
ghc-unix-time
ghc-network))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
(home-page "https://github.com/haskell-tls/hs-tls")
(synopsis "TLS/SSL protocol native implementation (server and client)")
(description
"This package provides a native Haskell TLS and SSL protocol
implementation for server and client. It provides a high-level implementation
of a sensitive security protocol, eliminating a common set of security issues
through the use of the advanced type system, high level constructions and
common Haskell features. It currently implements the SSL3.0, TLS1.0, TLS1.1
and TLS1.2 protocol, and supports RSA and Ephemeral (Elliptic curve and
regular) Diffie Hellman key exchanges, and many extensions.")
(license license:bsd-3)))
(define-public ghc-hsopenssl
(package
(name "ghc-hsopenssl")
@@ -960,17 +1014,14 @@ the tls package, and borrows some ideas from x509-system.")
(method url-fetch)
(uri (hackage-uri "openssl-streams" version))
(sha256
(base32
"10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
(base32 "10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "openssl-streams")))
(inputs
(list ghc-hsopenssl ghc-io-streams ghc-network))
(native-inputs
(list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
(inputs (list ghc-hsopenssl ghc-io-streams ghc-network))
(native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
(arguments
`(#:cabal-revision ("1"
"0vfawnfcjrw29qg1n7k6z6bk4bmnk869gjlr9mxw4mzxgl80b2vp")))
`(#:cabal-revision ("3"
"1vizl9yajkbd59rrnfb38xwq7hfj36avbv6vwqnkhbvz3qaj3dwg")))
(home-page "https://hackage.haskell.org/package/openssl-streams")
(synopsis "OpenSSL network support for io-streams")
(description "This library contains io-streams routines for secure
File diff suppressed because it is too large Load Diff
+5065 -4419
View File
File diff suppressed because it is too large Load Diff
+329 -12
View File
@@ -1626,12 +1626,6 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;; Versions newer than ghc defined below (i.e. the compiler
;; haskell-build-system uses) should use ghc-next as their name to
;; ensure ghc (without version specification) and ghc-* packages are
;; always compatible. See https://issues.guix.gnu.org/issue/47335.
(define-public ghc ghc-9.2)
;; 9.4 is the last version to support the make-based build system,
;; but it boot with 9.2, only 9.0 is supported.
(define ghc-bootstrap-for-9.4 ghc-9.0)
@@ -1695,22 +1689,24 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(let ((base ghc-9.2))
(package
(inherit base)
(name "ghc-next")
(version "9.4.4")
(name "ghc")
(version "9.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))
"0nlhx2cbq1jh2yr6zk475lavjkh9sncj57qp77p51pkfad4kkxpa"))
(patches (search-patches "ghc-9-StgCRunAsm-only-when-needed.patch"))))
(arguments
(substitute-keyword-arguments arguments
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
;; Files dont exist any more.
(delete 'skip-tests)))))
(delete 'skip-tests)))
((#:tests? _ #f)
#f)))
(native-inputs
`(;; GHC 9.4 must be built with GHC >= 9.0.
("ghc-bootstrap" ,ghc-bootstrap-for-9.4)
@@ -1722,8 +1718,7 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
"1xbps33pq6mg2bwp5gvmc4qhgdq52yng5993if99b9s3fylqk86l"))))
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
,@(filter (match-lambda
@@ -1738,4 +1733,326 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;;; GHC >= 9.6 must be built using it's new haskell-written Hadrian build
;;; system. Use this opportunity to cut the inheritance chain to simplify
;;; understanding what building ghc requires with the new build system.
(define-public ghc-9.8
(let ((ghc-bootstrap ghc-9.4))
(package
(name "ghc")
(version "9.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"0l87yb8hmd350klrp6lw2h9hjlla11pgzx1n4jlrfdvkgxmyvy5j"))))
(outputs (list "out" "doc"))
(arguments
(list
#:make-flags #~(list "-V" "--docs=no-sphinx")
#:configure-flags
#~(list
(string-append "--with-gmp-libraries="
(assoc-ref %build-inputs "gmp") "/lib")
(string-append "--with-gmp-includes="
(assoc-ref %build-inputs "gmp") "/include")
"--with-system-libffi"
(string-append "--with-ffi-libraries="
(assoc-ref %build-inputs "libffi") "/lib")
(string-append "--with-ffi-includes="
(assoc-ref %build-inputs "libffi") "/include")
(string-append "--with-curses-libraries="
(assoc-ref %build-inputs "ncurses") "/lib")
(string-append "--with-curses-includes="
(assoc-ref %build-inputs "ncurses") "/include"))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'fix-iserv-rpath
(lambda _
(mkdir-p "_build")
(call-with-output-file
"_build/hadrian.settings"
(lambda (port)
(display
(string-append
"*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
#$output "/lib/ghc-" #$(package-version this-package)
"/lib/" #$(or (%current-target-system)
(%current-system))
"-ghc-" #$(package-version this-package) "/")
port)))))
;; This phase patches the 'ghc-pkg' command so that it sorts the list
;; of packages in the binary cache it generates.
(add-before 'build 'fix-ghc-pkg-nondeterminism
(lambda _
(substitute* "utils/ghc-pkg/Main.hs"
(("confs = map \\(path </>\\) \\$ filter \\(\".conf\" `isSuffixOf`\\) fs")
"confs = map (path </>) $ filter (\".conf\" `isSuffixOf`) (sort fs)"))))
(add-after 'unpack 'unpack-testsuite
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion ".."
(invoke "tar" "xvf" (assoc-ref inputs "ghc-testsuite")))))
(add-after 'unpack-testsuite 'fix-/bin/sh-references
(lambda* (#:key inputs #:allow-other-keys)
(substitute*
(list "hadrian/src/Rules/BinaryDist.hs"
"hadrian/src/Rules/Test.hs"
"libraries/process/System/Process/Posix.hs"
"libraries/process/jsbits/process.js"
"libraries/unix/cbits/execvpe.c"
"testsuite/tests/driver/T8602/T8602.script"
"testsuite/timeout/timeout.py")
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-after 'unpack-testsuite 'fix-cc-reference
(lambda* (#:key inputs #:allow-other-keys)
(substitute*
(list "utils/hsc2hs/src/Common.hs")
(("\"cc\"") "\"gcc\""))))
;; XXX: something causes ld-wrapper to see test\ \ \ spaces/... and
;; look for the files "test\", "\", "\" and "spaces/...", which obviously
;; don't exist
(add-after 'unpack-testsuite 'fix-testsuite
(lambda _
(substitute*
(list "testsuite/driver/runtests.py")
(("'test spaces'") "'dont-test-spaces'"))))
(add-before 'configure 'set-target-programs
(lambda* (#:key inputs #:allow-other-keys)
(let ((binutils (assoc-ref inputs "binutils"))
(gcc (assoc-ref inputs "gcc"))
(ld-wrapper (assoc-ref inputs "ld-wrapper")))
(setenv "CC" (string-append gcc "/bin/gcc"))
(setenv "CXX" (string-append gcc "/bin/g++"))
(setenv "LD" (string-append ld-wrapper "/bin/ld"))
(setenv "NM" (string-append binutils "/bin/nm"))
(setenv "RANLIB" (string-append binutils "/bin/ranlib"))
(setenv "STRIP" (string-append binutils "/bin/strip"))
;; The 'ar' command does not follow the same pattern.
(setenv "fp_prog_ar" (string-append binutils "/bin/ar")))))
(add-before 'build 'build-hadrian
(lambda* (#:key (inputs '()) #:allow-other-keys)
(invoke "./hadrian/bootstrap/bootstrap.py"
"-s" (assoc-ref inputs "hadrian-bootstrap")
"-w" (which "ghc"))))
(add-before 'build-hadrian 'fix-environment
(lambda _
(unsetenv "GHC_PACKAGE_PATH")
(setenv "CONFIG_SHELL" (which "bash"))))
(replace 'build
(lambda* (#:key (parallel-build? #f) (make-flags '())
#:allow-other-keys)
(apply invoke "_build/bin/hadrian"
`("binary-dist-dir"
,@(if parallel-build?
(list (string-append
"-j" (number->string
(parallel-job-count)))))
,@make-flags))))
(replace 'check
(lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
#:allow-other-keys)
(if tests?
(apply invoke "_build/bin/hadrian"
`(,@(if parallel-tests?
(list (string-append
"-j"
(number->string (parallel-job-count))))
'())
,@make-flags
"test"
,(string-append
"--broken-test="
(string-join
(list "T15904" ; ld-wrapper, apparently
"T16521" ; no idea
;; These fail due to gcc
;; -Wincompatible-pointer-types, which
;; apparently is not used in GHC's CI
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
"hs_try_putmvar001"
"list_threads_and_misc_roots"
"testwsdeque")))
"--skip-perf"))
(format #t "test suite not run~%"))))
(replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "_build/bin/hadrian"
`("install"
,@make-flags
,(string-append "--prefix=" #$output)))))
(add-after 'install 'remove-unnecessary-references
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files (string-append (assoc-ref outputs "out") "/lib/")
"settings")
(("/gnu/store/.*/bin/(.*)" m program) program))
;; Remove references to "doc" output from "out" by rewriting
;; the "haddock-interfaces" fields and removing the optional
;; "haddock-html" field in the generated .conf files.
(let ((doc (assoc-ref outputs "doc"))
(out (assoc-ref outputs "out")))
(with-fluids ((%default-port-encoding #f))
(for-each (lambda (config-file)
(substitute* config-file
(("^haddock-html: .*") "\n")
(((format #f "^haddock-interfaces: ~a" doc))
(string-append "haddock-interfaces: " out))))
(find-files (string-append out "/lib") ".conf")))
;; Move the referenced files to the "out" output.
(for-each (lambda (haddock-file)
(let* ((subdir (string-drop haddock-file (string-length doc)))
(new (string-append out subdir)))
(mkdir-p (dirname new))
(rename-file haddock-file new)))
(find-files doc "\\.haddock$")))))
(add-after 'install 'replace-$pkgroot
(lambda* (#:key outputs #:allow-other-keys)
((@ (srfi srfi-11) let*-values)
(((out) (assoc-ref outputs "out"))
((_ version) (package-name->name+version
(strip-store-file-name out))))
;; We split out the version because we want this to also work
;; with packages named "ghc-next" instead of "ghc"
(substitute*
(find-files
(string-append (assoc-ref outputs "out") "/lib/ghc-"
version "/lib/package.conf.d/")
"^.*\\.conf$")
(("\\$\\{pkgroot\\}/")
(string-append (assoc-ref outputs "out") "/lib/ghc-"
version "/lib/")))))))))
(build-system gnu-build-system)
(inputs (list bash-minimal gmp ncurses libffi))
(native-inputs
`(("perl" ,perl)
("python" ,python)
("git" ,git-minimal/pinned)
("which" ,which)
("ghostscript" ,ghostscript)
("autoconf" ,autoconf)
("automake" ,automake)
("ghc-bootstrap" ,ghc-bootstrap)
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://www.haskell.org/ghc/dist/"
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"1hxylm3nhxzl7yidarlavvcg1240w4bk0hy5jnvwna24jyxz69i6"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
("hadrian-bootstrap"
,(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/"
version "/hadrian-bootstrap-sources/"
"hadrian-bootstrap-sources-"
(package-version ghc-bootstrap) ".tar.gz"))
(sha256
(base32
"14dkxif9x4hy85phcj3j0glf95k04g4ab6hfchpw9vxgvk97syi1"))))))
(native-search-paths
(list (search-path-specification
(variable "GHC_PACKAGE_PATH")
(files (list (string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))
(home-page "https://www.haskell.org/ghc")
(synopsis "The Glasgow Haskell Compiler")
(description
"The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
interactive environment for the functional language Haskell.")
(license license:bsd-3))))
(define-public ghc-9.10
(let ((base ghc-9.8))
(package
(inherit base)
(name "ghc")
(version "9.10.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"1pm84cgr3yg99r3srdjllgz6zig8h7dbwa597srwcnjp0nh41zam"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(replace 'check
(lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
#:allow-other-keys)
(if tests?
(apply invoke "_build/bin/hadrian"
`(,@(if parallel-tests?
(list (string-append
"-j"
(number->string (parallel-job-count))))
'())
,@make-flags
"test"
,(string-append
"--broken-test="
(string-join
(list "T15904" ; ld-wrapper, apparently
"T16521" ; no idea
;; These fail due to gcc
;; -Wincompatible-pointer-types, which
;; apparently is not used in GHC's CI
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
"list_threads_and_misc_roots"
"stack_misc_closures")))
"--skip-perf"))
(format #t "test suite not run~%"))))))))
(native-inputs
`(("ghc-bootstrap" ,base)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://downloads.haskell.org/~ghc/"
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"143ifc4g3jc6s9hcry5qha913rzwg4hpsvk6pqvxk5r0qigfxjwx"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
("hadrian-bootstrap"
,(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/hadrian-bootstrap-sources/"
"hadrian-bootstrap-sources-"
(package-version base) ".tar.gz"))
(sha256
(base32
"162lbafvdamfhx1jldax3shgk8jbbqn4an97ny363lxbdjgdn708"))))
,@(filter (match-lambda
(("ghc-bootstrap" . _) #f)
(("ghc-testsuite" . _) #f)
(("hadrian-bootstrap" . _) #f)
(_ #t))
(package-native-inputs base))))
(native-search-paths
(list (search-path-specification
(variable "GHC_PACKAGE_PATH")
(files (list (string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;; Versions newer than ghc defined below (i.e. the compiler
;; haskell-build-system uses) should use ghc-next as their name to
;; ensure ghc (without version specification) and ghc-* packages are
;; always compatible. See https://issues.guix.gnu.org/issue/47335.
(define-public ghc ghc-9.10)
;;; haskell.scm ends here
+10 -4
View File
@@ -669,7 +669,7 @@ and WebP.")
(define-public mcomix
(package
(name "mcomix")
(version "3.1.0")
(version "3.1.1")
(source
(origin
(method url-fetch)
@@ -677,7 +677,7 @@ and WebP.")
"mcomix-" version ".tar.gz"))
(sha256
(base32
"09y4nhlcqvvhz0wscx4zpqxmyhiwh8wrjnhk52awxhzvgyx6wa7r"))))
"1y6fps1fbzjc4sdm381432zvrq97iadbz4yyxxsfnzf0ggnsl2m1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -720,8 +720,14 @@ and WebP.")
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(native-inputs (list python-setuptools))
(inputs
(list bash-minimal p7zip python python-pillow python-pygobject python-pycairo gtk+))
(inputs (list bash-minimal
gobject-introspection
gtk+
p7zip
python
python-pillow
python-pycairo
python-pygobject))
(home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
(synopsis "Image viewer for comics")
(description "MComix is a customizable image viewer that specializes as
+6 -6
View File
@@ -125,14 +125,14 @@
;; ex:
;; tar xf /gnu/store/...-firefox-123.4.source.tar.xz -O \
;; firefox-123.4/browser/locales/l10n-changesets.json | grep revision
(let ((commit "d1394212aed0ce0063c0f818aa236e7d4f955ac9"))
(let ((commit "0245ffb160688061f0e0c67ea488bcdfdacbeca4"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "16s515xf0i7a7acv0m1bbgflbdx9a87b1dcg7q3yswym8x1bhvaj")))))
(sha256 (base32 "0y8xdxql04yys0wj685v4yp3kmx1ivnndg6z11vam8vszh0j7ak6")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -244,17 +244,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20260326135749")
(define %librewolf-build-id "20260409162101")
(define-public librewolf
(package
(name "librewolf")
(version "149.0-1")
(version "149.0.2-2")
(source
(make-librewolf-source
#:version version
#:firefox-hash "12jb930qhqhpzjpn5smms7g4n6y40zvxcrg8w42696wxk7pgsqdq"
#:librewolf-hash "0igv0fr0vl2nf5rlgnidfz2a3gh55bsqwcray0jg7x2kl6qnkzwm"
#:firefox-hash "1kkhg3lgyakinn5ankxrlxbf39wi61mqbhwrj1l4q5l7y0n1m4va"
#:librewolf-hash "1bai8g2kc9snck2f724al29q6r57vkj3d7v58rf0mgzpqzvwnw5f"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
+83 -114
View File
@@ -104,9 +104,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages linux)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages adns)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apparmor)
@@ -120,19 +118,20 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages dbm)
#:use-module (gnu packages disk)
#:use-module (gnu packages dlang)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dlang)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@@ -147,6 +146,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@@ -154,8 +154,8 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libedit)
#:use-module (gnu packages kde-graphics)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
@@ -172,8 +172,8 @@
#:use-module (gnu packages nss)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages popt)
@@ -192,9 +192,12 @@
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages selinux)
#:use-module (gnu packages serialization)
#:use-module (gnu packages slang)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
@@ -203,39 +206,36 @@
#:use-module (gnu packages vim)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages groff)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (guix platform)
#: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 go)
#:use-module (guix build-system linux-module)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix build-system linux-module)
#:use-module (guix deprecation) ;for libcap/next
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix packages)
#:use-module (guix platform)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix deprecation) ;for libcap/next
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:export (customize-linux
make-defconfig))
@@ -531,7 +531,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.19-version "6.19.11")
(define-public linux-libre-6.19-version "6.19.12")
(define-public linux-libre-6.19-gnu-revision "gnu")
(define deblob-scripts-6.19
(linux-libre-deblob-scripts
@@ -541,12 +541,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05jpciyypvmy6byaxjl49b1fvzxcnlhknf0xabrdj5152iznrzkh")))
(define-public linux-libre-6.19-pristine-source
(let ((version linux-libre-6.19-version)
(hash (base32 "16ymkc5r3hw05z7l7ih3qw406qlszz1l7b4g5yz0hv15ddxrs0r0")))
(hash (base32 "1md8b270pdyk9d8cq0qyr8qmymcijmj3gc39nn394wpr0l94yp6f")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.19)))
(define-public linux-libre-6.18-version "6.18.21")
(define-public linux-libre-6.18-version "6.18.22")
(define-public linux-libre-6.18-gnu-revision "gnu")
(define deblob-scripts-6.18
(linux-libre-deblob-scripts
@@ -556,7 +556,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0qlih8w8wg4v5cwbmd34rbhb6mjgbx69i9rx3s2vxw7h42q9l0ai")))
(define-public linux-libre-6.18-pristine-source
(let ((version linux-libre-6.18-version)
(hash (base32 "0ks735y6jq4yy3jaicjsj4dn4n3kk2skf9dqh9dyifipn57j2f0w")))
(hash (base32 "0nazlm6j5blyd4qgl0z6xc3qk00vz3cfvx5mqv18awv5ygx94g52")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.18)))
@@ -565,7 +565,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.12-version "6.12.80")
(define-public linux-libre-6.12-version "6.12.81")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
@@ -575,12 +575,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1x48hpmvajz7v5wn1vdd7l5r14mq4ngzh5npz3pj81z4f1g61i0a")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "0lrylj87bb8ky29pbplpncrfhmgqqbq3d49iqgdwv7p7jvc929f9")))
(hash (base32 "0iw84bqdbh9dlaqd1bqgldg50riw2b5is7ipqnbp0sll8cv9rc62")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.130")
(define-public linux-libre-6.6-version "6.6.134")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -590,12 +590,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xp9b2vkrb0g0rn4i33b59rhp4sgh1dbwzk28vwz7kwac6l5rcpi")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "139480lyi3if8pd2j3yld5a01lk7113kbcn2kxpzyk29p5kslq14")))
(hash (base32 "1grp1wqgzjsk6xyl0nvd2hxlxjj0wgz04x544zkz8srp6rxnjy33")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.167")
(define-public linux-libre-6.1-version "6.1.168")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -605,7 +605,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1w5pfws6l39dpc3lzazs1n6r4m96f6rdf6vb2scy5fhmrd933ldc")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1jwqwp2fg3wdsh9w663rbnbv1rvsvksv1pj4bzns8swp0wy0a618")))
(hash (base32 "0vkp75sfnjvfqxjh6gqcx24h2m6qj6xkwlw6b118cja43vjnz1g0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
@@ -945,7 +945,11 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
;; Disable the EFI pstore storage backend to avoid causing
;; unrecoverable failures on some EFI systems:
;; https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html
("CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE" . #t)))
("CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE" . #t)
;; Provide modules for wireguard and netfilter support
("CONFIG_WIREGUARD" . m)
("CONFIG_IP_NF_FILTER" . m)
("CONFIG_NETFILTER_XT_MATCH_ADDRTYPE" . m)))
(define (config->string options)
(string-join (map (match-lambda
@@ -1290,8 +1294,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm-generic"
#:extra-options
(append
`(;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t))
(default-extra-linux-options linux-libre-5.10-version))))
(define-public linux-libre-arm-omap2plus
@@ -1302,6 +1304,31 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
(define pinebook-extra-modules
`(;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_INPUT_AXP20X_PEK" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m)))
(define arm64-generic-extra-modules
(append
pinebook-extra-modules
`(;; Provide support for ath9k wireless
("CONFIG_ATH9K_HTC" . m)
;; Support Orange Pi R1 Plus LTS ethernet PHY.
("CONFIG_MOTORCOMM_PHY" . m)
;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t))))
(define-public linux-libre-arm64-generic
(make-linux-libre* linux-libre-version
linux-libre-gnu-revision
@@ -1311,25 +1338,7 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic"
#:extra-options
(append
`(;; Provide support for ath9k wireless
("CONFIG_ATH9K_HTC" . m)
;; Support Orange Pi R1 Plus LTS ethernet PHY.
("CONFIG_MOTORCOMM_PHY" . m)
;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_INPUT_AXP20X_PEK" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m))
arm64-generic-extra-modules
(default-extra-linux-options linux-libre-version))))
(define-public linux-libre-lts-arm64-generic
@@ -1347,25 +1356,7 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic"
#:extra-options
(append
`( ;; Provide support for ath9k wireless
("CONFIG_ATH9K_HTC" . m)
;; Support Orange Pi R1 Plus LTS ethernet PHY.
("CONFIG_MOTORCOMM_PHY" . m)
;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_INPUT_AXP20X_PEK" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m))
arm64-generic-extra-modules
(default-extra-linux-options linux-libre-lts-version)))))
(define-public linux-libre-arm64-generic-5.10
@@ -1377,21 +1368,7 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic"
#:extra-options
(append
`(;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_INPUT_AXP20X_PEK" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m))
arm64-generic-extra-modules
(default-extra-linux-options linux-libre-5.10-version))))
(define-public linux-libre-arm64-honeycomb
@@ -1453,9 +1430,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;; Fixes https://codeberg.org/guix/guix/issues/101
("CONFIG_KEY_DH_OPERATIONS" . #true)
;; For connecting to ci.guix.gnu.org over VPN.
("CONFIG_WIREGUARD" . m)
;; restool support
("CONFIG_FSL_MC_UAPI_SUPPORT" . #t)
("CONFIG_FSL_MC_BUS" . #t)
@@ -1774,8 +1748,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
("CONFIG_USB_ETH_RNDIS" . m)
("CONFIG_USB_ETH_EEM" . m)
("CONFIG_USB_G_NCM" . m)
;; Provide support for wireguard
("CONFIG_WIREGUARD" . m)
;; Provide support for ath9k wireless
("CONFIG_ATH9K" . m)
("CONFIG_ATH9K_HTC" . m))
@@ -2088,8 +2060,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
("CONFIG_USB_ETH_RNDIS" . m)
("CONFIG_USB_ETH_EEM" . m)
("CONFIG_USB_G_NCM" . m)
;; Provide support for wireguard
("CONFIG_WIREGUARD" . m)
;; Provide support for ath9k wireless
("CONFIG_ATH9K" . m)
("CONFIG_ATH9K_HTC" . m))
@@ -2423,8 +2393,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
("CONFIG_USB_ETH_RNDIS" . m)
("CONFIG_USB_ETH_EEM" . m)
("CONFIG_USB_G_NCM" . m)
;; Provide support for wireguard
("CONFIG_WIREGUARD" . m)
;; Provide support for ath9k wireless
("CONFIG_ATH9K" . m)
("CONFIG_ATH9K_HTC" . m))
@@ -5032,7 +5000,6 @@ configuration and monitoring interfaces.")
(with-directory-excursion "./python" (python-inst ,python))
#t))))))))
(define-public libnl-python2 (libnl-python-package "python2"))
(define-public libnl-python3 (libnl-python-package "python3"))
(define-public iw
@@ -5241,14 +5208,20 @@ or kill them altogether.")
(base32
"0b1jp5gp2gv40gv6cvmv86rcr4l0mdh050qbvnxl0xcwya45qffx"))))
(build-system meson-build-system)
(outputs (list "out" "debug" "static"))
(inputs
(list bash-minimal util-linux))
(arguments
`(#:configure-flags
,#~(list
(string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
"-Duseroot=false")
"-Duseroot=false"
;; Build static libraries.
"--default-library=both")
#:tests? #f
#:modules ((guix build meson-build-system)
(guix build utils)
(ice-9 ftw))
#:phases
,#~(modify-phases %standard-phases
(add-after 'unpack 'set-file-names
@@ -5286,7 +5259,20 @@ or kill them altogether.")
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
"/lib/udev/rules.d"))))))))
"/lib/udev/rules.d")))))
(add-after 'install 'install-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(static (assoc-ref outputs "static")))
(mkdir-p (string-append static "/lib"))
(for-each
(lambda (static-library)
(rename-file
(string-append out "/lib/" static-library)
(string-append static "/lib/" static-library)))
(scandir (string-append out "/lib")
(lambda (file-name)
(string-suffix? ".a" file-name))))))))))
(supported-systems (remove target-hurd? %supported-systems))
(home-page "https://github.com/libfuse/libfuse")
(synopsis "Support file systems implemented in user space")
@@ -5357,23 +5343,6 @@ user-space processes.")
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
(define-public fuse-for-appimage
(package
(inherit fuse)
(name "fuse")
(version "3.16.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
"download/fuse-" version "/fuse-" version ".tar.gz"))
(sha256
(base32 "11yfl2w2a445hllyzlakq97n32g06972vxpmh7lpbclnj9fhb5zp"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags original-flags #~(list))
#~(append #$original-flags '("--default-library=static")))))))
(define-public unionfs-fuse
(package
(name "unionfs-fuse")
+3 -46
View File
@@ -12982,8 +12982,8 @@ score. When evaluated, the musical score is rendered to an image.")
(sbcl-package->ecl-package sbcl-cmn))
(define-public sbcl-coalton
(let ((commit "939342495f55991812c2c2767322c5e51e755216")
(revision "4"))
(let ((commit "bf475c8c53e02a2e0cb29deab4d101d25743bfca")
(revision "5"))
(package
(name "sbcl-coalton")
(version (git-version "0.0.1" revision commit))
@@ -12995,7 +12995,7 @@ score. When evaluated, the musical score is rendered to an image.")
(commit commit)))
(file-name (git-file-name "cl-coalton" version))
(sha256
(base32 "08qzj3v4fvn9h87whyqg650rpap8lva7jr94d1akv6m2z62l5q68"))))
(base32 "0zrp2s82n2mxx7knbnbsdj64zar21nnnf8iwzrqzs4g3v6xpyz9z"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-fiasco))
@@ -27700,49 +27700,6 @@ adaptations.")
(define-public ecl-radiance
(sbcl-package->ecl-package sbcl-radiance))
(define-public sbcl-radiance-contribs
(let ((commit "710b3e1f9971e48368d52eea0b407f2e8f510981")
(revision "1"))
(package
(name "sbcl-radiance-contribs")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shirakumo/radiance-contribs")
(commit commit)))
(file-name (git-file-name "radiance-contribs" version))
(sha256
(base32 "08ivnd7a6vfciqna680qpx6zj6vw9xcbrzq29iz3x7x9sp1pqgq3"))))
(build-system asdf-build-system/sbcl)
(arguments
;; TODO: Include more contribs.
`(#:asd-systems '("r-clip"
"i-log4cl"
"i-sqlite"
"r-data-model"
"r-simple-rate"
"r-welcome")))
(inputs
(list sbcl-radiance
sbcl-cffi
sbcl-clip
sbcl-cl-sqlite
sbcl-log4cl))
(home-page "https://shirakumo.github.io/radiance/")
(synopsis "Standard implementations and drivers for the radiance interfaces")
(description
"This is a collection of useful helper modules and standard
implementations for Radiance interfaces.")
(license license:zlib))))
(define-public cl-radiance-contribs
(sbcl-package->cl-source-package sbcl-radiance-contribs))
(define-public ecl-radiance-contribs
(sbcl-package->ecl-package sbcl-radiance-contribs))
(define-public sbcl-random-sample
(let ((commit "46b70374ed796b84ea003e83c1db97b0caf97e22")
(revision "0"))
+3 -2
View File
@@ -33,6 +33,7 @@
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 David Pflug <david@pflug.io>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2026 Igorj Gorjaĉev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -912,7 +913,7 @@ assembler, PEG) is less than 1MB.")
(define-public jpm
(package
(name "jpm")
(version "1.1.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
@@ -921,7 +922,7 @@ assembler, PEG) is less than 1MB.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l"))))
(base32 "06ywq1ajvqx3lfpldwbakc21hxhb313r0196xnmrrbb6k1f8hsfx"))))
(build-system copy-build-system)
(arguments
(list
+20 -20
View File
@@ -51,24 +51,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages machine-learning)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
@@ -89,6 +71,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest)
#:use-module (gnu packages dns)
#:use-module (gnu packages documentation)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
@@ -154,6 +137,23 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (ice-9 match))
(define-public dlpack
@@ -4666,7 +4666,7 @@ different backends")
(define-public koboldcpp
(package
(name "koboldcpp")
(version "1.110")
(version "1.111.2")
(source
(origin
(method git-fetch)
@@ -4682,7 +4682,7 @@ different backends")
(delete-file-recursively "lib")
(for-each delete-file (find-files "." "\\.(dll|exe|bat)$"))))
(sha256
(base32 "1lfdfsk227qgk44sq10qa93cl5s221djnpj82wg6b38dg7yy0b62"))))
(base32 "0mlq0p14p5vhc0pknkjidcw885mr0c92881lp629n44qxdf7dx8i"))))
(build-system gnu-build-system)
(arguments
(list
+8 -7
View File
@@ -68,6 +68,7 @@
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2026 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4744,7 +4745,7 @@ on RFC 3501 and original @code{imaplib} module.")
(define-public rspamd
(package
(name "rspamd")
(version "3.12.1")
(version "3.14.3")
(source
(origin
(method git-fetch)
@@ -4752,7 +4753,7 @@ on RFC 3501 and original @code{imaplib} module.")
(url "https://github.com/rspamd/rspamd")
(commit version)))
(sha256
(base32 "0li75dqqy0irrvv2jddmll2adf15cywif982ijj034hldg9162bc"))
(base32 "1yh3933ak7qzzys6yzixrs8pmmsh16ny23im958h8rqg0xrq3mcy"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -4783,11 +4784,11 @@ on RFC 3501 and original @code{imaplib} module.")
(native-inputs
(list pkg-config))
(synopsis "Spam filtering system")
(description "Rspamd is an advanced spam filtering system that
allows evaluation of messages by a number of rules including regular
expressions, statistical analysis and custom services such as URL
black lists. Each message is analysed by Rspamd and given a spam
score.")
(description
"Rspamd is a spam filter that evaluates email messages by a number
of rules including: regular expressions, statistical analysis, and URL
blacklists. Rspamd gives each message a spam score, e.g., for further
processing by an MTA.")
(home-page "https://www.rspamd.com/")
(license license:asl2.0)))
+1 -1
View File
@@ -134,7 +134,7 @@ specific format when needed.")
(delete 'configure)) ; no configure script
#:test-target "test"))
(native-inputs
`(("python" ,python-2)
`(("python" ,python-minimal-wrapper)
("tidy" ,tidy-html)))
(synopsis "Markdown processing library")
(description "Hoedown is a standards compliant, fast, secure markdown
+4 -3
View File
@@ -487,8 +487,9 @@ programming languages.")
""))))
;; The 'check phase requires test programs build using 'build-tests'.
(add-before 'check 'build-tests
(lambda _
(invoke "cmake" "--build" "." "--target" "build-tests"))))))
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "cmake" "--build" "." "--target" "build-tests")))))))
(inputs (list cadical-2.1
cln
cryptominisat
@@ -8805,7 +8806,7 @@ and comparisons are supported.")
"1fwlgbcdxz30dzsqw3y1b6ic1rhzfadghj7cq7yxsj14npgnwzga"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config python-2)) ;for tests; syntax incompatible with Python 3
(list pkg-config python-minimal-wrapper))
(inputs
(list openblas suitesparse))
(arguments
-17
View File
@@ -2690,23 +2690,6 @@ validating international phone numbers.")
(home-page "https://github.com/google/libphonenumber")
(license license:asl2.0)))
(define-public libphonenumber-8.11
(package/inherit libphonenumber
(name (package-name libphonenumber))
(version "8.11.5")
(source (origin
(inherit (package-source libphonenumber))
(uri (git-reference
(url "https://github.com/google/libphonenumber")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y4ivhy3kwgggrr3g521zaf97334aan0yqpzzryss80k326q5rhf"))))
(inputs
(modify-inputs inputs
(delete "abseil-cpp" "icedtea")))))
(define-public chatty
(package
(name "chatty")
+41
View File
@@ -531,6 +531,47 @@ MPRIS 2 support.")
(home-page "https://github.com/eonpatapon/mpDris2")
(license license:gpl3+)))
(define-public mpdris2-rs
(package
(name "mpdris2-rs")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/szclsya/mpdris2-rs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "023m4g1kgr2q2vllaij7nlxd5gp3vklvbhf5drymgqz3pcmslb52"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-systemd-unit
(lambda _
(let ((unit-dir (in-vicinity #$output "lib/systemd/user/")))
(substitute* "misc/mpdris2-rs.service"
(("/usr/local/bin/mpdris2-rs")
(in-vicinity #$output "bin/mpdris2-rs")))
(install-file "misc/mpdris2-rs.service" unit-dir)))))))
(inputs (cargo-inputs 'mpdris2-rs))
(home-page "https://github.com/szclsya/mpdris2-rs")
(synopsis "Exposing MPRIS V2.2 D-Bus interface for mpd")
(description
"A lightweight implementation of MPD to D-Bus bridge, which exposes MPD
player and playlist information onto MPRIS2 interface so other programs can use
this generic interface to retrieve MPD's playback state.
Distinctively, mpdris2-rs uses MPD protocol's native
@command{readpicture}/@command{albumart} methods to fetch album arts. This
means mpdris2-rs won't need any access to your local filesystem (apart from
your @env{XDG_RUNTIME_DIR} for temporarily storing fetched albumarts) and can
provide album arts even with remote MPD servers and Internet radios.")
(license license:gpl3)))
(define-public cantata
(package
(name "cantata")
+24 -24
View File
@@ -89,33 +89,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages networking)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
#:use-module (gnu packages assembly)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -131,6 +111,7 @@
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -154,21 +135,21 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lxqt)
#:use-module (gnu packages lua)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages lxqt)
#:use-module (gnu packages man)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages openldap)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -204,6 +185,25 @@
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match))
(define-public usrsctp
+11 -11
View File
@@ -31,20 +31,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages node)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system node)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages dns)
#:use-module (gnu packages gcc)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages libevent)
@@ -55,6 +45,16 @@
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system gnu)
#:use-module (guix build-system node)
#:use-module (guix derivations)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+2 -2
View File
@@ -2620,14 +2620,14 @@ the boot loader configuration.")
(define-public flatpak
(package
(name "flatpak")
(version "1.16.5")
(version "1.16.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
version "/flatpak-" version ".tar.xz"))
(sha256
(base32 "0mn1rf1q0r8bhqkm84f1vj3lvl63ccalnc4p98k6qxj92rcfj853"))
(base32 "1hzfb337cyg5h4k3rh30jjzccfwazm3gx9lj9prh5dj4zvryfqqy"))
(patches
(search-patches "flatpak-fix-fonts-icons.patch"
"flatpak-fix-icon-validation.patch"
@@ -0,0 +1,291 @@
This patch is taken from the upstream repository
From b937572d157e660af98e224523ffb3fe5810ed2c Mon Sep 17 00:00:00 2001
Message-ID: <b937572d157e660af98e224523ffb3fe5810ed2c.1776087342.git.efraim@flashner.co.il>
From: Felix Geyer <debfx@fobos.de>
Date: Fri, 30 Aug 2019 19:08:35 +0200
Subject: [PATCH] Port scripts to Python 3
Compatibility with Python 2 is preserved.
---
scripts/gendocs.py | 2 +-
scripts/test.py | 67 +++++++++++++++++++++++-----------------------
scripts/tinydoc.py | 23 ++++++++--------
3 files changed, 47 insertions(+), 45 deletions(-)
diff --git a/scripts/gendocs.py b/scripts/gendocs.py
index c9f206e..ba872c4 100644
--- a/scripts/gendocs.py
+++ b/scripts/gendocs.py
@@ -29,6 +29,6 @@ root.nodes += [ParseTextFile(Node("License"), "license.txt", True)]
# render files
for o in outputs:
- o.file = file(o.output_name(), "w")
+ o.file = open(o.output_name(), "w")
o.render(root)
o.file.close()
diff --git a/scripts/test.py b/scripts/test.py
index accc26c..bbc9c7d 100755
--- a/scripts/test.py
+++ b/scripts/test.py
@@ -1,5 +1,6 @@
#!/usr/bin/env python
+from __future__ import print_function
import os, sys, shutil, subprocess
extra_bam_flags = ""
@@ -36,8 +37,8 @@ def copytree(src, dst):
copytree(srcname, dstname)
else:
shutil.copy2(srcname, dstname)
- except (IOError, os.error), why:
- print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
+ except (IOError, os.error) as why:
+ print("Can't copy '%s' to '%s': %s" % (srcname, dstname, str(why)))
def run_bam(testname, flags):
@@ -45,7 +46,7 @@ def run_bam(testname, flags):
olddir = os.getcwd()
os.chdir(output_path+"/"+testname)
- p = subprocess.Popen(bam+" "+flags, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
+ p = subprocess.Popen(bam+" "+flags, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
report = p.stdout.readlines()
p.wait()
ret = p.returncode
@@ -64,8 +65,8 @@ def test(name, moreflags="", should_fail=0):
os.chdir(output_path+"/"+name)
cmdline = bam+" -t -v "+extra_bam_flags+" " + moreflags
- print name + ":",
- p = subprocess.Popen(cmdline, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
+ print(name + ":", end=" ")
+ p = subprocess.Popen(cmdline, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
report = p.stdout.readlines()
p.wait()
ret = p.returncode
@@ -73,50 +74,50 @@ def test(name, moreflags="", should_fail=0):
os.chdir(olddir)
if (should_fail and not ret) or (not should_fail and ret):
- print " FAILED!"
+ print(" FAILED!")
for l in report:
- print "\t", l,
+ print("\t", l, end=" ")
failed_tests += [name + "(returned %d)" % ret]
else:
- print " ok"
+ print(" ok")
def difftest(name, flags1, flags2):
global failed_tests
if len(tests) and not name in tests:
return
testname = "difftest: %s '%s' vs '%s': "%(name, flags1, flags2)
- print testname,
+ print(testname, end=" ")
ret1, report1 = run_bam(name, flags1)
ret2, report2 = run_bam(name, flags2)
if ret1:
- print "FAILED! '%s' returned %d" %(flags1, ret1)
+ print("FAILED! '%s' returned %d" %(flags1, ret1))
failed_tests += [testname]
return
if ret2:
- print "FAILED! '%s' returned %d" %(flags2, ret2)
+ print("FAILED! '%s' returned %d" %(flags2, ret2))
failed_tests += [testname]
return
if len(report1) != len(report2):
- print "FAILED! %d lines vs %d lines" % (len(report1), len(report2))
+ print("FAILED! %d lines vs %d lines" % (len(report1), len(report2)))
failed_tests += [testname]
return
failed = 0
- for i in xrange(0, len(report1)):
+ for i in range(0, len(report1)):
if report1[i] != report2[i]:
if not failed:
- print "FAILED!"
- print "1:", report1[i].strip()
- print "2:", report2[i].strip()
+ print("FAILED!")
+ print("1:", report1[i].strip())
+ print("2:", report2[i].strip())
failed += 1
if failed:
failed_tests += [testname]
else:
- print "ok"
+ print("ok")
def unittests():
global failed_tests
@@ -129,7 +130,7 @@ def unittests():
tests = []
state = 0
- for line in file('src/base.lua'):
+ for line in open('src/base.lua'):
if state == 0:
if "@UNITTESTS" in line:
state = 1
@@ -157,16 +158,16 @@ def unittests():
os.chdir(output_path+"/unit")
for test in tests:
- f = file("bam.lua", "w")
+ f = open("bam.lua", "w")
if test.catch != None:
- print >>f, "print(\"CATCH:\", %s)"%(test.line)
+ print("print(\"CATCH:\", %s)"%(test.line), file=f)
else:
- print >>f, test.line
- print >>f, 'DefaultTarget(PseudoTarget("Test"))'
+ print(test.line, file=f)
+ print('DefaultTarget(PseudoTarget("Test"))', file=f)
f.close()
- print "%s:"%(test.line),
- p = subprocess.Popen(bam + " --dry", stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
+ print("%s:"%(test.line), end=" ")
+ p = subprocess.Popen(bam + " --dry", stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
report = p.stdout.readlines()
p.wait()
ret = p.returncode
@@ -174,7 +175,7 @@ def unittests():
failed = False
if ret != test.err:
failed = True
- print "FAILED! error %d != %d" % (test.err, ret)
+ print("FAILED! error %d != %d" % (test.err, ret))
if test.catch != None:
found = False
@@ -185,7 +186,7 @@ def unittests():
if catched == test.catch:
found = True
else:
- print "FAILED! catch '%s' != '%s'" % (test.catch, catched)
+ print("FAILED! catch '%s' != '%s'" % (test.catch, catched))
if not found:
failed = True
@@ -198,16 +199,16 @@ def unittests():
if not found:
failed = True
- print "FAILED! could not find '%s' in output" % (test.find)
+ print("FAILED! could not find '%s' in output" % (test.find))
if failed or verbose:
if failed:
failed_tests += [test.line]
else:
- print "",
+ print("", end=" ")
for l in report:
- print "\t", l.rstrip()
+ print("\t", l.rstrip())
else:
- print "ok"
+ print("ok")
os.chdir(olddir)
@@ -246,11 +247,11 @@ test("multipleoutput")
test("missingoutput", "", 1)
if len(failed_tests):
- print "FAILED TESTS:"
+ print("FAILED TESTS:")
for t in failed_tests:
- print "\t"+t
+ print("\t"+t)
sys.exit(1)
else:
- print "ALL TESTS PASSED!"
+ print("ALL TESTS PASSED!")
sys.exit(0)
diff --git a/scripts/tinydoc.py b/scripts/tinydoc.py
index 536a74f..6557cf8 100644
--- a/scripts/tinydoc.py
+++ b/scripts/tinydoc.py
@@ -1,4 +1,5 @@
+from __future__ import print_function
import re, time
class Node:
@@ -47,20 +48,20 @@ class Output:
def render_node_index(self, cur):
if len(cur.index):
- print >>self.file, self.index_node_begin(cur)
+ print(self.index_node_begin(cur), file=self.file)
for node in cur.nodes:
self.render_node_index(node)
if len(cur.index):
- print >>self.file, self.index_node_end(cur)
+ print(self.index_node_end(cur), file=self.file)
def render_node(self, cur):
if len(cur.index):
- print >>self.file, self.format_header(cur)
- print >>self.file, self.format_body(cur)
+ print(self.format_header(cur), file=self.file)
+ print(self.format_body(cur), file=self.file)
for node in cur.nodes:
self.render_node(node)
def index_nodes(self, cur, index=""):
- for i in xrange(0, len(cur.nodes)):
+ for i in range(0, len(cur.nodes)):
if len(index):
cur.nodes[i].index = index + "." + str(i+1)
else:
@@ -73,14 +74,14 @@ class Output:
def render(self, rootnode):
self.index_nodes(rootnode)
- print >>self.file, self.render_begin()
+ print(self.render_begin(), file=self.file)
- print >>self.file, self.index_begin()
+ print(self.index_begin(), file=self.file)
self.render_node_index(rootnode)
- print >>self.file, self.index_end()
+ print(self.index_end(), file=self.file)
self.render_node(rootnode)
- print >>self.file, self.render_end()
+ print(self.render_end(), file=self.file)
class HTMLOutput(Output):
def render_begin(self):
@@ -225,7 +226,7 @@ class HTMLOutput(Output):
def ParseTextFile(rootnode, filename, addbr=False):
group = rootnode
- for line in file(filename):
+ for line in open(filename):
if group_tag in line:
group_name = line.split(group_tag)[-1].split(end_tag)[0].strip()
group = Node(group_name)
@@ -244,7 +245,7 @@ def ParseFile(rootnode, filename):
# 2 = outputting function decl
state = 0
group = rootnode
- for line in file(filename):
+ for line in open(filename):
if state == 0:
if group_tag in line:
group_name = line.split(group_tag)[-1].split(end_tag)[0].strip()
@@ -1,56 +0,0 @@
Author: Igorj Gorjaĉev <igor@goryachev.org>
Date: Wed Oct 22 10:10:13 2025 +0300
vendoring support for guix
diff --git a/lib/mix/lib/mix/dep/loader.ex b/lib/mix/lib/mix/dep/loader.ex
index e47bfc556..0ddd49fe5 100644
--- a/lib/mix/lib/mix/dep/loader.ex
+++ b/lib/mix/lib/mix/dep/loader.ex
@@ -198,6 +198,10 @@ defp with_scm_and_app(app, req, opts, original, locked?) do
)
end
+ scm = Mix.Guix.scm(scm)
+ req = Mix.Guix.req(req)
+ opts = Mix.Guix.opts(opts, app)
+
%Mix.Dep{
scm: scm,
app: app,
diff --git a/lib/mix/lib/mix/guix.ex b/lib/mix/lib/mix/guix.ex
new file mode 100644
index 000000000..9c821704c
--- /dev/null
+++ b/lib/mix/lib/mix/guix.ex
@@ -0,0 +1,30 @@
+defmodule Mix.Guix do
+ @moduledoc false
+
+ @guix_vendorize "GUIX_MIX_VENDOR_DIR"
+
+ def scm(scm), do: (vendorize?() && Mix.SCM.Path) || scm
+
+ def req(req), do: (vendorize?() && nil) || req
+
+ def opts(opts, app) do
+ if vendorize?() do
+ if Keyword.has_key?(opts, :path) do
+ opts
+ else
+ dep_dir = vendor_dep_dir(app)
+
+ [path: dep_dir, dest: dep_dir] ++
+ Keyword.drop(opts, [:hex, :override, :repo, :lock, :dest])
+ end
+ else
+ opts
+ end
+ end
+
+ defp vendorize?, do: not is_nil(vendor_dir())
+
+ defp vendor_dir, do: System.get_env(@guix_vendorize)
+
+ defp vendor_dep_dir(name), do: "#{vendor_dir()}/#{name}"
+end
@@ -0,0 +1,58 @@
From 4617d2682738aeaece613ea61390dd47447c2d9f Mon Sep 17 00:00:00 2001
From: Potato Hatsue <1793913507@qq.com>
Date: Fri, 12 Sep 2025 06:07:02 -0700
Subject: [PATCH] Allow QuickCheck 2.15.0
---
Test/Chell/QuickCheck.hs | 8 ++++++++
chell-quickcheck.cabal | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Test/Chell/QuickCheck.hs b/Test/Chell/QuickCheck.hs
index ea1c488..3227b8e 100644
--- a/Test/Chell/QuickCheck.hs
+++ b/Test/Chell/QuickCheck.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
module Test.Chell.QuickCheck (property) where
import Test.Chell qualified as Chell
@@ -30,7 +31,12 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
{ State.terminal = term,
State.maxSuccessTests = QuickCheck.maxSuccess args,
State.maxDiscardedRatio = QuickCheck.maxDiscardRatio args,
+#if MIN_VERSION_QuickCheck(2,15,0)
+ State.replayStartSize = Nothing,
+ State.maxTestSize = QuickCheck.maxSize args,
+#else
State.computeSize = computeSize (QuickCheck.maxSize args) (QuickCheck.maxSuccess args),
+#endif
State.numSuccessTests = 0,
State.numDiscardedTests = 0,
State.classes = mempty,
@@ -59,6 +65,7 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
Test.GaveUp {} -> Chell.TestAborted notes output
Test.NoExpectedFailure {} -> Chell.TestFailed notes [failure]
+#if !MIN_VERSION_QuickCheck(2,15,0)
-- copied from quickcheck-2.4.1.1/src/Test/QuickCheck/Test.hs
computeSize :: Int -> Int -> Int -> Int -> Int
computeSize maxSize maxSuccess n d
@@ -79,3 +86,4 @@ computeSize maxSize maxSuccess n d
roundTo :: Int -> Int -> Int
roundTo n m = (n `div` m) * m
+#endif
diff --git a/chell-quickcheck.cabal b/chell-quickcheck.cabal
index e854412..1f3a1d9 100644
--- a/chell-quickcheck.cabal
+++ b/chell-quickcheck.cabal
@@ -34,7 +34,7 @@ library
build-depends:
, base ^>= 4.16 || ^>= 4.17 || ^>= 4.18 || ^>= 4.19 || ^>= 4.20 || ^>= 4.21
, chell ^>= 0.5
- , QuickCheck ^>= 2.14.2
+ , QuickCheck ^>= 2.14.2 || ^>= 2.15.0
, random ^>= 1.2.1 || ^>= 1.3.0
exposed-modules:
@@ -4,7 +4,7 @@
# number of sections)
'$(TEST_HC)' $(TEST_HC_OPTS) Generate.hs
./Generate > ManySections.s
+ echo '.section .note.GNU-stack,"",@progbits' > ManySections.s
+ echo '.section .note.GNU-stack,"",@progbits' >> ManySections.s
echo 'main = putStrLn "Running main..."' > Main.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -c ManySections.s
'$(TEST_HC)' $(TEST_HC_OPTS) --make -O Main.hs ManySections.o
@@ -0,0 +1,33 @@
This patch makes neovim look for tree-sitter parsers in the directories
specified by TREE_SITTER_GRAMMAR_PATH. Thereby, making it compatible
with the tree-sitter setup used by other Guix packages. e.g. emacs.
diff --git a/runtime/lua/vim/treesitter/language.lua b/runtime/lua/vim/treesitter/language.lua
index f70f99421c..480e7bb77a 100644
--- a/runtime/lua/vim/treesitter/language.lua
+++ b/runtime/lua/vim/treesitter/language.lua
@@ -126,12 +126,19 @@ function M.add(lang, opts)
return nil, string.format('Invalid language name "%s"', lang)
end
- local fname = 'parser/' .. lang .. '.*'
- local paths = api.nvim_get_runtime_file(fname, false)
- if #paths == 0 then
- return nil, string.format('No parser for language "%s"', lang)
+ local paths = vim.split(os.getenv('TREE_SITTER_GRAMMAR_PATH') or '', ':')
+ for _, elem in ipairs(paths) do
+ local fname = elem .. '/' .. 'libtree-sitter-' .. lang .. '*'
+ local paths = vim.fn.glob(fname, false, true)
+ if #paths > 0 then
+ path = paths[1]
+ break
+ end
end
- path = paths[1]
+ end
+
+ if path == nil then
+ return nil, string.format('No parser for language "%s"', lang)
end
local res = loadparser(path, lang, symbol_name)
@@ -0,0 +1,29 @@
Fix test_command_error for neovim 0.12.x.
In neovim 0.12.0, the error message for an invalid cursor position changed from
"Cursor position outside buffer" to "Invalid cursor line: out of range". Update
the test to accept both messages.
Taken from upstream commit d89b62ed622976c8d6dbc7733a99dac371b01cbf.
diff --git a/test/test_vim.py b/test/test_vim.py
index 8a76f5e..26e2fce 100644
--- a/test/test_vim.py
+++ b/test/test_vim.py
@@ -1,6 +1,7 @@
"""Tests interaction with neovim via Nvim API (with child process)."""
import os
+import re
import sys
import tempfile
from pathlib import Path
@@ -50,7 +51,7 @@ def test_command_output(vim: Nvim) -> None:
def test_command_error(vim: Nvim) -> None:
with pytest.raises(vim.error) as excinfo:
vim.current.window.cursor = -1, -1
- assert excinfo.value.args == ('Cursor position outside buffer',)
+ assert re.search(r"Cursor position outside buffer|Invalid cursor line", excinfo.value.args[0])
def test_eval(vim: Nvim) -> None:
@@ -0,0 +1,21 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Move candle-onnx from exclude to members so cargo package can build it.
Date: 2026-03-01
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,6 +4,7 @@
"candle-datasets",
"candle-examples",
"candle-nn",
+ "candle-onnx",
"candle-pyo3",
"candle-transformers",
"candle-wasm-examples/*",
@@ -15,7 +16,6 @@
"candle-flash-attn",
"candle-kernels",
"candle-metal-kernels",
- "candle-onnx",
]
resolver = "2"
@@ -0,0 +1,299 @@
From 7a372a6914e9d9d6f0c914a1ca8cdff592c40593 Mon Sep 17 00:00:00 2001
From: Matt Jolly <kangie@gentoo.org>
Date: Thu, 12 Mar 2026 11:57:11 +1000
Subject: [PATCH] Update compiler patch for M147 beta
Signed-off-by: Matt Jolly <kangie@gentoo.org>
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -367,9 +367,6 @@ config("compiler") {
configs += [
# See the definitions below.
- ":clang_revision",
- ":rustc_revision",
- ":compiler_cpu_abi",
":compiler_codegen",
":compiler_deterministic",
":clang_warning_suppression",
@@ -1690,43 +1687,6 @@ config("compiler_deterministic") {
}
}
- # Makes builds independent of absolute file path.
- if (is_clang && strip_absolute_paths_from_debug_symbols) {
- # If debug option is given, clang includes $cwd in debug info by default.
- # For such build, this flag generates reproducible obj files even we use
- # different build directory like "out/feature_a" and "out/feature_b" if
- # we build same files with same compile flag.
- # Other paths are already given in relative, no need to normalize them.
-
- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
- # and -fcoverage-compilation-dir=.
- cflags += [ "-ffile-compilation-dir=." ]
-
- # Convert absolute paths to relative paths. Expands to, for example:
- # -file-prefix-map /path/to/chromium/src=../..
- swiftflags += [
- "-file-prefix-map",
- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir),
- ]
- if (!is_win) {
- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
- }
-
- if (is_win && use_lld) {
- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
- # Absolutize source file paths for PDB. Pass the real build directory
- # if the pdb contains source-level debug information and if linker
- # reproducibility is not critical.
- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
- } else {
- # Use a fake fixed base directory for paths in the pdb to make the pdb
- # output fully deterministic and independent of the build directory.
- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
- }
- }
- }
-
# Tells the compiler not to use absolute paths when passing the default
# paths to the tools it invokes. We don't want this because we don't
# really need it and it can mess up the RBE cache entries.
@@ -1759,88 +1719,6 @@ config("compiler_deterministic") {
}
}
-config("clang_revision") {
- if (is_clang && clang_base_path == default_clang_base_path &&
- current_os != "zos") {
- _perform_consistency_checks = current_toolchain == default_toolchain
- if (llvm_force_head_revision) {
- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision"
- _head_revision = ""
- if (path_exists(_head_revision_stamp_path)) {
- _head_revision = read_file(_head_revision_stamp_path, "trim string")
- }
- assert(
- _head_revision != "",
- "llvm_force_head_revision=true, but no locally built version was detected.")
- _clang_revision = _head_revision
- } else {
- _clang_revision = read_file(
- "//third_party/llvm-build/Release+Asserts/cr_build_revision",
- "trim string")
-
- # Ensure that the synced clang version matches what's in git.
- if (_perform_consistency_checks) {
- # Parse the clang version from the Python script.
- _clang_version_lines = filter_include(
- read_file("//tools/clang/scripts/update.py", "list lines"),
- [ "CLANG_*REVISION = *" ])
- _py_revision =
- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "")
- _py_revision = string_replace(_py_revision, "'", "")
- _py_subrevision =
- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "")
- _expected_clang_revision = "$_py_revision-$_py_subrevision"
-
- # TODO(agrieve): Change filter_include to _clang_revision ==
- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry
- # rather than a update.py runhook.
- assert(
- filter_include([ _clang_revision ],
- [
- _expected_clang_revision,
- "$_expected_clang_revision,*",
- ]) != [],
- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?")
- }
- }
-
- if (_perform_consistency_checks) {
- # Ensure that the revision matches the version major expected by GN.
- _versions_match = filter_include([ _clang_revision ],
- [ "llvmorg-$clang_version-*" ]) != []
- assert(
- _versions_match,
- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.")
- }
-
- if (toolchain_has_rust && _perform_consistency_checks &&
- !rust_force_head_revision) {
- # Ensure that the synced rust version matches what's in git.
- _rust_revision_lines =
- filter_include(read_file("//tools/rust/update_rust.py", "list lines"),
- [ "RUST_*REVISION = *" ])
- _py_revision =
- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "")
- _py_revision = string_replace(_py_revision, "'", "")
- _py_subrevision =
- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "")
- _expected_rust_revision = "$_py_revision-$_py_subrevision"
-
- # Ensure the rust version matches the clang version.
- assert(
- filter_include([ rustc_revision ],
- [ "*-$_expected_rust_revision-*" ]) != [],
- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?")
- }
-
- # This is here so that all files get recompiled after a clang roll and
- # when turning clang on or off. (defines are passed via the command line,
- # and build system rebuild things when their commandline changes). Nothing
- # should ever read this define.
- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ]
- }
-}
-
# Controls the usage of a warning suppression mapping (WSM) file to suppress
# warnings based on the path of the file they come from. It's controlled by the
# `clang_warning_suppression_file` gn argument , which points to a text file
@@ -1896,18 +1774,6 @@ config("sanitize_c_array_bounds") {
}
}
-config("rustc_revision") {
- if (rustc_revision != "") {
- # Similar to the `clang_revision` config, this is here so that all `.rs`
- # sources get recompiled after a rustc roll. Nothing should ever read this
- # cfg. This will not be set if a custom toolchain is used.
- rustflags = [
- "--cfg",
- "cr_rustc_revision=\"$rustc_revision\"",
- ]
- }
-}
-
config("compiler_arm_fpu") {
if (current_cpu == "arm" && !is_ios) {
cflags = [ "-mfpu=neon" ]
@@ -2386,11 +2252,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
- cflags = [ "-Wall" ]
- if (is_clang) {
- # Enable extra warnings for chromium_code when we control the compiler.
- cflags += [ "-Wextra" ]
- }
+ cflags = []
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
@@ -2399,32 +2261,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
- if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
- current_cpu != "ppc64" && current_cpu != "mips" &&
- current_cpu != "mips64" && current_cpu != "riscv64" &&
- current_cpu != "loong64") {
- # Non-chromium code is not guaranteed to compile cleanly with
- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
- # disabled, so only do that for Release build.
- fortify_level = "2"
-
- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
- # implementation with a few custom glibc patches. Use that if it's
- # available.
- if (is_chromeos_device) {
- fortify_level = "3"
- }
-
- # _FORTIFY_SOURCE=3 is available in glibc 2.34+. Enable it when building
- # with the sysroot where support is guaranteed. Clang is also required since
- # the system gcc is often patched to add _FORTIFY_SOURCE=2 which would conflict
- # with our definition.
- if (use_sysroot && is_clang) {
- fortify_level = "3"
- }
- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
- }
-
if (is_apple) {
cflags_objc = [ "-Wimplicit-retain-self" ]
cflags_objcc = [ "-Wimplicit-retain-self" ]
@@ -2848,7 +2684,8 @@ config("default_stack_frames") {
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
# [2]: https://crrev.com/c/5447532
-config("optimize") {
+config("optimize") { }
+config("xoptimize") {
if (is_win) {
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
# consistency with the other platforms.
@@ -2897,7 +2734,8 @@ config("optimize") {
}
# Turn off optimizations.
-config("no_optimize") {
+config("no_optimize") { }
+config("xno_optimize") {
if (is_win) {
cflags = [
"/Od", # Disable optimization.
@@ -2932,7 +2770,8 @@ config("no_optimize") {
# Turns up the optimization level. Used to explicitly enable -O2 instead of
# -Os for select targets on platforms that use optimize_for_size. No-op
# elsewhere.
-config("optimize_max") {
+config("optimize_max") { }
+config("xoptimize_max") {
ldflags = common_optimize_on_ldflags
if (is_win) {
# Favor speed over size, /O2 must be before the common flags.
@@ -2953,7 +2792,8 @@ config("optimize_max") {
#
# TODO(crbug.com/41259697) - rework how all of these configs are related
# so that we don't need this disclaimer.
-config("optimize_speed") {
+config("optimize_speed") { }
+config("xoptimize_speed") {
ldflags = common_optimize_on_ldflags
if (is_win) {
# Favor speed over size, /O2 must be before the common flags.
@@ -2970,7 +2810,8 @@ config("optimize_speed") {
rustflags = [ "-Copt-level=3" ]
}
-config("optimize_fuzzing") {
+config("optimize_fuzzing") { }
+config("xoptimize_fuzzing") {
cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags
@@ -3115,7 +2956,8 @@ config("split_dwarf") {
}
# Full symbols.
-config("symbols") {
+config("symbols") { }
+config("xsymbols") {
rustflags = []
configs = []
if (is_win) {
@@ -3275,7 +3117,8 @@ config("symbols") {
# Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to user
# when crash happens in unittests running on buildbot.
-config("minimal_symbols") {
+config("minimal_symbols") { }
+config("xminimal_symbols") {
configs = []
rustflags = []
if (is_win) {
@@ -3355,7 +3198,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts function
# names in the final debug information.
-config("no_symbols") {
+config("no_symbols") { }
+config("xno_symbols") {
if (is_win) {
ldflags = [ "/DEBUG" ]
--
2.52.0
@@ -0,0 +1,46 @@
From da37bd781c0371e02ffc4877c3ac1b5f2020c207 Mon Sep 17 00:00:00 2001
From: Matt Jolly <kangie@gentoo.org>
Date: Tue, 17 Feb 2026 15:45:01 +1000
Subject: [PATCH] Handle case where `parsed_rustc_args.cfg` is empty
This may occur when (for example) using the unbundle toolchain
Signed-off-by: Matt Jolly <kangie@gentoo.org>
--- a/third_party/rust/cxx/chromium_integration/run_cxxbridge.py
+++ b/third_party/rust/cxx/chromium_integration/run_cxxbridge.py
@@ -44,18 +44,20 @@ def calculate_cxxbridge_args(unrecognized_script_args, rustc_print_cfg_path):
parser.add_argument("--cfg", action="append"),
parsed_rustc_args, _other_args = parser.parse_known_args(
args=unrecognized_script_args[:rustflags_separator])
- for cfg_arg in parsed_rustc_args.cfg:
- if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags.
- # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_`
- # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to
- # detect buildflag names.
- FALSE_PREFIX = "_BUILDFLAG_NOT_SET_"
- if cfg_arg.startswith(FALSE_PREFIX):
- flagname = cfg_arg[len(FALSE_PREFIX):]
- cxxbridge_args.append(f"--cfg={flagname}=false")
- else:
- flagname = cfg_arg
- cxxbridge_args.append(f"--cfg={flagname}=true")
+ # Unbundled toolchain may not have any `--cfg` flags
+ if parsed_rustc_args.cfg:
+ for cfg_arg in parsed_rustc_args.cfg:
+ if "=" not in cfg_arg: # `buildflag_header.gni` only supports bool flags.
+ # TODO(https://crbug.com/436606652): Stop using `_BUILDFLAG_NOT_SET_`
+ # prefix and instead use `--check-cfg` in `run_cxxbridge.py` to
+ # detect buildflag names.
+ FALSE_PREFIX = "_BUILDFLAG_NOT_SET_"
+ if cfg_arg.startswith(FALSE_PREFIX):
+ flagname = cfg_arg[len(FALSE_PREFIX):]
+ cxxbridge_args.append(f"--cfg={flagname}=false")
+ else:
+ flagname = cfg_arg
+ cxxbridge_args.append(f"--cfg={flagname}=true")
with open(rustc_print_cfg_path, 'r') as file:
for line in file:
--
2.52.0
@@ -1,21 +0,0 @@
From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001
From: Matt Jolly <kangie@gentoo.org>
Date: Thu, 10 Oct 2024 14:36:51 +1000
Subject: [PATCH] unbundle: add missing icu target
--- a/build/linux/unbundle/icu.gn
+++ b/build/linux/unbundle/icu.gn
@@ -65,6 +65,10 @@ group("icuuc_public") {
public_deps = [ ":icuuc" ]
}
+group("icui18n_hidden_visibility") {
+ public_deps = [ ":icuuc" ]
+}
+
shim_headers("icui18n_shim") {
root_path = "source/i18n"
headers = [
--
2.46.2
@@ -37,7 +37,7 @@ diff -ru a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
-add_subdirectory(fmt EXCLUDE_FROM_ALL)
-set_property(TARGET fmt PROPERTY FOLDER "3rdparty")
-# Define a custom inline namespace for the fmt used by WZ, to prevent ODR violations if static linking to any libraries that themselves embed (a different version of) fmt
-target_compile_definitions(fmt PUBLIC "FMT_BEGIN_NAMESPACE=namespace fmt { inline namespace v11_wz2100 {")
-target_compile_definitions(fmt PUBLIC "FMT_BEGIN_NAMESPACE=namespace fmt { inline namespace v12_wz2100 {")
-target_compile_definitions(fmt PUBLIC "FMT_END_NAMESPACE=}}")
-
+pkg_check_modules(FMT REQUIRED fmt)
@@ -238,12 +238,12 @@ diff -ru a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
include(FetchContent)
FetchContent_Declare(
diff -ru a/lib/framework/wzstring.cpp b/lib/framework/wzstring.cpp
--- a/lib/framework/wzstring.cpp 2025-09-16 11:41:32.000000000 -0500
+++ b/lib/framework/wzstring.cpp 2025-09-18 13:37:23.686668245 -0500
@@ -24,8 +24,8 @@
#include <sstream>
#include <iomanip>
#include <limits>
--- a/lib/framework/wzstring.cpp
+++ b/lib/framework/wzstring.cpp
@@ -29,8 +29,8 @@
// "By default, Visual Studio always returns the value 199711L for the __cplusplus preprocessor macro."
#define UTF_CPP_CPLUSPLUS 201703L
#endif
-#include <utfcpp/source/utf8.h>
-#include <utf8proc/utf8proc.h>
+#include <utf8cpp/utf8.h>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,107 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Add non-dismissing notification action hooks.
Date: 2026-03-08
License: gpl3+
MessageNotification only supports primary and secondary buttons that always
dismiss the notification after running their handlers. That is too restrictive
for flows where the user needs to inspect something first and then return to the
same prompt.
Add a generic non-dismissing `more_info_on_click` action alongside the existing
URL-based more-info button. This keeps the notification component reusable for
"inspect first, decide second" workflows without forcing every caller to build a
custom notification view.
diff --git a/crates/workspace/src/notifications.rs b/crates/workspace/src/notifications.rs
index 84f479b77e..9e210cb554 100644
--- a/crates/workspace/src/notifications.rs
+++ b/crates/workspace/src/notifications.rs
@@ -714,6 +714,7 @@ pub mod simple_message_notification {
secondary_icon_color: Option<Color>,
secondary_on_click: Option<Arc<dyn Fn(&mut Window, &mut Context<Self>)>>,
more_info_message: Option<SharedString>,
+ more_info_on_click: Option<Arc<dyn Fn(&mut Window, &mut Context<Self>)>>,
more_info_url: Option<Arc<str>>,
show_close_button: bool,
show_suppress_button: bool,
@@ -758,6 +759,7 @@ pub mod simple_message_notification {
secondary_icon_color: None,
secondary_on_click: None,
more_info_message: None,
+ more_info_on_click: None,
more_info_url: None,
show_close_button: true,
show_suppress_button: true,
@@ -843,6 +845,22 @@ pub mod simple_message_notification {
self
}
+ pub fn more_info_on_click<F>(mut self, on_click: F) -> Self
+ where
+ F: 'static + Fn(&mut Window, &mut Context<Self>),
+ {
+ self.more_info_on_click = Some(Arc::new(on_click));
+ self
+ }
+
+ pub fn more_info_on_click_arc<F>(mut self, on_click: Arc<F>) -> Self
+ where
+ F: 'static + Fn(&mut Window, &mut Context<Self>),
+ {
+ self.more_info_on_click = Some(on_click);
+ self
+ }
+
pub fn more_info_url<S>(mut self, url: S) -> Self
where
S: Into<Arc<str>>,
@@ -946,20 +964,36 @@ pub mod simple_message_notification {
}))
.child(
h_flex().w_full().justify_end().children(
- self.more_info_message
- .iter()
- .zip(self.more_info_url.iter())
- .map(|(message, url)| {
- let url = url.clone();
- Button::new(message.clone(), message.clone())
- .label_size(LabelSize::Small)
- .icon(IconName::ArrowUpRight)
- .icon_size(IconSize::Indicator)
- .icon_color(Color::Muted)
- .on_click(cx.listener(move |_, _, _, cx| {
+ self.more_info_message.iter().filter_map(|message| {
+ let more_info_on_click = self.more_info_on_click.clone();
+ let more_info_url = self.more_info_url.clone();
+
+ if more_info_on_click.is_none() && more_info_url.is_none() {
+ return None;
+ }
+
+ let mut button = Button::new(message.clone(), message.clone())
+ .label_size(LabelSize::Small)
+ .icon(IconName::ArrowUpRight)
+ .icon_size(IconSize::Indicator)
+ .icon_color(Color::Muted);
+
+ button = match (more_info_on_click, more_info_url) {
+ (Some(on_click), _) => button.on_click(cx.listener(
+ move |_, _, window, cx| {
+ (on_click)(window, cx);
+ },
+ )),
+ (None, Some(url)) => button.on_click(cx.listener(
+ move |_, _, _, cx| {
cx.open_url(&url);
- }))
- }),
+ },
+ )),
+ (None, None) => button,
+ };
+
+ Some(button)
+ }),
),
),
)
@@ -0,0 +1,65 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Collapse multi-line git dependency entries to single lines
Date: 2026-03-01
License: expat
Collapse multi-line git dependency entries to single lines so that
line-based substitute* patterns can process them.
--- a/Cargo.toml 2026-03-01 19:09:53.710020628 +0000
+++ b/Cargo.toml 2026-03-01 19:20:31.697337662 +0000
@@ -626,15 +626,7 @@
rayon = "1.8"
regex = "1.5"
# WARNING: If you change this, you must also publish a new version of zed-reqwest to crates.io
-reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662463bda39148ba154100dd44d3fba5873a4", default-features = false, features = [
- "charset",
- "http2",
- "macos-system-configuration",
- "multipart",
- "rustls-tls-native-roots",
- "socks",
- "stream",
-], package = "zed-reqwest", version = "0.12.15-zed" }
+reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662463bda39148ba154100dd44d3fba5873a4", default-features = false, features = ["charset", "http2", "macos-system-configuration", "multipart", "rustls-tls-native-roots", "socks", "stream"], package = "zed-reqwest", version = "0.12.15-zed" }
rsa = "0.9.6"
runtimelib = { version = "1.2.0", default-features = false, features = [
"async-dispatcher-runtime", "aws-lc-rs"
--- a/crates/gpui/Cargo.toml 2026-03-01 19:12:33.129039363 +0000
+++ b/crates/gpui/Cargo.toml 2026-03-01 19:20:33.133327405 +0000
@@ -167,9 +167,7 @@
cosmic-text = { version = "0.17.0", optional = true }
swash = { version = "0.2.6" }
# WARNING: If you change this, you must also publish a new version of zed-font-kit to crates.io
-font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "110523127440aefb11ce0cf280ae7c5071337ec5", package = "zed-font-kit", version = "0.14.1-zed", features = [
- "source-fontconfig-dlopen",
-], optional = true }
+font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "110523127440aefb11ce0cf280ae7c5071337ec5", package = "zed-font-kit", version = "0.14.1-zed", features = ["source-fontconfig-dlopen"], optional = true }
calloop = "0.14.3"
filedescriptor = { version = "0.8.2", optional = true }
open = { version = "5.2.0", optional = true }
@@ -207,10 +205,7 @@
"sync",
], optional = true }
# WARNING: If you change this, you must also publish a new version of zed-xim to crates.io
-xim = { git = "https://github.com/zed-industries/xim-rs.git", rev = "16f35a2c881b815a2b6cdfd6687988e84f8447d8" , features = [
- "x11rb-xcb",
- "x11rb-client",
-], package = "zed-xim", version = "0.4.0-zed", optional = true }
+xim = { git = "https://github.com/zed-industries/xim-rs.git", rev = "16f35a2c881b815a2b6cdfd6687988e84f8447d8" , features = ["x11rb-xcb", "x11rb-client"], package = "zed-xim", version = "0.4.0-zed", optional = true }
x11-clipboard = { version = "0.9.3", optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
--- a/crates/livekit_client/Cargo.toml 2026-03-01 19:12:33.133661336 +0000
+++ b/crates/livekit_client/Cargo.toml 2026-03-01 19:20:33.893321975 +0000
@@ -46,9 +46,7 @@
[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))'.dependencies]
libwebrtc = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks" }
-livekit = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks", features = [
- "__rustls-tls"
-] }
+livekit = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks", features = ["__rustls-tls"] }
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies]
scap.workspace = true
@@ -0,0 +1,31 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Disable dlopen for wayland-backend and fontconfig in gpui.
Date: 2026-03-01
License: ASL2.0
Remove the "dlopen" feature from wayland-backend and the
"source-fontconfig-dlopen" feature from zed-font-kit so that libwayland
and libfontconfig are linked directly rather than loaded at runtime via
dlopen. This ensures these dependencies are visible to the package
manager and avoids runtime failures when the libraries are not in the
dlopen search path.
--- a/crates/gpui/Cargo.toml 2026-03-01 21:21:38.661240897 +0000
+++ b/crates/gpui/Cargo.toml 2026-03-01 21:23:00.282205935 +0000
@@ -167,7 +167,7 @@
cosmic-text = { version = "0.17.0", optional = true }
swash = { version = "0.2.6" }
# WARNING: If you change this, you must also publish a new version of zed-font-kit to crates.io
-font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "110523127440aefb11ce0cf280ae7c5071337ec5", package = "zed-font-kit", version = "0.14.1-zed", features = ["source-fontconfig-dlopen"], optional = true }
+font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "110523127440aefb11ce0cf280ae7c5071337ec5", package = "zed-font-kit", version = "0.14.1-zed", optional = true }
calloop = "0.14.3"
filedescriptor = { version = "0.8.2", optional = true }
open = { version = "5.2.0", optional = true }
@@ -177,7 +177,6 @@
calloop-wayland-source = { version = "0.4.1", optional = true }
wayland-backend = { version = "0.3.3", features = [
"client_system",
- "dlopen",
], optional = true }
wayland-client = { version = "0.31.11", optional = true }
wayland-cursor = { version = "0.31.11", optional = true }
@@ -0,0 +1,113 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Exclude libwebrtc dependency from audio crate on Linux.
Date: 2026-03-01
The audio crate conditionally depends on libwebrtc for echo cancellation
on platforms that have it. It already cfg-guards the libwebrtc usage for
Windows-GNU and FreeBSD. Add target_os = "linux" to those cfg conditions
so libwebrtc is not required on Linux either. The rest of the audio crate
(sound playback, output streams, end_call) continues to work without it.
--- a/crates/audio/Cargo.toml 2026-03-01 21:21:38.652107544 +0000
+++ b/crates/audio/Cargo.toml 2026-03-01 21:22:20.494478427 +0000
@@ -29,5 +29,5 @@
thiserror.workspace = true
util.workspace = true
-[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))'.dependencies]
+[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))'.dependencies]
libwebrtc = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks" }
--- a/crates/audio/src/audio.rs 2026-03-01 21:21:38.656793329 +0000
+++ b/crates/audio/src/audio.rs 2026-03-01 21:40:18.939230433 +0000
@@ -6,7 +6,7 @@
};
use gpui::{App, AsyncApp, BackgroundExecutor, BorrowAppContext, Global};
-#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
mod non_windows_and_freebsd_deps {
pub(super) use cpal::Sample;
pub(super) use libwebrtc::native::apm;
@@ -15,7 +15,7 @@
pub(super) use std::sync::Arc;
}
-#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
use non_windows_and_freebsd_deps::*;
use rodio::{
@@ -102,7 +102,7 @@
pub struct Audio {
output_handle: Option<MixerDeviceSink>,
- #[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+ #[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
pub echo_canceller: Arc<Mutex<apm::AudioProcessingModule>>,
source_cache: HashMap<Sound, Buffered<Decoder<Cursor<Vec<u8>>>>>,
replays: replays::Replays,
@@ -114,7 +114,7 @@
output_handle: Default::default(),
#[cfg(not(any(
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd", target_os = "linux"
)))]
echo_canceller: Arc::new(Mutex::new(apm::AudioProcessingModule::new(
true, false, false, false,
@@ -140,13 +140,13 @@
// The webrtc apm is not yet compiling for windows & freebsd
#[cfg(not(any(
any(all(target_os = "windows", target_env = "gnu")),
- target_os = "freebsd"
+ target_os = "freebsd", target_os = "linux"
)))]
let echo_canceller = Arc::clone(&self.echo_canceller);
#[cfg(not(any(
any(all(target_os = "windows", target_env = "gnu")),
- target_os = "freebsd"
+ target_os = "freebsd", target_os = "linux"
)))]
{
let source = rodio::source::Zero::new(CHANNEL_COUNT, SAMPLE_RATE)
@@ -166,10 +166,10 @@
#[cfg(any(
any(all(target_os = "windows", target_env = "gnu")),
- target_os = "freebsd"
+ target_os = "freebsd", target_os = "linux"
))]
{
- let source = rodio::source::Zero::<f32>::new(CHANNEL_COUNT, SAMPLE_RATE);
+ let source = rodio::source::Zero::new(CHANNEL_COUNT, SAMPLE_RATE);
output_handle.mixer().add(source);
}
@@ -190,7 +190,7 @@
self.replays.replays_to_tar(executor)
}
- #[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+ #[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
pub fn open_microphone(voip_parts: VoipParts) -> anyhow::Result<impl Source> {
let stream = open_input_stream(voip_parts.input_audio_device)?;
let stream = stream
@@ -319,7 +319,7 @@
}
}
-#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
pub struct VoipParts {
echo_canceller: Arc<Mutex<apm::AudioProcessingModule>>,
replays: replays::Replays,
@@ -327,7 +327,7 @@
input_audio_device: Option<DeviceId>,
}
-#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))]
+#[cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))]
impl VoipParts {
pub fn new(cx: &AsyncApp) -> anyhow::Result<Self> {
let (apm, replays) = cx.read_default_global::<Audio, _>(|audio, _| {
@@ -0,0 +1,320 @@
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Fri, 6 Mar 2026 21:06:00 +0000
Subject: [PATCH] sqlez: Fix named in-memory SQLite mode
License: expat
Zed's named "in-memory" SQLite databases were being opened with
URI-looking paths such as `file:DB?mode=memory&cache=shared` but without
`SQLITE_OPEN_URI`. SQLite therefore treated those strings as literal
filenames, which leaked test databases to disk and defeated the intended
shared-memory behavior.
Fix that by opening named in-memory databases with `SQLITE_OPEN_URI` so
`mode=memory&cache=shared` is interpreted correctly, and add coverage to
ensure no literal backing files are created.
That URI fix makes shared-cache schema locking real, which in turn
exposes a second bug in `ThreadSafeConnection`: per-thread connection
initialization can race schema setup on another connection to the same
named in-memory database and fail while preparing `PRAGMA foreign_keys`.
Fix that by retrying connection initialization queries when SQLite
reports a transient schema/database lock, and add a regression test for
that case.
diff --git a/crates/sqlez/src/connection.rs b/crates/sqlez/src/connection.rs
index 53f0d4e261..3dc530757a 100644
--- a/crates/sqlez/src/connection.rs
+++ b/crates/sqlez/src/connection.rs
@@ -18,7 +18,7 @@ pub struct Connection {
unsafe impl Send for Connection {}
impl Connection {
- pub(crate) fn open(uri: &str, persistent: bool) -> Result<Self> {
+ fn open_with_flags(uri: &str, persistent: bool, flags: i32) -> Result<Self> {
let mut connection = Self {
sqlite3: ptr::null_mut(),
persistent,
@@ -26,7 +26,6 @@ impl Connection {
_sqlite: PhantomData,
};
- let flags = SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_READWRITE;
unsafe {
sqlite3_open_v2(
CString::new(uri)?.as_ptr(),
@@ -44,6 +43,14 @@ impl Connection {
Ok(connection)
}
+ pub(crate) fn open(uri: &str, persistent: bool) -> Result<Self> {
+ Self::open_with_flags(
+ uri,
+ persistent,
+ SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_READWRITE,
+ )
+ }
+
/// Attempts to open the database at uri. If it fails, a shared memory db will be opened
/// instead.
pub fn open_file(uri: &str) -> Self {
@@ -51,13 +58,20 @@ impl Connection {
}
pub fn open_memory(uri: Option<&str>) -> Self {
- let in_memory_path = if let Some(uri) = uri {
- format!("file:{}?mode=memory&cache=shared", uri)
+ if let Some(uri) = uri {
+ let in_memory_path = format!("file:{}?mode=memory&cache=shared", uri);
+ return Self::open_with_flags(
+ &in_memory_path,
+ false,
+ SQLITE_OPEN_CREATE
+ | SQLITE_OPEN_NOMUTEX
+ | SQLITE_OPEN_READWRITE
+ | SQLITE_OPEN_URI,
+ )
+ .expect("Could not create fallback in memory db");
} else {
- ":memory:".to_string()
- };
-
- Self::open(&in_memory_path, false).expect("Could not create fallback in memory db")
+ Self::open(":memory:", false).expect("Could not create fallback in memory db")
+ }
}
pub fn persistent(&self) -> bool {
@@ -265,9 +279,50 @@ impl Drop for Connection {
mod test {
use anyhow::Result;
use indoc::indoc;
+ use std::{
+ fs,
+ sync::atomic::{AtomicUsize, Ordering},
+ };
use crate::connection::Connection;
+ static NEXT_NAMED_MEMORY_DB_ID: AtomicUsize = AtomicUsize::new(0);
+
+ fn unique_named_memory_db(prefix: &str) -> String {
+ format!(
+ "{prefix}_{}_{}",
+ std::process::id(),
+ NEXT_NAMED_MEMORY_DB_ID.fetch_add(1, Ordering::Relaxed)
+ )
+ }
+
+ fn literal_named_memory_paths(name: &str) -> [String; 3] {
+ let main = format!("file:{name}?mode=memory&cache=shared");
+ [main.clone(), format!("{main}-wal"), format!("{main}-shm")]
+ }
+
+ struct NamedMemoryPathGuard {
+ paths: [String; 3],
+ }
+
+ impl NamedMemoryPathGuard {
+ fn new(name: &str) -> Self {
+ let paths = literal_named_memory_paths(name);
+ for path in &paths {
+ let _ = fs::remove_file(path);
+ }
+ Self { paths }
+ }
+ }
+
+ impl Drop for NamedMemoryPathGuard {
+ fn drop(&mut self) {
+ for path in &self.paths {
+ let _ = fs::remove_file(path);
+ }
+ }
+ }
+
#[test]
fn string_round_trips() -> Result<()> {
let connection = Connection::open_memory(Some("string_round_trips"));
@@ -382,6 +437,41 @@ mod test {
assert_eq!(read_blobs, vec![blob]);
}
+ #[test]
+ fn named_memory_connections_do_not_create_literal_backing_files() {
+ let name = unique_named_memory_db("named_memory_connections_do_not_create_backing_files");
+ let guard = NamedMemoryPathGuard::new(&name);
+
+ let connection1 = Connection::open_memory(Some(&name));
+ connection1
+ .exec(indoc! {"
+ CREATE TABLE shared (
+ value INTEGER
+ )"})
+ .unwrap()()
+ .unwrap();
+ connection1
+ .exec("INSERT INTO shared (value) VALUES (7)")
+ .unwrap()()
+ .unwrap();
+
+ let connection2 = Connection::open_memory(Some(&name));
+ assert_eq!(
+ connection2
+ .select_row::<i64>("SELECT value FROM shared")
+ .unwrap()()
+ .unwrap(),
+ Some(7)
+ );
+
+ for path in &guard.paths {
+ assert!(
+ fs::metadata(path).is_err(),
+ "named in-memory database unexpectedly created backing file {path}"
+ );
+ }
+ }
+
#[test]
fn multi_step_statement_works() {
let connection = Connection::open_memory(Some("multi_step_statement_works"));
diff --git a/crates/sqlez/src/thread_safe_connection.rs b/crates/sqlez/src/thread_safe_connection.rs
index 966f14a9c2..9d868fcba4 100644
--- a/crates/sqlez/src/thread_safe_connection.rs
+++ b/crates/sqlez/src/thread_safe_connection.rs
@@ -7,12 +7,15 @@ use std::{
ops::Deref,
sync::{Arc, LazyLock},
thread,
+ time::Duration,
};
use thread_local::ThreadLocal;
use crate::{connection::Connection, domain::Migrator, util::UnboundedSyncSender};
const MIGRATION_RETRIES: usize = 10;
+const CONNECTION_INITIALIZE_RETRIES: usize = 50;
+const CONNECTION_INITIALIZE_RETRY_DELAY: Duration = Duration::from_millis(1);
type QueuedWrite = Box<dyn 'static + Send + FnOnce()>;
type WriteQueue = Box<dyn 'static + Send + Sync + Fn(QueuedWrite)>;
@@ -197,21 +200,50 @@ impl ThreadSafeConnection {
Self::open_shared_memory(uri)
};
+ if let Some(initialize_query) = connection_initialize_query {
+ let mut last_error = None;
+ let initialized = (0..CONNECTION_INITIALIZE_RETRIES).any(|attempt| {
+ match connection.exec(initialize_query).and_then(|mut statement| statement()) {
+ Ok(()) => true,
+ Err(err)
+ if is_schema_lock_error(&err)
+ && attempt + 1 < CONNECTION_INITIALIZE_RETRIES =>
+ {
+ last_error = Some(err);
+ thread::sleep(CONNECTION_INITIALIZE_RETRY_DELAY);
+ false
+ }
+ Err(err) => {
+ panic!(
+ "Initialize query failed to execute: {}\n\nCaused by:\n{err:#}",
+ initialize_query
+ )
+ }
+ }
+ });
+
+ if !initialized {
+ let err = last_error.expect("connection initialization retries should record the last error");
+ panic!(
+ "Initialize query failed to execute after retries: {}\n\nCaused by:\n{err:#}",
+ initialize_query
+ );
+ }
+ }
+
// Disallow writes on the connection. The only writes allowed for thread safe connections
// are from the background thread that can serialize them.
*connection.write.get_mut() = false;
- if let Some(initialize_query) = connection_initialize_query {
- connection.exec(initialize_query).unwrap_or_else(|_| {
- panic!("Initialize query failed to execute: {}", initialize_query)
- })()
- .unwrap()
- }
-
connection
}
}
+fn is_schema_lock_error(err: &anyhow::Error) -> bool {
+ let message = format!("{err:#}");
+ message.contains("database schema is locked") || message.contains("database is locked")
+}
+
impl ThreadSafeConnection {
/// Special constructor for ThreadSafeConnection which disallows db initialization and migrations.
/// This allows construction to be infallible and not write to the db.
@@ -282,7 +314,7 @@ mod test {
use indoc::indoc;
use std::ops::Deref;
- use std::thread;
+ use std::{thread, time::Duration};
use crate::{domain::Domain, thread_safe_connection::ThreadSafeConnection};
@@ -318,38 +350,21 @@ mod test {
}
#[test]
- #[should_panic]
- fn wild_zed_lost_failure() {
- enum TestWorkspace {}
- impl Domain for TestWorkspace {
- const NAME: &str = "workspace";
-
- const MIGRATIONS: &[&str] = &["
- CREATE TABLE workspaces(
- workspace_id INTEGER PRIMARY KEY,
- dock_visible INTEGER, -- Boolean
- dock_anchor TEXT, -- Enum: 'Bottom' / 'Right' / 'Expanded'
- dock_pane INTEGER, -- NULL indicates that we don't have a dock pane yet
- timestamp TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL,
- FOREIGN KEY(dock_pane) REFERENCES panes(pane_id),
- FOREIGN KEY(active_pane) REFERENCES panes(pane_id)
- ) STRICT;
-
- CREATE TABLE panes(
- pane_id INTEGER PRIMARY KEY,
- workspace_id INTEGER NOT NULL,
- active INTEGER NOT NULL, -- Boolean
- FOREIGN KEY(workspace_id) REFERENCES workspaces(workspace_id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
- ) STRICT;
- "];
- }
+ fn connection_initialize_query_retries_transient_schema_lock() {
+ let name = "connection_initialize_query_retries_transient_schema_lock";
+ let locking_connection = crate::connection::Connection::open_memory(Some(name));
+ locking_connection.exec("BEGIN IMMEDIATE").unwrap()().unwrap();
+ locking_connection
+ .exec("CREATE TABLE test(col TEXT)")
+ .unwrap()()
+ .unwrap();
- let builder =
- ThreadSafeConnection::builder::<TestWorkspace>("wild_zed_lost_failure", false)
- .with_connection_initialize_query("PRAGMA FOREIGN_KEYS=true");
+ let releaser = thread::spawn(move || {
+ thread::sleep(Duration::from_millis(10));
+ locking_connection.exec("ROLLBACK").unwrap()().unwrap();
+ });
- smol::block_on(builder.build()).unwrap();
+ ThreadSafeConnection::create_connection(false, name, Some("PRAGMA FOREIGN_KEYS=true"));
+ releaser.join().unwrap();
}
}
@@ -0,0 +1,328 @@
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Fri, 6 Mar 2026 21:22:41 +0000
Subject: [PATCH] db: Scope default test databases to the current test
License: expat
In test builds, the default database statics use fixed names such as
`DB` and `KEY_VALUE_STORE`. That makes unrelated tests in the same test
binary share the same named in-memory databases, which leaks state
across tests and makes failures depend on execution order and
concurrency.
A first attempt at isolating those statics by thread is not sufficient:
one test can legitimately use multiple threads, and splitting the test's
workspace state across separate databases breaks parent-child foreign key
relationships.
Fix this by scoping the default test databases by the current test name
instead. The `gpui::test` harness now installs the current test name on
the executing thread, the test dispatcher propagates that scope to its
realtime worker threads, and the default test statics resolve one shared
database wrapper per test scope rather than per thread.
That keeps sharing within a single test where it is intentional, while
stopping hidden cross-test state leakage.
diff --git a/crates/db/src/db.rs b/crates/db/src/db.rs
index 36f0365af9..3ff8499c1d 100644
--- a/crates/db/src/db.rs
+++ b/crates/db/src/db.rs
@@ -19,6 +19,12 @@ use std::future::Future;
use std::path::Path;
use std::sync::atomic::AtomicBool;
use std::sync::{LazyLock, atomic::Ordering};
+#[cfg(any(test, feature = "test-support"))]
+use std::collections::HashMap;
+#[cfg(any(test, feature = "test-support"))]
+use std::sync::Mutex;
+#[cfg(any(test, feature = "test-support"))]
+use std::{borrow::Cow, ops::Deref};
use util::{ResultExt, maybe};
use zed_env_vars::ZED_STATELESS;
@@ -97,7 +103,8 @@ async fn open_fallback_db<M: Migrator>() -> ThreadSafeConnection {
pub async fn open_test_db<M: Migrator>(db_name: &str) -> ThreadSafeConnection {
use sqlez::thread_safe_connection::locking_queue;
- ThreadSafeConnection::builder::<M>(db_name, false)
+ let db_name = scoped_test_db_name(db_name);
+ ThreadSafeConnection::builder::<M>(&db_name, false)
.with_db_initialization_query(DB_INITIALIZE_QUERY)
.with_connection_initialize_query(CONNECTION_INITIALIZE_QUERY)
// Serialize queued writes via a mutex and run them synchronously
@@ -107,6 +114,69 @@ pub async fn open_test_db<M: Migrator>(db_name: &str) -> ThreadSafeConnection {
.unwrap()
}
+#[cfg(any(test, feature = "test-support"))]
+fn scoped_test_db_name(db_name: &str) -> Cow<'_, str> {
+ let Some(test_name) = current_test_scope_name() else {
+ return Cow::Borrowed(db_name);
+ };
+
+ let mut scoped_name = String::with_capacity(db_name.len() + test_name.len() + 2);
+ scoped_name.push_str(db_name);
+ scoped_name.push('@');
+ for ch in test_name.chars() {
+ if ch.is_ascii_alphanumeric() || matches!(ch, '-' | '_' | '.') {
+ scoped_name.push(ch);
+ } else {
+ scoped_name.push('_');
+ }
+ }
+
+ Cow::Owned(scoped_name)
+}
+
+#[cfg(any(test, feature = "test-support"))]
+fn current_test_scope_name() -> Option<String> {
+ if let Some(test_name) = gpui::current_test_name() {
+ return Some(test_name.to_string());
+ }
+
+ let current_thread = std::thread::current();
+ if let Some(test_name) = current_thread.name() {
+ return Some(test_name.to_string());
+ }
+
+ Some(format!("thread_{:?}", current_thread.id()))
+}
+
+#[cfg(any(test, feature = "test-support"))]
+pub struct TestScopedStatic<T: Send + Sync + 'static> {
+ initializer: fn() -> T,
+ values: Mutex<HashMap<String, &'static T>>,
+}
+
+#[cfg(any(test, feature = "test-support"))]
+impl<T: Send + Sync + 'static> TestScopedStatic<T> {
+ pub fn new(initializer: fn() -> T) -> Self {
+ Self {
+ initializer,
+ values: Mutex::new(HashMap::new()),
+ }
+ }
+}
+
+#[cfg(any(test, feature = "test-support"))]
+impl<T: Send + Sync + 'static> Deref for TestScopedStatic<T> {
+ type Target = T;
+
+ fn deref(&self) -> &Self::Target {
+ let scope_name = current_test_scope_name().unwrap_or_else(|| "default".to_string());
+ let mut values = self.values.lock().unwrap();
+ *values
+ .entry(scope_name)
+ .or_insert_with(|| Box::leak(Box::new((self.initializer)())))
+ }
+}
+
/// Implements a basic DB wrapper for a given domain
///
/// Arguments:
@@ -126,16 +196,23 @@ macro_rules! static_connection {
impl $t {
#[cfg(any(test, feature = "test-support"))]
- pub async fn open_test_db(name: &'static str) -> Self {
+ pub async fn open_test_db(name: &str) -> Self {
$t($crate::open_test_db::<$t>(name).await)
}
}
#[cfg(any(test, feature = "test-support"))]
- pub static $id: std::sync::LazyLock<$t> = std::sync::LazyLock::new(|| {
- #[allow(unused_parens)]
- $t($crate::smol::block_on($crate::open_test_db::<($($d,)* $t)>(stringify!($id))))
- });
+ pub static $id: std::sync::LazyLock<$crate::TestScopedStatic<$t>> =
+ std::sync::LazyLock::new(|| {
+ fn initializer() -> $t {
+ #[allow(unused_parens)]
+ $t($crate::smol::block_on(
+ $crate::open_test_db::<($($d,)* $t)>(stringify!($id))
+ ))
+ }
+
+ $crate::TestScopedStatic::new(initializer)
+ });
#[cfg(not(any(test, feature = "test-support")))]
pub static $id: std::sync::LazyLock<$t> = std::sync::LazyLock::new(|| {
@@ -161,9 +238,10 @@ where
#[cfg(test)]
mod tests {
+ use anyhow::Result;
use std::thread;
- use sqlez::domain::Domain;
+ use sqlez::{domain::Domain, thread_safe_connection::ThreadSafeConnection};
use sqlez_macros::sql;
use crate::open_db;
@@ -295,4 +373,64 @@ mod tests {
assert!(guard.join().is_ok());
}
}
+
+ pub struct ScopedStaticDb(ThreadSafeConnection);
+
+ impl Domain for ScopedStaticDb {
+ const NAME: &str = "test_scoped_static_db";
+ const MIGRATIONS: &[&str] = &[sql!(
+ CREATE TABLE IF NOT EXISTS scoped_values(
+ value INTEGER NOT NULL
+ ) STRICT;
+ )];
+ }
+
+ crate::static_connection!(SCOPED_STATIC_DB, ScopedStaticDb, []);
+
+ impl ScopedStaticDb {
+ fn replace_value(&self, value: i64) -> Result<()> {
+ smol::block_on(self.write(move |connection| {
+ connection.exec("DELETE FROM scoped_values")?()?;
+ connection
+ .exec_bound("INSERT INTO scoped_values(value) VALUES (?)")
+ ?(value)?;
+ anyhow::Ok(())
+ }))
+ }
+
+ fn read_value(&self) -> Result<Option<i64>> {
+ self.select_row::<i64>("SELECT value FROM scoped_values").unwrap()()
+ }
+ }
+
+ #[test]
+ fn static_test_connections_are_scoped_by_test_name() {
+ gpui::with_test_name(Some("static_test_connections_are_scoped_by_test_name_a"), || {
+ assert_eq!(SCOPED_STATIC_DB.read_value().unwrap(), None);
+ SCOPED_STATIC_DB.replace_value(7).unwrap();
+ assert_eq!(SCOPED_STATIC_DB.read_value().unwrap(), Some(7));
+ });
+
+ gpui::with_test_name(Some("static_test_connections_are_scoped_by_test_name_b"), || {
+ assert_eq!(SCOPED_STATIC_DB.read_value().unwrap(), None);
+ SCOPED_STATIC_DB.replace_value(11).unwrap();
+ assert_eq!(SCOPED_STATIC_DB.read_value().unwrap(), Some(11));
+ });
+ }
+
+ #[test]
+ fn static_test_connections_share_state_across_threads_with_same_test_name() {
+ gpui::with_test_name(
+ Some("static_test_connections_share_state_across_threads_with_same_test_name"),
+ || {
+ SCOPED_STATIC_DB.replace_value(13).unwrap();
+
+ let test_name = gpui::current_test_name();
+ let thread = std::thread::spawn(move || {
+ gpui::with_test_name(test_name, || SCOPED_STATIC_DB.read_value().unwrap())
+ });
+ assert_eq!(thread.join().unwrap(), Some(13));
+ },
+ );
+ }
}
diff --git a/crates/gpui/src/platform/test/dispatcher.rs b/crates/gpui/src/platform/test/dispatcher.rs
index fc3f7f253a..0d98b082ca 100644
--- a/crates/gpui/src/platform/test/dispatcher.rs
+++ b/crates/gpui/src/platform/test/dispatcher.rs
@@ -136,8 +136,9 @@ impl PlatformDispatcher for TestDispatcher {
}
fn spawn_realtime(&self, f: Box<dyn FnOnce() + Send>) {
+ let test_name = crate::current_test_name();
std::thread::spawn(move || {
- f();
+ crate::with_test_name(test_name, f);
});
}
}
diff --git a/crates/gpui/src/test.rs b/crates/gpui/src/test.rs
index 9f8fd8b198..469affdc1c 100644
--- a/crates/gpui/src/test.rs
+++ b/crates/gpui/src/test.rs
@@ -29,11 +29,44 @@ use crate::{Entity, Subscription, TestAppContext, TestDispatcher};
use futures::StreamExt as _;
use smol::channel;
use std::{
+ cell::Cell,
env,
panic::{self, RefUnwindSafe},
pin::Pin,
};
+thread_local! {
+ static CURRENT_TEST_NAME: Cell<Option<&'static str>> = const { Cell::new(None) };
+}
+
+/// Returns the test name currently associated with this thread, if any.
+pub fn current_test_name() -> Option<&'static str> {
+ CURRENT_TEST_NAME.with(Cell::get)
+}
+
+/// Runs the closure with the given test name installed for the current thread.
+pub fn with_test_name<R>(name: Option<&'static str>, f: impl FnOnce() -> R) -> R {
+ CURRENT_TEST_NAME.with(|current_name| {
+ struct RestoreTestName<'a> {
+ current_name: &'a Cell<Option<&'static str>>,
+ previous_name: Option<&'static str>,
+ }
+
+ impl Drop for RestoreTestName<'_> {
+ fn drop(&mut self) {
+ self.current_name.set(self.previous_name);
+ }
+ }
+
+ let previous_name = current_name.replace(name);
+ let _restore = RestoreTestName {
+ current_name,
+ previous_name,
+ };
+ f()
+ })
+}
+
/// Run the given test function with the configured parameters.
/// This is intended for use with the `gpui::test` macro
/// and generally should not be used directly.
diff --git a/crates/gpui_macros/src/test.rs b/crates/gpui_macros/src/test.rs
index 490ea07fee..3abcaad3ae 100644
--- a/crates/gpui_macros/src/test.rs
+++ b/crates/gpui_macros/src/test.rs
@@ -191,10 +191,12 @@ fn generate_test_function(
&[#seeds],
#max_retries,
&mut |dispatcher, _seed| {
- let foreground_executor = gpui::ForegroundExecutor::new(std::sync::Arc::new(dispatcher.clone()));
- #cx_vars
- foreground_executor.block_test(#inner_fn_name(#inner_fn_args));
- #cx_teardowns
+ gpui::with_test_name(Some(stringify!(#outer_fn_name)), || {
+ let foreground_executor = gpui::ForegroundExecutor::new(std::sync::Arc::new(dispatcher.clone()));
+ #cx_vars
+ foreground_executor.block_test(#inner_fn_name(#inner_fn_args));
+ #cx_teardowns
+ })
},
#on_failure_fn_name
);
@@ -274,9 +276,11 @@ fn generate_test_function(
&[#seeds],
#max_retries,
&mut |dispatcher, _seed| {
- #cx_vars
- #inner_fn_name(#inner_fn_args);
- #cx_teardowns
+ gpui::with_test_name(Some(stringify!(#outer_fn_name)), || {
+ #cx_vars
+ #inner_fn_name(#inner_fn_args);
+ #cx_teardowns
+ })
},
#on_failure_fn_name,
);
@@ -0,0 +1,310 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Fix workspace persistence races during restoration.
Date: 2026-03-01
License: expat
In 0.225.10, workspace persistence has three separate ordering problems.
First, newly allocated workspace IDs could be used for item persistence before a
parent row had been inserted into the workspaces table. That made editor
persistence race with workspace creation and could fail with a foreign key
constraint error.
Second, workspace layout persistence and per-item persistence run on separate
asynchronous paths. That allowed the workspace layout to be saved with item IDs
before the background item-serialization worker had finished writing the
corresponding per-item rows. On restore, deserializers that require persisted
item state could then fail with "No entry in database for item_id ...", which
could drop restored state and break restoration features that depend on that
persisted item state, including edited-window restoration.
Third, restore-side cleanup assumed that deserialized items had already been
saved under their new runtime item IDs after being added to panes. In reality,
adding a deserialized item only enqueues that serialization work. Cleanup could
therefore delete the old persisted rows before the new rows existed, leaving the
next reopen with a pane/item layout that still referenced state that had just
been deleted.
This change fixes all three issues:
- eagerly create the parent workspaces row as soon as a new workspace ID is
allocated, before any item serializer can write child rows
- keep item persistence on the existing serialization queue, but add an
ordering barrier before saving workspace layout so the layout is never
published ahead of the item state it references
- during restore, wait for the queued serialization of newly added
deserialized items before cleaning up stale persisted item IDs, and skip
that cleanup pass if the barrier cannot be established or awaited so stale
rows are kept rather than deleting still-needed state
See also <https://github.com/zed-industries/zed/pull/50873>.
diff --git a/crates/workspace/src/persistence.rs b/crates/workspace/src/persistence.rs
index e0ad046e8d..aeb4c3ba39 100644
--- a/crates/workspace/src/persistence.rs
+++ b/crates/workspace/src/persistence.rs
@@ -2124,6 +2124,13 @@ impl WorkspaceDb {
}
}
+ query! {
+ pub(crate) async fn ensure_workspace_row(workspace_id: WorkspaceId) -> Result<()> {
+ INSERT OR IGNORE INTO workspaces(workspace_id)
+ VALUES (?1)
+ }
+ }
+
query! {
pub(crate) async fn set_window_open_status(workspace_id: WorkspaceId, bounds: SerializedWindowBounds, display: Uuid) -> Result<()> {
UPDATE workspaces
diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs
index 4141952cc7..3ea631ed6f 100644
--- a/crates/workspace/src/workspace.rs
+++ b/crates/workspace/src/workspace.rs
@@ -1175,6 +1175,11 @@ enum WorkspaceLocation {
None,
}
+enum SerializableItemMessage {
+ Item(Box<dyn SerializableItemHandle>),
+ Barrier(oneshot::Sender<()>),
+}
+
type PromptForNewPath = Box<
dyn Fn(
&mut Workspace,
@@ -1253,7 +1258,7 @@ pub struct Workspace {
on_prompt_for_open_path: Option<PromptForOpenPath>,
terminal_provider: Option<Box<dyn TerminalProvider>>,
debugger_provider: Option<Arc<dyn DebuggerProvider>>,
- serializable_items_tx: UnboundedSender<Box<dyn SerializableItemHandle>>,
+ serializable_items_tx: UnboundedSender<SerializableItemMessage>,
_items_serializer: Task<Result<()>>,
session_id: Option<String>,
scheduled_tasks: Vec<Task<()>>,
@@ -1554,7 +1559,7 @@ impl Workspace {
}
let (serializable_items_tx, serializable_items_rx) =
- mpsc::unbounded::<Box<dyn SerializableItemHandle>>();
+ mpsc::unbounded::<SerializableItemMessage>();
let _items_serializer = cx.spawn_in(window, async move |this, cx| {
Self::serialize_items(&this, serializable_items_rx, cx).await
});
@@ -1759,6 +1764,7 @@ impl Workspace {
} else {
DB.next_id().await.unwrap_or_else(|_| Default::default())
};
+ DB.ensure_workspace_row(workspace_id).await?;
let toolchains = DB.toolchains(workspace_id).await?;
@@ -6036,8 +6042,16 @@ impl Workspace {
window_id: Some(window.window_handle().window_id().as_u64()),
user_toolchains,
};
+ let item_serialization_barrier = self.item_serialization_barrier();
window.spawn(cx, async move |_| {
+ let Some(item_serialization_barrier) = item_serialization_barrier.log_err()
+ else {
+ return;
+ };
+ if item_serialization_barrier.await.log_err().is_none() {
+ return;
+ }
persistence::DB.save_workspace(serialized_workspace).await;
})
}
@@ -6108,31 +6122,49 @@ impl Workspace {
async fn serialize_items(
this: &WeakEntity<Self>,
- items_rx: UnboundedReceiver<Box<dyn SerializableItemHandle>>,
+ mut items_rx: UnboundedReceiver<SerializableItemMessage>,
cx: &mut AsyncWindowContext,
) -> Result<()> {
const CHUNK_SIZE: usize = 200;
- let mut serializable_items = items_rx.ready_chunks(CHUNK_SIZE);
+ while let Some(message) = items_rx.next().await {
+ let mut unique_items = HashMap::default();
+ let mut barrier = None;
+ let mut channel_closed = false;
- while let Some(items_received) = serializable_items.next().await {
- let unique_items =
- items_received
- .into_iter()
- .fold(HashMap::default(), |mut acc, item| {
- acc.entry(item.item_id()).or_insert(item);
- acc
- });
+ Self::push_serializable_item_message(message, &mut unique_items, &mut barrier);
- // We use into_iter() here so that the references to the items are moved into
- // the tasks and not kept alive while we're sleeping.
- for (_, item) in unique_items.into_iter() {
- if let Ok(Some(task)) = this.update_in(cx, |workspace, window, cx| {
- item.serialize(workspace, false, window, cx)
- }) {
- cx.background_spawn(async move { task.await.log_err() })
- .detach();
+ while barrier.is_none() && unique_items.len() < CHUNK_SIZE {
+ match items_rx.try_next() {
+ Ok(Some(message)) => {
+ Self::push_serializable_item_message(
+ message,
+ &mut unique_items,
+ &mut barrier,
+ );
+ }
+ Ok(None) => {
+ channel_closed = true;
+ break;
+ }
+ Err(_) => break,
+ }
+ }
+
+ let batch_succeeded = Self::serialize_item_batch(this, unique_items, cx)
+ .await
+ .log_err()
+ .is_some();
+
+ if let Some(barrier) = barrier {
+ if batch_succeeded {
+ let _ = barrier.send(());
}
+ continue;
+ }
+
+ if channel_closed {
+ break;
}
cx.background_executor()
@@ -6143,12 +6175,54 @@ impl Workspace {
Ok(())
}
+ fn push_serializable_item_message(
+ message: SerializableItemMessage,
+ unique_items: &mut HashMap<EntityId, Box<dyn SerializableItemHandle>>,
+ barrier: &mut Option<oneshot::Sender<()>>,
+ ) {
+ match message {
+ SerializableItemMessage::Item(item) => {
+ unique_items.entry(item.item_id()).or_insert(item);
+ }
+ SerializableItemMessage::Barrier(sender) => {
+ *barrier = Some(sender);
+ }
+ }
+ }
+
+ async fn serialize_item_batch(
+ this: &WeakEntity<Self>,
+ unique_items: HashMap<EntityId, Box<dyn SerializableItemHandle>>,
+ cx: &mut AsyncWindowContext,
+ ) -> Result<()> {
+ let serialize_tasks = match this.update_in(cx, move |workspace, window, cx| {
+ unique_items
+ .into_values()
+ .filter_map(|item| item.serialize(workspace, false, window, cx))
+ .collect::<Vec<_>>()
+ }) {
+ Ok(serialize_tasks) => serialize_tasks,
+ Err(_) => return Ok(()),
+ };
+
+ try_join_all(serialize_tasks).await?;
+ Ok(())
+ }
+
+ fn item_serialization_barrier(&self) -> Result<oneshot::Receiver<()>> {
+ let (sender, receiver) = oneshot::channel();
+ self.serializable_items_tx
+ .unbounded_send(SerializableItemMessage::Barrier(sender))
+ .map_err(|err| anyhow!("failed to send item serialization barrier: {err}"))?;
+ Ok(receiver)
+ }
+
pub(crate) fn enqueue_item_serialization(
&mut self,
item: Box<dyn SerializableItemHandle>,
) -> Result<()> {
self.serializable_items_tx
- .unbounded_send(item)
+ .unbounded_send(SerializableItemMessage::Item(item))
.map_err(|err| anyhow!("failed to send serializable item over channel: {err}"))
}
@@ -6252,24 +6326,42 @@ impl Workspace {
// after loading the items, we might have different items and in order to avoid
// the database filling up, we delete items that haven't been loaded now.
//
- // The items that have been loaded, have been saved after they've been added to the workspace.
- let clean_up_tasks = workspace.update_in(cx, |_, window, cx| {
- item_ids_by_kind
- .into_iter()
- .map(|(item_kind, loaded_items)| {
- SerializableItemRegistry::cleanup(
- item_kind,
- serialized_workspace.id,
- loaded_items,
- window,
- cx,
- )
- .log_err()
- })
- .collect::<Vec<_>>()
- })?;
+ // Newly deserialized items only enqueue serialization when they are added to their panes.
+ // Wait for that queued work to finish before deleting the old persisted item ids.
+ let item_serialization_barrier = workspace
+ .update_in(cx, |workspace, _, _| {
+ workspace.item_serialization_barrier().log_err()
+ })
+ .log_err()
+ .flatten();
+
+ let item_serialization_flushed = if let Some(item_serialization_barrier) =
+ item_serialization_barrier
+ {
+ item_serialization_barrier.await.log_err().is_some()
+ } else {
+ false
+ };
- futures::future::join_all(clean_up_tasks).await;
+ if item_serialization_flushed {
+ let clean_up_tasks = workspace.update_in(cx, |_, window, cx| {
+ item_ids_by_kind
+ .into_iter()
+ .map(|(item_kind, loaded_items)| {
+ SerializableItemRegistry::cleanup(
+ item_kind,
+ serialized_workspace.id,
+ loaded_items,
+ window,
+ cx,
+ )
+ .log_err()
+ })
+ .collect::<Vec<_>>()
+ })?;
+
+ futures::future::join_all(clean_up_tasks).await;
+ }
workspace
.update_in(cx, |workspace, window, cx| {
@@ -9001,6 +9093,7 @@ fn deserialize_remote_project(
} else {
persistence::DB.next_id().await?
};
+ persistence::DB.ensure_workspace_row(workspace_id).await?;
Ok((workspace_id, serialized_workspace))
})
@@ -0,0 +1,163 @@
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Fri, 6 Mar 2026 20:20:00 +0000
Subject: [PATCH] workspace: Keep local workspaces whose roots are only regular files
License: expat
Zed persists local workspaces for standalone regular files as well as
directory-backed projects. Recent-workspace cleanup and last-session
restoration were using a helper that only kept local workspaces if all
saved paths existed and at least one of them was a directory.
That made local workspaces whose roots were only regular files look
invalid. A background recent-workspaces pass could then delete the
workspace row, which in turn cascaded to item-specific state such as
editors. In the window edited-state restore test, reopening a
standalone regular file could therefore fail because the saved editor
row had been deleted by that cleanup path.
Fix this by treating a local workspace as valid whenever all of its
saved paths still exist, whether those paths are directories or
regular files. Apply the same rule to last-session workspace
restoration, and add regression coverage for both code paths.
diff --git a/crates/workspace/src/persistence.rs b/crates/workspace/src/persistence.rs
--- a/crates/workspace/src/persistence.rs
+++ b/crates/workspace/src/persistence.rs
@@ -1783,19 +1783,13 @@ impl WorkspaceDb {
}
}
- async fn all_paths_exist_with_a_directory(paths: &[PathBuf], fs: &dyn Fs) -> bool {
- let mut any_dir = false;
+ async fn all_paths_exist(paths: &[PathBuf], fs: &dyn Fs) -> bool {
for path in paths {
- match fs.metadata(path).await.ok().flatten() {
- None => return false,
- Some(meta) => {
- if meta.is_dir {
- any_dir = true;
- }
- }
+ if fs.metadata(path).await.ok().flatten().is_none() {
+ return false;
}
}
- any_dir
+ true
}
// Returns the recent locations which are still valid on disk and deletes ones which no longer
@@ -1843,7 +1837,11 @@ impl WorkspaceDb {
// If a local workspace points to WSL, this check will cause us to wait for the
// WSL VM and file server to boot up. This can block for many seconds.
// Supported scenarios use remote workspaces.
- if !has_wsl_path && Self::all_paths_exist_with_a_directory(paths.paths(), fs).await {
+ //
+ // Local workspaces may legitimately contain only regular files (for example, a
+ // standalone file opened outside any worktree). Those should be preserved as
+ // long as all of their saved paths still exist.
+ if !has_wsl_path && Self::all_paths_exist(paths.paths(), fs).await {
result.push((id, SerializedWorkspaceLocation::Local, paths, timestamp));
} else {
delete_tasks.push(self.delete_workspace_by_id(id));
@@ -1903,7 +1901,7 @@ impl WorkspaceDb {
window_id,
});
} else {
- if Self::all_paths_exist_with_a_directory(paths.paths(), fs).await {
+ if Self::all_paths_exist(paths.paths(), fs).await {
workspaces.push(SessionWorkspace {
workspace_id,
location: SerializedWorkspaceLocation::Local,
@@ -3425,6 +3423,91 @@ mod tests {
);
}
+ #[gpui::test]
+ async fn test_recent_workspaces_on_disk_keeps_regular_file_only_workspace(
+ cx: &mut gpui::TestAppContext,
+ ) {
+ let dir = tempfile::TempDir::with_prefix("regular-file-workspace").unwrap();
+ let regular_file = dir.path().join("a");
+
+ let fs = fs::FakeFs::new(cx.executor());
+ fs.insert_tree(dir.path(), json!({"a": "hey"})).await;
+
+ let db = WorkspaceDb::open_test_db("test_recent_workspaces_keeps_regular_file_only")
+ .await;
+ let workspace = SerializedWorkspace {
+ id: WorkspaceId(1),
+ paths: PathList::new(&[regular_file.clone()]),
+ location: SerializedWorkspaceLocation::Local,
+ center_group: Default::default(),
+ window_bounds: Default::default(),
+ display: Default::default(),
+ docks: Default::default(),
+ centered_layout: false,
+ breakpoints: Default::default(),
+ session_id: None,
+ window_id: Some(1),
+ user_toolchains: Default::default(),
+ };
+
+ db.save_workspace(workspace.clone()).await;
+
+ let recent = db.recent_workspaces_on_disk(fs.as_ref()).await.unwrap();
+ assert_eq!(
+ recent,
+ vec![(
+ workspace.id,
+ SerializedWorkspaceLocation::Local,
+ workspace.paths.clone(),
+ recent[0].3,
+ )]
+ );
+ assert_eq!(db.workspace_for_roots(&[regular_file]).unwrap().id, workspace.id);
+ }
+
+ #[gpui::test]
+ async fn test_last_session_workspace_locations_keeps_regular_file_only_workspace(
+ cx: &mut gpui::TestAppContext,
+ ) {
+ let dir = tempfile::TempDir::with_prefix("regular-file-workspace-session").unwrap();
+ let regular_file = dir.path().join("a");
+
+ let fs = fs::FakeFs::new(cx.executor());
+ fs.insert_tree(dir.path(), json!({"a": "hey"})).await;
+
+ let db = WorkspaceDb::open_test_db("test_last_session_keeps_regular_file_only").await;
+ let workspace = SerializedWorkspace {
+ id: WorkspaceId(1),
+ paths: PathList::new(&[regular_file.clone()]),
+ location: SerializedWorkspaceLocation::Local,
+ center_group: Default::default(),
+ window_bounds: Default::default(),
+ display: Default::default(),
+ docks: Default::default(),
+ centered_layout: false,
+ breakpoints: Default::default(),
+ session_id: Some("one-session".to_owned()),
+ window_id: Some(7),
+ user_toolchains: Default::default(),
+ };
+
+ db.save_workspace(workspace.clone()).await;
+
+ let locations = db
+ .last_session_workspace_locations("one-session", None, fs.as_ref())
+ .await
+ .unwrap();
+ assert_eq!(
+ locations,
+ vec![SessionWorkspace {
+ workspace_id: workspace.id,
+ location: SerializedWorkspaceLocation::Local,
+ paths: workspace.paths,
+ window_id: Some(WindowId::from(7u64)),
+ }]
+ );
+ }
+
#[gpui::test]
async fn test_get_or_create_ssh_project() {
let db = WorkspaceDb::open_test_db("test_get_or_create_ssh_project").await;
@@ -0,0 +1,24 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Remove the [patch.crates-io] section from Cargo.toml.
Date: 2026-03-01
License: expat
These overrides redirect crates-io dependencies to git sources, which cannot be
fetched in an offline build. With vendored sources the overrides are unnecessary.
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -804,13 +804,6 @@
"Win32_Media",
]
-[patch.crates-io]
-async-task = { git = "https://github.com/smol-rs/async-task.git", rev = "b4486cd71e4e94fbda54ce6302444de14f4d190e" }
-notify = { git = "https://github.com/zed-industries/notify.git", rev = "ce58c24cad542c28e04ced02e20325a4ec28a31d" }
-notify-types = { git = "https://github.com/zed-industries/notify.git", rev = "ce58c24cad542c28e04ced02e20325a4ec28a31d" }
-windows-capture = { git = "https://github.com/zed-industries/windows-capture.git", rev = "f0d6c1b6691db75461b732f6d5ff56eed002eeb9" }
-calloop = { git = "https://github.com/zed-industries/calloop" }
-
[profile.dev]
split-debuginfo = "unpacked"
incremental = true
@@ -0,0 +1,75 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Use mock livekit client on Linux to avoid libwebrtc dependency.
Date: 2026-03-01
License: GPL3+
libwebrtc is not packaged in Guix and is difficult to build from source.
Zed already has a mock_client fallback for FreeBSD and Windows-GNU which
lack libwebrtc. Add target_os = "linux" to those cfg conditions so Linux
also uses mock_client, and exclude the libwebrtc/livekit dependencies from
Cargo.toml on Linux. This disables voice/video calls but allows the rest
of Zed to build.
--- a/crates/livekit_client/Cargo.toml 2026-03-01 21:21:38.647599342 +0000
+++ b/crates/livekit_client/Cargo.toml 2026-03-01 21:22:19.846482866 +0000
@@ -44,7 +44,7 @@
ui.workspace = true
util.workspace = true
-[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))'.dependencies]
+[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))'.dependencies]
libwebrtc = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks" }
livekit = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks", features = ["__rustls-tls"] }
--- a/crates/livekit_client/src/lib.rs 2026-03-01 21:21:44.752291052 +0000
+++ b/crates/livekit_client/src/lib.rs 2026-03-01 21:22:37.234363786 +0000
@@ -15,7 +15,8 @@
test,
feature = "test-support",
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd",
+ target_os = "linux"
))
))]
mod livekit_client;
@@ -25,7 +26,8 @@
test,
feature = "test-support",
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd",
+ target_os = "linux"
))
))]
pub use livekit_client::*;
@@ -36,7 +38,8 @@
test,
feature = "test-support",
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd",
+ target_os = "linux"
)
))]
mod mock_client;
@@ -46,7 +49,8 @@
test,
feature = "test-support",
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd",
+ target_os = "linux"
)
))]
pub mod test;
@@ -56,7 +60,8 @@
test,
feature = "test-support",
all(target_os = "windows", target_env = "gnu"),
- target_os = "freebsd"
+ target_os = "freebsd",
+ target_os = "linux"
)
))]
pub use mock_client::*;
+5 -3
View File
@@ -4,7 +4,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2024-2025 jgart <jgart@dismail.de>
;;; Copyright © 2024-2026 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,6 +39,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages game-development)
#:use-module (gnu packages image)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages maths)
@@ -236,7 +237,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.92.21")
(version "2.92.30")
(source
(origin
(method git-fetch)
@@ -245,12 +246,13 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "1i6jn214098181izf74mq2mzmbq3lkbynhvpp6pfc2svf5z489pp"))
(base32 "1vbjv2nf3c2npf349i9y0zknc2g0hizksv0yhgscdpwzvzfp6n9m"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
(list curl
gsl
libedit
libffi
openssl
raylib
+13 -13
View File
@@ -106,28 +106,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages python-web)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
#:use-module (guix build-system copy)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages nss)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages dns)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
@@ -140,6 +128,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
@@ -165,6 +154,17 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system copy)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public python-aiocoap
+33 -97
View File
@@ -197,9 +197,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages python-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
@@ -210,11 +207,10 @@
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages nss)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages c)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
@@ -223,6 +219,7 @@
#:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages dns)
#:use-module (gnu packages documentation)
#:use-module (gnu packages duckdb)
#:use-module (gnu packages elf)
@@ -271,6 +268,7 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
@@ -309,10 +307,10 @@
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
@@ -322,9 +320,11 @@
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix hg-download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
@@ -10497,33 +10497,6 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
errors when data is invalid.")
(license license:expat)))
(define-public python-pydantic-1
(package
(inherit python-pydantic)
(name "python-pydantic")
(version "1.10.19")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/samuelcolvin/pydantic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0swcpfq1y0h5dcj82idls8k5la4xh4c0vz47y7jci2qass8gjffc"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; One test fails with not equal assertion.
#~(list "--deselect=tests/test_validators.py::test_assert_raises_validation_error")))
(native-inputs
(list python-pytest
python-pytest-mock
python-setuptools))
(propagated-inputs
(list python-typing-extensions))))
;; It may be removed after 2026-01-05.
(define-deprecated/public-alias python-pydantic-2 python-pydantic)
@@ -13218,6 +13191,30 @@ and a plugin for Pillow.")
(sha256
(base32 "16mkap63d14f69105b3bm8pi64fvpdznncgn48vhgls0jf977m31"))))))
(define-public python-jxlpy
(package
(name "python-jxlpy")
(version "0.9.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/olokelo/jxlpy")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1d1jrvpyvp8rix8kfmi962hl73mj0f7mib0xzk04va4kzc9p726s"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; no tests, just examples
(inputs (list libjxl))
(propagated-inputs (list python-cython))
(native-inputs (list python-cython python-setuptools))
(home-page "https://github.com/olokelo/jxlpy")
(synopsis "JPEG XL integration in Python")
(description "This package provides Cython-based Python bindings for
libjxl, as well as a pillow plugin.")
(license license:expat)))
(define-public python-pixelmatch
(package
(name "python-pixelmatch")
@@ -21651,26 +21648,6 @@ programming errors.")
into aligned columns.")
(license license:expat)))
(define-public python-chai
(package
(name "python-chai")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "chai" version))
(sha256
(base32 "1k6n6zbgrrs83crp6mr3yqj9zlv40b8rpisyrliwsq7naml2p3gz"))
(patches (search-patches "python-chai-drop-python2.patch"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/agoragames/chai")
(synopsis "Mocking framework for Python")
(description
"Chai provides an api for mocking, stubbing and spying your python
objects, patterned after the Mocha library for Ruby.")
(license license:bsd-3)))
(define-public python-pysol-cards
(package
(name "python-pysol-cards")
@@ -40298,47 +40275,6 @@ e.g. filters, callbacks and errbacks can all be promises.")
(sha256
(base32 "1gj57xqgrg53yfn9ypikgky01hvazxdyl556kwsc7b7avyxm9dbv")))))))
;; XXX: No new release since 2021, no updates on default branch since 2023, no
;; users in Guix; consider to remove if it keeps failing to build.
(define-public python-virtualenv-clone
(package
(name "python-virtualenv-clone")
(version "0.5.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edwardgeorge/virtualenv-clone")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0p0d1y3axvjfnxlgwjx2374gikc8bmc82g0m7yashihbikh7pcxa"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-k" (string-join
;; UnicodeDecodeError: 'utf-8' codec can't decode byte
;; 0xba in position 10: invalid start byte
(list "not test_clone_contents"
;; AssertionError: All versions were skipped.
"test_clone_syspath"
"test_clone_version"
"test_virtualenv_syspath"
"test_virtualenv_versions")
" and not "))))
(native-inputs
(list python-pytest
python-setuptools
python-tomli
python-virtualenv
python-wheel))
(home-page "https://github.com/edwardgeorge/virtualenv-clone")
(synopsis "Clone a non-relocatable virtualenv cleanly")
(description
"Clone non-relocatable virtualenvs without breaking site-packages.")
(license license:expat)))
(define-public python-vncdotool
(package
(name "python-vncdotool")
+11 -11
View File
@@ -24,23 +24,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages rpc)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages dns)
#:use-module (gnu packages flex)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
@@ -50,6 +40,16 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages regex)
#:use-module (gnu packages tls)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
;; XXX: Starting from version 1.47.5, opencensus-proto is required.
+73 -2
View File
@@ -263,6 +263,77 @@ capable of sustaining any number of domain names in a bunch of original
alternative zones.")
(license license:agpl3+)))
(define-public ast-grep
(package
(name "ast-grep")
(version "0.42.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ast-grep/ast-grep")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1h6335dq768vn7gfyhi90j1ljawpsf7wzgqzysgbwrwnk6h67mad"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "fixtures")))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths ''("crates/cli")
#:cargo-test-flags
''("--"
;; These tests require the bundled shared libraries.
"--skip=test::test_load_parser"
"--skip=test::test_register_lang")
#:modules '((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-completions
(lambda* (#:key native-inputs #:allow-other-keys)
(for-each
(match-lambda
((shell . path)
(mkdir-p (in-vicinity #$output (dirname path)))
(let ((binary
(if #$(%current-target-system)
(search-input-file native-inputs "bin/ast-grep")
(in-vicinity #$output "bin/ast-grep"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "completions" shell))))))
'(("bash" . "share/bash-completion/completions/ast-grep")
("elvish" . "share/elvish/lib/ast-grep")
("fish" . "share/fish/vendor_completions.d/ast-grep.fish")
("zsh" . "share/zsh/site-functions/_ast-grep")))))
(add-after 'install 'wrap-sg
(lambda _
;; sg needs ast-grep to be in its PATH.
(wrap-program (in-vicinity #$output "bin/sg")
`("PATH" ":" prefix
(,(dirname (in-vicinity #$output "bin/ast-grep"))))))))))
(native-inputs
(if (%current-target-system)
(list this-package)
'()))
(inputs (cons* bash-minimal (cargo-inputs 'ast-grep)))
(home-page "https://github.com/ast-grep/ast-grep")
(synopsis "CLI tool for code structural search, lint, and rewriting")
(description
"@code{ast-grep} is an abstract syntax tree based tool to search code by
pattern code. Think of it as your old-friend grep, but matching AST nodes
instead of text. Write patterns as if you are writing ordinary code. It will
match all code that has the same syntactical structure. You can use @code{$}
and upper case letters as a wildcard, e.g. @code{$MATCH}, to match any single
AST node. Think of it as regular expression dot @code{.}, except it is not
textual.")
(license license:expat)))
(define-public bat
(package
(name "bat")
@@ -1893,7 +1964,7 @@ JSON viewer and jq filter editor.")
(define-public jujutsu
(package
(name "jujutsu")
(version "0.39.0")
(version "0.40.0")
(source
(origin
(method git-fetch)
@@ -1902,7 +1973,7 @@ JSON viewer and jq filter editor.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
(base32 "0wdl6jqvv3bhdij65gsn0lpycw2qg2i5p1rc2wi42fdhghsfq6iw"))))
(build-system cargo-build-system)
(arguments
(list
+6435 -1444
View File
File diff suppressed because it is too large Load Diff
+551
View File
@@ -59,6 +59,128 @@
(base32
"1yhs9lj9gnzbvimv0y5f1a4my0slbvygkcjjkaxd4wkkyfvfbkxy")))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-alacritty-0.25.1.9d9640d
(hidden-package
(package
(name "rust-alacritty")
(version "0.25.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/alacritty")
(commit "9d9640d4e56d67a09d049f9c0a300aae08d4f61e")))
(file-name
(git-file-name "rust-alacritty" "0.25.1.9d9640d"))
(sha256
(base32 "16g4jdbwdhqihc2x403fdaxf6m9gcj44cm53dyk68b3wl7chh29s"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("alacritty_terminal")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-alacritty-0.25.1.9d9640d))
(home-page "https://github.com/zed-industries/alacritty")
(synopsis "Terminal emulator library")
(description
"This package provides a terminal emulator library.")
(license license:asl2.0))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-candle-0.9.1.724d75e
(hidden-package
(package
(name "rust-candle")
(version "0.9.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/candle")
(commit "724d75eb3deebefe83f2a7381a45d4fac6eda383")))
(file-name
(git-file-name "rust-candle" "0.9.1.724d75e"))
(sha256
(base32 "1n9g84g0ikldw42f0j3ad975vjvx6ildwqh8dw3zi3rps518hx14"))
(patches
(search-patches
"rust-candle-0.9.1-add-candle-onnx-to-workspace.patch"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("candle-core"
"candle-nn"
"candle-onnx")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-candle-0.9.1.724d75e))
(home-page "https://github.com/huggingface/candle")
(synopsis "Minimalist ML framework for Rust")
(description
"This package provides a minimalist ML framework for Rust.")
(license (list license:asl2.0 license:expat)))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-dap-types-0.0.1.1b461b3
(hidden-package
(package
(name "rust-dap-types")
(version "0.0.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/dap-types")
(commit "1b461b310481d01e02b2603c16d7144b926339f8")))
(file-name
(git-file-name "rust-dap-types" "0.0.1.1b461b3"))
(sha256
(base32 "0snc05ia4jvykajavsvyxcyn24s2jxbw7k9wmby23r1aqxf31i0z"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("dap-types")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-dap-types-0.0.1.1b461b3))
(home-page "https://github.com/zed-industries/dap-types")
(synopsis "Rust types for the Debug Adapter Protocol")
(description
"This package provides Rust types for the Debug Adapter Protocol.")
(license (list license:asl2.0 license:expat)))))
(define-public rust-deunicode-1
(hidden-package
(package
@@ -102,6 +224,46 @@
transliterating them. It supports Emoji and Chinese.")
(license license:bsd-3))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-gh-workflow-0.8.0.c9eac0e
(hidden-package
(package
(name "rust-gh-workflow")
(version "0.8.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/gh-workflow")
(commit "c9eac0ed361583e1072860d96776fa52775b82ac")))
(file-name
(git-file-name "rust-gh-workflow" "0.8.0.c9eac0e"))
(sha256
(base32 "172bn9b16f7qj3mn0h8r8bwiiiw2awgqlzj5n6f2gjcgk5nmh1hp"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("gh-workflow-macros"
"gh-workflow")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-gh-workflow-0.8.0.c9eac0e))
(home-page "https://github.com/tailcallhq/gh-workflow")
(synopsis "Type-safe GitHub Actions workflow generation")
(description
"This package provides type-safe GitHub Actions workflow generation.")
(license license:expat))))
(define-public rust-hypher-0.1
(hidden-package
(package
@@ -145,6 +307,191 @@ transliterating them. It supports Emoji and Chinese.")
(description "@code{hypher} is a Rust library for syllabification.")
(license (list license:expat license:asl2.0)))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
;;
;; Only livekit-protocol, livekit-runtime, and livekit-api are
;; packaged. The libwebrtc, webrtc-sys, and livekit crates are
;; disabled on Linux by our zed-use-mock-livekit-on-linux patch
;; (which adds target_os = "linux" to the cfg gate), but their
;; Cargo.toml files must remain for workspace resolution; their
;; source is replaced with empty stubs. The snippet also deletes
;; unused workspace members (livekit-ffi, soxr-sys, yuv-sys,
;; imgproc, examples) and the 1.6 MiB generated livekit.serde.rs
;; (guarded by a nonexistent "serde" feature, so never compiled).
;;
;; TODO: Regenerate livekit-protocol/src/livekit.rs (5650 lines)
;; from the .proto source in the livekit-protocol/protocol
;; submodule (github.com/livekit/protocol) using prost-build and
;; pbjson-build as native-inputs, then delete the shipped copy.
(define-public rust-livekit-0.7.8.5f04705
(hidden-package
(package
(name "rust-livekit")
(version "0.7.8")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/livekit-rust-sdks")
(commit "5f04705ac3f356350ae31534ffbc476abc9ea83d")))
(file-name
(git-file-name "rust-livekit" "0.7.8.5f04705"))
(sha256
(base32 "1irnw9dax0nl8rl7jxdxs5vw6hg166jj4gf1s5cza6igvmrkl6y9"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'(".github" "examples" "imgproc"
"livekit-ffi" "soxr-sys" "yuv-sys"
;; Keep Cargo.toml for workspace resolution
;; but replace source with stubs.
"libwebrtc/src"
"livekit/src"
"webrtc-sys/src"
"webrtc-sys/include"
"webrtc-sys/libwebrtc"))
(for-each (lambda (f)
(mkdir-p (dirname f))
(call-with-output-file f (const #t)))
'("libwebrtc/src/lib.rs"
"livekit/src/lib.rs"
"webrtc-sys/src/lib.rs"))
(delete-file
"livekit-protocol/src/livekit.serde.rs")
(substitute* "Cargo.toml"
(("\"livekit-ffi\",") "")
(("\"soxr-sys\",") "")
(("\"yuv-sys\",") "")
(("\"imgproc\",") ""))))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("livekit-protocol"
"livekit-runtime"
"livekit-api"
"webrtc-sys-build"
"webrtc-sys"
"libwebrtc"
"livekit")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")
#:phases
#~(modify-phases %standard-phases
(replace 'package
(lambda* (#:key source (cargo-package-crates '())
(cargo-package-flags '("--no-metadata" "--no-verify"))
(vendor-dir "guix-vendor")
#:allow-other-keys)
(use-modules (ice-9 ftw))
;; Same as the standard package phase, but deletes
;; cargo's target/package/tmp-crate/ scratch directory
;; between the packaging loop and the repacking step.
;; Cargo copies .crate files there during packaging and
;; does not clean up. The repacking step's recursive
;; find-files picks them up, and scandir confuses the
;; tmp-crate directory with an extracted crate when
;; names sort after "tmp-crate" alphabetically.
(when (file-exists? "Cargo.toml.orig")
(delete-file "Cargo.toml.orig"))
(for-each
(lambda (pkg)
(apply invoke "cargo" "package" "--offline"
"--package" pkg cargo-package-flags)
(for-each
(lambda (crate)
(invoke "tar" "xzf" crate "-C" vendor-dir))
(find-files "target/package" "\\.crate$"))
((assoc-ref %standard-phases 'patch-cargo-checksums)
#:vendor-dir vendor-dir))
cargo-package-crates)
;; Delete cargo's scratch directory.
(when (file-exists? "target/package/tmp-crate")
(delete-file-recursively "target/package/tmp-crate"))
;; Repack crates with deterministic timestamps.
(with-directory-excursion "target/package"
(for-each
(lambda (crate)
(invoke "tar" "xf" crate)
(delete-file crate)
(let ((dir
(car (scandir
"."
(lambda (file)
(and (not (member file '("." "..")))
(not (string-suffix?
".crate" file))))))))
(for-each
(lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(utime file 0 0 0 0))))
(find-files dir #:directories? #t))
(apply invoke "tar" "czf"
(string-append dir ".crate")
"--sort=name" "--mtime=@0"
"--owner=root:0" "--group=root:0"
(find-files dir #:directories? #t))
(delete-file-recursively dir)))
(find-files "." "\\.crate$"))))))))
(inputs (cargo-inputs 'rust-livekit-0.7.8.5f04705))
(home-page "https://github.com/livekit/rust-sdks")
(synopsis "LiveKit real-time communication SDK for Rust")
(description
"This package provides a LiveKit real-time communication SDK for Rust.")
(license license:asl2.0))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-notify-8.2.0.ce58c24
(hidden-package
(package
(name "rust-notify")
(version "8.2.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/notify.git")
(commit "ce58c24cad542c28e04ced02e20325a4ec28a31d")))
(file-name
(git-file-name "rust-notify" "8.2.0.ce58c24"))
(sha256
(base32 "09zn3ll1vlsblgrdacyw3zx58xzdxlab8ba7h22bbb57n76dmkl0"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("notify-types"
"notify")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-notify-8.2.0.ce58c24))
(home-page "https://github.com/notify-rs/notify")
(synopsis "Cross-platform filesystem notification library")
(description
"This package provides a cross-platform filesystem notification library
for Rust.")
(license (list license:asl2.0 license:expat)))))
(define-public rust-pcre2-utf32-0.2
(hidden-package
(package
@@ -227,6 +574,77 @@ UTF-32 support.")
"0zgqklzmyk893n82zq8d0is57npvy9lsfpqb83h1bbx9c42fl35p"))))
(inputs (cargo-inputs 'rust-pipewire-0.8.0.93138d0))))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-pet-0.1.0.d5b5bb0
(hidden-package
(package
(name "rust-pet")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/microsoft/python-environment-tools.git")
(commit "d5b5bb0c4558a51d8cc76b514bc870fd1c042f16")))
(file-name
(git-file-name "rust-pet" "0.1.0.d5b5bb0"))
(sha256
(base32 "01djr1761l7c889v9lng7igjqxiz208r2vrwij661cn2fy5xcm5f"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("pet-fs"
"pet-core"
"pet-python-utils"
"pet-jsonrpc"
"pet-reporter"
"pet-conda"
"pet-virtualenv"
"pet-virtualenvwrapper"
"pet-env-var-path"
"pet-global-virtualenvs"
"pet-homebrew"
"pet-linux-global-python"
"pet-mac-commandlinetools"
"pet-mac-python-org"
"pet-mac-xcode"
"pet-pipenv"
"pet-pixi"
"pet-poetry"
"pet-pyenv"
"pet-telemetry"
"pet-uv"
"pet-venv"
"pet-windows-store"
"pet-windows-registry"
"pet")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-versions
(lambda _
(let ((version #$(package-version this-package)))
(substitute* (find-files "." "^Cargo[.]toml$")
(("^(pet-[a-z-]*) = [{] path = \"([^\"]*)\" [}]" x pkg path)
(string-append pkg " = { version = \"" version "\", path = \"" path "\" }")))))))))
(inputs (cargo-inputs 'rust-pet-0.1.0.d5b5bb0))
(home-page "https://github.com/microsoft/python-environment-tools")
(synopsis "Python environment tools")
(description
"This package provides Python environment tools.")
(license license:expat))))
(define-public rust-pubgrub-0.3.0.b70cf70
(let ((commit "b70cf707aa43f21b32f3a61b8a0889b15032d5c4")
(revision "0"))
@@ -677,6 +1095,47 @@ intelligence.")
(inputs (cons oniguruma
(cargo-inputs 'rust-syntect-5.3))))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-tiktoken-rs-0.9.1.2570c43
(hidden-package
(package
(name "rust-tiktoken-rs")
(version "0.9.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/tiktoken-rs")
(commit "2570c4387a8505fb8f1d3f3557454b474f1e8271")))
(file-name
(git-file-name "rust-tiktoken-rs" "0.9.1.2570c43"))
(sha256
(base32 "0yki1whx16xqgsrnr6gjsxakj6qzyvz958g6c9h15xp154kw6573"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("tiktoken-rs")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")))
(inputs (cargo-inputs 'rust-tiktoken-rs-0.9.1.2570c43))
(home-page "https://github.com/zurawiki/tiktoken-rs")
(synopsis "Rust library for OpenAI's BPE tokenizer")
(description
"This package provides Rust bindings for OpenAI's @acronym{BPE, byte
pair encoding} tokenizer, used to count and manage tokens for OpenAI
language models.")
(license license:expat))))
(define-public rust-tikv-jemallocator-for-polars
(let ((commit "c7991e5bb6b3e9f79db6b0f48dcda67c5c3d2936")
(revision "0"))
@@ -960,3 +1419,95 @@ and runtime for AI-assisted coding.")
(description "Glycin is a sandbox image decoder for image viewers and
thumbnails to display untrusted content safely.")
(license (list license:mpl2.0 license:lgpl2.1+))))
;; Workspace dependency of zed.
;;
;; Cargo side: Cargo unifies dependency versions across zed's
;; workspace, including this package's transitive dependencies,
;; and records them in zed's Cargo.lock.
;;
;; Guix side: zed's cargo-inputs entry (generated from zed's
;; Cargo.lock) already contains all of this package's transitive
;; dependencies, so this package reuses zed's cargo-inputs.
(define-public rust-zed-xim-0.4.0-zed.16f35a2
(hidden-package
(package
(name "rust-zed-xim")
(version "0.4.0-zed")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/zed-industries/xim-rs.git")
(commit "16f35a2c881b815a2b6cdfd6687988e84f8447d8")))
(file-name
(git-file-name "rust-zed-xim" "0.4.0-zed.16f35a2"))
(sha256
(base32 "14cyxxdgjpbkf8ny4c46cfqjinavi2cyxzwfngldlls97m5zh555"))))
(build-system cargo-build-system)
(arguments
(list #:skip-build? #t
#:install-source? #t
#:cargo-package-crates ''("xim-ctext"
"xim-parser"
"zed-xim")
#:cargo-package-flags ''("--no-metadata" "--no-verify"
"--exclude-lockfile")
#:phases
#~(modify-phases %standard-phases
(replace 'package
(lambda* (#:key source (cargo-package-crates '())
(cargo-package-flags '("--no-metadata" "--no-verify"))
(vendor-dir "guix-vendor")
#:allow-other-keys)
(use-modules (ice-9 ftw))
;; Same as the standard package phase, but deletes
;; cargo's target/package/tmp-crate/ scratch directory
;; between the packaging loop and the repacking step.
(when (file-exists? "Cargo.toml.orig")
(delete-file "Cargo.toml.orig"))
(for-each
(lambda (pkg)
(apply invoke "cargo" "package" "--offline"
"--package" pkg cargo-package-flags)
(for-each
(lambda (crate)
(invoke "tar" "xzf" crate "-C" vendor-dir))
(find-files "target/package" "\\.crate$"))
((assoc-ref %standard-phases 'patch-cargo-checksums)
#:vendor-dir vendor-dir))
cargo-package-crates)
(when (file-exists? "target/package/tmp-crate")
(delete-file-recursively "target/package/tmp-crate"))
(with-directory-excursion "target/package"
(for-each
(lambda (crate)
(invoke "tar" "xf" crate)
(delete-file crate)
(let ((dir
(car (scandir
"."
(lambda (file)
(and (not (member file '("." "..")))
(not (string-suffix?
".crate" file))))))))
(for-each
(lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(utime file 0 0 0 0))))
(find-files dir #:directories? #t))
(apply invoke "tar" "czf"
(string-append dir ".crate")
"--sort=name" "--mtime=@0"
"--owner=root:0" "--group=root:0"
(find-files dir #:directories? #t))
(delete-file-recursively dir)))
(find-files "." "\\.crate$"))))))))
(inputs (cargo-inputs 'rust-zed-xim-0.4.0-zed.16f35a2))
(home-page "https://github.com/XDeme1/xim-rs")
(synopsis "X input method client and server")
(description
"This package provides a library for @code{xim}, the X input method.")
(license license:expat))))
+7 -4
View File
@@ -153,7 +153,7 @@ hardware.")
(package
(inherit sdl2)
(name "sdl3")
(version "3.2.10")
(version "3.4.4")
(source
(origin
(method url-fetch)
@@ -162,7 +162,7 @@ hardware.")
version "/SDL3-" version ".tar.gz"))
(sha256
(base32
"1q0ksmg1h0xfjpgbshslxc5a2b2flcm7n5lwiq4v8vf6vssffyzq"))))
"0r1q1frjs0am93aspgha4k15rvmmiwsp5kn2pw5i9fw9daz2swgf"))))
(build-system cmake-build-system)
(arguments
(list
@@ -188,8 +188,11 @@ hardware.")
(propagated-inputs
(list alsa-lib
libxcursor ;enables X11 cursor support
libxi
libxkbcommon
libxrandr
libxscrnsaver
libxtst
mesa ;required by wayland
pipewire-minimal
pulseaudio
@@ -206,7 +209,7 @@ hardware.")
(define-public sdl2-compat
(package
(name "sdl2-compat")
(version "2.32.54")
(version "2.32.66")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -215,7 +218,7 @@ hardware.")
(file-name (git-file-name name version))
(sha256
(base32
"0ijpx62b9syypxxnwvggz4l5fmrgln95ka180am9g2hgyqkqlj5n"))))
"1las3lq2sn7hiwpcdzf1rpcjz2g3dfrnl83b8n78v8y665fmbbk4"))))
(build-system cmake-build-system)
(arguments
(list #:phases

Some files were not shown because too many files have changed in this diff Show More