mirror of
https://codeberg.org/guix/guix.git
synced 2026-04-28 06:34:05 +00:00
Compare commits
316 Commits
23975f2d66
...
4f04173708
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f04173708 | ||
|
|
9cc3ce1512 | ||
|
|
6bddc26a64 | ||
|
|
d9e4b8cf08 | ||
|
|
12a4c739cf | ||
|
|
3fd3491e33 | ||
|
|
12872f4c6b | ||
|
|
e376019e6d | ||
|
|
d43bade4d7 | ||
|
|
25331d83a6 | ||
|
|
fdee000c7c | ||
|
|
72690e2f36 | ||
|
|
5e8e31299a | ||
|
|
4820b89533 | ||
|
|
86ef62aa0b | ||
|
|
8ef8aa93b2 | ||
|
|
263444756f | ||
|
|
8ba913cf66 | ||
|
|
77b77f275b | ||
|
|
58f6e33da8 | ||
|
|
42632d83f2 | ||
|
|
c17f738efe | ||
|
|
42aa872fdc | ||
|
|
12428187e2 | ||
|
|
93e62fd3eb | ||
|
|
dde5723169 | ||
|
|
bcbdd6b569 | ||
|
|
e3515e109c | ||
|
|
838e8e550c | ||
|
|
3682177321 | ||
|
|
7cf4712689 | ||
|
|
490d880377 | ||
|
|
c80b49c1bc | ||
|
|
c1a1769671 | ||
|
|
576924bca7 | ||
|
|
f4a8f5180f | ||
|
|
9c1af74e08 | ||
|
|
57f7af07ca | ||
|
|
df20acc58b | ||
|
|
b2275e7428 | ||
|
|
d00f468d75 | ||
|
|
95b403e1f7 | ||
|
|
f060901cf4 | ||
|
|
9eeb0ecf33 | ||
|
|
66c2f1a405 | ||
|
|
3153e7ebdc | ||
|
|
9a5af89240 | ||
|
|
806cc1b133 | ||
|
|
48c0546556 | ||
|
|
95f08aab48 | ||
|
|
87060f46fc | ||
|
|
85fc653694 | ||
|
|
21d21cea44 | ||
|
|
50ab429624 | ||
|
|
465a6bdab4 | ||
|
|
4a6ff16e69 | ||
|
|
bae8654055 | ||
|
|
3932a55a43 | ||
|
|
de3a338426 | ||
|
|
c06d29dcac | ||
|
|
c1db193865 | ||
|
|
a7d1010f65 | ||
|
|
bdb672df4f | ||
|
|
3938c7003f | ||
|
|
9f2ff15b81 | ||
|
|
84fe701364 | ||
|
|
262705dbdc | ||
|
|
3183a5c627 | ||
|
|
d0bf05a799 | ||
|
|
30f3c8fb25 | ||
|
|
de9611da28 | ||
|
|
129e3b617f | ||
|
|
776aaa90bb | ||
|
|
9047936b62 | ||
|
|
b1a9309a08 | ||
|
|
027b9d3484 | ||
|
|
a4e066d0e9 | ||
|
|
b4dd27253e | ||
|
|
fb09b10f3f | ||
|
|
bd2fc8a5d3 | ||
|
|
eae9492c5c | ||
|
|
ce06a73141 | ||
|
|
4be0a82048 | ||
|
|
1685d421b7 | ||
|
|
022bb77ca2 | ||
|
|
8311d02f00 | ||
|
|
6e712bd7aa | ||
|
|
0473e8977b | ||
|
|
17b83a6caf | ||
|
|
f34682d9dc | ||
|
|
b6a82b1882 | ||
|
|
a34884d6a8 | ||
|
|
848bd20f1f | ||
|
|
e1a4daa759 | ||
|
|
e03f756a7a | ||
|
|
6c48b7218e | ||
|
|
b89727fb83 | ||
|
|
cccbbfc1a4 | ||
|
|
877bcf67ee | ||
|
|
912cbdf059 | ||
|
|
672aae121b | ||
|
|
e5c80457a4 | ||
|
|
82fa519f5c | ||
|
|
09e0546ed0 | ||
|
|
809cfe568c | ||
|
|
de752a17f8 | ||
|
|
700229a32b | ||
|
|
fe83c90ccd | ||
|
|
b5e24eec9f | ||
|
|
1b8c17de8d | ||
|
|
539fc61b30 | ||
|
|
59e983e81c | ||
|
|
9044c48494 | ||
|
|
2bced82fa9 | ||
|
|
deb51acc48 | ||
|
|
ce5b1699af | ||
|
|
a459c1acbe | ||
|
|
6a920ab00a | ||
|
|
878cf0e175 | ||
|
|
566adfd7f5 | ||
|
|
17348b10bd | ||
|
|
ba74459d0f | ||
|
|
3bb3f46cdc | ||
|
|
1263379e42 | ||
|
|
0816bc6f7a | ||
|
|
e1bae6343a | ||
|
|
4092b2cc21 | ||
|
|
be07998182 | ||
|
|
402ddf8246 | ||
|
|
dfcd5d106d | ||
|
|
2c5b0918d3 | ||
|
|
0c3391b4ea | ||
|
|
280796188d | ||
|
|
cd99044263 | ||
|
|
24997b631f | ||
|
|
3e3840ed3b | ||
|
|
7a90801fa7 | ||
|
|
4a97df1fc9 | ||
|
|
4cddf7f514 | ||
|
|
14049807cc | ||
|
|
345419f585 | ||
|
|
1ed9219a5f | ||
|
|
4a10d68e3c | ||
|
|
91965e3372 | ||
|
|
6e8d89440f | ||
|
|
c84434a0d2 | ||
|
|
6b1b5331a9 | ||
|
|
dd2351bc5a | ||
|
|
3c7c41c70c | ||
|
|
f880a69781 | ||
|
|
6c8c0cf678 | ||
|
|
53eeb3ad31 | ||
|
|
fc9522586c | ||
|
|
4c5f6f06bd | ||
|
|
677b924857 | ||
|
|
3de959237a | ||
|
|
f2318e31cc | ||
|
|
bda2ae796d | ||
|
|
43b0843a21 | ||
|
|
0eba86a9ec | ||
|
|
b0b7e4c3c1 | ||
|
|
01b43ca524 | ||
|
|
876b4d6b8c | ||
|
|
626cfbb718 | ||
|
|
1cf7f60434 | ||
|
|
999e5580ed | ||
|
|
c0f6315485 | ||
|
|
9f8fc773ea | ||
|
|
97e3481dec | ||
|
|
4fd6653a99 | ||
|
|
5633d8e1c7 | ||
|
|
d2e466f447 | ||
|
|
c17e227f9d | ||
|
|
b2390c3042 | ||
|
|
6085cd2a1e | ||
|
|
1fe2e00a2e | ||
|
|
abd54577c6 | ||
|
|
7d09095d9c | ||
|
|
105a252aa1 | ||
|
|
4190c0b485 | ||
|
|
7af7bd4f53 | ||
|
|
6f8ddeab57 | ||
|
|
479eb5f782 | ||
|
|
2ed6487259 | ||
|
|
8249bba4c0 | ||
|
|
77fc1b7ad0 | ||
|
|
67eca71ea8 | ||
|
|
3683813e41 | ||
|
|
1b191e1ce7 | ||
|
|
9c143cd805 | ||
|
|
be4d624675 | ||
|
|
a67c1136d8 | ||
|
|
188e088790 | ||
|
|
05356ebdb6 | ||
|
|
96175dc3e9 | ||
|
|
7f544e1a4c | ||
|
|
82a35f1e84 | ||
|
|
1f30133ad1 | ||
|
|
5d5a6831fb | ||
|
|
14886a9f97 | ||
|
|
cc3eaf49a6 | ||
|
|
b5cdb8c76f | ||
|
|
b9909c80aa | ||
|
|
a958093f4b | ||
|
|
8b971bb8b2 | ||
|
|
2658de2741 | ||
|
|
76a7ae3d03 | ||
|
|
8ae7a78bd4 | ||
|
|
04639276f7 | ||
|
|
d88e55ffa9 | ||
|
|
42a7cf7845 | ||
|
|
135b32e248 | ||
|
|
17f9333b6e | ||
|
|
0969c568fd | ||
|
|
c8313fcb45 | ||
|
|
c1f580299c | ||
|
|
6755b7f807 | ||
|
|
0988179a0d | ||
|
|
716794229f | ||
|
|
63c03c3d26 | ||
|
|
f1c11c6d8e | ||
|
|
dba094565a | ||
|
|
255537bde7 | ||
|
|
b00a5ed37d | ||
|
|
5c4ed81244 | ||
|
|
bf7cfab66f | ||
|
|
3a315bf714 | ||
|
|
a93bff0539 | ||
|
|
9eeb042f66 | ||
|
|
b82a8212a9 | ||
|
|
b4ebd385cb | ||
|
|
8bc19a783e | ||
|
|
0885dcbd28 | ||
|
|
ce874aa2ec | ||
|
|
a95926a0c6 | ||
|
|
6979e90a06 | ||
|
|
6a27c193e6 | ||
|
|
df58ecce45 | ||
|
|
dabf458672 | ||
|
|
334b06c51b | ||
|
|
0e337d2ac8 | ||
|
|
485afefd34 | ||
|
|
2b11327ca1 | ||
|
|
91b7e40c48 | ||
|
|
9384694ed8 | ||
|
|
876e740955 | ||
|
|
a54c1cce04 | ||
|
|
db4ac307d3 | ||
|
|
61d6237d50 | ||
|
|
fcf0a97470 | ||
|
|
ce69ef9d5c | ||
|
|
1feeb06aff | ||
|
|
5dc762a7ca | ||
|
|
a05f8cc7b0 | ||
|
|
dce3a53259 | ||
|
|
366a7fa3bb | ||
|
|
c2b3c7a00b | ||
|
|
0c1d342191 | ||
|
|
ae50b34096 | ||
|
|
f90adbd63b | ||
|
|
0791717950 | ||
|
|
ab69b44f78 | ||
|
|
d19d23ceba | ||
|
|
db8a17feea | ||
|
|
a1a82d2525 | ||
|
|
ecda809fd4 | ||
|
|
6565cb39a9 | ||
|
|
d93269e925 | ||
|
|
223b983c4f | ||
|
|
65d5abecf4 | ||
|
|
dd2c600e8f | ||
|
|
2a3492b086 | ||
|
|
850300f874 | ||
|
|
0c05c14a1c | ||
|
|
f340255ac3 | ||
|
|
c60385e7f3 | ||
|
|
11c071147e | ||
|
|
505d54e113 | ||
|
|
adb6bc8174 | ||
|
|
9572ef816c | ||
|
|
3141f98eab | ||
|
|
e45b76740c | ||
|
|
7d3faf9adb | ||
|
|
d157829459 | ||
|
|
deb1281afd | ||
|
|
eb3dbd7e8d | ||
|
|
becde8b26b | ||
|
|
05ed48dba4 | ||
|
|
f826fb50e2 | ||
|
|
cd1459572c | ||
|
|
0b24f42085 | ||
|
|
56b8d8f33e | ||
|
|
f33ca72f00 | ||
|
|
3e32fce5aa | ||
|
|
e978b77e9b | ||
|
|
3e937950aa | ||
|
|
b22ed7e361 | ||
|
|
f27a394eb7 | ||
|
|
a97d78ba76 | ||
|
|
229d0cb49f | ||
|
|
78e603ce22 | ||
|
|
83dfde3eb6 | ||
|
|
06cd989c0f | ||
|
|
ddc6ea22ca | ||
|
|
64e4b79de6 | ||
|
|
cbeee0326f | ||
|
|
165bc107d4 | ||
|
|
c039b2da23 | ||
|
|
d02b10be15 | ||
|
|
e5e2aaaf55 | ||
|
|
5d73106227 | ||
|
|
ce09216dce | ||
|
|
cb1f7b8948 | ||
|
|
f78630e302 | ||
|
|
9e4f181122 | ||
|
|
4362b0c608 |
@@ -16,6 +16,8 @@
|
||||
( ;; primary: "D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F"
|
||||
"01FD 85F4 1A7B 7F82 0583 06A5 935E BE07 36DC 857E"
|
||||
(name "avp"))
|
||||
("5D54 CF25 57B2 38E8 8DC1 80A2 2D22 3241 0AB7 4043"
|
||||
(name "baleine"))
|
||||
( ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
|
||||
"A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
|
||||
(name "bavier"))
|
||||
|
||||
@@ -2658,12 +2658,13 @@ bootloaders.
|
||||
|
||||
Once you are done partitioning the target hard disk drive, you have to
|
||||
create a file system on the relevant partition(s)@footnote{Currently
|
||||
Guix System supports only ext4, btrfs, bcachefs, JFS, F2FS, and XFS
|
||||
file systems. In particular, code that reads file system UUIDs and
|
||||
labels works only for these file system types. For bcachefs, also add
|
||||
the @code{bcachefs-linux-module} to your @code{operating-system}'s
|
||||
@code{initrd-modules}.}. For the ESP, if you have one and assuming it is
|
||||
@file{/dev/sda1}, run:
|
||||
Guix System can mount only ext4, btrfs, JFS, F2FS, and XFS file systems
|
||||
at boot time. In particular, code that reads file system UUIDs and
|
||||
labels works only for these file system types. The code for bcachefs is
|
||||
in place, but support for loading out-of-tree kernel modules in the
|
||||
initrd is not.}.
|
||||
|
||||
For the ESP, if you have one and assuming it is @file{/dev/sda1}, run:
|
||||
|
||||
@example
|
||||
mkfs.fat -F32 /dev/sda1
|
||||
|
||||
12
gnu/local.mk
12
gnu/local.mk
@@ -1699,7 +1699,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libcss-check-format.patch \
|
||||
%D%/packages/patches/libeb-gcc-14.patch \
|
||||
%D%/packages/patches/libextractor-tidy-support.patch \
|
||||
%D%/packages/patches/libfossil-skip-amalgamation.patch \
|
||||
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
|
||||
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
|
||||
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
|
||||
@@ -1714,6 +1713,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
|
||||
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
|
||||
%D%/packages/patches/libretranslate-use-flasgger.patch \
|
||||
%D%/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch \
|
||||
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
|
||||
%D%/packages/patches/librewolf-compare-paths.patch \
|
||||
%D%/packages/patches/librewolf-neuter-locale-download.patch \
|
||||
@@ -2349,8 +2349,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/renpy-fix-integer-slots.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
|
||||
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
|
||||
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
|
||||
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-sapa-lapack.patch \
|
||||
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
|
||||
@@ -2400,6 +2408,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
|
||||
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
|
||||
%D%/packages/patches/rust-codex-0.124.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
|
||||
%D%/packages/patches/rw-igraph-0.10.patch \
|
||||
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -913,7 +913,7 @@ suite native in R.")
|
||||
(define-public r-bpcells
|
||||
(package
|
||||
(name "r-bpcells")
|
||||
(version "0.3.0")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -922,7 +922,7 @@ suite native in R.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12h1di45fg06nhsliii7v0h1z567pkpis1xm4ar1qr8ns1n8iljw"))
|
||||
(base32 "0yqgcajq83g25mznwcngaw7pi6vcqxqdnynpgb95yci57k3wrp6j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(delete-file-recursively "r/src/vendor/highway"))))
|
||||
@@ -931,13 +931,15 @@ suite native in R.")
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
`(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(substitute* "r/configure"
|
||||
(("tools/hwy-test.cpp" m)
|
||||
(string-append m " $HWY_LIBS $HWY_CFLAGS")))
|
||||
(chdir "r"))))))
|
||||
(lambda _ (chdir "r")))
|
||||
,@(if (target-x86-32?)
|
||||
'((add-after 'chdir 'require-sse2
|
||||
;; This avoids falling back to the scalar backend in
|
||||
;; highway, which fails to build.
|
||||
(lambda _ (setenv "CFLAGS" "-msse2"))))
|
||||
'()))))
|
||||
(propagated-inputs
|
||||
(list r-dplyr
|
||||
r-ggplot2
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
|
||||
;;; This module is separate from (gnu packages rust-apps) to avoid a
|
||||
;;; circular module dependency: (gnu packages rust-sources), which
|
||||
;;; defines rust-codex-0.120.0, transitively loads (gnu packages
|
||||
;;; defines rust-codex-0.124.0, transitively loads (gnu packages
|
||||
;;; rust-apps) through its #:use-module chain. If the codex package
|
||||
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
|
||||
;;; rust-apps before rust-codex-0.120.0 is defined, causing an unbound
|
||||
;;; rust-apps before rust-codex-0.124.0 is defined, causing an unbound
|
||||
;;; variable error.
|
||||
|
||||
(define-module (gnu packages codex)
|
||||
@@ -54,14 +54,14 @@
|
||||
(define-public codex
|
||||
(package
|
||||
(name "codex")
|
||||
(version (package-version rust-codex-0.120.0))
|
||||
(version (package-version rust-codex-0.124.0))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source rust-codex-0.120.0))
|
||||
(inherit (package-source rust-codex-0.124.0))
|
||||
(patches (search-patches
|
||||
"codex-acp-0.11.1-disable-code-mode.patch"
|
||||
"rust-codex-0.117.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.120.0-connectors-cache-test-race.patch"
|
||||
"rust-codex-0.124.0-code-mode-stub-toolname.patch"
|
||||
"rust-codex-0.124.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.120.0-remove-libwebrtc.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"
|
||||
"rust-codex-0.120.0-test-timeout.patch"))))
|
||||
@@ -69,7 +69,12 @@
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-install-paths '(list "cli" "exec" "exec-server"
|
||||
;; exec-server is library-only in 0.124 (no [[bin]] in
|
||||
;; exec-server/Cargo.toml); cargo install --path exec-server fails
|
||||
;; with "no packages found with binaries or examples". Drop it
|
||||
;; from the install paths -- the library is consumed via the
|
||||
;; workspace by other binaries here, not installed standalone.
|
||||
#:cargo-install-paths '(list "cli" "exec"
|
||||
"linux-sandbox" "mcp-server"
|
||||
"app-server" "tui")
|
||||
;; schema_fixtures_match_generated (upstream fixture is stale:
|
||||
@@ -317,7 +322,164 @@
|
||||
;; (chatgpt.com, api.github.com) wait
|
||||
;; for TCP timeout instead of failing
|
||||
;; instantly at TLS, eating the budget.
|
||||
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls")
|
||||
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls"
|
||||
;;; BEGIN Stack overflow in 'current_thread'
|
||||
;;; tokio runtime. The sibling tests in
|
||||
;;; tracing_tests.rs use the local helper
|
||||
;;; run_current_thread_test_with_stack
|
||||
;;; (4 MiB) but this one uses bare
|
||||
;;; #[tokio::test] on the 2 MiB default
|
||||
;;; test-thread stack, and TurnStart's
|
||||
;;; future graph exceeds it. With
|
||||
;;; RUST_MIN_STACK raised the overflow is
|
||||
;;; gone but the test then deterministically
|
||||
;;; times out waiting for a span tagged
|
||||
;;; codex.op = "user_input" on the remote
|
||||
;;; trace that upstream never emits on that
|
||||
;;; trace in our environment.
|
||||
"--skip" "turn_start_jsonrpc_span_parents_core_turn_spans"
|
||||
;;; END tracing test stack/timeout
|
||||
;;; BEGIN The upstream loader resolves the
|
||||
;;; MCP OAuth credentials store mode by
|
||||
;;; calling
|
||||
;;; resolve_mcp_oauth_credentials_store_mode
|
||||
;;; with env!("CARGO_PKG_VERSION") -- which
|
||||
;;; in the released 0.124.0 tarball is
|
||||
;;; "0.124.0". These fixture tests
|
||||
;;; construct the expected Config by
|
||||
;;; passing the LOCAL_DEV_BUILD_VERSION
|
||||
;;; constant ("0.0.0") to the same
|
||||
;;; resolver, and the resolver only returns
|
||||
;;; File for "0.0.0" -- Auto otherwise.
|
||||
;;; Upstream CI builds from a checkout
|
||||
;;; still carrying version = "0.0.0" so the
|
||||
;;; tests pass there; they cannot pass
|
||||
;;; against a released tag.
|
||||
"--skip" "test_precedence_fixture_with_gpt3_profile"
|
||||
"--skip" "test_precedence_fixture_with_gpt5_profile"
|
||||
"--skip" "test_precedence_fixture_with_o3_profile"
|
||||
"--skip" "test_precedence_fixture_with_zdr_profile"
|
||||
;;; END LOCAL_DEV_BUILD_VERSION fixture mismatch
|
||||
;;; BEGIN Verifies that Codex's user-shell
|
||||
;;; spawn produces a child where
|
||||
;;; CODEX_SANDBOX_NETWORK_DISABLED is unset
|
||||
;;; (asserts stdout == "not-set"). We
|
||||
;;; deliberately set that env var at the
|
||||
;;; check phase to trigger upstream's
|
||||
;;; skip_if_no_network! guards; the var then
|
||||
;;; leaks into the spawned shell and the
|
||||
;;; assertion fails. The guix skip is a
|
||||
;;; direct cost of the network-gate fix --
|
||||
;;; trading one broken test for two that
|
||||
;;; now skip cleanly.
|
||||
"--skip" "user_shell_command_does_not_set_network_sandbox_env_var"
|
||||
;;; END CODEX_SANDBOX_NETWORK_DISABLED leak
|
||||
;;; BEGIN The exec-server/tests/file_system
|
||||
;;; integration tests invoke the real
|
||||
;;; system bwrap, which tries to execvp the
|
||||
;;; test binary at the cargo target path
|
||||
;;; under the build dir. Same root cause
|
||||
;;; as the existing
|
||||
;;; sandbox_reenables_writable_subpaths_under_unreadable_parents
|
||||
;;; skip: guix builds live under /tmp but
|
||||
;;; bwrap's mount namespace excludes /tmp,
|
||||
;;; making the binary invisible inside the
|
||||
;;; namespace.
|
||||
"--skip" "file_system_copy_preserves_symlink_source"
|
||||
"--skip" "file_system_copy_rejects_symlink_escape_destination"
|
||||
"--skip" "file_system_copy_rejects_symlink_escape_source"
|
||||
"--skip" "file_system_create_directory_rejects_symlink_escape"
|
||||
"--skip" "file_system_read_directory_rejects_symlink_escape"
|
||||
"--skip" "file_system_remove_rejects_symlink_escape"
|
||||
"--skip" "file_system_remove_removes_symlink_not_target"
|
||||
"--skip" "file_system_sandboxed_read_allows_readable_root"
|
||||
"--skip" "file_system_sandboxed_read_rejects_symlink_escape"
|
||||
"--skip" "file_system_sandboxed_read_rejects_symlink_parent_dotdot_escape"
|
||||
"--skip" "file_system_sandboxed_write_allows_additional_write_root"
|
||||
"--skip" "file_system_sandboxed_write_rejects_symlink_escape"
|
||||
"--skip" "file_system_sandboxed_write_rejects_unwritable_path"
|
||||
;;; END bwrap-cant-see-/tmp file_system tests
|
||||
;;; BEGIN Landlock is unavailable on Guix,
|
||||
;;; so the sandbox cannot deny network
|
||||
;;; syscalls. These tests expect
|
||||
;;; SandboxErr::Denied for the nc, ping,
|
||||
;;; ssh, getent, and dev_tcp_redirection
|
||||
;;; commands but those commands instead
|
||||
;;; block on connect() until the test's 2s
|
||||
;;; timeout fires (Timeout, exit 124).
|
||||
;;; Same root cause as the Landlock skips
|
||||
;;; at the top of this list; new test names
|
||||
;;; in 0.124.
|
||||
"--skip" "sandbox_blocks_nc"
|
||||
"--skip" "sandbox_blocks_ping"
|
||||
"--skip" "sandbox_blocks_dev_tcp_redirection"
|
||||
"--skip" "sandbox_blocks_getent"
|
||||
"--skip" "sandbox_blocks_ssh"
|
||||
;;; END Landlock network block
|
||||
;;; BEGIN Requires github.com network access.
|
||||
;;; With no "extraKnownMarketplaces" entry
|
||||
;;; in settings.json,
|
||||
;;; collect_marketplace_import_sources
|
||||
;;; inserts a fallback entry for the
|
||||
;;; "claude-plugins-official" marketplace
|
||||
;;; pointing at the github shorthand
|
||||
;;; "anthropics/claude-plugins-official".
|
||||
;;; add_marketplace -> parse_marketplace_source
|
||||
;;; expands that to a github.com/.git URL
|
||||
;;; and clone_git_source runs 'git clone'.
|
||||
;;; The Guix build sandbox has no network,
|
||||
;;; so the clone fails and the marketplace
|
||||
;;; lands in failed_marketplaces. No mock
|
||||
;;; cloner is injected via
|
||||
;;; ExternalAgentConfigService::new_for_test,
|
||||
;;; so there is no in-tree way to satisfy
|
||||
;;; the test offline.
|
||||
"--skip" "import_plugins_infers_claude_official_marketplace_when_missing_from_settings"
|
||||
;;; END github.com network access
|
||||
;;; BEGIN Async race between the rollout
|
||||
;;; writer task and a direct SQLite read.
|
||||
;;; The test calls
|
||||
;;; update_memory_settings_with_app_server,
|
||||
;;; which routes through the in-memory
|
||||
;;; thread path on the app-server's
|
||||
;;; ThreadMemoryModeSet handler ->
|
||||
;;; Session::set_thread_memory_mode ->
|
||||
;;; persist_thread_memory_mode_update,
|
||||
;;; which writes a RolloutItem::SessionMeta
|
||||
;;; with the new mode to the rollout file
|
||||
;;; via recorder.record_items + flush. The
|
||||
;;; rollout writer task then asynchronously
|
||||
;;; calls sync_thread_state_after_write,
|
||||
;;; which calls state_db::apply_rollout_items
|
||||
;;; to mirror the SessionMeta into SQLite.
|
||||
;;; flush() only awaits the rollout-file
|
||||
;;; write, not the subsequent SQLite sync.
|
||||
;;; The test opens a fresh StateRuntime and
|
||||
;;; reads get_thread_memory_mode
|
||||
;;; immediately, so it observes the creation
|
||||
;;; default of "enabled" written by
|
||||
;;; upsert_thread_with_creation_memory_mode
|
||||
;;; instead of the new "disabled". Upstream
|
||||
;;; CI wins this race; we lose.
|
||||
"--skip" "update_memory_settings_updates_current_thread_memory_mode"
|
||||
;;; END memory-mode rollout/sqlite race
|
||||
;;; BEGIN The Stopwatch::new constructor in
|
||||
;;; codex_shell_escalation anchors
|
||||
;;; T0 = Instant::now() at construction;
|
||||
;;; the spawned cancellation task fires at
|
||||
;;; T0 + limit. The test captures
|
||||
;;; start = Instant::now() at T1 > T0 (after
|
||||
;;; cancellation_token() returns) and
|
||||
;;; asserts start.elapsed() >= limit,
|
||||
;;; i.e. (T0 + limit) - T1 >= limit, which
|
||||
;;; is always false by the offset T1 - T0.
|
||||
;;; The test only passes when scheduler
|
||||
;;; jitter on the sleep wakeup happens to
|
||||
;;; exceed that offset. Upstream wins the
|
||||
;;; race; we don't always.
|
||||
"--skip" "cancellation_receiver_fires_after_limit"
|
||||
;;; END Stopwatch construction/start offset race
|
||||
)
|
||||
#:cargo-package-crates
|
||||
''(;;; Tier 0: No internal deps.
|
||||
"codex-ansi-escape"
|
||||
@@ -358,22 +520,31 @@
|
||||
"codex-debug-client"
|
||||
"codex-analytics"
|
||||
"codex-rollout"
|
||||
"codex-rollout-trace"
|
||||
"codex-terminal-detection"
|
||||
"codex-utils-approval-presets"
|
||||
"codex-utils-cli"
|
||||
"codex-uds"
|
||||
"codex-install-context"
|
||||
"codex-device-key"
|
||||
;;; Tier 2.
|
||||
"codex-app-server-protocol"
|
||||
"codex-rmcp-client"
|
||||
"codex-otel"
|
||||
"codex-thread-store"
|
||||
"codex-state"
|
||||
"codex-features"
|
||||
"codex-model-provider"
|
||||
"codex-config"
|
||||
"codex-agent-identity"
|
||||
"codex-aws-auth"
|
||||
"codex-hooks"
|
||||
"codex-instructions"
|
||||
"codex-code-mode"
|
||||
"codex-feedback"
|
||||
"codex-skills"
|
||||
"codex-test-binary-support"
|
||||
"codex-core"
|
||||
"codex-core-plugins"
|
||||
"codex-utils-sandbox-summary"
|
||||
"codex-linux-sandbox"
|
||||
"codex-sandboxing"
|
||||
@@ -425,7 +596,7 @@
|
||||
;; Update them to match the actual package version.
|
||||
(let ((snap-files (find-files "." "\\.snap$")))
|
||||
(substitute* snap-files
|
||||
(("\\(v0\\.0\\.0\\) ") "(v0.120.0) ")))))
|
||||
(("\\(v0\\.0\\.0\\) ") "(v0.124.0) ")))))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
;; Replace git dependencies with version references so cargo
|
||||
@@ -436,32 +607,55 @@
|
||||
(("runfiles = \\{ git = [^}]+\\}")
|
||||
"runfiles = \"0.1.0\""))
|
||||
;; Remove workspace members that have unbuildable deps
|
||||
;; (libwebrtc requires git fetch, v8-poc requires V8).
|
||||
;; (v8-poc requires V8). code-mode stays a workspace member
|
||||
;; so its codex-protocol resolves to the same local copy as
|
||||
;; the rest of the build; disabling its default features
|
||||
;; (below) avoids pulling in V8.
|
||||
(substitute* "Cargo.toml"
|
||||
(("\"v8-poc\",") "")
|
||||
(("\"code-mode\",") ""))
|
||||
;; Disable V8 runtime in codex-code-mode: remove path
|
||||
;; so cargo resolves it from the vendor (where it has
|
||||
;; optional = true on v8) and disable default features.
|
||||
(("\"v8-poc\",") ""))
|
||||
;; Disable V8 runtime in codex-code-mode by turning off
|
||||
;; default features. Keep path= so code-mode is resolved
|
||||
;; from the local source tree and shares codex-protocol
|
||||
;; (and other workspace crates) with the rest of the build;
|
||||
;; resolving it from the vendor instead introduces a
|
||||
;; duplicate codex-protocol and causes E0308 type
|
||||
;; mismatches in codex-tools.
|
||||
(substitute* "Cargo.toml"
|
||||
(("codex-code-mode = \\{ path = \"code-mode\" \\}")
|
||||
"codex-code-mode = { version = \"0.120.0\", default-features = false }"))))
|
||||
"codex-code-mode = { path = \"code-mode\", default-features = false }"))
|
||||
;; cargo build at workspace root ignores per-dep
|
||||
;; default-features=false and builds code-mode with its
|
||||
;; own default features, which include v8-runtime and
|
||||
;; would pull in V8. Make the default feature empty.
|
||||
(substitute* "code-mode/Cargo.toml"
|
||||
(("^default = \\[\"v8-runtime\"\\]") "default = []"))))
|
||||
(add-after 'patch-git-deps-to-vendor 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.120.0" to internal path dependencies.
|
||||
;; Add version = "0.124.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
;; Handle inline deps: name = { path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.120.0\", path = "))
|
||||
(string-append name " = { version = \"0.124.0\", path = "))
|
||||
;; Handle inline deps with package: name = { package = "...", path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.120.0\", package = "))
|
||||
(string-append name " = { version = \"0.124.0\", package = "))
|
||||
;; Handle section deps: [dependencies.X] with path = "..."
|
||||
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
|
||||
(string-append path-line "\nversion = \"0.120.0\""))))))
|
||||
(string-append path-line "\nversion = \"0.124.0\""))))))
|
||||
(add-after 'chdir-to-workspace 'use-gnu-store-in-sandbox
|
||||
(lambda _
|
||||
;; LINUX_PLATFORM_DEFAULT_READ_ROOTS in linux-sandbox/src/
|
||||
;; bwrap.rs is the read-only baseline that codex's bwrap
|
||||
;; sandbox bind-mounts so commands can read /usr/bin/ls,
|
||||
;; libc, etc. Upstream lists "/nix/store" for NixOS;
|
||||
;; Guix's equivalent is "/gnu/store". Without this swap,
|
||||
;; the codex sandbox cannot locate any binaries on a Guix
|
||||
;; system because every "system" path resolves into
|
||||
;; /gnu/store/<hash>-pkg/bin/...
|
||||
(substitute* "linux-sandbox/src/bwrap.rs"
|
||||
(("\"/nix/store\"") "\"/gnu/store\""))))
|
||||
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash-bin (string-append
|
||||
@@ -561,10 +755,12 @@
|
||||
;; double quotes.
|
||||
(substitute*
|
||||
(list "core/src/plugins/startup_sync_tests.rs"
|
||||
"core/src/tools/runtimes/shell/unix_escalation_tests.rs"
|
||||
"core/tests/suite/client.rs"
|
||||
"core/tests/suite/js_repl.rs"
|
||||
"core/tests/suite/skill_approval.rs"
|
||||
"core/tests/suite/user_notification.rs"
|
||||
"exec-server/tests/file_system.rs"
|
||||
"login/src/auth/auth_tests.rs"
|
||||
"models-manager/src/manager_tests.rs"
|
||||
"sandboxing/src/bwrap_tests.rs")
|
||||
@@ -613,7 +809,17 @@
|
||||
;; ~/... and 30 snapshot tests fail.
|
||||
(setenv "HOME" "/tmp/guix-home")
|
||||
(mkdir-p "/tmp/guix-home")
|
||||
(setenv "USER" "nixbld"))))))
|
||||
(setenv "USER" "nixbld")
|
||||
;; Default libtest thread stack is 2 MiB, which is not
|
||||
;; enough for tokio current_thread tests that drive
|
||||
;; codex-core's full turn pipeline. Upstream gates such
|
||||
;; tests through run_current_thread_test_with_stack (4 MiB)
|
||||
;; in app-server/src/message_processor/tracing_tests.rs;
|
||||
;; raise the global default so future additions that
|
||||
;; forget the wrapper still pass.
|
||||
(setenv "RUST_MIN_STACK" "8388608")
|
||||
;; Disable network access.
|
||||
(setenv "CODEX_SANDBOX_NETWORK_DISABLED" "1"))))))
|
||||
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
|
||||
("clang" ,clang)
|
||||
("cmake-minimal" ,cmake-minimal)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -148,13 +148,13 @@ system.")
|
||||
(define-public r-duckdb
|
||||
(package
|
||||
(name "r-duckdb")
|
||||
(version "1.5.1")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "duckdb" version))
|
||||
(sha256
|
||||
(base32 "177621m08whqqk4yhj3zrr08l3d9hhlqh3gm9jzhi5cplg47cksq"))
|
||||
(base32 "1dldlfwvc33czvlxfmwaj4p9y6sjjj5iqy98yda47a8kclrqmyam"))
|
||||
;; This package bundles the duckdb sources and builds a custom variant
|
||||
;; of duckdb. I'd be happy to link it with our duckdb library instead,
|
||||
;; but it does not seem possible to do that.
|
||||
|
||||
@@ -781,6 +781,54 @@ balance windows (keeping them roughly the same size) whenever the window
|
||||
configuration changes, e.g. after splitting or deleting a window.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public emacs-ben
|
||||
(package
|
||||
(name "emacs-ben")
|
||||
(version "0.12.11")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/pastor/ben.el")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0iqrk87dl567vwpwm8rmplrpva475a04s6c34rm24xfy2m7wrwk6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-environment
|
||||
(lambda _
|
||||
;; Since the testsuite uses `direnv', the build needs a home
|
||||
;; directory so `direnv' can allow the contents of the `.envrc`
|
||||
;; files generated for the different tests.
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "OFFLINE" "1") ;Enable offline tests.
|
||||
(emacs-substitute-variables "ben.el"
|
||||
("ben-direnv-executable"
|
||||
#$(file-append (this-package-input "direnv")
|
||||
"/bin/direnv"))))))))
|
||||
(inputs (list direnv))
|
||||
(propagated-inputs (list emacs-inheritenv))
|
||||
(home-page "https://codeberg.org/pastor/ben.el")
|
||||
(synopsis "Asynchronous buffer-local environments via @command{direnv}")
|
||||
(description
|
||||
"This package allows you to load environments buffer locally. The
|
||||
package is named @command{ben}, which stands for Buffer ENvironments.
|
||||
|
||||
The project relies on @uref{https://direnv.net, direnv} which allows setting
|
||||
per-directory environments through @file{.envrc} files.
|
||||
|
||||
The main improvement of @command{ben} over @command{envrc} is the asynchronous
|
||||
processing of environments, which prevents Emacs from freezing. This is
|
||||
especially useful while loading computationally heavy environments, such when
|
||||
loading @file{.envrc} files that rely on Guix. In these cases, computations
|
||||
can take hours to complete. This package aims to facilitate loading such
|
||||
environments in the background.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-bookmark-plus
|
||||
(package
|
||||
(name "emacs-bookmark-plus")
|
||||
@@ -39862,7 +39910,7 @@ user interfaces for various built-in modes.")
|
||||
(define-public emacs-calibredb
|
||||
(package
|
||||
(name "emacs-calibredb")
|
||||
(version "2.13.0")
|
||||
(version "2.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -39871,31 +39919,40 @@ user interfaces for various built-in modes.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a4gyc3gcq18j29pw2i296d70nvx5fbzlw9fdmqwzncciqz5as6m"))))
|
||||
(base32 "1g0jg6a6fgvxd5bsydckbqwf899d2d9732laz4k1k476mbws5dqy"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons "\\.py$" %default-include)
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(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"))
|
||||
(ebook-convert
|
||||
(search-input-file inputs "/bin/ebook-convert"))
|
||||
(calibre-debug
|
||||
(search-input-file inputs "/bin/calibre-debug")))
|
||||
(search-input-file inputs "/bin/calibre-debug"))
|
||||
(ebook-meta
|
||||
(search-input-file inputs "/bin/ebook-meta"))
|
||||
(folder-program
|
||||
(string-append #$output
|
||||
"/share/emacs/site-lisp/calibredb-"
|
||||
#$version "/calibredb-folder.py")))
|
||||
(emacs-substitute-variables "calibredb-core.el"
|
||||
("calibredb-fetch-metadata-program" fetch-ebook-metadata)
|
||||
("calibredb-program" calibredb)
|
||||
("calibredb-convert-program" ebook-convert)
|
||||
("calibredb-debug-program" calibre-debug))))))))
|
||||
("calibredb-debug-program" calibre-debug)
|
||||
("calibredb-ebook-meta-program" ebook-meta)
|
||||
("calibredb-folder-program" folder-program))))))))
|
||||
(inputs
|
||||
(list calibre))
|
||||
(propagated-inputs
|
||||
(list emacs-dash emacs-esxml emacs-s))
|
||||
(list emacs-dash emacs-esxml emacs-request emacs-s))
|
||||
(home-page "https://github.com/chenyanming/calibredb.el")
|
||||
(synopsis "Yet another calibre client for Emacs")
|
||||
(description "This package integrates calibre into Emacs.
|
||||
@@ -41493,17 +41550,65 @@ time.")
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; requires cask
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
;; Move the source files to the top level, which is
|
||||
;; included in the EMACSLOADPATH.
|
||||
(add-after 'unpack 'move-source-files
|
||||
(lambda _
|
||||
(let ((el-files (find-files "./lisp" ".*\\.el$")))
|
||||
(for-each (lambda (f)
|
||||
(rename-file f
|
||||
(basename f)))
|
||||
el-files)))))))
|
||||
#:test-command #~(list "make" "tests")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Move the source files to the top level, which is
|
||||
;; included in the EMACSLOADPATH.
|
||||
(add-after 'unpack 'move-source-files
|
||||
(lambda _
|
||||
(let ((el-files (find-files "./lisp" ".*\\.el$")))
|
||||
(for-each (lambda (f)
|
||||
(rename-file f
|
||||
(basename f)))
|
||||
el-files))))
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("cask") ""))
|
||||
(substitute* "test/ert-helper.el"
|
||||
(("lisp\\/") ""))))
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _
|
||||
(let-syntax
|
||||
((disable-tests
|
||||
(syntax-rules ()
|
||||
((_ file ())
|
||||
(syntax-error "test names list must not be empty"))
|
||||
((_ file (test-name ...))
|
||||
(substitute* file
|
||||
(((string-append
|
||||
"^\\(ert-deftest " test-name ".*") all)
|
||||
(string-append all "(skip-unless nil)\n")) ...)))))
|
||||
(disable-tests
|
||||
"test/mastodon-profile-tests.el"
|
||||
("mastodon-profile--add-author-bylines"
|
||||
"mastodon-profile--make-author-buffer"))
|
||||
(disable-tests
|
||||
"test/mastodon-auth-tests.el"
|
||||
("mastodon-auth--handle-token-response--good"
|
||||
"mastodon-auth-plstore-token-check"))
|
||||
(disable-tests
|
||||
"test/mastodon-client-tests.el"
|
||||
("mastodon-client--make-user-active"
|
||||
"mastodon-client--store"
|
||||
"mastodon-client--store-access-token"))
|
||||
(disable-tests
|
||||
"test/mastodon-tl-tests.el"
|
||||
("mastodon-tl--byline-timestamp-has-relative-display"
|
||||
"mastodon-tl--next-tab-item--no-spaces-at-ends"
|
||||
"mastodon-tl--next-tab-item--with-spaces-at-ends"))
|
||||
(disable-tests
|
||||
"test/mastodon-media-tests.el"
|
||||
("mastodon-media--get-avatar-rendering"
|
||||
"mastodon-media--inline-images"
|
||||
"mastodon-media--load-image-from-url-avatar-with-imagemagic"
|
||||
"mastodon-media--load-image-from-url-avatar-without-imagemagic"
|
||||
"mastodon-media--load-image-from-url-media-link-with-imagemagic"
|
||||
"mastodon-media--load-image-from-url-media-link-without-imagemagic"
|
||||
"mastodon-media--load-image-from-url-url-fetching-fails"
|
||||
"mastodon-media--process-image-response"))))))))
|
||||
(native-inputs (list emacs-el-mock))
|
||||
(propagated-inputs
|
||||
(list emacs-persist emacs-tp))
|
||||
(home-page "https://codeberg.org/martianh/mastodon.el")
|
||||
|
||||
@@ -425,14 +425,29 @@ hierarchical hexagonal geospatial indexing system")
|
||||
(base32
|
||||
"00qdk9a4048pzfj2rhzkfw3lvm642znf6kr4x29i3d94494pxsnn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'patch-test-shebangs
|
||||
(lambda _
|
||||
(substitute* '("tests/xmltester/testrunner.sh"
|
||||
"tests/xmltester/safe_to_xml.sh")
|
||||
(("/bin/sh") (which "sh"))))))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
,@(if (or (target-x86-32?) (target-arm32?))
|
||||
'((add-after 'unpack 'disable-broken-tests
|
||||
(lambda _
|
||||
;; This test fails due to limited accuracy.
|
||||
(delete-file "tests/xmltester/tests/general/TestCentroid.xml")
|
||||
(with-directory-excursion "tests/unit"
|
||||
;; These also fail due to limited accuracy.
|
||||
(delete-file "algorithm/MinimumAreaRectangleTest.cpp")
|
||||
(delete-file "capi/GEOSMinimumRotatedRectangleTest.cpp")
|
||||
;; It is unclear why these fail, but I'm guessing:
|
||||
;; limited accuracy.
|
||||
(delete-file "linearref/LengthIndexedLineTest.cpp")
|
||||
(delete-file "math/DDTest.cpp")))))
|
||||
'())
|
||||
(add-after
|
||||
'unpack 'patch-test-shebangs
|
||||
(lambda _
|
||||
(substitute* '("tests/xmltester/testrunner.sh"
|
||||
"tests/xmltester/safe_to_xml.sh")
|
||||
(("/bin/sh") (which "sh"))))))))
|
||||
(inputs
|
||||
(list glib))
|
||||
(home-page "https://libgeos.org/")
|
||||
@@ -955,6 +970,29 @@ hydrology and waste deposition.")
|
||||
(base32
|
||||
"03r6mspfv22fs4x4jcgv25v9gsj5k6zy8incvyf94qf50g47s2bc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(if (target-32bit?)
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; These regression tests fail due to accuracy problems.
|
||||
(substitute* "test/unit/test_factory.cpp"
|
||||
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
(substitute* "test/unit/test_grids.cpp"
|
||||
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
(substitute* "test/unit/test_defmodel.cpp"
|
||||
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
;; These regression tests fail due to accuracy problems.
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
|
||||
(("proj_add_gie_test\\(\"Builtins\".+") "")
|
||||
(("proj_add_gie_test\\(\"peirce_q\".+") ""))))))
|
||||
'()))
|
||||
(native-inputs (list googletest pkg-config))
|
||||
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
|
||||
(home-page "https://proj.org/")
|
||||
@@ -984,7 +1022,34 @@ lets developers use the functionality of Proj in their own software.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))))
|
||||
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))
|
||||
(arguments
|
||||
(if (target-32bit?)
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; These regression tests fail due to accuracy problems.
|
||||
(substitute* "test/unit/test_factory.cpp"
|
||||
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
(substitute* "test/unit/test_grids.cpp"
|
||||
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
(substitute* "test/unit/test_defmodel.cpp"
|
||||
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
|
||||
(string-append m "\nGTEST_SKIP();\n")))
|
||||
;; These regression tests fail due to accuracy problems.
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
|
||||
(("proj_add_gie_test\\(\"Builtins\".+") "")
|
||||
(("proj_add_gie_test\\(\"peirce_q\".+") "")
|
||||
(("proj_add_gie_test\\(\"adams_ws2\".+") ""))
|
||||
(substitute* "test/cli/CMakeLists.txt"
|
||||
(("proj_add_test_script_sh\\(\"testvarious\" CS2CS_BIN\\)") ""))))))
|
||||
'()))))
|
||||
|
||||
|
||||
(define-public python-obspy
|
||||
(package
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -19,44 +16,8 @@
|
||||
;;; 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 utils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg))
|
||||
#:use-module (gnu packages monitoring)
|
||||
#:use-module (guix deprecation))
|
||||
|
||||
(define-public gkrellm
|
||||
(package
|
||||
(name "gkrellm")
|
||||
(version "2.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list gtk+-2 libsm))
|
||||
(native-inputs (list gettext-minimal pkg-config))
|
||||
(arguments
|
||||
(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
|
||||
applying themes to match its appearance to your window manager, Gtk, or any
|
||||
other theme.")
|
||||
(license license:gpl3+)))
|
||||
(define-deprecated/public-alias gkrellm
|
||||
(@ (guix packages monitoring) gkrellm))
|
||||
|
||||
@@ -245,6 +245,55 @@ go-fuzz-headers.")
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alexkohler-prealloc
|
||||
(package
|
||||
(name "go-github-com-alexkohler-prealloc")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alexkohler/prealloc")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "011i8yqzyjgwj17k44xvvg4bxfv8z20s0416r2d3yf4s3wqqygpq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/alexkohler/prealloc"))
|
||||
(home-page "https://github.com/alexkohler/prealloc")
|
||||
(synopsis "Find slice declarations that could be preallocated")
|
||||
(description
|
||||
"This package is a Go static analysis tool to find slice declarations
|
||||
that could potentially be preallocated.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alingse-asasalint
|
||||
(package
|
||||
(name "go-github-com-alingse-asasalint")
|
||||
(version "0.0.11")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alingse/asasalint")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1avz33cx3gcpps26rxijv7ic0njfmsdkbcp2mqg5yxhdcpq57s0q"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/alingse/asasalint"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-tools))
|
||||
(home-page "https://github.com/alingse/asasalint")
|
||||
(synopsis "Lint pass any slice as any in variadic function")
|
||||
(description
|
||||
"Golang linter, lint that pass any slice as any in variadic function.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-andreyvit-diff
|
||||
(package
|
||||
(name "go-github-com-andreyvit-diff")
|
||||
|
||||
@@ -1600,7 +1600,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
|
||||
(define-public go-github-com-google-go-tpm
|
||||
(package
|
||||
(name "go-github-com-google-go-tpm")
|
||||
(version "0.9.1")
|
||||
(version "0.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1609,7 +1609,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c5j5cvwl45ka93nknmv454ivd7kp9n8yql19gr6z01z0s1ph7sg"))))
|
||||
(base32 "1sp1mbr6vz36zy9w36iksirbsj5p2jslsl8zs1cdj8s4ig4lkd9d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -456,6 +456,29 @@ penalization.")
|
||||
FFT (Schonhage-Strassen method for multiplying integers).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-robinus2-golang-moving-average
|
||||
(package
|
||||
(name "go-github-com-robinus2-golang-moving-average")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/RobinUS2/golang-moving-average")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02z3ad29653fz7whxkjjpq820ig9j8m68xj4kay14jyazkr5in1f"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/RobinUS2/golang-moving-average"))
|
||||
(home-page "https://github.com/RobinUS2/golang-moving-average")
|
||||
(synopsis "Moving average implementation for Go")
|
||||
(description
|
||||
"This package provides a moving average implementation for Go.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-shopspring-decimal
|
||||
(package
|
||||
(name "go-github-com-shopspring-decimal")
|
||||
|
||||
@@ -386,19 +386,25 @@ devices.")
|
||||
;; - cloud.google.com/go/compute/metadata
|
||||
;; - cloud.google.com/go/iam
|
||||
;; - cloud.google.com/go/kms
|
||||
;; - cloud.google.com/go/logging
|
||||
;; - cloud.google.com/go/longrunning
|
||||
;; - cloud.google.com/go/monitoring
|
||||
;; - cloud.google.com/go/security
|
||||
;; - cloud.google.com/go/spanner
|
||||
;; - cloud.google.com/go/storage
|
||||
;; - cloud.google.com/go/trace
|
||||
(for-each delete-file-recursively
|
||||
(list "auth"
|
||||
"compute/metadata"
|
||||
"iam"
|
||||
"kms"
|
||||
"logging"
|
||||
"longrunning"
|
||||
"monitoring"
|
||||
"security"
|
||||
"storage"))))))
|
||||
"spanner"
|
||||
"storage"
|
||||
"trace"))))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -440,7 +446,6 @@ devices.")
|
||||
"pubsub/v2/internal/scheduler"
|
||||
"pubsub/v2/internal/testutil"
|
||||
"rpcreplay"
|
||||
"spanner/spansql"
|
||||
"translate")))
|
||||
(propagated-inputs
|
||||
(list ;; go-cloud-google-com-go-storage
|
||||
@@ -695,6 +700,65 @@ Service (KMS) API.")
|
||||
see: @url{https://cloud.google.com/iam, IAM specification} for more details.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-logging
|
||||
(package
|
||||
(name "go-cloud-google-com-go-logging")
|
||||
(version "1.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/googleapis/google-cloud-go")
|
||||
(commit (go-version->git-ref version #:subdir "logging"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14khzbcymknsz4p40ibc8v1zsy33b33yn7fcvkfp4rkzw69wv356"))
|
||||
(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 "." "logging")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "cloud.google.com/go/logging"
|
||||
#:unpack-path "cloud.google.com/go"))
|
||||
(native-inputs
|
||||
;; XXX: Remove when cycle is fixed.
|
||||
(list go-github-com-envoyproxy-go-control-plane))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go
|
||||
go-cloud-google-com-go-compute-metadata
|
||||
go-cloud-google-com-go-iam
|
||||
go-cloud-google-com-go-longrunning
|
||||
go-cloud-google-com-go-storage
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-googleapis-gax-go-v2
|
||||
go-go-opencensus-io
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-golang-org-x-oauth2
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://cloud.google.com/go")
|
||||
(synopsis "Cloud Logging API")
|
||||
(description
|
||||
"Package logging contains a Cloud Logging client suitable for writing
|
||||
logs. For reading logs, and working with sinks, metrics and monitored
|
||||
resources, see package cloud.google.com/go/logging/logadmin.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-longrunning
|
||||
(package
|
||||
(name "go-cloud-google-com-go-longrunning")
|
||||
@@ -832,6 +896,78 @@ its service definition.")
|
||||
"This package provides a Go Client Library for Certificate Authority API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-spanner
|
||||
(package
|
||||
(name "go-cloud-google-com-go-spanner")
|
||||
(version "1.91.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/googleapis/google-cloud-go")
|
||||
(commit (go-version->git-ref version #:subdir "spanner"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05jgalbqb9n1whlpdkj40rvyk8lg39q5w4l463ycsj2301pmr90h"))
|
||||
(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 "." "spanner")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "cloud.google.com/go/spanner"
|
||||
#:unpack-path "cloud.google.com/go"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-benchmarks
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "benchmarks")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp
|
||||
;; XXX: Remove when cycle is fixed.
|
||||
go-github-com-envoyproxy-go-control-plane))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go
|
||||
go-cloud-google-com-go-iam
|
||||
go-cloud-google-com-go-longrunning
|
||||
go-cloud-google-com-go-monitoring
|
||||
go-github-com-google-uuid
|
||||
go-github-com-googleapis-gax-go-v2
|
||||
go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp
|
||||
go-go-opencensus-io
|
||||
go-go-opentelemetry-io-contrib-detectors-gcp
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-metric
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-golang-org-x-oauth2
|
||||
go-golang-org-x-sync
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://cloud.google.com/go")
|
||||
(synopsis "Cloud Spanner databases Go client")
|
||||
(description
|
||||
"Package spanner provides a client for reading and writing to Cloud
|
||||
Spanner databases. See
|
||||
@url{https://cloud.google.com/spanner/docs/getting-started/go/} for an
|
||||
introduction to Cloud Spanner and additional help on using this API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-storage
|
||||
(package
|
||||
(name "go-cloud-google-com-go-storage")
|
||||
@@ -897,6 +1033,59 @@ Google Cloud Storage stores data in named objects, which are grouped into
|
||||
buckets.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-trace
|
||||
(package
|
||||
(name "go-cloud-google-com-go-trace")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/googleapis/google-cloud-go")
|
||||
(commit (go-version->git-ref version #:subdir "trace"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14khzbcymknsz4p40ibc8v1zsy33b33yn7fcvkfp4rkzw69wv356"))
|
||||
(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 "." "trace")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "cloud.google.com/go/trace"
|
||||
#:unpack-path "cloud.google.com/go"))
|
||||
(propagated-inputs
|
||||
(list 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-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://cloud.google.com/go")
|
||||
(synopsis "Go Client Library for Cloud Trace API")
|
||||
(description
|
||||
"This package implements the @url{https://cloud.google.com/stackdriver,
|
||||
Stackdriver} Trace API in Golang. Stackdriver Trace is a distributed tracing
|
||||
system that collects latency data from your applications and displays it in
|
||||
the Google Cloud Platform Console.
|
||||
|
||||
It sends application trace data to Stackdriver Trace for viewing. Trace data
|
||||
is collected for all App Engine applications by default. Trace data from
|
||||
other applications can be provided using this API. This library is used to
|
||||
interact with the Trace API directly.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-code-gitea-io-sdk-gitea
|
||||
(package
|
||||
(name "go-code-gitea-io-sdk-gitea")
|
||||
@@ -1406,6 +1595,39 @@ AWS Lambda and API Gateway or ALB without changing the existing HTTP
|
||||
handlers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-akutz-memconn
|
||||
(package
|
||||
(name "go-github-com-akutz-memconn")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/akutz/memconn")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mhghzcx2zxr4bpyf4wx3j7ph9srw38wxg78svwbjh930r2kzssq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/akutz/memconn"
|
||||
#:test-flags
|
||||
#~(list "-skip" (string-join
|
||||
;; Tests fail with insecure algorithm
|
||||
(list "TestTLS_Memu"
|
||||
"TestTLS_Memb"
|
||||
"TestTLS_TCP"
|
||||
"TestTLS_UNIX"
|
||||
"TestTLS_HTTP_Memu"
|
||||
"TestTLS_HTTP_Memb")
|
||||
"|"))))
|
||||
(home-page "https://github.com/akutz/memconn")
|
||||
(synopsis "In-memory network stack for Go")
|
||||
(description
|
||||
"This package provides named, in-memory network connections for Go.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-alexliesenfeld-health
|
||||
(package
|
||||
(name "go-github-com-alexliesenfeld-health")
|
||||
@@ -3595,6 +3817,33 @@ differentiate between installs of Mozilla software in @code{installs.ini} and
|
||||
"TestStructToDateTime")
|
||||
"|"))))))
|
||||
|
||||
(define-public go-github-com-brunoscheufler-aws-ecs-metadata-go
|
||||
(package
|
||||
(name "go-github-com-brunoscheufler-aws-ecs-metadata-go")
|
||||
(version "0.0.0-20221221133751-67e37ae746cd")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BrunoScheufler/aws-ecs-metadata-go")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1x9kn49sl6793zqq4nrbsyfhqh7i3xr25syck2ybpcqkd3mmb8k6"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/brunoscheufler/aws-ecs-metadata-go"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/brunoscheufler/aws-ecs-metadata-go")
|
||||
(synopsis "Retrieve AWS ECS Task metadata")
|
||||
(description
|
||||
"This package provides a minimal wrapper library to fetch
|
||||
@acronym{Elastic Container Service, ECS} Task metadata from any Go service
|
||||
running in container provisioned by AWS Fargate.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-buger-jsonparser
|
||||
(package
|
||||
(name "go-github-com-buger-jsonparser")
|
||||
@@ -6166,7 +6415,7 @@ application's http.Handlers.")
|
||||
(define-public go-github-com-files-com-files-sdk-go-v3
|
||||
(package
|
||||
(name "go-github-com-files-com-files-sdk-go-v3")
|
||||
(version "3.3.7")
|
||||
(version "3.3.95")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6175,7 +6424,7 @@ application's http.Handlers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1syx75vbamwrx5x5glf4542ml8myj9kqqkig8hmy97lhzq4d4n7a"))))
|
||||
(base32 "19mxsybv9lyq57nf5xvll41g7f6z90lq9hrdx1p4w20mj0f51wyj"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6191,7 +6440,6 @@ application's http.Handlers.")
|
||||
go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-appscode-go-querystring
|
||||
go-github-com-bradfitz-iter
|
||||
go-github-com-chilts-sid
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-hashicorp-go-retryablehttp
|
||||
@@ -6201,6 +6449,7 @@ application's http.Handlers.")
|
||||
go-github-com-sabhiram-go-gitignore
|
||||
go-github-com-samber-lo
|
||||
go-github-com-winfsp-cgofuse
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-text
|
||||
go-moul-io-http2curl-v2))
|
||||
@@ -8245,6 +8494,51 @@ Terraform by using the enterprise certificates feature.")
|
||||
for clients and servers based on @code{gRPC} and Google API conventions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp
|
||||
(package
|
||||
(name "go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/GoogleCloudPlatform/grpc-gcp-go")
|
||||
(commit (go-version->git-ref version #:subdir "grpcgcp"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0p7zwbi6gg99mzi7albscf7jn63qxs714h6vars735an13bbvl12"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:import-path "github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp"
|
||||
#:unpack-path "github.com/GoogleCloudPlatform/grpc-gcp-go"
|
||||
;; gcp_multiendpoint_test.go:441: endpoint wanted "localhost:50051", got
|
||||
;; "127.0.0.3:50051"
|
||||
#:test-flags #~(list "-skip" "TestGCPMultiEndpoint")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; See: <https://go.dev/blog/synctest>.
|
||||
(setenv "GOEXPERIMENT" "synctest")
|
||||
(setenv "GODEBUG" "asynctimerchan=0"))))))
|
||||
(native-inputs
|
||||
(list go-github-com-golang-mock
|
||||
go-github-com-google-go-cmp))
|
||||
(propagated-inputs
|
||||
(list go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-metric
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/GoogleCloudPlatform/grpc-gcp-go")
|
||||
(synopsis "Grpc supports for Google Cloud APIs")
|
||||
(description
|
||||
"Package grpcgcp provides gRPC supports for Google Cloud APIs. For now
|
||||
it provides connection management with affinity support.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-detectors-gcp
|
||||
(package
|
||||
(name
|
||||
@@ -8334,6 +8628,110 @@ testing of the detection functions in real GCP environments.")
|
||||
send collected metrics to Google Cloud.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace
|
||||
(package
|
||||
(name "go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace")
|
||||
(version "1.32.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
|
||||
(commit (go-version->git-ref version #:subdir "exporter/trace"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nizaaydcvvi718g5v4pgx8in6d546mmkrf7h3sxhz2yyyygvms3"))
|
||||
(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 "exporter" "trace")
|
||||
(delete-all-but "." "exporter")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path
|
||||
(string-append "github.com/GoogleCloudPlatform/"
|
||||
"opentelemetry-operations-go/exporter/trace")
|
||||
#:unpack-path
|
||||
"github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-trace
|
||||
go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock
|
||||
go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-golang-org-x-oauth2
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
|
||||
(synopsis "OpenTelemetry Google Cloud Trace Exporter")
|
||||
(description
|
||||
"@code{OpenTelemetry} Google Cloud Trace Exporter allows the user to send
|
||||
collected traces and spans to Google Cloud.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock
|
||||
(package
|
||||
(name "go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock")
|
||||
(version "0.56.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "internal/cloudmock"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nizaaydcvvi718g5v4pgx8in6d546mmkrf7h3sxhz2yyyygvms3"))
|
||||
(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 "internal" "cloudmock")
|
||||
(delete-all-but "." "internal")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path
|
||||
(string-append "github.com/GoogleCloudPlatform/"
|
||||
"opentelemetry-operations-go/internal/cloudmock")
|
||||
#:unpack-path
|
||||
"github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-logging
|
||||
go-cloud-google-com-go-monitoring
|
||||
go-cloud-google-com-go-trace
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
|
||||
(synopsis "OpenTelemetry Google Cloud mock library")
|
||||
;; XXX: There is not any documentation for this package upstrream.
|
||||
(description
|
||||
"This package provides OpenTelemetry Google Cloud mock Go library.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping
|
||||
(package
|
||||
(name "go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping")
|
||||
@@ -9803,6 +10201,55 @@ protocol) - used to discover UPnP services on a network
|
||||
by the IBM Cloud @code{OpenAPI} SDK Generator (openapi-sdkgen).")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-ibm-sarama
|
||||
(package
|
||||
(name "go-github-com-ibm-sarama")
|
||||
(version "1.48.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/IBM/sarama")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ak07aqb9hznvhbnkw34vak30pzbwvh2aff22lww8gcba4c9qdn7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/IBM/sarama"
|
||||
#:unpack-path "github.com/IBM/sarama"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key tests? unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(delete-file-recursively "examples")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
go-github-com-davecgh-go-spew
|
||||
go-go-uber-org-goleak))
|
||||
(propagated-inputs
|
||||
(list go-github-com-eapache-go-resiliency
|
||||
go-github-com-eapache-queue
|
||||
go-github-com-jcmturner-gofork
|
||||
go-github-com-jcmturner-gokrb5-v8
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-pierrec-lz4-v4
|
||||
go-github-com-rcrowley-go-metrics
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys))
|
||||
(home-page "https://github.com/IBM/sarama")
|
||||
(synopsis "Go library for Apache Kafka")
|
||||
(description
|
||||
"Package sarama is a pure Go client library for dealing with Apache Kafka
|
||||
(versions 0.8 and later). It includes a high-level API for easily producing
|
||||
and consuming messages, and a low-level API for controlling bytes on the wire
|
||||
when the high-level API is insufficient. Usage examples for the high-level
|
||||
APIs are provided inline with their full documentation.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-igungor-gofakes3
|
||||
(package
|
||||
(name "go-github-com-igungor-gofakes3")
|
||||
@@ -13629,24 +14076,24 @@ standard library.")
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: Enable tests and build when all missing inputs are packages, use
|
||||
;; as source only package for Kubo.
|
||||
#:skip-build? #t
|
||||
#:tests? #f
|
||||
#:import-path "github.com/openzipkin/zipkin-go"))
|
||||
#:import-path "github.com/openzipkin/zipkin-go"
|
||||
;; span_test.go:56: expected valid endpoint, got error: host lookup
|
||||
;; failure: lookup www.google.com on [::1]:53: read udp
|
||||
;; [::1]:56302->[::1]:53: read: connection refused
|
||||
#:test-flags #~(list "-skip" "TestRemoteEndpoint|TestHTTPClient")))
|
||||
(native-inputs
|
||||
(list go-github-com-onsi-ginkgo-v2
|
||||
go-github-com-onsi-gomega))
|
||||
(propagated-inputs
|
||||
(list ;; go-github-com-ibm-sarama
|
||||
;; go-github-com-rabbitmq-amqp091-go
|
||||
(list go-github-com-ibm-sarama
|
||||
go-github-com-rabbitmq-amqp091-go
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/openzipkin/zipkin-go")
|
||||
(synopsis "Zipkin Library for Go")
|
||||
(description
|
||||
"Package zipkin implements a native Zipkin instrumentation library for
|
||||
Go.")
|
||||
Go. @url{https://zipkin.io/, Zipkin} is a distributed tracing system.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-oracle-oci-go-sdk-v65
|
||||
@@ -15574,6 +16021,38 @@ currently implements
|
||||
of the specification.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-rabbitmq-amqp091-go
|
||||
(package
|
||||
(name "go-github-com-rabbitmq-amqp091-go")
|
||||
(version "1.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rabbitmq/amqp091-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xn0ykx08l8gg66qk6jhz2md4as8n9fqm0smzcbislyqp4d3gpr8"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/rabbitmq/amqp091-go"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "_examples")))))))
|
||||
(native-inputs
|
||||
(list go-go-uber-org-goleak))
|
||||
(home-page "https://github.com/rabbitmq/amqp091-go")
|
||||
(synopsis "Go RabbitMQ Client Library")
|
||||
(description
|
||||
"Package amqp091 is an @acronym{Advanced Message Queuing Protocol, AMQP}
|
||||
0.9.1 client with @code{RabbitMQ} extensions.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-rasky-go-xdr
|
||||
(package
|
||||
(name "go-github-com-rasky-go-xdr")
|
||||
@@ -16233,6 +16712,7 @@ and consumers to transparently record signed metadata to a ledger.")
|
||||
#:test-subdirs
|
||||
#~(list "internal/algorithmregistry"
|
||||
"internal/safeint"
|
||||
"pkg/client/read"
|
||||
"pkg/client/write"
|
||||
"pkg/types/dsse"
|
||||
"pkg/types/hashedrekord"
|
||||
@@ -16247,7 +16727,8 @@ and consumers to transparently record signed metadata to a ledger.")
|
||||
go-github-com-stretchr-testify
|
||||
go-sigs-k8s-io-release-utils))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-storage
|
||||
(list go-cloud-google-com-go-spanner
|
||||
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
|
||||
@@ -16264,12 +16745,14 @@ and consumers to transparently record signed metadata to a ledger.")
|
||||
go-github-com-sigstore-sigstore
|
||||
;; go-github-com-sigstore-sigstore-go ;cycles
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
|
||||
go-github-com-chainguard-dev-clog
|
||||
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-github-com-transparency-dev-tessera
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-prometheus
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
@@ -16283,9 +16766,6 @@ and consumers to transparently record signed metadata to a ledger.")
|
||||
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")
|
||||
@@ -17917,7 +18397,95 @@ caching protocol. It provides support to programmatically store and retrieve
|
||||
build caches, instead of relying on the standard actions/cache YAML step.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-transparency-dev-tessera
|
||||
(package
|
||||
(name "go-github-com-transparency-dev-tessera")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/transparency-dev/tessera")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "101y83j67g7r1bqk49qj8mwxgys88wkxz5lf7pvjp4c6b10w5gck"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/transparency-dev/tessera"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-access-to-state-tree-state
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(make-file-writable "testdata/log/.state/treeState.lock"))))
|
||||
(add-after 'check 'remove-testdata
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "testdata")))))))
|
||||
(native-inputs
|
||||
(list strace
|
||||
;; XXX: Remove when cycle is fixed.
|
||||
go-github-com-envoyproxy-go-control-plane))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-spanner
|
||||
go-cloud-google-com-go-storage
|
||||
go-github-com-avast-retry-go-v4
|
||||
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-bitfield-script
|
||||
go-github-com-cenkalti-backoff-v5
|
||||
go-github-com-charmbracelet-bubbletea
|
||||
go-github-com-charmbracelet-lipgloss
|
||||
go-github-com-dgraph-io-badger-v4
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-gdamore-tcell-v2
|
||||
go-github-com-go-sql-driver-mysql
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric
|
||||
go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace
|
||||
go-github-com-hashicorp-golang-lru-v2
|
||||
go-github-com-muesli-termenv
|
||||
go-github-com-rivo-tview
|
||||
go-github-com-robinus2-golang-moving-average
|
||||
go-github-com-transparency-dev-formats
|
||||
go-github-com-transparency-dev-merkle
|
||||
go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2
|
||||
go-go-opentelemetry-io-contrib-detectors-aws-ecs
|
||||
go-go-opentelemetry-io-contrib-detectors-gcp
|
||||
go-go-opentelemetry-io-contrib-propagators-aws
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
|
||||
go-go-opentelemetry-io-otel-metric
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-exp
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-time
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-grpc
|
||||
go-k8s-io-klog-v2))
|
||||
(home-page "https://github.com/transparency-dev/tessera")
|
||||
(synopsis "Go library for building tile-based transparency logs (tlogs)")
|
||||
(description
|
||||
"Tessera is a Go library for building tile-based transparency logs (tlogs).
|
||||
It is the logical successor to the approach
|
||||
@url{https://github.com/google/trillian, Trillian v1} takes in building and
|
||||
operating logs. The implementation and its APIs bake-in current
|
||||
best-practices based on the lessons learned over the past decade of building
|
||||
and operating transparency logs in production environments and at scale.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tv42-httpunix
|
||||
|
||||
(let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
|
||||
(revision "0"))
|
||||
(package
|
||||
@@ -19686,6 +20254,101 @@ lists)
|
||||
"Package sdk provides an auto-instrumentable @code{OpenTelemetry} SDK.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2")
|
||||
(version "2.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/open-telemetry/opentelemetry-go-contrib")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "detectors/aws/ec2"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))
|
||||
(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 "detectors/aws" "ec2")
|
||||
(delete-all-but "detectors" "aws")
|
||||
(delete-all-but "." "detectors")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "go.opentelemetry.io/contrib/detectors/aws/ec2/v2"
|
||||
#:unpack-path "go.opentelemetry.io/contrib"))
|
||||
(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-feature-ec2-imds
|
||||
go-github-com-aws-smithy-go
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-sdk))
|
||||
(home-page "https://github.com/open-telemetry/opentelemetry-go-contrib")
|
||||
(synopsis "Resource detector for EC2 instances")
|
||||
(description
|
||||
"Package ec2 provides a resource detector for @acronym{Amazon Elastic
|
||||
Compute Cloud, EC2} instances using @code{aws-sdk-go-v2}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-go-opentelemetry-io-contrib-detectors-aws-ecs
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-contrib-detectors-aws-ecs")
|
||||
(version "1.43.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/open-telemetry/opentelemetry-go-contrib")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "detectors/aws/ecs"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))
|
||||
(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 "detectors/aws" "ecs")
|
||||
(delete-all-but "detectors" "aws")
|
||||
(delete-all-but "." "detectors")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "go.opentelemetry.io/contrib/detectors/aws/ecs"
|
||||
#:unpack-path "go.opentelemetry.io/contrib"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-brunoscheufler-aws-ecs-metadata-go
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-sdk))
|
||||
(home-page "https://go.opentelemetry.io/contrib")
|
||||
(synopsis "OTLP resource detector for AWS ECS instances")
|
||||
(description
|
||||
"Package ecs provides a resource detector for AWS @acronym{Elastic
|
||||
Container Service, ECS} instances.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-go-opentelemetry-io-contrib-detectors-gcp
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-contrib-detectors-gcp")
|
||||
@@ -20289,7 +20952,7 @@ protobuf payloads.")
|
||||
(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc")
|
||||
(version "1.36.0")
|
||||
(version "1.43.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -20299,15 +20962,12 @@ protobuf payloads.")
|
||||
#:subdir "exporters/otlp/otlptrace/otlptracegrpc"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
|
||||
(base32 "0583dw99k25k07pnq8hhhb45kwqhsx30lbk9yxsh4m50ji65wl8h"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
;; Consider implementing it as a reusable procedure in
|
||||
;; guix/build/utils or guix/build-system/go.
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
@@ -20315,23 +20975,27 @@ protobuf payloads.")
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "exporters/otlp/otlptrace" "otlptracegrpc")
|
||||
(delete-all-but "exporters/otlp" "otlptrace")
|
||||
(delete-all-but "." "exporters")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: Enable when all missing inputs are available, use as source
|
||||
;; only package for Boxo.
|
||||
#:skip-build? #t
|
||||
#:tests? #f
|
||||
#:import-path
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
|
||||
#:unpack-path "go.opentelemetry.io/otel"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(list go-github-com-stretchr-testify
|
||||
go-go-uber-org-goleak))
|
||||
(propagated-inputs
|
||||
(list go-github-com-cenkalti-backoff-v5
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
|
||||
go-go-opentelemetry-io-otel-metric
|
||||
go-go-opentelemetry-io-otel-metric-x
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-go-opentelemetry-io-proto-otlp
|
||||
go-go-uber-org-goleak
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
@@ -20646,6 +21310,50 @@ logging library. Instead, install one of the bridges listed in the
|
||||
"Package metric provides an implementation of the metric part of the
|
||||
OpenTelemetry API.")))
|
||||
|
||||
(define-public go-go-opentelemetry-io-otel-metric-x
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-otel-metric-x")
|
||||
(version "0.0.0-20260424084752-468c62dac625")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/open-telemetry/opentelemetry-go")
|
||||
(commit (go-version->git-ref version #:subdir "metric/x"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16x0aw116dadi73vzh8bcwasy79sblvh6k1q7yfx8n841x48ry8r"))
|
||||
(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 "metric" "x")
|
||||
(delete-all-but "." "metric")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "go.opentelemetry.io/otel/metric/x"
|
||||
#:unpack-path "go.opentelemetry.io/otel"))
|
||||
(propagated-inputs
|
||||
(list go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-metric
|
||||
go-go-opentelemetry-io-otel-trace))
|
||||
(home-page "https://github.com/open-telemetry/opentelemetry-go")
|
||||
(synopsis "Experimental Metric Options")
|
||||
(description
|
||||
"This package contains experimental options for the OpenTelemetry metric
|
||||
package. These options are currently under development and not part of the
|
||||
stable API. They may be changed in backwards-incompatible ways, or removed
|
||||
entirely.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-go-opentelemetry-io-otel-sdk
|
||||
(package
|
||||
(name "go-go-opentelemetry-io-otel-sdk")
|
||||
@@ -22770,6 +23478,34 @@ carries no encryption keys and cannot decode the traffic that it proxies.")))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public sarama-tools
|
||||
(package/inherit go-github-com-ibm-sarama
|
||||
(name "sarama-tools")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:import-path _) "github.com/IBM/sarama/tools/...")))
|
||||
(native-inputs (package-propagated-inputs go-github-com-ibm-sarama))
|
||||
(propagated-inputs '())
|
||||
(inputs '())
|
||||
(description
|
||||
"This package contains applications that are useful for exploration of
|
||||
Kafka cluster, or instrumentation. Some of these tools mirror tools that ship
|
||||
with Kafka, but these tools won't require installing the JVM to function.
|
||||
|
||||
@itemize
|
||||
@item @command{kafka-console-producer}: a command line tool to produce a
|
||||
single message to your Kafka custer.
|
||||
@item @command{kafka-console-partitionconsumer}: a command line
|
||||
tool to consume a single partition of a topic on your Kafka cluster.
|
||||
@item @command{kafka-console-consumer}: a command line tool to consume
|
||||
arbitrary partitions of a topic on your Kafka cluster.
|
||||
@item @command{kafka-producer-performance}: a command line tool to performance
|
||||
test producers (sync and async) on your Kafka cluster.
|
||||
@end itemize")))
|
||||
|
||||
(define-public snowflake-proxy
|
||||
(package/inherit
|
||||
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
|
||||
|
||||
@@ -525,6 +525,35 @@ file along with an index.html file.")
|
||||
"Package tcell provides a gruid Driver for making terminal apps.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public go-codeberg-org-chavacava-garif
|
||||
(package
|
||||
(name "go-codeberg-org-chavacava-garif")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/chavacava/garif.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cz037yb9gnk9fd61pni6m0n9cbrwmlxxija5vm91mplyxlih05h"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "codeberg.org/chavacava/garif"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://codeberg.org/chavacava/garif")
|
||||
(synopsis "Create and manipulate SARIF logs")
|
||||
(description
|
||||
"This package defines all the Go structures required to model a log file.
|
||||
|
||||
SARIF, from Static Analysis Results Interchange Format, is a standard
|
||||
JSON-based format for the output of static analysis tools defined and promoted
|
||||
by @url{https://www.oasis-open.org/, OASIS}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-codeberg-org-emersion-go-scfg
|
||||
(package
|
||||
(name "go-codeberg-org-emersion-go-scfg")
|
||||
@@ -613,6 +642,33 @@ recursively any exported one. It also won't merge structs inside
|
||||
maps (because they are not addressable using Go reflection).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-fyne-io-systray
|
||||
(package
|
||||
(name "go-fyne-io-systray")
|
||||
(version "1.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fyne-io/systray")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yrd4f3n8wrqcqradmqq9w0b31hd5hali876xkynfhm3nhaz4j1i"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "fyne.io/systray"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-godbus-dbus-v5
|
||||
go-golang-org-x-sys))
|
||||
(home-page "https://fyne.io/systray/")
|
||||
(synopsis "Place an icon and menu in the notification area")
|
||||
(description
|
||||
"This package is a cross-platform Go library to place an icon and menu in
|
||||
the notification area.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-git-sr-ht-rjarry-go-opt
|
||||
(package
|
||||
(name "go-git-sr-ht-rjarry-go-opt")
|
||||
@@ -2981,6 +3037,38 @@ input from the terminal while not echoing the input back (similar to
|
||||
and is therefore compatible with cross-compiling.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bitfield-script
|
||||
(package
|
||||
(name "go-github-com-bitfield-script")
|
||||
(version "0.24.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bitfield/script")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pzmz7n39sh9sprclzd0m0l0flf626286fh51m065yjhkqzrjw89"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/bitfield/script"
|
||||
#:test-flags #~(list "-vet=off")))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp))
|
||||
(propagated-inputs
|
||||
(list go-github-com-itchyny-gojq
|
||||
go-github-com-rogpeppe-go-internal
|
||||
go-mvdan-cc-sh-v3))
|
||||
(home-page "https://github.com/bitfield/script")
|
||||
(synopsis "Making it easy to write shell-like scripts in Go")
|
||||
(description
|
||||
"Package script aims to make it easy to write shell-type scripts in Go,
|
||||
for general system administration purposes: reading files, counting lines,
|
||||
matching strings, and so on.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bitly-go-hostpool
|
||||
(package
|
||||
(name "go-github-com-bitly-go-hostpool")
|
||||
@@ -4433,6 +4521,34 @@ over strings.")
|
||||
@code{https://en.wikipedia.org/wiki/WebP, WebP} images.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-chainguard-dev-clog
|
||||
(package
|
||||
(name "go-github-com-chainguard-dev-clog")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/chainguard-dev/clog")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b95vw8czs2r9lscyi85vppbyqj672zm6z2n9siy1s9yv6fkys62"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/chainguard-dev/clog"))
|
||||
(home-page "https://github.com/chainguard-dev/clog")
|
||||
(synopsis "Context aware slog")
|
||||
(description
|
||||
"This package provides a context-aware Go std lib
|
||||
@url{https://pkg.go.dev/log/slog, @code{slog}}. The context Logger can be
|
||||
used to use Loggers from the context. This is sometimes preferred over the
|
||||
@url{https://github.com/chainguard-dev/clog#context-handler, Context Handler},
|
||||
since this can make it easier to use different loggers in different
|
||||
contexts (e.g. testing).")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-charlievieth-fastwalk
|
||||
(package
|
||||
(name "go-github-com-charlievieth-fastwalk")
|
||||
@@ -8967,6 +9083,41 @@ sub-interfaces are also provided for cases where the full Channel interface
|
||||
cannot be met (for example, @code{InChannel} for write-only channels).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-eapache-go-resiliency
|
||||
(package
|
||||
(name "go-github-com-eapache-go-resiliency")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/eapache/go-resiliency")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07a1r3c2spd37k3riy4fxz8v8ibxiprf8a3vw788whz4mlp6gm40"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/eapache/go-resiliency"))
|
||||
(home-page "https://github.com/eapache/go-resiliency")
|
||||
(synopsis "Resiliency patterns for golang")
|
||||
(description
|
||||
"Resiliency patterns for golang. Based in part on
|
||||
@url{https://github.com/Netflix/Hystrix, Hystrix},
|
||||
@@url{https://github.com/Shopify/semian, Semian}, and others.
|
||||
|
||||
Currently implemented patterns include:
|
||||
@itemize
|
||||
@item circuit-breaker
|
||||
@item semaphore
|
||||
@item deadline/timeout
|
||||
@item batching
|
||||
@item retriable
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-eapache-queue
|
||||
(package
|
||||
(name "go-github-com-eapache-queue")
|
||||
@@ -30438,8 +30589,8 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
|
||||
;; to build NNCP and remove vendor) dependency for Golang. Full build depends
|
||||
;; on Bazel <https://bazel.build/>.
|
||||
(define-public go-gvisor-dev-gvisor
|
||||
(let ((commit "634ce95eed8d5b8e6b3e2ea30542c34cb30af148")
|
||||
(revision "0"))
|
||||
(let ((commit "9414b50a5633100fd7299a5a7998742575dcb669")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-gvisor-dev-gvisor")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
@@ -30451,7 +30602,7 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l3si6qlchwgsvaq6lxyvj8iq8n8pqxlayb1hbdf3pynxi52hfkw"))))
|
||||
(base32 "0vqaclb2ignkcs7n463bj349m0xybdsv71i6afhzh8r05hdywzax"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2014-2019, 2021, 2026 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2022 Marius Bakke <marius@gnu.org>
|
||||
@@ -226,6 +226,18 @@ JNI.")
|
||||
(setenv "JAVACMD" (search-input-file inputs "/bin/jamvm"))
|
||||
(setenv "JAVAC" (search-input-file inputs "/bin/jikes"))
|
||||
(setenv "CLASSPATH" (search-input-file inputs "/lib/rt.jar"))))
|
||||
,@(if (target-x86-32?)
|
||||
;; XXX: On i686 isFile() always seems to return true. Patching
|
||||
;; this here is very ugly, but the effects are limited. None
|
||||
;; of these changes remain by the time we've built Icedtea and
|
||||
;; the other JDKs.
|
||||
'((add-after 'unpack 'disable-isFile-checks
|
||||
(lambda _
|
||||
(substitute* "src/main/org/apache/tools/ant/util/ResourceUtils.java"
|
||||
(("destFile = \\(\\(FileProvider\\).*") ""))
|
||||
(substitute* "src/main/org/apache/tools/ant/taskdefs/Mkdir.java"
|
||||
(("dir.isFile\\(\\)") "false")))))
|
||||
'())
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Ant complains if this file doesn't exist.
|
||||
|
||||
@@ -1285,7 +1285,13 @@ new Date();"))))
|
||||
;; It looks like the "--disable-warnings-as-errors" option of
|
||||
;; the 'configure' phase is not working.
|
||||
(substitute* "make/autoconf/generated-configure.sh"
|
||||
(("-Werror") ""))))))
|
||||
(("-Werror") ""))))
|
||||
#$@(if (target-x86-32?)
|
||||
;; On i686 the C2 compiler sometimes crashes when importing
|
||||
;; certificates.
|
||||
#~((add-before 'install-keystore 'disable-C2-compiler
|
||||
(lambda _ (setenv "_JAVA_OPTIONS" "-XX:TieredStopAtLevel=1"))))
|
||||
#~())))
|
||||
((#:disallowed-references refs '())
|
||||
(cons* (this-package-native-input "openjdk")
|
||||
(gexp-input (this-package-native-input "openjdk") "jdk")
|
||||
@@ -1844,12 +1850,50 @@ blacklisted.certs.pem"
|
||||
(define-public openjdk24
|
||||
(make-openjdk
|
||||
openjdk23 "24.0.1"
|
||||
"0h6sbzbjyqg85iml41pswdh2z3d7h2hhb0sd5yll37r1mj5lsxmx"))
|
||||
"0h6sbzbjyqg85iml41pswdh2z3d7h2hhb0sd5yll37r1mj5lsxmx"
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags #~(list))
|
||||
(if (target-x86-32?)
|
||||
#~(cons* "--enable-deprecated-ports=yes" #$flags)
|
||||
flags))))))
|
||||
|
||||
(define-public openjdk25
|
||||
(make-openjdk
|
||||
openjdk24 "25.0.2"
|
||||
"03aa34lscr3qbdl6qz3gqyp0nzkqfj02362mzmpkiq3y2g5xdnrj"))
|
||||
"03aa34lscr3qbdl6qz3gqyp0nzkqfj02362mzmpkiq3y2g5xdnrj"
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags #~(list))
|
||||
(if (target-x86-32?)
|
||||
;; Full builds on 32-bit x86 architectures are not supported as of
|
||||
;; this version. Best we can do is to build with the "zero" variant.
|
||||
#~(cons* "--with-jvm-variants=zero"
|
||||
"--disable-precompiled-headers"
|
||||
#$flags)
|
||||
flags))
|
||||
((#:phases phases #~%standard-phases)
|
||||
(if (target-x86-32?)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((images (car (find-files "build" "-zero-release"
|
||||
#:directories? #t))))
|
||||
(copy-recursively (string-append images "/images/jdk")
|
||||
#$output:jdk)
|
||||
(copy-recursively (string-append images "/images/jre")
|
||||
#$output)
|
||||
(copy-recursively (string-append images "/images/docs")
|
||||
#$output:doc))))
|
||||
(replace 'install-libjvm
|
||||
(lambda _
|
||||
(let ((lib-out (string-append #$output "/lib"))
|
||||
(lib-jdk (string-append #$output:jdk "/lib")))
|
||||
(symlink (string-append lib-jdk "/zero/libjvm.so")
|
||||
(string-append lib-jdk "/libjvm.so"))
|
||||
(symlink (string-append lib-out "/zero/libjvm.so")
|
||||
(string-append lib-out "/libjvm.so"))))))
|
||||
phases))))))
|
||||
|
||||
;;; Convenience alias to point to the latest version of OpenJDK.
|
||||
(define-public openjdk openjdk25)
|
||||
|
||||
@@ -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 "0245ffb160688061f0e0c67ea488bcdfdacbeca4"))
|
||||
(let ((commit "fefe280d909d0eee8d60edd2a6db7d969df56c5b"))
|
||||
(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 "0y8xdxql04yys0wj685v4yp3kmx1ivnndg6z11vam8vszh0j7ak6")))))
|
||||
(sha256 (base32 "0z1ksvspbn4bbzxdl2w4x7bg36j4rwhaby8g37apg4393frh558i")))))
|
||||
|
||||
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
|
||||
(let* ((ff-src (firefox-source-origin
|
||||
@@ -205,7 +205,8 @@
|
||||
(search-patches
|
||||
"librewolf-compare-paths.patch"
|
||||
"librewolf-use-system-wide-dir.patch"
|
||||
"librewolf-add-store-to-rdd-allowlist.patch"))
|
||||
"librewolf-add-store-to-rdd-allowlist.patch"
|
||||
"librewolf-150.0-encoding_rs-rust-fix.patch"))
|
||||
;; Slim down the tarball by removing unbundled libraries and 75 Mo (800+
|
||||
;; Mo uncompressed) of unused tests.
|
||||
;; TODO: Unbundle security/nss and media/libpng.
|
||||
@@ -244,17 +245,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 "20260409162101")
|
||||
(define %librewolf-build-id "20260421153818")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "149.0.2-2")
|
||||
(version "150.0-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "1kkhg3lgyakinn5ankxrlxbf39wi61mqbhwrj1l4q5l7y0n1m4va"
|
||||
#:librewolf-hash "1bai8g2kc9snck2f724al29q6r57vkj3d7v58rf0mgzpqzvwnw5f"
|
||||
#:firefox-hash "151rxzl80dm8jsxl6fwzgbirwq4zpms5adwwnbjcwdd1r3s3vr7v"
|
||||
#:librewolf-hash "0iw9v3zc1fxc93yyhldqarxaypgmbndh2ylsy330kcbpb6p1gnmr"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -352,18 +353,18 @@
|
||||
(cdr pref)))
|
||||
`(("extensions.getAddons.search.browseURL"
|
||||
,(string-append
|
||||
"https://gnuzilla.gnu.org/mozzarella/"
|
||||
"https://gnuzilla.gnu.org/"
|
||||
"search.php?q=%TERMS%"))
|
||||
("extensions.getAddons.get.url" .
|
||||
"https://gnuzilla.gnu.org/mozzarella")
|
||||
"https://gnuzilla.gnu.org")
|
||||
("extensions.getAddons.link.url" .
|
||||
"https://gnuzilla.gnu.org/mozzarella")
|
||||
"https://gnuzilla.gnu.org")
|
||||
("extensions.getAddons.discovery.api_url" .
|
||||
"https://gnuzilla.gnu.org/mozzarella")
|
||||
"https://gnuzilla.gnu.org")
|
||||
("extensions.getAddons.langpacks.url" .
|
||||
"https://gnuzilla.gnu.org/mozzarella")
|
||||
"https://gnuzilla.gnu.org")
|
||||
("lightweightThemes.getMoreURL" .
|
||||
"https://gnuzilla.gnu.org/mozzarella")))))))
|
||||
"https://gnuzilla.gnu.org")))))))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda _
|
||||
(use-modules (guix build cargo-utils))
|
||||
|
||||
@@ -2475,6 +2475,9 @@ similar to MATLAB, GNU Octave or SciPy.")
|
||||
;; "--enable-doxygen"
|
||||
"--enable-dot"
|
||||
"--enable-netcdf-4"
|
||||
#$@(if (or (target-x86-32?) (target-arm32?))
|
||||
'("CFLAGS=-Wno-error=incompatible-pointer-types")
|
||||
'())
|
||||
(string-append "--with-plugin-dir=" #$output "/lib/hdf5-plugins"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -2486,7 +2489,15 @@ similar to MATLAB, GNU Octave or SciPy.")
|
||||
(("testurl.sh") ""))
|
||||
(substitute* "nczarr_test/Makefile.in"
|
||||
(("/bin/bash")
|
||||
(search-input-file inputs "bin/bash")))))
|
||||
(search-input-file inputs "bin/bash")))
|
||||
;; This test fails on 32 bit platforms.
|
||||
#$@(if (or (target-x86-32?) (target-arm32?))
|
||||
'((substitute* '("ncdump/tst_netcdf4_4.sh"
|
||||
"ncdump/tst_nccopy4.sh")
|
||||
(("#!/bin/sh" m) (string-append m "\nexit 0\n")))
|
||||
(substitute* "ncdump/Makefile.in"
|
||||
(("tst_netcdf4_4.log") "")))
|
||||
'())))
|
||||
(add-before 'configure 'fix-source-date
|
||||
(lambda _
|
||||
;; As we ${SOURCE_DATE_EPOCH} evaluates to "1" in the build
|
||||
@@ -11458,7 +11469,7 @@ expression parsing and evaluation.")
|
||||
(define-public highs
|
||||
(package
|
||||
(name "highs")
|
||||
(version "1.10.0")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -11467,14 +11478,14 @@ expression parsing and evaluation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19q99nkk6r6k91gxp8a5rjil1399qyfgfc6jqlg2gd82vpcw8c8b"))))
|
||||
(base32 "16y664rzvxd8785195k0srz0842zvl0zdkf6qi103p503pj81afh"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://highs.dev")
|
||||
(synopsis "High performance software for linear optimization")
|
||||
(description
|
||||
"HiGHS provides serial and parallel solvers for large-scale sparse
|
||||
linear programming (LP), mixed-integer programming (MIP), and quadratic
|
||||
programming (QP) models")
|
||||
programming (QP) models.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public trilinos-zoltan
|
||||
|
||||
@@ -2839,7 +2839,7 @@ implementation of an MQTT version client class.")
|
||||
(define-public psi-plus
|
||||
(package
|
||||
(name "psi-plus")
|
||||
(version "1.5.1484")
|
||||
(version "1.5.2115")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2853,7 +2853,7 @@ implementation of an MQTT version client class.")
|
||||
`(begin
|
||||
(delete-file-recursively "3rdparty")))
|
||||
(sha256
|
||||
(base32 "1jsm39nzzbqkp3zc0xqx7jid6p4q1ra28xad38wjr2l1jb8qjn24"))))
|
||||
(base32 "14za9rh7nszv5px5a2w43ysi9977zws8a5mxsh7wc8ksr693faz2"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
@@ -2910,19 +2910,13 @@ implementation of an MQTT version client class.")
|
||||
"qite/qiteaudio.h")
|
||||
(("qiteaudiorecorder.h")
|
||||
"qite/qiteaudiorecorder.h"))))
|
||||
(add-after 'install 'wrap-env
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(let ((file (string-append out "/bin/" name))
|
||||
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
|
||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program file
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
|
||||
'("psi-plus")))))
|
||||
(add-after 'wrap-env 'glib-or-gtk-compile-schemas
|
||||
(wrap-program (string-append out "/bin/psi-plus")
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))
|
||||
(add-after 'wrap-executable 'glib-or-gtk-compile-schemas
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
|
||||
@@ -2945,6 +2939,7 @@ implementation of an MQTT version client class.")
|
||||
libgcrypt
|
||||
libgpg-error
|
||||
libidn
|
||||
libomemo-c
|
||||
libotr
|
||||
libsignal-protocol-c
|
||||
tidy-html
|
||||
@@ -2964,11 +2959,11 @@ implementation of an MQTT version client class.")
|
||||
libxcb
|
||||
libxscrnsaver
|
||||
zlib))
|
||||
(home-page "https://psi-plus.com/")
|
||||
(home-page "https://psi-im.com/")
|
||||
(synopsis "Qt-based XMPP Client")
|
||||
(description
|
||||
"Psi+ is a spin-off of Psi XMPP client. It is a powerful XMPP client
|
||||
designed for experienced users.")
|
||||
"Psi+ is a powerful XMPP client designed for experienced users.
|
||||
It's a spin-off of the Psi XMPP client.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-deprecated-package psi
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2021 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2018-2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
|
||||
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
|
||||
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
@@ -19,9 +24,6 @@
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2025 Christian Birk Sørensen <chrbirks@gmail.com>
|
||||
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -70,6 +72,7 @@
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-web)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages mail)
|
||||
@@ -411,6 +414,37 @@ system statistics (CPU, disk, and memory usage, etc.) and more on the
|
||||
desktop.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gkrellm
|
||||
(package
|
||||
(name "gkrellm")
|
||||
(version "2.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list gtk+-2 libsm))
|
||||
(native-inputs (list gettext-minimal pkg-config))
|
||||
(arguments
|
||||
(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
|
||||
applying themes to match its appearance to your window manager, Gtk, or any
|
||||
other theme.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public glances
|
||||
(package
|
||||
(name "glances")
|
||||
|
||||
@@ -286,7 +286,7 @@ This package tracks the Extended Support Release (ESR) channel.")
|
||||
(package
|
||||
(inherit nss)
|
||||
(name "nss-rapid")
|
||||
(version "3.121")
|
||||
(version "3.123")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source nss))
|
||||
@@ -297,7 +297,7 @@ This package tracks the Extended Support Release (ESR) channel.")
|
||||
"releases/NSS_" version-with-underscores "_RTM/src/"
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "0bk3lxmj364vlf4x2q01pf0li3mm5ixgnfnxirxqp9xyh63qyfnb"))
|
||||
(base32 "0jafdl18q9j36bwk73i462qkc24070b5llchffd7fsd2k0ri2i91"))
|
||||
(patches
|
||||
(search-patches "nss-3.56-pkgconfig.patch"
|
||||
"nss-getcwd-nonnull.patch"
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -265,15 +265,11 @@
|
||||
amal.flags = -nc
|
||||
amal.run = TOPDIR="$(DIR.top)" $(SHELL.bash) $(bin.make-amal) --quiet
|
||||
|
||||
libfossil.c: $(amal.deps)
|
||||
$(amal.run) $(amal.flags)
|
||||
-libfossil.h: libfossil.c
|
||||
-all: libfossil.c
|
||||
@if ENABLE_CXX
|
||||
-libfossil.hpp: libfossil.c
|
||||
-libfossil.c++: libfossil.c
|
||||
amal.flags += -c++
|
||||
@endif
|
||||
|
||||
.PHONY: amal
|
||||
amal: libfossil.c
|
||||
@@ -287,19 +283,16 @@
|
||||
fossil uv sync
|
||||
@endif
|
||||
@endif
|
||||
|
||||
install: install-headers
|
||||
-install-headers: libfossil.h $(install-dir.include)
|
||||
- $(INSTALL.noexec) libfossil.h $(install-dir.include)
|
||||
+install-headers: include/libfossil.h $(install-dir.include)
|
||||
+ $(INSTALL.noexec) $< $(install-dir.include)
|
||||
@if ENABLE_CXX
|
||||
-libfossil++.hpp: libfossil.h
|
||||
-libfossil++.cpp: libfossil++.hpp
|
||||
-all: libfossil++.cpp
|
||||
install-headers: install-headers++
|
||||
-install-headers++: libfossil++.hpp $(install-dir.include)
|
||||
- $(INSTALL.noexec) libfossil++.hpp $(install-dir.include)
|
||||
+install-headers++: include/libfossil.hpp $(install-dir.include)
|
||||
+ $(INSTALL.noexec) $< $(install-dir.include)
|
||||
@endif # ENABLE_CXX
|
||||
clean: clean-amalgamation
|
||||
clean-amalgamation:
|
||||
rm -f libfossil.c libfossil.h libfossil++.cpp libfossil++.hpp
|
||||
rm -f libfossil-config.h libfossil-amalgamation.zip VERSION.h
|
||||
|
||||
260
gnu/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch
Normal file
260
gnu/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch
Normal file
@@ -0,0 +1,260 @@
|
||||
From d8702527f4f1f67f765330f5018bfcb182946c45 Mon Sep 17 00:00:00 2001
|
||||
From: Henri Sivonen <hsivonen@hsivonen.fi>
|
||||
Date: Tue, 21 Apr 2026 07:09:20 +0000
|
||||
Subject: [PATCH] Bug 2033279 - Make --enable-rust-simd work with Rust 1.95.
|
||||
r=firefox-build-system-reviewers,supply-chain-reviewers,ahochheiden
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D295287
|
||||
---
|
||||
.cargo/config.toml.in | 5 ++
|
||||
Cargo.lock | 4 +-
|
||||
Cargo.toml | 2 +
|
||||
supply-chain/audits.toml | 6 ++
|
||||
supply-chain/config.toml | 4 ++
|
||||
.../rust/encoding_rs/.cargo-checksum.json | 2 +-
|
||||
.../rust/encoding_rs/.cargo_vcs_info.json | 6 --
|
||||
third_party/rust/encoding_rs/Cargo.toml | 60 ++++++++++---------
|
||||
third_party/rust/encoding_rs/Cargo.toml.orig | 45 --------------
|
||||
.../rust/encoding_rs/src/x_user_defined.rs | 2 +
|
||||
10 files changed, 54 insertions(+), 82 deletions(-)
|
||||
delete mode 100644 third_party/rust/encoding_rs/.cargo_vcs_info.json
|
||||
delete mode 100644 third_party/rust/encoding_rs/Cargo.toml.orig
|
||||
|
||||
diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in
|
||||
index 8013ae5435dab..cabdee463415f 100644
|
||||
--- a/.cargo/config.toml.in
|
||||
+++ b/.cargo/config.toml.in
|
||||
@@ -55,6 +55,11 @@ git = "https://github.com/hsivonen/any_all_workaround"
|
||||
rev = "7fb1b7034c9f172aade21ee1c8554e8d8a48af80"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
+[source."git+https://github.com/hsivonen/encoding_rs?rev=1236d1bc423e6ba35a06485f74a6304db2d703b5"]
|
||||
+git = "https://github.com/hsivonen/encoding_rs"
|
||||
+rev = "1236d1bc423e6ba35a06485f74a6304db2d703b5"
|
||||
+replace-with = "vendored-sources"
|
||||
+
|
||||
[source."git+https://github.com/hsivonen/rust-harfbuzz?rev=9d58a23a98772a197291d04af93f7041b7093d95"]
|
||||
git = "https://github.com/hsivonen/rust-harfbuzz"
|
||||
rev = "9d58a23a98772a197291d04af93f7041b7093d95"
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index fea2f95fbb438..63b1f818d7971 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1914,11 +1914,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
version = "0.8.35"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
||||
+source = "git+https://github.com/hsivonen/encoding_rs?rev=1236d1bc423e6ba35a06485f74a6304db2d703b5#1236d1bc423e6ba35a06485f74a6304db2d703b5"
|
||||
dependencies = [
|
||||
"any_all_workaround",
|
||||
"cfg-if",
|
||||
+ "rustversion",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 49c695809f302..2648c32ae57e8 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -287,6 +287,8 @@ harfbuzz-sys = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a
|
||||
harfbuzz = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a98772a197291d04af93f7041b7093d95" }
|
||||
# Also vendor `harfbuzz-traits` to keep cargo-vendor happy.
|
||||
harfbuzz-traits = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a98772a197291d04af93f7041b7093d95" }
|
||||
+# Make --enable-rust-simd compatible with Rust 1.95
|
||||
+encoding_rs = { git = "https://github.com/hsivonen/encoding_rs", rev = "1236d1bc423e6ba35a06485f74a6304db2d703b5" }
|
||||
|
||||
# objc 0.2.7 + fa7ca43b862861dd1cd000d7ad01e6e0266cda13
|
||||
objc = { git = "https://github.com/glandium/rust-objc", rev = "4de89f5aa9851ceca4d40e7ac1e2759410c04324" }
|
||||
diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
|
||||
index 85b4037e03bdb..f4567ea6b6f94 100644
|
||||
--- a/supply-chain/audits.toml
|
||||
+++ b/supply-chain/audits.toml
|
||||
@@ -2385,6 +2385,12 @@ who = "Mike Hommey <mh+mozilla@glandium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.8.31 -> 0.8.32"
|
||||
|
||||
+[[audits.encoding_rs]]
|
||||
+who = "Henri Sivonen <hsivonen@hsivonen.fi>"
|
||||
+criteria = "safe-to-deploy"
|
||||
+delta = "0.8.35 -> 0.8.35@git:1236d1bc423e6ba35a06485f74a6304db2d703b5"
|
||||
+importable = false
|
||||
+
|
||||
[[audits.enum-map]]
|
||||
who = "Kershaw Chang <kershaw@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
diff --git a/supply-chain/config.toml b/supply-chain/config.toml
|
||||
index 4cfd83dc2d608..15deefbec0574 100644
|
||||
--- a/supply-chain/config.toml
|
||||
+++ b/supply-chain/config.toml
|
||||
@@ -39,6 +39,10 @@ notes = "This is the upstream code not yet released"
|
||||
audit-as-crates-io = true
|
||||
notes = "This is upstream plus a warning fix from bug 1823866."
|
||||
|
||||
+[policy.encoding_rs]
|
||||
+audit-as-crates-io = true
|
||||
+notes = "This is upstream plus a build fix for bug 2033279."
|
||||
+
|
||||
[policy.firefox-on-glean]
|
||||
audit-as-crates-io = false
|
||||
notes = "The crates.io version of this is just a placeholder to allow public crates to depend on firefox-on-glean."
|
||||
diff --git a/third_party/rust/encoding_rs/.cargo_vcs_info.json b/third_party/rust/encoding_rs/.cargo_vcs_info.json
|
||||
deleted file mode 100644
|
||||
index 6e5d699759e43..0000000000000
|
||||
--- a/third_party/rust/encoding_rs/.cargo_vcs_info.json
|
||||
+++ /dev/null
|
||||
@@ -1,6 +0,0 @@
|
||||
-{
|
||||
- "git": {
|
||||
- "sha1": "2fa58aecf537cc76ff52c0eb3d5e9f8fda466844"
|
||||
- },
|
||||
- "path_in_vcs": ""
|
||||
-}
|
||||
\ No newline at end of file
|
||||
diff --git a/third_party/rust/encoding_rs/Cargo.toml b/third_party/rust/encoding_rs/Cargo.toml
|
||||
index 2adac351c2edf..0239315bab180 100644
|
||||
--- a/third_party/rust/encoding_rs/Cargo.toml
|
||||
+++ b/third_party/rust/encoding_rs/Cargo.toml
|
||||
@@ -16,6 +16,7 @@ name = "encoding_rs"
|
||||
version = "0.8.35"
|
||||
authors = ["Henri Sivonen <hsivonen@hsivonen.fi>"]
|
||||
build = false
|
||||
+autolib = false
|
||||
autobins = false
|
||||
autoexamples = false
|
||||
autotests = false
|
||||
@@ -39,33 +40,6 @@ categories = [
|
||||
license = "(Apache-2.0 OR MIT) AND BSD-3-Clause"
|
||||
repository = "https://github.com/hsivonen/encoding_rs"
|
||||
|
||||
-[profile.release]
|
||||
-lto = true
|
||||
-
|
||||
-[lib]
|
||||
-name = "encoding_rs"
|
||||
-path = "src/lib.rs"
|
||||
-
|
||||
-[dependencies.any_all_workaround]
|
||||
-version = "0.1.0"
|
||||
-optional = true
|
||||
-
|
||||
-[dependencies.cfg-if]
|
||||
-version = "1.0"
|
||||
-
|
||||
-[dependencies.serde]
|
||||
-version = "1.0"
|
||||
-optional = true
|
||||
-
|
||||
-[dev-dependencies.bincode]
|
||||
-version = "1.0"
|
||||
-
|
||||
-[dev-dependencies.serde_derive]
|
||||
-version = "1.0"
|
||||
-
|
||||
-[dev-dependencies.serde_json]
|
||||
-version = "1.0"
|
||||
-
|
||||
[features]
|
||||
alloc = []
|
||||
default = ["alloc"]
|
||||
@@ -84,4 +58,34 @@ fast-legacy-encode = [
|
||||
less-slow-big5-hanzi-encode = []
|
||||
less-slow-gb-hanzi-encode = []
|
||||
less-slow-kanji-encode = []
|
||||
-simd-accel = ["any_all_workaround"]
|
||||
+simd-accel = [
|
||||
+ "any_all_workaround",
|
||||
+ "rustversion",
|
||||
+]
|
||||
+
|
||||
+[lib]
|
||||
+name = "encoding_rs"
|
||||
+path = "src/lib.rs"
|
||||
+
|
||||
+[dependencies]
|
||||
+cfg-if = "1.0"
|
||||
+
|
||||
+[dependencies.any_all_workaround]
|
||||
+version = "0.1.0"
|
||||
+optional = true
|
||||
+
|
||||
+[dependencies.rustversion]
|
||||
+version = "1.0.19"
|
||||
+optional = true
|
||||
+
|
||||
+[dependencies.serde]
|
||||
+version = "1.0"
|
||||
+optional = true
|
||||
+
|
||||
+[dev-dependencies]
|
||||
+bincode = "1.0"
|
||||
+serde_derive = "1.0"
|
||||
+serde_json = "1.0"
|
||||
+
|
||||
+[profile.release]
|
||||
+lto = true
|
||||
diff --git a/third_party/rust/encoding_rs/Cargo.toml.orig b/third_party/rust/encoding_rs/Cargo.toml.orig
|
||||
deleted file mode 100644
|
||||
index 0f7639d5f879b..0000000000000
|
||||
--- a/third_party/rust/encoding_rs/Cargo.toml.orig
|
||||
+++ /dev/null
|
||||
@@ -1,45 +0,0 @@
|
||||
-[package]
|
||||
-name = "encoding_rs"
|
||||
-description = "A Gecko-oriented implementation of the Encoding Standard"
|
||||
-version = "0.8.35"
|
||||
-edition = '2018'
|
||||
-authors = ["Henri Sivonen <hsivonen@hsivonen.fi>"]
|
||||
-license = "(Apache-2.0 OR MIT) AND BSD-3-Clause"
|
||||
-readme = "README.md"
|
||||
-documentation = "https://docs.rs/encoding_rs/"
|
||||
-homepage = "https://docs.rs/encoding_rs/"
|
||||
-repository = "https://github.com/hsivonen/encoding_rs"
|
||||
-keywords = ["encoding", "web", "unicode", "charset"]
|
||||
-categories = ["text-processing", "encoding", "web-programming", "internationalization"]
|
||||
-rust-version = "1.36"
|
||||
-
|
||||
-[features]
|
||||
-default = ["alloc"]
|
||||
-alloc = []
|
||||
-simd-accel = ["any_all_workaround"]
|
||||
-less-slow-kanji-encode = []
|
||||
-less-slow-big5-hanzi-encode = []
|
||||
-less-slow-gb-hanzi-encode = []
|
||||
-fast-hangul-encode = []
|
||||
-fast-hanja-encode = []
|
||||
-fast-kanji-encode = []
|
||||
-fast-gb-hanzi-encode = []
|
||||
-fast-big5-hanzi-encode = []
|
||||
-fast-legacy-encode = ["fast-hangul-encode",
|
||||
- "fast-hanja-encode",
|
||||
- "fast-kanji-encode",
|
||||
- "fast-gb-hanzi-encode",
|
||||
- "fast-big5-hanzi-encode"]
|
||||
-
|
||||
-[dependencies]
|
||||
-cfg-if = "1.0"
|
||||
-serde = { version = "1.0", optional = true }
|
||||
-any_all_workaround = { version = "0.1.0" , optional = true }
|
||||
-
|
||||
-[dev-dependencies]
|
||||
-serde_derive = "1.0"
|
||||
-bincode = "1.0"
|
||||
-serde_json = "1.0"
|
||||
-
|
||||
-[profile.release]
|
||||
-lto = true
|
||||
diff --git a/third_party/rust/encoding_rs/src/x_user_defined.rs b/third_party/rust/encoding_rs/src/x_user_defined.rs
|
||||
index 7af7d5e3d69da..16f1a18d7f6ce 100644
|
||||
--- a/third_party/rust/encoding_rs/src/x_user_defined.rs
|
||||
+++ b/third_party/rust/encoding_rs/src/x_user_defined.rs
|
||||
@@ -16,7 +16,8 @@ cfg_if! {
|
||||
use simd_funcs::*;
|
||||
use core::simd::u16x8;
|
||||
use core::simd::cmp::SimdPartialOrd;
|
||||
+ #[rustversion::since(1.95)]
|
||||
use core::simd::Select;
|
||||
|
||||
#[inline(always)]
|
||||
fn shift_upper(unpacked: u16x8) -> u16x8 {
|
||||
513
gnu/packages/patches/r-biostrings-r4.6.0-compat.patch
Normal file
513
gnu/packages/patches/r-biostrings-r4.6.0-compat.patch
Normal file
@@ -0,0 +1,513 @@
|
||||
This patch shas been backported from the development version or Biostrings.
|
||||
|
||||
From 100602242840322b5f6c267faaf8198c1a5aa2af Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Thu, 5 Mar 2026 22:36:30 -0800
|
||||
Subject: [PATCH] Biostrings 2.79.5: Get rid of never-used SparseMIndex and
|
||||
SparseList classes
|
||||
|
||||
This also eliminates the non-API calls to R.
|
||||
---
|
||||
DESCRIPTION | 3 +-
|
||||
NAMESPACE | 2 -
|
||||
R/MIndex-class.R | 79 -------------------------
|
||||
R/SparseList-class.R | 80 -------------------------
|
||||
man/Biostrings-internals.Rd | 9 ---
|
||||
src/Biostrings.h | 41 -------------
|
||||
src/MIndex_class.c | 67 ---------------------
|
||||
src/R_init_Biostrings.c | 1 -
|
||||
src/SparseList_utils.c | 113 ------------------------------------
|
||||
9 files changed, 1 insertion(+), 394 deletions(-)
|
||||
delete mode 100644 R/SparseList-class.R
|
||||
delete mode 100644 src/SparseList_utils.c
|
||||
|
||||
diff --git a/DESCRIPTION b/DESCRIPTION
|
||||
index a5d027cc..dbc323ea 100644
|
||||
--- a/DESCRIPTION
|
||||
+++ b/DESCRIPTION
|
||||
@@ -76,3 +76,3 @@ Collate: utils.R IUPAC_CODE_MAP.R AMINO_ACID_CODE.R GENETIC_CODE.R
|
||||
injectHardMask.R padAndClip.R strsplit-methods.R misc.R
|
||||
- SparseList-class.R MIndex-class.R lowlevel-matching.R
|
||||
+ MIndex-class.R lowlevel-matching.R
|
||||
match-utils.R matchPattern.R maskMotif.R matchLRPatterns.R
|
||||
diff --git a/NAMESPACE b/NAMESPACE
|
||||
index ba1e3bfa..cf14db67 100644
|
||||
--- a/NAMESPACE
|
||||
+++ b/NAMESPACE
|
||||
@@ -206,7 +206,6 @@ exportMethods(
|
||||
### ==========================================================================
|
||||
### STRING MATCHING
|
||||
### --------------------------------------------------------------------------
|
||||
-### SparseList-class.R
|
||||
### MIndex-class.R
|
||||
### lowlevel-matching.R
|
||||
### match-utils.R
|
||||
@@ -220,7 +219,6 @@ exportMethods(
|
||||
### matchPDict.R
|
||||
|
||||
exportClasses(
|
||||
- #SparseList,
|
||||
MIndex, ByPos_MIndex,
|
||||
PreprocessedTB, Twobit, ACtree2,
|
||||
PDict3Parts,
|
||||
diff --git a/R/MIndex-class.R b/R/MIndex-class.R
|
||||
index 022f6746..f50f215e 100644
|
||||
--- a/R/MIndex-class.R
|
||||
+++ b/R/MIndex-class.R
|
||||
@@ -218,82 +218,3 @@ ByPos_MIndex.combine <- function(mi_list)
|
||||
new("ByPos_MIndex", width0=ans_width0, NAMES=ans_names, ends=ans_ends)
|
||||
}
|
||||
|
||||
-
|
||||
-### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
-### The "SparseMIndex" class (DISABLED FOR NOW).
|
||||
-###
|
||||
-### Slot description:
|
||||
-###
|
||||
-### ends_envir: a key-value list (environment) where the values are integer
|
||||
-### vectors containing the ending positions of the pattern whose
|
||||
-### position in the original dictionary is given by the key (the keys are
|
||||
-### strings representing positive integers).
|
||||
-###
|
||||
-
|
||||
-if (FALSE) {
|
||||
-
|
||||
- setClass("SparseMIndex",
|
||||
- contains="MIndex",
|
||||
- representation(
|
||||
- ends_envir="environment"
|
||||
- )
|
||||
- )
|
||||
-
|
||||
- setMethod("show", "SparseMIndex",
|
||||
- function(object)
|
||||
- {
|
||||
- cat("Sparse MIndex object of length ", length(object), "\n", sep="")
|
||||
- }
|
||||
- )
|
||||
-
|
||||
- setMethod("[[", "SparseMIndex",
|
||||
- function(x, i, j, ...)
|
||||
- {
|
||||
- i <- normalizeDoubleBracketSubscript(i, x)
|
||||
- ans_end <- x@ends_envir[[formatC(i, width=10, format="d", flag="0")]]
|
||||
- if (is.null(ans_end))
|
||||
- ans_end <- integer(0)
|
||||
- ans_width <- rep.int(x@width0[i], length(ans_end))
|
||||
- ans_start <- ans_end - x@width0[i] + 1L
|
||||
- new2("IRanges", start=ans_start, width=ans_width, check=FALSE)
|
||||
- }
|
||||
- )
|
||||
-
|
||||
- ### An example of a SparseMIndex object of length 5 where only the
|
||||
- ### 2nd pattern has matches:
|
||||
- ### > width0 <- c(9L, 10L, 8L, 4L, 10L)
|
||||
- ### > ends_envir <- new.env(hash=TRUE, parent=emptyenv())
|
||||
- ### > ends_envir[['0000000002']] <- c(199L, 402L)
|
||||
- ### > mindex <- new("SparseMIndex", width0=width0, NAMES=letters[1:5], ends_envir=ends_envir)
|
||||
- ### > mindex[[1]]
|
||||
- ### > mindex[[2]]
|
||||
- ### > mindex[[6]] # Error in mindex[[6]] : subscript out of bounds
|
||||
- ### > names(mindex)
|
||||
- ### > mindex[["a"]]
|
||||
- ### > mindex[["b"]]
|
||||
- ### > mindex[["aa"]] # Error in mindex[["aa"]] : pattern name ‘aa’ not found
|
||||
- ### > startIndex(mindex)
|
||||
- ### > endIndex(mindex)
|
||||
- ### > elementNROWS(mindex)
|
||||
- ###
|
||||
- setMethod("startIndex", "SparseMIndex",
|
||||
- function(x)
|
||||
- {
|
||||
- all.names <- TRUE
|
||||
- .Call2("SparseMIndex_endIndex",
|
||||
- x@ends_envir, x@width0, x@NAMES, all.names,
|
||||
- PACKAGE="Biostrings")
|
||||
- }
|
||||
- )
|
||||
- setMethod("endIndex", "SparseMIndex",
|
||||
- function(x)
|
||||
- {
|
||||
- all.names <- TRUE
|
||||
- .Call2("SparseMIndex_endIndex",
|
||||
- x@ends_envir, NULL, x@NAMES, all.names,
|
||||
- PACKAGE="Biostrings")
|
||||
- }
|
||||
- )
|
||||
-
|
||||
-}
|
||||
-
|
||||
diff --git a/R/SparseList-class.R b/R/SparseList-class.R
|
||||
deleted file mode 100644
|
||||
index 8295fd0f..00000000
|
||||
--- a/R/SparseList-class.R
|
||||
+++ /dev/null
|
||||
@@ -1,80 +0,0 @@
|
||||
-### =========================================================================
|
||||
-### SparseList objects
|
||||
-### -------------------------------------------------------------------------
|
||||
-###
|
||||
-
|
||||
-setClass("SparseList",
|
||||
- representation(
|
||||
- length="integer",
|
||||
- env="environment"
|
||||
- )
|
||||
-)
|
||||
-
|
||||
-### Typical use:
|
||||
-### env <- new.env(hash=TRUE, parent=emptyenv())
|
||||
-### key <- formatC(98L, width=10, format="d", flag="0")
|
||||
-### value <- 3:-2
|
||||
-### assign(key, value, envir=env)
|
||||
-### x <- new("SparseList", length=100L, env=env)
|
||||
-### length(x)
|
||||
-### ls(x)
|
||||
-### ls(x, all.names=TRUE)
|
||||
-### as.list(x)
|
||||
-### as.list(x, all.names=TRUE)
|
||||
-### x[[1]]
|
||||
-### x[[98]
|
||||
-### x[[101]]]
|
||||
-###
|
||||
-
|
||||
-setMethod("length", "SparseList", function(x) x@length)
|
||||
-
|
||||
-### 'pos', 'envir' and 'pattern' args are ignored
|
||||
-setMethod("ls", signature(name="SparseList"),
|
||||
- function(name, pos, envir, all.names=FALSE, pattern)
|
||||
- {
|
||||
- if (!all.names)
|
||||
- return(ls(name@env, all.names=TRUE))
|
||||
- seq_len(length(name))
|
||||
- }
|
||||
-)
|
||||
-
|
||||
-setMethod("as.list", "SparseList",
|
||||
- function(x, all.names=FALSE, ...)
|
||||
- {
|
||||
- if (!all.names)
|
||||
- return(as.list(x@env, all.names=TRUE))
|
||||
- ans <- vector(mode="list", length=length(x))
|
||||
- symbols <- ls(x)
|
||||
- for (symb in symbols)
|
||||
- ans[[as.integer(symb)]] <- get(symb, envir=x@env)
|
||||
- ans
|
||||
- }
|
||||
-)
|
||||
-
|
||||
-### Supported 'i' types: character or numeric vector of length 1.
|
||||
-setMethod("[[", "SparseList",
|
||||
- function(x, i, j, ...)
|
||||
- {
|
||||
- if (!missing(j) || length(list(...)) > 0)
|
||||
- stop("invalid subsetting")
|
||||
- if (missing(i))
|
||||
- stop("subscript is missing")
|
||||
- if (!is.character(i) && !is.numeric(i))
|
||||
- stop("invalid subscript type")
|
||||
- if (length(i) < 1L)
|
||||
- stop("attempt to select less than one element")
|
||||
- if (length(i) > 1L)
|
||||
- stop("attempt to select more than one element")
|
||||
- if (is.na(i))
|
||||
- stop("subscript cannot be NA")
|
||||
- if (is.character(i))
|
||||
- return(get(i, envir=x@env))
|
||||
- if (!is.integer(i))
|
||||
- i <- as.integer(i)
|
||||
- if (i < 1L || i > length(x))
|
||||
- stop("subscript out of bounds")
|
||||
- i <- formatC(i, width=10, format="d", flag="0")
|
||||
- get(i, envir=x@env)
|
||||
- }
|
||||
-)
|
||||
-
|
||||
diff --git a/man/Biostrings-internals.Rd b/man/Biostrings-internals.Rd
|
||||
index 791b0870..609b7694 100644
|
||||
--- a/man/Biostrings-internals.Rd
|
||||
+++ b/man/Biostrings-internals.Rd
|
||||
@@ -26,15 +26,6 @@
|
||||
\alias{make_XStringSet_from_strings}
|
||||
\alias{make_XStringSet_from_strings,XStringSet-method}
|
||||
|
||||
-% SparseList class and methods:
|
||||
-\alias{class:SparseList}
|
||||
-\alias{SparseList-class}
|
||||
-\alias{SparseList}
|
||||
-
|
||||
-\alias{length,SparseList-method}
|
||||
-%\alias{ls,SparseList-method}
|
||||
-\alias{as.list,SparseList-method}
|
||||
-\alias{[[,SparseList-method}
|
||||
|
||||
\title{Biostrings internals}
|
||||
|
||||
diff --git a/src/Biostrings.h b/src/Biostrings.h
|
||||
index 6e725bd5..e86d0ff2 100644
|
||||
--- a/src/Biostrings.h
|
||||
+++ b/src/Biostrings.h
|
||||
@@ -446,40 +446,6 @@ SEXP XStringSetList_unstrsplit(
|
||||
);
|
||||
|
||||
|
||||
-/* SparseList_utils.c */
|
||||
-
|
||||
-SEXP _SparseList_int2symb(int symb_as_int);
|
||||
-
|
||||
-int _SparseList_symb2int(SEXP symbol);
|
||||
-
|
||||
-SEXP _get_val_from_env(
|
||||
- SEXP symbol,
|
||||
- SEXP env,
|
||||
- int error_on_unbound_value
|
||||
-);
|
||||
-
|
||||
-SEXP _get_val_from_SparseList(
|
||||
- int symb_as_int,
|
||||
- SEXP env,
|
||||
- int error_on_unbound_value
|
||||
-);
|
||||
-
|
||||
-int _get_int_from_SparseList(
|
||||
- int symb_as_int,
|
||||
- SEXP env
|
||||
-);
|
||||
-
|
||||
-void _set_env_from_IntAE(
|
||||
- SEXP env,
|
||||
- const IntAE *int_ae
|
||||
-);
|
||||
-
|
||||
-void _set_env_from_IntAEAE(
|
||||
- SEXP env,
|
||||
- const IntAEAE *int_aeae
|
||||
-);
|
||||
-
|
||||
-
|
||||
/* match_reporting.c */
|
||||
|
||||
int _get_match_storing_code(const char *ms_mode);
|
||||
@@ -558,13 +524,6 @@ SEXP ByPos_MIndex_endIndex(
|
||||
SEXP x_width0
|
||||
);
|
||||
|
||||
-SEXP SparseMIndex_endIndex(
|
||||
- SEXP x_ends_envir,
|
||||
- SEXP x_width0,
|
||||
- SEXP x_names,
|
||||
- SEXP all_names
|
||||
-);
|
||||
-
|
||||
SEXP ByPos_MIndex_combine(SEXP ends_listlist);
|
||||
|
||||
|
||||
diff --git a/src/MIndex_class.c b/src/MIndex_class.c
|
||||
index 00212fe9..dd6ad546 100644
|
||||
--- a/src/MIndex_class.c
|
||||
+++ b/src/MIndex_class.c
|
||||
@@ -157,73 +157,6 @@ SEXP ByPos_MIndex_endIndex(SEXP x_high2low, SEXP x_ends, SEXP x_width0)
|
||||
return ans;
|
||||
}
|
||||
|
||||
-/*
|
||||
- * --- .Call ENTRY POINT ---
|
||||
- * All the keys in 'x_ends_envir' must be representing integers left-padded with 0s
|
||||
- * so they have the same length. This works properly:
|
||||
- library(Biostrings)
|
||||
- ends_envir <- new.env(parent=emptyenv())
|
||||
- ends_envir[['0000000010']] <- -2:1
|
||||
- ends_envir[['0000000004']] <- 9:6
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], TRUE,
|
||||
- PACKAGE="Biostrings")
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], FALSE,
|
||||
- PACKAGE="Biostrings")
|
||||
- * but this doesn't:
|
||||
- ends_envir[['3']] <- 33L
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], FALSE,
|
||||
- PACKAGE="Biostrings")
|
||||
- */
|
||||
-SEXP SparseMIndex_endIndex(SEXP x_ends_envir, SEXP x_width0, SEXP x_names, SEXP all_names)
|
||||
-{
|
||||
- SEXP ans, ans_elt, ans_names, symbols, end;
|
||||
- int nelt, i, j;
|
||||
- IntAE *poffsets, *poffsets_order;
|
||||
-
|
||||
- PROTECT(symbols = R_lsInternal(x_ends_envir, 1));
|
||||
- poffsets = new_IntAE_from_CHARACTER(symbols, -1);
|
||||
- nelt = IntAE_get_nelt(poffsets);
|
||||
- if (LOGICAL(all_names)[0]) {
|
||||
- PROTECT(ans = NEW_LIST(LENGTH(x_names)));
|
||||
- for (i = 0; i < nelt; i++) {
|
||||
- j = poffsets->elts[i];
|
||||
- end = _get_val_from_env(STRING_ELT(symbols, i), x_ends_envir, 1);
|
||||
- PROTECT(ans_elt = duplicate(end));
|
||||
- if (x_width0 != R_NilValue)
|
||||
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[j]);
|
||||
- SET_ELEMENT(ans, j, ans_elt);
|
||||
- UNPROTECT(1);
|
||||
- }
|
||||
- SET_NAMES(ans, duplicate(x_names));
|
||||
- UNPROTECT(1);
|
||||
- } else {
|
||||
- //poffsets_order = new_IntAE(nelt, 0, 0);
|
||||
- //get_order_of_int_array(poffsets->elts, nelt, 0, 0,
|
||||
- // poffsets_order->elts, 0);
|
||||
- //IntAE_set_nelt(poffsets_order) = nelt; /* = poffsets_order->_buflength */
|
||||
- PROTECT(ans = NEW_LIST(nelt));
|
||||
- PROTECT(ans_names = NEW_CHARACTER(nelt));
|
||||
- for (i = 0; i < nelt; i++) {
|
||||
- //j = poffsets_order->elts[i];
|
||||
- j = i;
|
||||
- end = _get_val_from_env(STRING_ELT(symbols, j), x_ends_envir, 1);
|
||||
- PROTECT(ans_elt = duplicate(end));
|
||||
- if (x_width0 != R_NilValue)
|
||||
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[i]);
|
||||
- SET_ELEMENT(ans, i, ans_elt);
|
||||
- UNPROTECT(1);
|
||||
- SET_STRING_ELT(ans_names, i, duplicate(STRING_ELT(x_names, poffsets->elts[j])));
|
||||
- }
|
||||
- SET_NAMES(ans, ans_names);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- UNPROTECT(1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
/*
|
||||
* --- .Call ENTRY POINT ---
|
||||
*/
|
||||
diff --git a/src/R_init_Biostrings.c b/src/R_init_Biostrings.c
|
||||
index 4d2943f8..c1410dbd 100644
|
||||
--- a/src/R_init_Biostrings.c
|
||||
+++ b/src/R_init_Biostrings.c
|
||||
@@ -88,7 +88,6 @@ static const R_CallMethodDef callMethods[] = {
|
||||
|
||||
/* MIndex_class.c */
|
||||
CALLMETHOD_DEF(ByPos_MIndex_endIndex, 3),
|
||||
- CALLMETHOD_DEF(SparseMIndex_endIndex, 4),
|
||||
CALLMETHOD_DEF(ByPos_MIndex_combine, 1),
|
||||
|
||||
/* lowlevel_matching.c */
|
||||
diff --git a/src/SparseList_utils.c b/src/SparseList_utils.c
|
||||
deleted file mode 100644
|
||||
index 18597b55..00000000
|
||||
--- a/src/SparseList_utils.c
|
||||
+++ /dev/null
|
||||
@@ -1,113 +0,0 @@
|
||||
-/****************************************************************************
|
||||
- * Fast SparseList utilities *
|
||||
- * Author: H. Pag\`es *
|
||||
- ****************************************************************************/
|
||||
-#include "Biostrings.h"
|
||||
-#include "S4Vectors_interface.h"
|
||||
-
|
||||
-
|
||||
-SEXP _SparseList_int2symb(int symb_as_int)
|
||||
-{
|
||||
- char symbbuf[11];
|
||||
-
|
||||
- snprintf(symbbuf, sizeof(symbbuf), "%010d", symb_as_int);
|
||||
- return mkChar(symbbuf); /* UNPROTECTED! */
|
||||
-}
|
||||
-
|
||||
-int _SparseList_symb2int(SEXP symbol)
|
||||
-{
|
||||
- int symb_as_int;
|
||||
-
|
||||
- sscanf(CHAR(symbol), "%d", &symb_as_int);
|
||||
- return symb_as_int;
|
||||
-}
|
||||
-
|
||||
-/* 'symbol' must be a CHARSXP */
|
||||
-SEXP _get_val_from_env(SEXP symbol, SEXP env, int error_on_unbound_value)
|
||||
-{
|
||||
- SEXP ans;
|
||||
-
|
||||
- /* The following code was inspired by R's do_get() code.
|
||||
- * Note that do_get() doesn't use PROTECT at all and so do we...
|
||||
- */
|
||||
- ans = findVar(install(translateChar(symbol)), env);
|
||||
- if (ans == R_UnboundValue) {
|
||||
- if (error_on_unbound_value)
|
||||
- error("Biostrings internal error in _get_val_from_env(): "
|
||||
- "unbound value");
|
||||
- return R_UnboundValue;
|
||||
- }
|
||||
- if (TYPEOF(ans) == PROMSXP)
|
||||
- ans = eval(ans, env);
|
||||
- if (ans != R_NilValue && NAMED(ans) == 0)
|
||||
- SET_NAMED(ans, 1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
-SEXP _get_val_from_SparseList(int symb_as_int, SEXP env, int error_on_unbound_value)
|
||||
-{
|
||||
- SEXP symbol, ans;
|
||||
-
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- ans = _get_val_from_env(symbol, env, error_on_unbound_value);
|
||||
- UNPROTECT(1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
-int _get_int_from_SparseList(int symb_as_int, SEXP env)
|
||||
-{
|
||||
- SEXP value;
|
||||
- int val;
|
||||
-
|
||||
- value = _get_val_from_SparseList(symb_as_int, env, 0);
|
||||
- if (value == R_UnboundValue)
|
||||
- return NA_INTEGER;
|
||||
- if (LENGTH(value) != 1)
|
||||
- error("Biostrings internal error in _get_int_from_SparseList(): "
|
||||
- "value is not a single integer");
|
||||
- val = INTEGER(value)[0];
|
||||
- if (val == NA_INTEGER)
|
||||
- error("Biostrings internal error in _get_int_from_SparseList(): "
|
||||
- "value is NA");
|
||||
- return val;
|
||||
-}
|
||||
-
|
||||
-void _set_env_from_IntAE(SEXP env, const IntAE *int_ae)
|
||||
-{
|
||||
- int nelt, symb_as_int, elt;
|
||||
- SEXP symbol, value;
|
||||
-
|
||||
- nelt = IntAE_get_nelt(int_ae);
|
||||
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
|
||||
- {
|
||||
- elt = int_ae->elts[symb_as_int - 1];
|
||||
- if (elt == NA_INTEGER)
|
||||
- continue;
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- PROTECT(value = ScalarInteger(elt));
|
||||
- defineVar(install(translateChar(symbol)), value, env);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void _set_env_from_IntAEAE(SEXP env, const IntAEAE *int_aeae)
|
||||
-{
|
||||
- int nelt, symb_as_int;
|
||||
- IntAE *ae;
|
||||
- SEXP symbol, value;
|
||||
-
|
||||
- nelt = IntAEAE_get_nelt(int_aeae);
|
||||
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
|
||||
- {
|
||||
- ae = int_aeae->elts[symb_as_int - 1];
|
||||
- if (IntAE_get_nelt(ae) == 0)
|
||||
- continue;
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- PROTECT(value = new_INTEGER_from_IntAE(ae));
|
||||
- defineVar(install(translateChar(symbol)), value, env);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
@@ -0,0 +1,142 @@
|
||||
From 7fe34542bff0183c3a6a35a62df9035a71698eb2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 15:54:23 -0800
|
||||
Subject: [PATCH] h5mread 1.3.2: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
R/H5File-class.R | 27 ++++++++++++++++-----------
|
||||
src/h5mread_index.c | 5 +++--
|
||||
src/h5mread_startscounts.c | 3 ++-
|
||||
4 files changed, 22 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/R/H5File-class.R b/R/H5File-class.R
|
||||
index 2735166..6aeb80f 100644
|
||||
--- a/R/H5File-class.R
|
||||
+++ b/R/H5File-class.R
|
||||
@@ -73,19 +73,23 @@
|
||||
}
|
||||
}
|
||||
|
||||
-.h5openfile <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
+.h5openfile <- function(filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
if (!isSingleString(filepath))
|
||||
stop(wmsg("'filepath' must be a single string specifying ",
|
||||
"the path or URL to an HDF5 file"))
|
||||
+ if (!isTRUEorFALSE(readonly))
|
||||
+ stop(wmsg("'readonly' must be TRUE or FALSE"))
|
||||
if (!isTRUEorFALSE(s3))
|
||||
stop(wmsg("'s3' must be TRUE or FALSE"))
|
||||
-
|
||||
+ if (s3 && !readonly)
|
||||
+ stop(wmsg("'readonly' must be set to TRUE when 's3' is TRUE"))
|
||||
if (s3) {
|
||||
ID <- .h5openS3file(filepath, s3credentials=s3credentials,
|
||||
use.rhdf5=use.rhdf5)
|
||||
} else {
|
||||
- ID <- .h5openlocalfile(filepath, readonly=TRUE, use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openlocalfile(filepath, readonly=readonly, use.rhdf5=use.rhdf5)
|
||||
}
|
||||
ID
|
||||
}
|
||||
@@ -136,16 +140,16 @@
|
||||
|
||||
.ID_is_closed <- function(ID) { is.null(ID) || is.na(ID) }
|
||||
|
||||
-.open_H5FileID_xp <- function(xp, filepath, s3=FALSE, s3credentials=NULL,
|
||||
- use.rhdf5=FALSE)
|
||||
+.open_H5FileID_xp <- function(xp, filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
ID <- .get_H5FileID_xp_ID(xp)
|
||||
if (!.ID_is_closed(ID)) {
|
||||
## H5FileID object is already open.
|
||||
return(FALSE)
|
||||
}
|
||||
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openfile(filepath, readonly=readonly,
|
||||
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
|
||||
.set_H5FileID_xp_ID(xp, ID)
|
||||
TRUE
|
||||
}
|
||||
@@ -183,10 +187,11 @@ close.H5FileID <- function(con, ...)
|
||||
.close_H5FileID_xp(con@xp, ..., use.rhdf5=con@from_rhdf5)
|
||||
}
|
||||
|
||||
-H5FileID <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
+H5FileID <- function(filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openfile(filepath, readonly=readonly,
|
||||
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
|
||||
xp <- .new_H5FileID_xp(ID)
|
||||
reg.finalizer(xp,
|
||||
function(e) .close_H5FileID_xp(e, use.rhdf5=use.rhdf5),
|
||||
@@ -272,7 +277,7 @@ H5File <- function(filepath, s3=FALSE, s3credentials=NULL, .no_rhdf5_h5id=FALSE)
|
||||
rhdf5_h5id <- new("H5FileID")
|
||||
} else {
|
||||
rhdf5_h5id <- H5FileID(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=TRUE)
|
||||
+ use.rhdf5=TRUE)
|
||||
}
|
||||
if (!s3)
|
||||
filepath <- file_path_as_absolute(filepath)
|
||||
diff --git a/src/h5mread_index.c b/src/h5mread_index.c
|
||||
index 7284815..ec93c25 100644
|
||||
--- a/src/h5mread_index.c
|
||||
+++ b/src/h5mread_index.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "h5mread_helpers.h"
|
||||
#include "TouchedChunks.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <stdlib.h> /* for malloc, free */
|
||||
#include <string.h> /* for memcmp */
|
||||
//#include <time.h>
|
||||
@@ -444,7 +445,7 @@ static int read_chunk_data_4_5(const H5DSetDescriptor *h5dset,
|
||||
const size_t *Rarray_dim, SEXP Rarray,
|
||||
int method, int use_H5Dread_chunk)
|
||||
{
|
||||
- void *out = DATAPTR(Rarray);
|
||||
+ void *out = DATAPTR_RW(Rarray);
|
||||
if (out == NULL)
|
||||
return -1;
|
||||
|
||||
@@ -874,7 +875,7 @@ static int read_data_6(const AllTChunks *all_tchunks,
|
||||
size_t *inner_nchip_buf = R_alloc0_size_t_array(ndim);
|
||||
LLongAEAE *inner_breakpoint_bufs = new_LLongAEAE(ndim, ndim);
|
||||
|
||||
- void *out = DATAPTR(Rarray);
|
||||
+ void *out = DATAPTR_RW(Rarray);
|
||||
if (out == NULL) {
|
||||
_destroy_TChunkIterator(&tchunk_iter);
|
||||
return -1;
|
||||
diff --git a/src/h5mread_startscounts.c b/src/h5mread_startscounts.c
|
||||
index de57fd5..959014f 100644
|
||||
--- a/src/h5mread_startscounts.c
|
||||
+++ b/src/h5mread_startscounts.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "uaselection.h"
|
||||
#include "h5mread_helpers.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <stdlib.h> /* for malloc, free */
|
||||
//#include <time.h>
|
||||
|
||||
@@ -402,7 +403,7 @@ SEXP _h5mread_startscounts(const H5DSetDescriptor *h5dset,
|
||||
SEXP ans = PROTECT(allocVector(h5dset->h5type->Rtype, ans_len));
|
||||
|
||||
if (ans_len != 0) {
|
||||
- void *mem = DATAPTR(ans);
|
||||
+ void *mem = DATAPTR_RW(ans);
|
||||
if (mem == NULL)
|
||||
goto on_error;
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From a827c9fdeb77edefe6cca81bdb9e0344bc8d3742 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Gibb <mail@sebastiangibb.de>
|
||||
Date: Sat, 13 Dec 2025 23:06:12 +0100
|
||||
Subject: [PATCH] fix: non-API call to R: SETLENGTH by using lengthgets
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
NEWS.md | 6 ++++++
|
||||
src/join.c | 12 ++++--------
|
||||
src/reduce.c | 6 ++----
|
||||
4 files changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/join.c b/src/join.c
|
||||
index f13a703..3849fdf 100644
|
||||
--- a/src/join.c
|
||||
+++ b/src/join.c
|
||||
@@ -111,12 +111,10 @@ SEXP C_join_inner(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
|
||||
++j;
|
||||
}
|
||||
}
|
||||
- SETLENGTH(rx, j);
|
||||
- SETLENGTH(ry, j);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
SEXP nms = PROTECT(allocVector(STRSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rx);
|
||||
- SET_VECTOR_ELT(out, 1, ry);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, j));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, j));
|
||||
SET_STRING_ELT(nms, 0, mkChar("x"));
|
||||
SET_STRING_ELT(nms, 1, mkChar("y"));
|
||||
setAttrib(out, R_NamesSymbol, nms);
|
||||
@@ -201,12 +199,10 @@ SEXP C_join_outer(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
|
||||
++i;
|
||||
}
|
||||
|
||||
- SETLENGTH(rx, i);
|
||||
- SETLENGTH(ry, i);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
SEXP nms = PROTECT(allocVector(STRSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rx);
|
||||
- SET_VECTOR_ELT(out, 1, ry);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, i));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, i));
|
||||
SET_STRING_ELT(nms, 0, mkChar("x"));
|
||||
SET_STRING_ELT(nms, 1, mkChar("y"));
|
||||
setAttrib(out, R_NamesSymbol, nms);
|
||||
diff --git a/src/reduce.c b/src/reduce.c
|
||||
index 5f87966..8e48058 100644
|
||||
--- a/src/reduce.c
|
||||
+++ b/src/reduce.c
|
||||
@@ -66,11 +66,9 @@ SEXP C_reduce(SEXP start, SEXP end, SEXP check) {
|
||||
}
|
||||
}
|
||||
|
||||
- SETLENGTH(rs, pos + 1);
|
||||
- SETLENGTH(re, pos + 1);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rs);
|
||||
- SET_VECTOR_ELT(out, 1, re);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rs, pos + 1));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(re, pos + 1));
|
||||
|
||||
UNPROTECT(4);
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
114
gnu/packages/patches/r-rsamtools-r-4.6.0-compat.patch
Normal file
114
gnu/packages/patches/r-rsamtools-r-4.6.0-compat.patch
Normal file
@@ -0,0 +1,114 @@
|
||||
From 57dc6579d8b53af9e633016705fa9a1cbe58c8c8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 16:48:20 -0800
|
||||
Subject: [PATCH] Rsamtools 2.27.1: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/utilities.h | 3 +--
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/utilities.h b/src/utilities.h
|
||||
index bffb98f7..f9d5e09f 100644
|
||||
--- a/src/utilities.h
|
||||
+++ b/src/utilities.h
|
||||
@@ -51,8 +51,7 @@ SEXP find_mate_within_groups(SEXP group_sizes,
|
||||
/* call-building macros */
|
||||
|
||||
#define NEW_CALL(S, T, NAME, ENV, N) \
|
||||
- PROTECT(S = T = allocList(N)); \
|
||||
- SET_TYPEOF(T, LANGSXP); \
|
||||
+ PROTECT(S = T = LCONS(R_NilValue, allocList(N-1))); \
|
||||
SETCAR(T, findFun(install(NAME), ENV)); \
|
||||
T = CDR(T)
|
||||
#define CSET_CDR(T, NAME, VALUE) \
|
||||
|
||||
From 8cdec143023e8348a4f8bdc310acd609d14fe493 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 16:59:42 -0800
|
||||
Subject: [PATCH] oops, forgot to also get rid of non-API call to FORMALS()
|
||||
|
||||
---
|
||||
src/pileupbam.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pileupbam.c b/src/pileupbam.c
|
||||
index f3256ba..7725628 100644
|
||||
--- a/src/pileupbam.c
|
||||
+++ b/src/pileupbam.c
|
||||
@@ -655,7 +655,7 @@ SEXP apply_pileups(SEXP files, SEXP names, SEXP regions, SEXP param,
|
||||
if (R_NilValue == regions)
|
||||
Rf_error("'NULL' regions not (yet) supported");
|
||||
_checkparams(regions, R_NilValue, R_NilValue);
|
||||
- if (!Rf_isFunction(callback) || 1L != Rf_length(FORMALS(callback)))
|
||||
+ if (!Rf_isFunction(callback) || 1L != Rf_length(R_ClosureFormals(callback)))
|
||||
Rf_error("'callback' must be a function of 1 argument");
|
||||
call = PROTECT(Rf_lang2(callback, R_NilValue));
|
||||
|
||||
|
||||
From ee01a1f13f3b012b0717247d1f21580225b6f3a0 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Wed, 8 Apr 2026 14:04:26 -0400
|
||||
Subject: [PATCH] API solutions
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/tabixfile.c | 4 ++++
|
||||
src/utilities.c | 13 ++++++++++---
|
||||
3 files changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/tabixfile.c b/src/tabixfile.c
|
||||
index 230a381..6f96568 100644
|
||||
--- a/src/tabixfile.c
|
||||
+++ b/src/tabixfile.c
|
||||
@@ -187,8 +187,12 @@ SEXP index_tabix(SEXP filename, SEXP format, SEXP seq, SEXP begin, SEXP end,
|
||||
LOGICAL(zeroBased)[0] == TRUE)
|
||||
conf.preset |= TBX_UCSC;
|
||||
|
||||
+/* following is deprecated in HTSLIB with no precise replacement proposed */
|
||||
+/* seems unimportant */
|
||||
+/*
|
||||
if (bgzf_is_bgzf(fn) != 1)
|
||||
Rf_error("file does not appear to be bgzip'd");
|
||||
+*/
|
||||
if (tbx_index_build(fn, 0, &conf) == -1)
|
||||
Rf_error("index build failed");
|
||||
|
||||
diff --git a/src/utilities.c b/src/utilities.c
|
||||
index e224f91..d15c1d1 100644
|
||||
--- a/src/utilities.c
|
||||
+++ b/src/utilities.c
|
||||
@@ -5,6 +5,13 @@
|
||||
#include "XVector_interface.h"
|
||||
#include <htslib/khash.h>
|
||||
|
||||
+#include <Rversion.h>
|
||||
+
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
+# define R_getVar(x,y,z) findVar(x,y)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
void *_Rs_Realloc_impl(void *p, size_t n, size_t t)
|
||||
{
|
||||
/* R_Realloc(p, 0, *) fails inappropriately */
|
||||
@@ -30,7 +37,7 @@ SEXP _get_namespace(const char *pkg)
|
||||
void _as_strand(SEXP vec)
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
|
||||
- SEXP lvls = PROTECT(eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc));
|
||||
+ SEXP lvls = PROTECT(eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc));
|
||||
_as_factor_SEXP(vec, lvls);
|
||||
UNPROTECT(2);
|
||||
}
|
||||
@@ -38,8 +45,8 @@ void _as_strand(SEXP vec)
|
||||
void _as_nucleotide(SEXP vec)
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
|
||||
- SEXP lvls = PROTECT(eval(findVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
|
||||
- nmspc), nmspc));
|
||||
+ SEXP lvls = PROTECT(eval(R_getVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
|
||||
+ nmspc, TRUE), nmspc));
|
||||
_as_factor_SEXP(vec, lvls);
|
||||
UNPROTECT(2);
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
From e39852a54312bbc6ba435848890cc2a7f612357c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 17:04:19 -0800
|
||||
Subject: [PATCH] ShortRead 1.69.3: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/call.h | 3 +--
|
||||
src/io.c | 10 +++++-----
|
||||
3 files changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/call.h b/src/call.h
|
||||
index e15bb5e..e72bbd6 100644
|
||||
--- a/src/call.h
|
||||
+++ b/src/call.h
|
||||
@@ -6,8 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define NEW_CALL(S, T, NAME, ENV, N) \
|
||||
- PROTECT((S) = (T) = allocList((N))); \
|
||||
- SET_TYPEOF((T), LANGSXP); \
|
||||
+ PROTECT((S) = (T) = LCONS(R_NilValue, allocList((N)-1))); \
|
||||
SETCAR((T), findFun(install((NAME)), (ENV))); \
|
||||
(T) = CDR((T))
|
||||
#define CSET_CDR(T, NAME, VALUE) \
|
||||
diff --git a/src/io.c b/src/io.c
|
||||
index 25a0111..9cf4bf8 100644
|
||||
--- a/src/io.c
|
||||
+++ b/src/io.c
|
||||
@@ -46,9 +46,9 @@ SEXP write_fastq(SEXP id, SEXP sread, SEXP quality,
|
||||
SEXP fname, SEXP fmode, SEXP full, SEXP compress,
|
||||
SEXP max_width)
|
||||
{
|
||||
- if (!(IS_S4_OBJECT(id) && strcmp(get_classname(id), "BStringSet") == 0))
|
||||
+ if (!(Rf_isS4(id) && strcmp(get_classname(id), "BStringSet") == 0))
|
||||
Rf_error("'%s' must be '%s'", "id", "BStringSet");
|
||||
- if (!(IS_S4_OBJECT(sread) &&
|
||||
+ if (!(Rf_isS4(sread) &&
|
||||
strcmp(get_classname(sread), "DNAStringSet") == 0))
|
||||
Rf_error("'%s' must be '%s'", "sread", "DNAStringSet");
|
||||
/* check in R -- C-level R_check_super... is not adequate */
|
||||
@@ -693,14 +693,14 @@ int _solexa_export_make_id(SEXP result)
|
||||
*x = INTEGER(VECTOR_ELT(result, SLX_X)),
|
||||
*y = INTEGER(VECTOR_ELT(result, SLX_Y)), *pairedReadNumber = NULL;
|
||||
const SEXP
|
||||
- * run = STRING_PTR(VECTOR_ELT(result, SLX_RUN)),
|
||||
+ * run = STRING_PTR_RO(VECTOR_ELT(result, SLX_RUN)),
|
||||
*multiplexIndex = NULL,
|
||||
- *machine = STRING_PTR(VECTOR_ELT(result, SLX_MACHINE));
|
||||
+ *machine = STRING_PTR_RO(VECTOR_ELT(result, SLX_MACHINE));
|
||||
const Rboolean
|
||||
withMultiplexIndex = R_NilValue != VECTOR_ELT(result, SLX_MULTIPLEX),
|
||||
withPairedReadNumber = R_NilValue != VECTOR_ELT(result, SLX_PAIRID);
|
||||
if (withMultiplexIndex)
|
||||
- multiplexIndex = STRING_PTR(VECTOR_ELT(result, SLX_MULTIPLEX));
|
||||
+ multiplexIndex = STRING_PTR_RO(VECTOR_ELT(result, SLX_MULTIPLEX));
|
||||
if (withPairedReadNumber)
|
||||
pairedReadNumber = INTEGER(VECTOR_ELT(result, SLX_PAIRID));
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From 2e3368a35e3955a0a92b7f3e2c8dface6709d135 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Thu, 16 Apr 2026 16:54:15 +0000
|
||||
Subject: [PATCH] fixapi
|
||||
|
||||
---
|
||||
src/util.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util.c b/src/util.c
|
||||
index 4a10a90..59c089b 100644
|
||||
--- a/src/util.c
|
||||
+++ b/src/util.c
|
||||
@@ -6,6 +6,14 @@ unsigned char _bDecode(char);
|
||||
unsigned char _dnaDecode(char);
|
||||
unsigned char _rnaDecode(char);
|
||||
|
||||
+
|
||||
+#include <Rversion.h>
|
||||
+
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
+# define R_getVar(x,y,z) findVar(x,y)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
/*
|
||||
* Encode / decode XString wrappers
|
||||
*/
|
||||
@@ -80,7 +88,7 @@ SEXP _get_namespace(const char *pkg)
|
||||
SEXP _get_strand_levels()
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("ShortRead"));
|
||||
- SEXP ans = eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc);
|
||||
+ SEXP ans = eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc);
|
||||
UNPROTECT(1);
|
||||
return ans;
|
||||
}
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,412 @@
|
||||
From 803cda41994a22890e0a6e379e6588084d4bc91b Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Fri, 13 Mar 2026 04:04:59 -0400
|
||||
Subject: [PATCH 1/2] fixed non-API except for IS_S4_OBJECT
|
||||
|
||||
---
|
||||
src/bind.c | 8 ++++----
|
||||
src/glm_test_R.c | 20 ++++++++++----------
|
||||
src/imputation.c | 8 ++++----
|
||||
src/input.c | 2 +-
|
||||
src/plink.c | 2 +-
|
||||
src/read_uncertain.c | 4 ++--
|
||||
src/readped.c | 2 +-
|
||||
src/single_snp_tests.c | 8 ++++----
|
||||
src/snp_summary.c | 8 ++++----
|
||||
src/snpmpy.c | 8 ++++----
|
||||
src/structure.c | 4 ++--
|
||||
src/subset.c | 2 +-
|
||||
src/switch.c | 2 +-
|
||||
src/tdt.c | 8 ++++----
|
||||
src/testBig.c | 2 +-
|
||||
15 files changed, 44 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/src/bind.c b/src/bind.c
|
||||
index 44b1536..fa87e7c 100644
|
||||
--- a/src/bind.c
|
||||
+++ b/src/bind.c
|
||||
@@ -19,7 +19,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
const SEXP This = CAR(args);
|
||||
Class = getAttrib(This, R_ClassSymbol);
|
||||
if (TYPEOF(Class) != STRSXP) {
|
||||
- Class = R_data_class(This, FALSE);
|
||||
+ Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
if(!IS_S4_OBJECT(This)) {
|
||||
@@ -66,7 +66,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
SEXP Result, Rnames, Dnames, Diploid = R_NilValue;
|
||||
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
|
||||
classgets(Result, duplicate(Class));
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Rnames = allocVector(STRSXP, nr));
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(Dnames, 0, Rnames);
|
||||
@@ -148,7 +148,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
SEXP This = CAR(args);
|
||||
Class = getAttrib(This, R_ClassSymbol);
|
||||
if (TYPEOF(Class) != STRSXP) {
|
||||
- Class = R_data_class(This, FALSE);
|
||||
+ Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
if(!IS_S4_OBJECT(This)) {
|
||||
@@ -205,7 +205,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
SEXP Result, Cnames, Dnames;
|
||||
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
|
||||
classgets(Result, duplicate(Class));
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
setAttrib(Result, R_DimNamesSymbol, Dnames);
|
||||
PROTECT(Cnames = allocVector(STRSXP, nc));
|
||||
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
|
||||
index d865182..dc8ebef 100644
|
||||
--- a/src/glm_test_R.c
|
||||
+++ b/src/glm_test_R.c
|
||||
@@ -19,8 +19,8 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
|
||||
/* Y should be a SnpMatrix or an XSnpMatrix */
|
||||
const char *classY = NULL;
|
||||
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
|
||||
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Y)) == STRSXP) {
|
||||
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -431,8 +431,8 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
|
||||
/* Z should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classZ = NULL;
|
||||
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
|
||||
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Z)) == STRSXP) {
|
||||
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1003,8 +1003,8 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
|
||||
/* Y should be a SnpMatrix or an XSnpMatrix */
|
||||
const char *classY = NULL;
|
||||
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
|
||||
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Y)) == STRSXP) {
|
||||
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1286,7 +1286,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
LOGICAL(Lhs)[0] = 1;
|
||||
setAttrib(Estimates, install("snpLHS"), Lhs);
|
||||
UNPROTECT(6);
|
||||
- SET_S4_OBJECT(Estimates);
|
||||
+ Rf_asS4(Estimates, TRUE, 0);
|
||||
return(Estimates);
|
||||
}
|
||||
|
||||
@@ -1360,8 +1360,8 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
/* Z should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classZ = NULL;
|
||||
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
|
||||
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Z)) == STRSXP) {
|
||||
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1724,7 +1724,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
|
||||
UNPROTECT(gen_names? 7: 6);
|
||||
|
||||
- SET_S4_OBJECT(Estimates);
|
||||
+ Rf_asS4(Estimates, TRUE, 0);
|
||||
return(Estimates);
|
||||
|
||||
}
|
||||
diff --git a/src/imputation.c b/src/imputation.c
|
||||
index ff9403b..d796c1b 100644
|
||||
--- a/src/imputation.c
|
||||
+++ b/src/imputation.c
|
||||
@@ -77,7 +77,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
|
||||
int *diploid = NULL;
|
||||
SEXP cl = GET_CLASS(X);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(X, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(X); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(X, mkString("diploid"));
|
||||
@@ -395,7 +395,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
|
||||
PROTECT(Maxpred = allocVector(INTSXP, 1));
|
||||
INTEGER(Maxpred)[0] = maxpred;
|
||||
setAttrib(Result, install("Max.predictors"), Maxpred);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
/* Tidy up */
|
||||
|
||||
@@ -701,7 +701,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
|
||||
int *diploid_in=NULL, *diploid=NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -753,7 +753,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
}
|
||||
PROTECT(Dimnames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(Dimnames, 0, VECTOR_ELT(names, 0));
|
||||
diff --git a/src/input.c b/src/input.c
|
||||
index 1d2a95b..60cdad8 100644
|
||||
--- a/src/input.c
|
||||
+++ b/src/input.c
|
||||
@@ -330,7 +330,7 @@ SEXP insnp_new(const SEXP Filenames, const SEXP Sample_id, const SEXP Snp_id,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
unsigned char *result = RAW(Result);
|
||||
memset(result, 0x00, Nsample*Nsnp);
|
||||
|
||||
diff --git a/src/plink.c b/src/plink.c
|
||||
index a413440..9095c2d 100644
|
||||
--- a/src/plink.c
|
||||
+++ b/src/plink.c
|
||||
@@ -59,7 +59,7 @@ SEXP readbed(SEXP Bed, SEXP Id, SEXP Snps, SEXP Rsel, SEXP Csel) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
unsigned char *result = RAW(Result);
|
||||
R_xlen_t ncell = (R_xlen_t)nrow*(R_xlen_t)ncol;
|
||||
diff --git a/src/read_uncertain.c b/src/read_uncertain.c
|
||||
index 2e3b901..fd82617 100644
|
||||
--- a/src/read_uncertain.c
|
||||
+++ b/src/read_uncertain.c
|
||||
@@ -137,7 +137,7 @@ SEXP read_mach(const SEXP Filename, const SEXP Colnames, const SEXP Nsubject) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
UNPROTECT(2);
|
||||
|
||||
/* Read in data */
|
||||
@@ -278,7 +278,7 @@ SEXP read_impute(const SEXP Filename, const SEXP Rownames, const SEXP Nsnp,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
UNPROTECT(2);
|
||||
|
||||
char buffer[BUFFERSIZE];
|
||||
diff --git a/src/readped.c b/src/readped.c
|
||||
index 4e8563e..020d05f 100644
|
||||
--- a/src/readped.c
|
||||
+++ b/src/readped.c
|
||||
@@ -327,7 +327,7 @@ SEXP readped(SEXP filename, SEXP snp_names, SEXP missing, SEXP X, SEXP sep) {
|
||||
else
|
||||
SET_STRING_ELT(SMClass, 0, mkChar("SnpMatrix"));
|
||||
classgets(Smat, SMClass);
|
||||
- SET_S4_OBJECT(Smat);
|
||||
+ Rf_asS4(Smat, TRUE, 0);
|
||||
PROTECT(DimNames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(DimNames, 0, duplicate(Rnames));
|
||||
protected += 2;
|
||||
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
|
||||
index a242e17..08bd098 100644
|
||||
--- a/src/single_snp_tests.c
|
||||
+++ b/src/single_snp_tests.c
|
||||
@@ -53,8 +53,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classS = NULL;
|
||||
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
|
||||
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
|
||||
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
|
||||
} else {
|
||||
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -108,8 +108,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
index_db name_index;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/snp_summary.c b/src/snp_summary.c
|
||||
index 9b53693..6f181c9 100644
|
||||
--- a/src/snp_summary.c
|
||||
+++ b/src/snp_summary.c
|
||||
@@ -47,8 +47,8 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
SEXP ruleNames = R_NilValue;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -321,8 +321,8 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
SEXP ruleNames = R_NilValue;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/snpmpy.c b/src/snpmpy.c
|
||||
index 2447048..56b84d9 100644
|
||||
--- a/src/snpmpy.c
|
||||
+++ b/src/snpmpy.c
|
||||
@@ -34,7 +34,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
int *ifdiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -55,7 +55,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
|
||||
cl = GET_CLASS(Mat);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Mat); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
|
||||
error("Argument error - Mat wrong type");
|
||||
@@ -161,7 +161,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
int *ifdiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -182,7 +182,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
|
||||
cl = GET_CLASS(Mat);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Mat); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
|
||||
error("Argument error - Mat wrong type");
|
||||
diff --git a/src/structure.c b/src/structure.c
|
||||
index 2a05635..1f9b62e 100644
|
||||
--- a/src/structure.c
|
||||
+++ b/src/structure.c
|
||||
@@ -66,7 +66,7 @@ SEXP xxt(const SEXP Snps, const SEXP Strata, const SEXP Correct_for_missing,
|
||||
int *ifDiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -409,7 +409,7 @@ SEXP ibs_count(const SEXP Snps, const SEXP Uncertain) {
|
||||
int *ifDiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
diff --git a/src/subset.c b/src/subset.c
|
||||
index cc7992d..4c2e2c4 100644
|
||||
--- a/src/subset.c
|
||||
+++ b/src/subset.c
|
||||
@@ -55,7 +55,7 @@ SEXP subset(SEXP X, SEXP Rows, SEXP Cols) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Rclass, install("package"), Package);
|
||||
setAttrib(Result, R_ClassSymbol, Rclass);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Rdim = allocVector(INTSXP, 2));
|
||||
int *rdim = INTEGER(Rdim);
|
||||
rdim[0] = nrows;
|
||||
diff --git a/src/switch.c b/src/switch.c
|
||||
index 60f7e6c..e2a3287 100644
|
||||
--- a/src/switch.c
|
||||
+++ b/src/switch.c
|
||||
@@ -16,7 +16,7 @@ SEXP test_switch(const SEXP Snps, const SEXP Snps2, const SEXP Split,
|
||||
int *female = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
SEXP diploid = NULL;
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
diff --git a/src/tdt.c b/src/tdt.c
|
||||
index cece0d9..000d1c7 100644
|
||||
--- a/src/tdt.c
|
||||
+++ b/src/tdt.c
|
||||
@@ -43,8 +43,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classS = NULL;
|
||||
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
|
||||
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
|
||||
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
|
||||
} else {
|
||||
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -84,8 +84,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
GTYPE **gt2ht = NULL;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/testBig.c b/src/testBig.c
|
||||
index a6eb76f..3dca1da 100644
|
||||
--- a/src/testBig.c
|
||||
+++ b/src/testBig.c
|
||||
@@ -18,7 +18,7 @@ SEXP snp_big(SEXP nrow, SEXP ncol) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
setAttrib(Result, R_DimNamesSymbol, Dnames);
|
||||
--
|
||||
2.52.0
|
||||
|
||||
149
gnu/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch
Normal file
149
gnu/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch
Normal file
@@ -0,0 +1,149 @@
|
||||
From a505297e347aa72510ecfc83e7009668693e1260 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Fri, 13 Mar 2026 04:06:37 -0400
|
||||
Subject: [PATCH 2/2] fixed IS_S4_OBJECT
|
||||
|
||||
---
|
||||
src/bind.c | 4 ++--
|
||||
src/fst.c | 2 +-
|
||||
src/glm_test_R.c | 8 ++++----
|
||||
src/single_snp_tests.c | 2 +-
|
||||
src/snp_summary.c | 6 +++---
|
||||
src/tdt.c | 2 +-
|
||||
6 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/bind.c b/src/bind.c
|
||||
index fa87e7c..b3ef928 100644
|
||||
--- a/src/bind.c
|
||||
+++ b/src/bind.c
|
||||
@@ -22,7 +22,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
- if(!IS_S4_OBJECT(This)) {
|
||||
+ if(!Rf_isS4(This)) {
|
||||
warning("rbinding SnpMatrix object without S4 object bit");
|
||||
}
|
||||
int nci = ncols(This);
|
||||
@@ -151,7 +151,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
- if(!IS_S4_OBJECT(This)) {
|
||||
+ if(!Rf_isS4(This)) {
|
||||
warning("cbinding SnpMatrix object without S4 object bit");
|
||||
}
|
||||
SEXP Di = R_NilValue;
|
||||
diff --git a/src/fst.c b/src/fst.c
|
||||
index bbc39c0..5451a51 100644
|
||||
--- a/src/fst.c
|
||||
+++ b/src/fst.c
|
||||
@@ -23,7 +23,7 @@ SEXP Fst(SEXP Snps, SEXP Group, SEXP HapMap) {
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
|
||||
index dc8ebef..fe9d9c8 100644
|
||||
--- a/src/glm_test_R.c
|
||||
+++ b/src/glm_test_R.c
|
||||
@@ -24,7 +24,7 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Y)) {
|
||||
+ if(!Rf_isS4(Y)) {
|
||||
error("Y in snp_lhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
@@ -443,7 +443,7 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
|
||||
ifX = 1;
|
||||
else
|
||||
error("Argument error - class(Z)");
|
||||
- if (!IS_S4_OBJECT(Z)) {
|
||||
+ if (!Rf_isS4(Z)) {
|
||||
error("Z in snp_rhs_score is missing S4 Object bit");
|
||||
}
|
||||
|
||||
@@ -1008,7 +1008,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Y)) {
|
||||
+ if(!Rf_isS4(Y)) {
|
||||
error("Y in snp_lhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
@@ -1365,7 +1365,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Z)) {
|
||||
+ if(!Rf_isS4(Z)) {
|
||||
error("Z in snp_rhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
|
||||
index 08bd098..b577300 100644
|
||||
--- a/src/single_snp_tests.c
|
||||
+++ b/src/single_snp_tests.c
|
||||
@@ -67,7 +67,7 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
diff --git a/src/snp_summary.c b/src/snp_summary.c
|
||||
index 6f181c9..c2f1c73 100644
|
||||
--- a/src/snp_summary.c
|
||||
+++ b/src/snp_summary.c
|
||||
@@ -24,7 +24,7 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
@@ -298,7 +298,7 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
@@ -538,7 +538,7 @@ SEXP row_summary(const SEXP Snps) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
diff --git a/src/tdt.c b/src/tdt.c
|
||||
index 000d1c7..634e1b3 100644
|
||||
--- a/src/tdt.c
|
||||
+++ b/src/tdt.c
|
||||
@@ -57,7 +57,7 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
259
gnu/packages/patches/r-sparsearray-r-4.6.0-compat.patch
Normal file
259
gnu/packages/patches/r-sparsearray-r-4.6.0-compat.patch
Normal file
@@ -0,0 +1,259 @@
|
||||
From 633aa6e3f671e9b58b3508b3944ff0dd45f34f8a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Thu, 5 Mar 2026 14:58:23 -0800
|
||||
Subject: [PATCH] SparseArray 1.11.11: Get rid of non-API calls to R
|
||||
|
||||
From 65383c02f986832b1416c6ad39da800d8ced05df Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Tue, 31 Mar 2026 11:38:20 -0700
|
||||
Subject: [PATCH] SparseArray 1.11.13: Use R_getVar() instead of findVar() when
|
||||
R >= 4.6.0
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/Makevars | 1 +
|
||||
src/Rvector_utils.c | 15 ++++++++-------
|
||||
src/SparseArray_aperm.c | 2 +-
|
||||
src/SparseArray_matrixStats.c | 5 +++--
|
||||
src/SparseArray_subassignment.c | 6 +++---
|
||||
src/SparseVec.h | 3 ++-
|
||||
src/leaf_utils.c | 5 +++--
|
||||
src/test.c | 3 +++
|
||||
9 files changed, 25 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/src/Makevars b/src/Makevars
|
||||
index 0ee3615..1c5b86e 100644
|
||||
--- a/src/Makevars
|
||||
+++ b/src/Makevars
|
||||
@@ -1,2 +1,3 @@
|
||||
+## See https://cran.r-project.org/doc/manuals/r-release/R-exts.html#OpenMP-support
|
||||
PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS)
|
||||
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
|
||||
diff --git a/src/Rvector_utils.c b/src/Rvector_utils.c
|
||||
index ad80168..7e61ac1 100644
|
||||
--- a/src/Rvector_utils.c
|
||||
+++ b/src/Rvector_utils.c
|
||||
@@ -4,6 +4,7 @@
|
||||
****************************************************************************/
|
||||
#include "Rvector_utils.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memset() and memcpy() */
|
||||
|
||||
|
||||
@@ -242,7 +243,7 @@ void _fill_Rvector_block_with_val(SEXP Rvector,
|
||||
(const SEXP) val);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_val(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_val(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len, val);
|
||||
}
|
||||
|
||||
@@ -260,7 +261,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
|
||||
R_NilValue);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_zero(Rtype, DATAPTR(Rvector), block_offset, block_len);
|
||||
+ _set_elts_to_zero(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -268,7 +269,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
|
||||
void _fill_Rvector_block_with_ones(SEXP Rvector,
|
||||
R_xlen_t block_offset, R_xlen_t block_len)
|
||||
{
|
||||
- _set_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
@@ -277,7 +278,7 @@ void _fill_Rvector_block_with_ones(SEXP Rvector,
|
||||
void _fill_Rvector_block_with_minus_one(SEXP Rvector,
|
||||
R_xlen_t block_offset, R_xlen_t block_len)
|
||||
{
|
||||
- _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
@@ -293,7 +294,7 @@ void _fill_Rvector_block_with_NA(SEXP Rvector,
|
||||
NA_STRING);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_NA(Rtype, DATAPTR(Rvector), block_offset, block_len);
|
||||
+ _set_elts_to_NA(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -460,7 +461,7 @@ void _fill_Rvector_subset_with_zeros(SEXP Rvector,
|
||||
R_NilValue);
|
||||
return;
|
||||
}
|
||||
- _set_selected_elts_to_zero(Rtype, DATAPTR(Rvector),
|
||||
+ _set_selected_elts_to_zero(Rtype, DATAPTR_RW(Rvector),
|
||||
selection, selection_len, selection_offset);
|
||||
return;
|
||||
}
|
||||
@@ -470,7 +471,7 @@ void _fill_Rvector_subset_with_ones(SEXP Rvector,
|
||||
const int *selection, int selection_len,
|
||||
R_xlen_t selection_offset)
|
||||
{
|
||||
- _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
selection, selection_len, selection_offset);
|
||||
return;
|
||||
}
|
||||
diff --git a/src/SparseArray_aperm.c b/src/SparseArray_aperm.c
|
||||
index 0bd092e..bbeaf2c 100644
|
||||
--- a/src/SparseArray_aperm.c
|
||||
+++ b/src/SparseArray_aperm.c
|
||||
@@ -721,7 +721,7 @@ static SEXP REC_grow_output_tree(const int *dim, int ndim,
|
||||
const type *nzvals_p = NULL; /* -Wmaybe-uninitialized */ \
|
||||
type v; \
|
||||
if (nzvals != R_NilValue) { /* standard leaf */ \
|
||||
- nzvals_p = (const type *) DATAPTR(nzvals); \
|
||||
+ nzvals_p = DATAPTR_RO(nzvals); \
|
||||
} else { /* lacunar leaf */ \
|
||||
v = type ## 1; \
|
||||
} \
|
||||
diff --git a/src/SparseArray_matrixStats.c b/src/SparseArray_matrixStats.c
|
||||
index b626553..debacf6 100644
|
||||
--- a/src/SparseArray_matrixStats.c
|
||||
+++ b/src/SparseArray_matrixStats.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "leaf_utils.h"
|
||||
#include "SparseArray_summarization.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memcpy() and memset() */
|
||||
|
||||
|
||||
@@ -272,7 +273,7 @@ SEXP C_colStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
|
||||
int warn = 0;
|
||||
REC_colStats_SVT(x_SVT, x_bg_is_na, INTEGER(x_dim), LENGTH(x_dim),
|
||||
&summarize_op,
|
||||
- DATAPTR(ans), ans_Rtype,
|
||||
+ DATAPTR_RW(ans), ans_Rtype,
|
||||
out_incs, ans_ndim, pardim,
|
||||
&warn);
|
||||
if (warn)
|
||||
@@ -1175,7 +1176,7 @@ SEXP C_rowStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
|
||||
SVT_rowMinsMaxs(x_SVT, x_Rtype, x_bg_is_na,
|
||||
INTEGER(x_dim), LENGTH(x_dim),
|
||||
opcode, narm,
|
||||
- DATAPTR(ans), LENGTH(ans), ans_Rtype,
|
||||
+ DATAPTR_RW(ans), LENGTH(ans), ans_Rtype,
|
||||
out_incs, ans_ndim, nstrata);
|
||||
break;
|
||||
case SUM_OPCODE:
|
||||
diff --git a/src/SparseArray_subassignment.c b/src/SparseArray_subassignment.c
|
||||
index 4cf1c3d..c3b2d5e 100644
|
||||
--- a/src/SparseArray_subassignment.c
|
||||
+++ b/src/SparseArray_subassignment.c
|
||||
@@ -966,13 +966,13 @@ static inline int next_coords0(NindexIterator *Nindex_iter)
|
||||
midx_p++;
|
||||
coords0_p++;
|
||||
}
|
||||
- printf("coords0: ");
|
||||
+ //printf("coords0: ");
|
||||
coords0_p = Nindex_iter->coords0_buf;
|
||||
for (along = Nindex_iter->margin; along < Nindex_iter->ndim; along++) {
|
||||
- printf(" %3d", *coords0_p);
|
||||
+ //printf(" %3d", *coords0_p);
|
||||
coords0_p++;
|
||||
}
|
||||
- printf("\n");
|
||||
+ //printf("\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
diff --git a/src/SparseVec.h b/src/SparseVec.h
|
||||
index 894709b..73cd841 100644
|
||||
--- a/src/SparseVec.h
|
||||
+++ b/src/SparseVec.h
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "Rvector_utils.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <limits.h> /* for INT_MAX */
|
||||
|
||||
|
||||
@@ -122,7 +123,7 @@ static inline SparseVec toSparseVec(SEXP nzvals, SEXP nzoffs,
|
||||
if (IS_STRSXP_OR_VECSXP(Rtype)) {
|
||||
sv.nzvals = nzvals;
|
||||
} else {
|
||||
- sv.nzvals = DATAPTR(nzvals);
|
||||
+ sv.nzvals = DATAPTR_RW(nzvals);
|
||||
}
|
||||
}
|
||||
sv.nzoffs = INTEGER(nzoffs);
|
||||
diff --git a/src/leaf_utils.c b/src/leaf_utils.c
|
||||
index e8066c3..c5ff3aa 100644
|
||||
--- a/src/leaf_utils.c
|
||||
+++ b/src/leaf_utils.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "SparseVec_subsetting.h"
|
||||
#include "SparseVec_subassignment.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memcpy() */
|
||||
|
||||
|
||||
@@ -129,7 +130,7 @@ SEXP _make_leaf_from_two_arrays(SEXPTYPE Rtype,
|
||||
return ans;
|
||||
}
|
||||
ans_nzvals = PROTECT(allocVector(Rtype, nzcount));
|
||||
- memcpy(DATAPTR(ans_nzvals), nzvals_p, Rtype_size * nzcount);
|
||||
+ memcpy(DATAPTR_RW(ans_nzvals), nzvals_p, Rtype_size * nzcount);
|
||||
}
|
||||
SEXP ans = zip_leaf(ans_nzvals, ans_nzoffs, 0);
|
||||
UNPROTECT(2);
|
||||
@@ -156,7 +157,7 @@ static SEXP make_leaf_from_Rvector_subset(SEXP Rvector,
|
||||
|
||||
if (avoid_copy_if_all_selected &&
|
||||
selection_offset == 0 && selection_len == XLENGTH(Rvector) &&
|
||||
- ATTRIB(Rvector) == R_NilValue)
|
||||
+ !ANY_ATTRIB(Rvector))
|
||||
{
|
||||
/* The full 'Rvector' is selected so can be reused as-is
|
||||
with no need to copy the selected elements to a new SEXP. */
|
||||
diff --git a/src/test.c b/src/test.c
|
||||
index 493538f..2205fa2 100644
|
||||
--- a/src/test.c
|
||||
+++ b/src/test.c
|
||||
@@ -111,6 +111,9 @@ SEXP C_simple_omp_parallel_for_loop(SEXP nloop)
|
||||
for (int i = 0; i < INTEGER(nloop)[0]; i++) {
|
||||
#ifdef _OPENMP
|
||||
int thread_num = omp_get_thread_num();
|
||||
+ /* Can't use Rprintf() here because it's not thread-safe (it
|
||||
+ can trigger R's garbage collector which itself is not
|
||||
+ thread-safe). */
|
||||
printf("thread_num = %d\n", thread_num);
|
||||
#endif
|
||||
}
|
||||
diff --git a/src/readSparseCSV.c b/src/readSparseCSV.c
|
||||
index a3d8da0..de1cb95 100644
|
||||
--- a/src/readSparseCSV.c
|
||||
+++ b/src/readSparseCSV.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "ExtendableJaggedArray.h"
|
||||
|
||||
#include <R_ext/Connections.h>
|
||||
+#include <Rversion.h>
|
||||
|
||||
#include <string.h> /* for memcpy() */
|
||||
|
||||
@@ -111,7 +112,11 @@ static SEXP dump_env_as_list_or_R_NilValue(SEXP env, int ans_len)
|
||||
is_empty = 1;
|
||||
for (i = 0; i < ans_len; i++) {
|
||||
key = PROTECT(idx0_to_key(i));
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
ans_elt = findVar(install(translateChar(key)), env);
|
||||
+#else
|
||||
+ ans_elt = R_getVar(install(translateChar(key)), env, FALSE);
|
||||
+#endif
|
||||
UNPROTECT(1);
|
||||
if (ans_elt == R_UnboundValue)
|
||||
continue;
|
||||
@@ -0,0 +1,25 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-04-26
|
||||
License: ASL2.0
|
||||
Subject: Stub CodeModeTurnHost::invoke_tool signature uses ToolName.
|
||||
|
||||
In codex 0.117 the upstream trait took `tool_name: String`, so the
|
||||
disable-code-mode patch's `cfg(not(feature = "v8-runtime"))` stub used
|
||||
String to match. In codex 0.124 the upstream trait takes
|
||||
`codex_protocol::ToolName`, and core/src/tools/code_mode/mod.rs's impl
|
||||
of CodeModeTurnHost passes `ToolName`, so the stub must match the new
|
||||
signature here too. This patch is applied only to codex 0.124+ on top
|
||||
of the shared disable-code-mode patch; codex-acp (which still pins
|
||||
rust-v0.117.0 where code-mode has no codex-protocol dep) keeps the
|
||||
String-based stub.
|
||||
|
||||
--- a/codex-rs/code-mode/src/lib.rs
|
||||
+++ b/codex-rs/code-mode/src/lib.rs
|
||||
@@ -77,7 +77,7 @@
|
||||
#[cfg(not(feature = "v8-runtime"))]
|
||||
#[async_trait::async_trait]
|
||||
pub trait CodeModeTurnHost: Send + Sync {
|
||||
- async fn invoke_tool(&self, tool_name: String, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
|
||||
+ async fn invoke_tool(&self, tool_name: codex_protocol::ToolName, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
|
||||
async fn notify(&self, call_id: String, cell_id: String, text: String) -> Result<(), String>;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-04-23
|
||||
License: ASL2.0
|
||||
Subject: Remove [patch.crates-io] and [patch.'ssh://...'] sections.
|
||||
|
||||
The [patch] sections point to git repositories which are unavailable
|
||||
in an offline build. The vendored crossterm, ratatui,
|
||||
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
|
||||
instead.
|
||||
|
||||
--- a/codex-rs/Cargo.toml 2026-04-23 22:49:56.599115735 +0000
|
||||
+++ b/codex-rs/Cargo.toml 2026-04-23 22:49:56.601899894 +0000
|
||||
@@ -470,16 +470,3 @@
|
||||
inherits = "test"
|
||||
opt-level = 0
|
||||
|
||||
-[patch.crates-io]
|
||||
-# Uncomment to debug local changes.
|
||||
-# ratatui = { path = "../../ratatui" }
|
||||
-crossterm = { git = "https://github.com/nornagon/crossterm", rev = "87db8bfa6dc99427fd3b071681b07fc31c6ce995" }
|
||||
-ratatui = { git = "https://github.com/nornagon/ratatui", rev = "9b2ad1298408c45918ee9f8241a6f95498cdbed2" }
|
||||
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
|
||||
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
|
||||
-
|
||||
-# Uncomment to debug local changes.
|
||||
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
|
||||
-
|
||||
-[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
|
||||
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
|
||||
@@ -237,7 +237,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.93.2")
|
||||
(version "2.94.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +246,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0rsqka6i51ky74mzf2xlzdzss2xnldyk1wm0f5ilas6ic6pw3hir"))
|
||||
(base32 "050x9m79j1bi17mj7zzbhlnn7ia26k51qrhp5z43wsx0rpp0hfqb"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1537,6 +1537,168 @@ repository, used as dependencies by codex-acp.")
|
||||
and runtime for AI-assisted coding.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public rust-codex-0.124.0
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit rust-codex-0.120.0)
|
||||
(version "0.124.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openai/codex")
|
||||
(commit "e9fb49366c93a1478ec71cc41ecee415a197d036")))
|
||||
(file-name (git-file-name "rust-codex" "0.124.0"))
|
||||
(sha256
|
||||
(base32 "06il60npjnc0h91afyp3wk725cgy3ywk3hx2sbvzdxx6037z6nb0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;;; These are JSON manifests with a dotslash
|
||||
;;; shebang that download and run pre-built
|
||||
;;; binaries (ripgrep, bash) at runtime.
|
||||
(delete-file "codex-cli/bin/rg")
|
||||
;; Bundled bubblewrap source tree; includes a
|
||||
;; compiled BPF blob (demos/flatpak.bpf).
|
||||
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
|
||||
(patches (search-patches
|
||||
"codex-acp-0.11.1-disable-code-mode.patch"
|
||||
"rust-codex-0.124.0-code-mode-stub-toolname.patch"
|
||||
"rust-codex-0.124.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.120.0-remove-libwebrtc.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments rust-codex-0.120.0)
|
||||
;; 0.124 differs from 0.120 by a single removal
|
||||
;; (codex-instructions) and ten additions placed at topo-correct
|
||||
;; positions; the order also shifts in a few spots to satisfy new
|
||||
;; deps (e.g. codex-utils-cargo-bin moves before codex-app-server-
|
||||
;; protocol). Replace the whole list rather than computing a
|
||||
;; delta against the inherited one.
|
||||
((#:cargo-package-crates _)
|
||||
''(;; Topologically sorted by internal dependency order.
|
||||
"codex-async-utils"
|
||||
"codex-utils-absolute-path"
|
||||
"codex-execpolicy"
|
||||
"codex-utils-home-dir"
|
||||
"codex-utils-rustls-provider"
|
||||
"codex-network-proxy"
|
||||
"codex-utils-cache"
|
||||
"codex-utils-image"
|
||||
"codex-utils-string"
|
||||
"codex-utils-template"
|
||||
"codex-protocol"
|
||||
"codex-agent-identity"
|
||||
"codex-experimental-api-macros"
|
||||
"codex-shell-command"
|
||||
"codex-utils-cargo-bin"
|
||||
"codex-app-server-protocol"
|
||||
"codex-client"
|
||||
"codex-api"
|
||||
"codex-otel"
|
||||
"codex-features"
|
||||
"codex-model-provider-info"
|
||||
"codex-utils-path"
|
||||
"codex-config"
|
||||
"codex-sandboxing"
|
||||
"codex-utils-pty"
|
||||
"codex-exec-server"
|
||||
"codex-git-utils"
|
||||
"codex-keyring-store"
|
||||
"codex-terminal-detection"
|
||||
"codex-login"
|
||||
"codex-utils-plugins"
|
||||
"codex-plugin"
|
||||
"codex-analytics"
|
||||
"codex-ansi-escape"
|
||||
"codex-apply-patch"
|
||||
"codex-code-mode"
|
||||
"codex-connectors"
|
||||
"codex-skills"
|
||||
"codex-utils-output-truncation"
|
||||
"codex-core-skills"
|
||||
"codex-core-plugins"
|
||||
"codex-feedback"
|
||||
"codex-hooks"
|
||||
"codex-rmcp-client"
|
||||
"codex-mcp"
|
||||
"codex-aws-auth"
|
||||
"codex-model-provider"
|
||||
"codex-collaboration-mode-templates"
|
||||
"codex-response-debug-context"
|
||||
"codex-models-manager"
|
||||
"codex-file-search"
|
||||
"codex-state"
|
||||
"codex-rollout"
|
||||
"codex-rollout-trace"
|
||||
"codex-secrets"
|
||||
"codex-shell-escalation"
|
||||
"codex-thread-store"
|
||||
"codex-tools"
|
||||
"codex-utils-readiness"
|
||||
"codex-utils-stream-parser"
|
||||
"codex-windows-sandbox"
|
||||
"codex-core"
|
||||
"codex-linux-sandbox"
|
||||
"codex-arg0"
|
||||
"codex-backend-openapi-models"
|
||||
"codex-backend-client"
|
||||
"codex-utils-cli"
|
||||
"codex-chatgpt"
|
||||
"codex-cloud-requirements"
|
||||
"codex-device-key"
|
||||
"codex-utils-json-to-toml"
|
||||
"codex-app-server"
|
||||
"codex-app-server-client"
|
||||
"codex-app-server-test-client"
|
||||
"codex-cloud-tasks-client"
|
||||
"codex-cloud-tasks-mock-client"
|
||||
"codex-install-context"
|
||||
"codex-realtime-webrtc"
|
||||
"codex-utils-approval-presets"
|
||||
"codex-utils-elapsed"
|
||||
"codex-utils-fuzzy-match"
|
||||
"codex-lmstudio"
|
||||
"codex-ollama"
|
||||
"codex-utils-oss"
|
||||
"codex-utils-sandbox-summary"
|
||||
"codex-utils-sleep-inhibitor"
|
||||
"codex-exec"
|
||||
"codex-mcp-server"
|
||||
"codex-process-hardening"
|
||||
"codex-responses-api-proxy"
|
||||
"codex-uds"
|
||||
"codex-stdio-to-uds"
|
||||
"codex-debug-client"
|
||||
"codex-execpolicy-legacy"
|
||||
"codex-test-binary-support"))
|
||||
((#:phases orig)
|
||||
;; Two changes from the inherited phases:
|
||||
;; (1) 'add-version-to-workspace-deps stamps the literal
|
||||
;; 0.120.0 version inside its substitute pattern, so we
|
||||
;; swap the whole phase for one stamping 0.124.0 (and
|
||||
;; using a regex that also matches the codex_windows_
|
||||
;; sandbox underscore alias introduced in 0.124).
|
||||
;; (2) Add a new phase 'break-dev-dep-cycles to strip the
|
||||
;; codex-test-binary-support dev-dep from exec-server and
|
||||
;; core; it forms a cycle (test-binary-support -> arg0 ->
|
||||
;; {exec-server,core} -> test-binary-support) that cargo
|
||||
;; package --no-verify still rejects.
|
||||
#~(modify-phases #$orig
|
||||
(replace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
(("(codex[_-][a-z0-9_-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.124.0\", path = "))
|
||||
(("(codex[_-][a-z0-9_-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.124.0\", package = "))
|
||||
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
|
||||
(string-append path-line "\nversion = \"0.124.0\""))))))
|
||||
(add-after 'add-version-to-workspace-deps 'break-dev-dep-cycles
|
||||
(lambda _
|
||||
(substitute* '("exec-server/Cargo.toml" "core/Cargo.toml")
|
||||
(("^codex-test-binary-support = \\{[^}]*\\}\n") ""))))))))
|
||||
(inputs (cargo-inputs 'rust-codex-0.124.0)))))
|
||||
|
||||
;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
|
||||
(define-public rust-glycin-3
|
||||
(package
|
||||
|
||||
@@ -384,15 +384,15 @@ comparison and diagnostics.")
|
||||
(define r-with-tests
|
||||
(package
|
||||
(name "r-with-tests")
|
||||
(version "4.5.3")
|
||||
(version "4.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cran/src/base/R-"
|
||||
(version-major version) "/R-"
|
||||
version ".tar.gz"))
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wmqnm813lb58c0vwhjymnkfih3a6mq4cr9xa6n72wiw57a1wp5a"))))
|
||||
"09sszy5fykpl2lyzxw5rgiabb3f5l62bqamnm7g2q9d57xlv7wli"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
(define-public syncthing
|
||||
(package
|
||||
(name "syncthing")
|
||||
(version "2.0.14")
|
||||
(version "2.0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||
@@ -58,7 +58,7 @@
|
||||
"/syncthing-source-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00isf0j9nf0752wrn79nh4aj5ij5gapv1kvhrg8ydmmw1gi6rhzy"))))
|
||||
"0sgij3i2mhl6m9n2d98cz86f17215kfdc3z913k8yz4n8gwkcf7r"))))
|
||||
;; TODO: Build from git, remove vendor.
|
||||
(build-system go-build-system)
|
||||
;; The primary Syncthing executable goes to "out", while the auxiliary
|
||||
@@ -73,6 +73,7 @@
|
||||
#:import-path "github.com/syncthing/syncthing"
|
||||
;; Check 'go.mod' in the source distribution for the required version of Go.
|
||||
;; We don't need to install the source code for end-user applications.
|
||||
#:go go-1.25
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -29,6 +30,7 @@
|
||||
(define-module (gnu packages syndication)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix fossil-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
@@ -75,6 +77,33 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public fead
|
||||
(package
|
||||
(name "fead")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method fossil-fetch)
|
||||
(uri (fossil-reference
|
||||
(uri "https://chim.loan/fead")
|
||||
(check-in version)))
|
||||
(sha256
|
||||
(base32 "0fzxabmxpyd04v5ym20xhjcnh0vqdwc6z1xjrq676d2k0hr2rzz2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs (list python))
|
||||
(native-inputs (list help2man))
|
||||
(home-page "https://chim.loan/fead")
|
||||
(synopsis "Advert generator from web feeds")
|
||||
(description "Fead a tool for advertising other blogs you like on your own
|
||||
by embedding the summary of their latest posts extracted from their web feed.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public giara
|
||||
(package
|
||||
(name "giara")
|
||||
|
||||
@@ -875,30 +875,29 @@ compiled, requires few libraries, and starts up quickly.")
|
||||
(define-public e3
|
||||
(package
|
||||
(name "e3")
|
||||
(version "2.82")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://sites.google.com/site/e3editor/Home/"
|
||||
"e3-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0919kadkas020maqq37852isnzp053q2fnws2zh3mz81d1jiviak"))
|
||||
(modules '((guix build utils)))
|
||||
|
||||
;; Remove pre-built binaries.
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "bin")
|
||||
#t))))
|
||||
(version "2.82.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/museoa/e3editor")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1l57rxin3kv6iiw91rhjzl3bpk0gkfp3nrx7wmqikk1nycmkfbhm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(list
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list nasm))
|
||||
(home-page "https://sites.google.com/site/e3editor/")
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(home-page "https://codeberg.org/museoa/e3editor")
|
||||
(synopsis "Tiny text editor written in assembly")
|
||||
(description
|
||||
"e3 is a micro text editor with an executable code size between 3800 and
|
||||
@@ -907,7 +906,6 @@ of the basic functions one expects plus built in arithmetic calculations.
|
||||
UTF-8 coding of unicode characters is supported as well. e3 can use
|
||||
Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
|
||||
16, 32, and 64-bit CPUs.")
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mg
|
||||
|
||||
@@ -3522,106 +3522,113 @@ modification time.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public libfossil
|
||||
(let ((ci "914ed6dcaff13bf7209c9f27ccfb77c2d8fdf36b8d2133aa1590258b0708f035")
|
||||
(package
|
||||
(name "libfossil")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method fossil-fetch)
|
||||
(uri (fossil-reference
|
||||
(uri "https://fossil.wanderinghorse.net/r/libfossil")
|
||||
(check-in version)))
|
||||
(file-name (fossil-file-name name version))
|
||||
(sha256
|
||||
(base32 "0haaczpjnjpkiikf0q70nfabm2csdk6dl9rh80j0sh90wfvkyqwm"))
|
||||
(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 "autosetup" "proj.tcl" "wh-common.tcl")
|
||||
(delete-file-recursively "extsrc")
|
||||
;; Re-create Fossil check-out manifests,
|
||||
;; whose content does not affect in semantics.
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(call-with-output-file file (const #t)))
|
||||
'("manifest" "manifest.uuid"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "--no-debug" "--no-fnc" ;TODO: C++ and Tcl binding?
|
||||
(string-append "--with-sqlite="
|
||||
#$(this-package-input "sqlite"))
|
||||
(string-append "--soname=libfossil.so"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
(apply invoke "autosetup"
|
||||
(string-append "--prefix=" #$output)
|
||||
configure-flags)))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(substitute* "sanity-checks.sh"
|
||||
;; FIXME: these tests requires a Fossil checkout.
|
||||
(("\\./f-sanity.*") "")
|
||||
(("\\./f-parseparty.*") ""))
|
||||
(setenv "LD_LIBRARY_PATH" (getcwd))
|
||||
(invoke "./sanity-checks.sh")))))))
|
||||
(native-inputs (list autosetup))
|
||||
(inputs (list sqlite-next zlib))
|
||||
(home-page "https://fossil.wanderinghorse.net/r/libfossil")
|
||||
(synopsis "Unofficial Fossil SCM Library API")
|
||||
(description
|
||||
"@code{libfossil} is an alternative interface into Fossil repositories,
|
||||
as opposed to a replacement for the core fossil application,
|
||||
intended for new ways to access and manipulate fossil repositories.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public fnc
|
||||
(let ((check-in
|
||||
"c158d7ac2175078b4b783157be92de38aa627dc1a237febab9ec92093420cedb")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libfossil")
|
||||
(version (fossil-version "0.6.0" revision ci))
|
||||
(name "fnc")
|
||||
(version (fossil-version "0.19" revision check-in))
|
||||
(source
|
||||
(origin
|
||||
(method fossil-fetch)
|
||||
(uri (fossil-reference
|
||||
(uri "https://fossil.wanderinghorse.net/r/libfossil")
|
||||
(check-in ci)))
|
||||
(uri "https://fnc.sh")
|
||||
(check-in check-in)))
|
||||
(file-name (fossil-file-name name version))
|
||||
(sha256
|
||||
(base32 "0a0ycnnba2izmiqjj8hgvjgjdwhpn0x36lhy3vmw4j7bhny0df52"))
|
||||
(patches (search-patches "libfossil-skip-amalgamation.patch"))
|
||||
(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 "autosetup" "proj.tcl" "wh-common.tcl")
|
||||
(delete-file-recursively "extsrc")
|
||||
;; Re-create Fossil check-out manifests,
|
||||
;; whose content does not affect in semantics.
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(call-with-output-file file (const #t)))
|
||||
'("manifest" "manifest.uuid"))))))
|
||||
(base32 "09m0bgzy0yjglsgrqq03sdq4p2rwi3y8m84979j066z1c5b444iz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin
|
||||
(delete-file-recursively "lib")
|
||||
(substitute* (find-files "." "\\.c$")
|
||||
(("^#include \"libfossil.h\"")
|
||||
"#include <fossil-scm/libfossil.h>"))
|
||||
(substitute* "fnc.bld.mk"
|
||||
((" \\$\\{SQLITE_OBJS\\} \\$\\{FOSSIL_OBJS\\}") "")
|
||||
(("-lm -lutil -lz ") "")
|
||||
;; Fix cross-compiling.
|
||||
(("install -s") "install"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "--no-debug" "--no-fnc" ;TODO: C++ and Tcl binding?
|
||||
(string-append "--with-sqlite="
|
||||
#$(this-package-input "sqlite"))
|
||||
(string-append "--soname=libfossil.so"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
(apply invoke "autosetup"
|
||||
(string-append "--prefix=" #$output)
|
||||
configure-flags)))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(substitute* "sanity-checks.sh"
|
||||
;; FIXME: these tests requires a Fossil checkout.
|
||||
(("\\./f-sanity.*") "")
|
||||
(("\\./f-parseparty.*") ""))
|
||||
(setenv "LD_LIBRARY_PATH" (getcwd))
|
||||
(invoke "./sanity-checks.sh")))))))
|
||||
(native-inputs (list autosetup))
|
||||
(inputs (list sqlite-next zlib))
|
||||
(home-page "https://fossil.wanderinghorse.net/r/libfossil")
|
||||
(synopsis "Unofficial Fossil SCM Library API")
|
||||
(description
|
||||
"@code{libfossil} is an alternative interface into Fossil repositories,
|
||||
as opposed to a replacement for the core fossil application,
|
||||
intended for new ways to access and manipulate fossil repositories.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public fnc
|
||||
(package
|
||||
(name "fnc")
|
||||
(version "0.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://fnc.bsdbox.org/uv/dl/fnc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1067rr4nqngld1nqa8c7imp9n3w5fp7rpc7khh6l84q2w1klrya9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
;; fix cross-compiling.
|
||||
(add-after 'unpack 'don-t-use-install-s
|
||||
(lambda _
|
||||
(substitute* "fnc.bld.mk"
|
||||
(("install -s")
|
||||
"install")))))
|
||||
#:tests? #f ; no tests
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))))
|
||||
(inputs (list ncurses zlib sqlite-next))
|
||||
(home-page "https://fnc.bsdbox.org")
|
||||
(synopsis "Interactive text-based user interface for Fossil")
|
||||
(description "fnc uses ncurses and libfossil to create a fossil user
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||||
"LDFLAGS=-lfossil -lsqlite3"
|
||||
(string-append "PREFIX=" #$output))))
|
||||
(inputs (list libfossil ncurses sqlite-next))
|
||||
(home-page "https://fnc.sh")
|
||||
(synopsis "Interactive text-based user interface for Fossil")
|
||||
(description "fnc uses ncurses and libfossil to create a fossil user
|
||||
interface in the terminal. It can view local changes at the hunk level to
|
||||
prepare atomic commits.")
|
||||
(license license:isc)))
|
||||
(license license:isc))))
|
||||
|
||||
(define-public myrepos
|
||||
(package
|
||||
|
||||
@@ -232,39 +232,39 @@ with the editor vim.")))
|
||||
(inherit vim)
|
||||
(name "vim-full")
|
||||
(arguments
|
||||
(cons*
|
||||
#:configure-flags
|
||||
#~(list (string-append "--with-lua-prefix="
|
||||
#$(this-package-input "lua"))
|
||||
"--with-features=huge"
|
||||
"--enable-python3interp=yes"
|
||||
"--enable-perlinterp=yes"
|
||||
"--enable-rubyinterp=yes"
|
||||
"--enable-tclinterp=yes"
|
||||
"--enable-luainterp=yes"
|
||||
"--enable-cscope"
|
||||
"--enable-sniff"
|
||||
"--enable-multibyte"
|
||||
"--enable-xim"
|
||||
"--disable-selinux"
|
||||
"--enable-gui")
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'check 'skip-some-more-tests
|
||||
(lambda _
|
||||
;; Fontconfig can't figure out its cache directory.
|
||||
(substitute* "src/testdir/test_startup.vim"
|
||||
((".*Test_progname.*" line)
|
||||
(string-append line "return\n")))))
|
||||
;; Some tests require an X server, but do not start one.
|
||||
(add-before 'check 'start-xserver
|
||||
(lambda _
|
||||
(setenv "DISPLAY" ":1")
|
||||
(zero? (system #$(file-append
|
||||
(this-package-native-input
|
||||
"xorg-server")
|
||||
"/bin/Xvfb :1 &"))))))))))
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons* (string-append "--with-lua-prefix="
|
||||
#$(this-package-input "lua"))
|
||||
"--with-features=huge"
|
||||
"--enable-python3interp=yes"
|
||||
"--enable-perlinterp=yes"
|
||||
"--enable-rubyinterp=yes"
|
||||
"--enable-tclinterp=yes"
|
||||
"--enable-luainterp=yes"
|
||||
"--enable-cscope"
|
||||
"--enable-sniff"
|
||||
"--enable-multibyte"
|
||||
"--enable-xim"
|
||||
"--disable-selinux"
|
||||
"--enable-gui"
|
||||
#$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'check 'skip-some-more-tests
|
||||
(lambda _
|
||||
;; Fontconfig can't figure out its cache directory.
|
||||
(substitute* "src/testdir/test_startup.vim"
|
||||
((".*Test_progname.*" line)
|
||||
(string-append line "return\n")))))
|
||||
;; Some tests require an X server, but do not start one.
|
||||
(add-before 'check 'start-xserver
|
||||
(lambda _
|
||||
(setenv "DISPLAY" ":1")
|
||||
(zero? (system #$(file-append
|
||||
(this-package-native-input
|
||||
"xorg-server")
|
||||
"/bin/Xvfb :1 &")))))))))
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(prepend pkg-config xorg-server-for-tests)))
|
||||
|
||||
@@ -3749,6 +3749,31 @@ productive, customizable lisp based systems.")
|
||||
control module for StumpWM.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public sbcl-stumpwm-acpi-backlight
|
||||
(package
|
||||
(name "sbcl-stumpwm-acpi-backlight")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Junker/stumpwm-acpi-backlight")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dih6fzy77f3r60fwhsk0dw3qksadzj991k1i28z0da64fpshm0a"))))
|
||||
(arguments
|
||||
(list
|
||||
#:asd-systems ''("acpi-backlight")
|
||||
#:tests? #f)) ; There are no tests.
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list stumpwm))
|
||||
(home-page "https://github.com/Junker/stumpwm-acpi-backlight")
|
||||
(synopsis "ACPI backlight control module for StumpWM")
|
||||
(description
|
||||
"ACPI backlight control module for StumpWM.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public sbcl-stumpwm-binwarp
|
||||
(package
|
||||
(inherit stumpwm-contrib)
|
||||
@@ -3766,6 +3791,40 @@ control module for StumpWM.")
|
||||
mouse control mode for StumpWM.")
|
||||
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
|
||||
|
||||
(define-public sbcl-stumpwm-bluetooth
|
||||
(package
|
||||
(name "sbcl-stumpwm-bluetooth")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Junker/stumpwm-bluetooth")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08a028r83kd66a3smiyzi9hadk3w89qdhha7hsd9ffh3gdk5s99a"))))
|
||||
(arguments
|
||||
(list
|
||||
#:asd-systems ''("bluetooth")
|
||||
#:tests? #f ; There are no tests.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-bin-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "bluetooth.lisp"
|
||||
(("/usr/bin/bluetoothctl")
|
||||
(search-input-file inputs "bin/bluetoothctl"))))))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list stumpwm
|
||||
bluez
|
||||
sbcl-bordeaux-threads))
|
||||
(home-page "https://github.com/Junker/stumpwm-bluetooth")
|
||||
(synopsis "StumpWM module for controlling Bluetooth devices")
|
||||
(description
|
||||
"StumpWM module for controlling Bluetooth devices via bluetoothctl.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public sbcl-stumpwm-stump-nm
|
||||
(package
|
||||
(inherit stumpwm-contrib)
|
||||
@@ -3792,7 +3851,7 @@ not a replacement for nmtui and/or nmcli.")
|
||||
(define-public sbcl-stumpwm-tomato
|
||||
(package
|
||||
(name "sbcl-stumpwm-tomato")
|
||||
(version "0.1.0")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3801,7 +3860,7 @@ not a replacement for nmtui and/or nmcli.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qq11spvhrcq74gh0dw0p4859ai2mqzbxa45gjbf599kmcybp1pa"))))
|
||||
(base32 "0r00f8qi5kzf1sxx19fxr2lvc32bw3xlz75qrnxl5vgwsl8qafr5"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list stumpwm))
|
||||
(arguments
|
||||
@@ -4079,6 +4138,41 @@ layouts in StumpWM.")
|
||||
one in Emacs.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sbcl-stumpwm-wpctl
|
||||
(package
|
||||
(name "sbcl-stumpwm-wpctl")
|
||||
(version "0.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Junker/stumpwm-wpctl")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c3i5z1cmhd96xnlsb40ykgk60cyignl1m4f61i9k9vq05n83pdj"))))
|
||||
(arguments
|
||||
(list #:asd-systems ''("wpctl")
|
||||
#:tests? #f ; There are no tests.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-wpctl-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "wpctl.lisp"
|
||||
(("/usr/bin/wpctl")
|
||||
(search-input-file inputs "bin/wpctl"))))))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list stumpwm
|
||||
wireplumber-minimal
|
||||
sbcl-parse-float
|
||||
sbcl-bordeaux-threads))
|
||||
(home-page "https://github.com/Junker/stumpwm-wpctl")
|
||||
(synopsis "StumpWM PipeWire module")
|
||||
(description
|
||||
"PipeWire (WirePlumber) volume and microphone control module for StumpWM.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public sbcl-stumpwm-screenshot
|
||||
(package
|
||||
(inherit stumpwm-contrib)
|
||||
|
||||
Reference in New Issue
Block a user