diff options
| author | jgart <jgart@dismail.de> | 2026-08-07 17:21:12 +0100 |
|---|---|---|
| committer | jgart <jgart@dismail.de> | 2026-08-11 09:26:15 +0100 |
| commit | ec55b79582ca16e6881b226597832c3ddfac3918 (patch) | |
| tree | 29943f7d30b7b15643c86aac36fe7cc2b979a794 | |
| parent | 71f625d78ec78c7204da7c39b98f9639d8ae4954 (diff) | |
gnu: Add hurl.
* gnu/packages/web.scm (hurl): New variable.
Change-Id: I9e5121a902567671487a9dd78eccd05798f65363
| -rw-r--r-- | gnu/packages/rust-apps.scm | 2 | ||||
| -rw-r--r-- | gnu/packages/rust-crates.scm | 181 | ||||
| -rw-r--r-- | gnu/packages/web.scm | 124 |
3 files changed, 305 insertions, 2 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0a9aefcba2b..6ae020731dd 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> | 14 | ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> |
| 15 | ;;; Copyright © 2021, 2023-2025 Maxim Cournoyer <maxim@guixotic.coop> | 15 | ;;; Copyright © 2021, 2023-2025 Maxim Cournoyer <maxim@guixotic.coop> |
| 16 | ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> | 16 | ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> |
| 17 | ;;; Copyright © 2021 jgart <jgart@dismail.de> | 17 | ;;; Copyright © 2021, 2026 jgart <jgart@dismail.de> |
| 18 | ;;; Copyright © 2021 Nicolas Graves <ngraves@ngraves.fr> | 18 | ;;; Copyright © 2021 Nicolas Graves <ngraves@ngraves.fr> |
| 19 | ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> | 19 | ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> |
| 20 | ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> | 20 | ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> |
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm index 8db5e208e04..b9c91f23f80 100644 --- a/gnu/packages/rust-crates.scm +++ b/gnu/packages/rust-crates.scm | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space> | 2 | ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space> |
| 3 | ;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh> | 3 | ;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh> |
| 4 | ;;; Copyright © 2026 Tomás Ortín Fernández (quanrong) <quanrong@mailbox.org> | 4 | ;;; Copyright © 2026 Tomás Ortín Fernández (quanrong) <quanrong@mailbox.org> |
| 5 | ;;; Copyright © 2026 jgart <jgart@dismail.de> | ||
| 5 | ;;; | 6 | ;;; |
| 6 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 7 | ;;; | 8 | ;;; |
| @@ -327,6 +328,10 @@ | |||
| 327 | (crate-source "alloc-stdlib" "0.2.2" | 328 | (crate-source "alloc-stdlib" "0.2.2" |
| 328 | "1kkfbld20ab4165p29v172h8g0wvq8i06z8vnng14whw0isq5ywl")) | 329 | "1kkfbld20ab4165p29v172h8g0wvq8i06z8vnng14whw0isq5ywl")) |
| 329 | 330 | ||
| 331 | (define rust-alloc-stdlib-0.2.4 | ||
| 332 | (crate-source "alloc-stdlib" "0.2.4" | ||
| 333 | "159iyap790nflvdhl1gbkxp9l5w4x7qp5ybg01wx490jx4cs0xhf")) | ||
| 334 | |||
| 330 | (define rust-alloca-0.4.0 | 335 | (define rust-alloca-0.4.0 |
| 331 | (crate-source "alloca" "0.4.0" | 336 | (crate-source "alloca" "0.4.0" |
| 332 | "1x6p4387rz6j7h342kp3b7bgvqzyl9mibf959pkfk9xflrgd19z5")) | 337 | "1x6p4387rz6j7h342kp3b7bgvqzyl9mibf959pkfk9xflrgd19z5")) |
| @@ -2946,6 +2951,10 @@ fn main() { | |||
| 2946 | (crate-source "brotli" "8.0.2" | 2951 | (crate-source "brotli" "8.0.2" |
| 2947 | "0q25r00z3gm5wzvv4vfxvlx5zjb8i4jwyznrvdcp7abs7ihbkn2b")) | 2952 | "0q25r00z3gm5wzvv4vfxvlx5zjb8i4jwyznrvdcp7abs7ihbkn2b")) |
| 2948 | 2953 | ||
| 2954 | (define rust-brotli-8.0.4 | ||
| 2955 | (crate-source "brotli" "8.0.4" | ||
| 2956 | "1cv6f4hdivllg34slvbwy645p1zidbxwpp1vh8jiwyha0sn1mjaw")) | ||
| 2957 | |||
| 2949 | (define rust-brotli-decompressor-4.0.2 | 2958 | (define rust-brotli-decompressor-4.0.2 |
| 2950 | (crate-source "brotli-decompressor" "4.0.2" | 2959 | (crate-source "brotli-decompressor" "4.0.2" |
| 2951 | "0dqb0vbhrc77c09qf6qmbylgkfnbjaq8629qp0z42gc0gnnhbykl")) | 2960 | "0dqb0vbhrc77c09qf6qmbylgkfnbjaq8629qp0z42gc0gnnhbykl")) |
| @@ -2962,6 +2971,10 @@ fn main() { | |||
| 2962 | (crate-source "brotli-decompressor" "5.0.1" | 2971 | (crate-source "brotli-decompressor" "5.0.1" |
| 2963 | "0929p5smsq5v0jy509gn746y3v1yjjwnk49xg5g1pklj3cz54qjr")) | 2972 | "0929p5smsq5v0jy509gn746y3v1yjjwnk49xg5g1pklj3cz54qjr")) |
| 2964 | 2973 | ||
| 2974 | (define rust-brotli-decompressor-5.0.3 | ||
| 2975 | (crate-source "brotli-decompressor" "5.0.3" | ||
| 2976 | "10rm4pyqnznh192nzsjl4dh6bjgzglsadcl676y6f6gy2nnaqcis")) | ||
| 2977 | |||
| 2965 | (define rust-browserslist-rs-0.6.0 | 2978 | (define rust-browserslist-rs-0.6.0 |
| 2966 | (crate-source "browserslist-rs" "0.6.0" | 2979 | (crate-source "browserslist-rs" "0.6.0" |
| 2967 | "19l0prgnbx0cyqvjsf30ni7d87nkn8j0fj56fg259yvfh50if1ri")) | 2980 | "19l0prgnbx0cyqvjsf30ni7d87nkn8j0fj56fg259yvfh50if1ri")) |
| @@ -6817,6 +6830,10 @@ fn main() { | |||
| 6817 | (crate-source "curl" "0.4.49" | 6830 | (crate-source "curl" "0.4.49" |
| 6818 | "1g7dcrh4mwkn2q0iiga7vc8i68pd5jdby5aparpa6yxqs1nkpz3r")) | 6831 | "1g7dcrh4mwkn2q0iiga7vc8i68pd5jdby5aparpa6yxqs1nkpz3r")) |
| 6819 | 6832 | ||
| 6833 | (define rust-curl-0.4.50 | ||
| 6834 | (crate-source "curl" "0.4.50" | ||
| 6835 | "02avq75lp8b8yz4kbhfxf6vzyqvjpwh1rz0cqss7qc75jj4ywi9s")) | ||
| 6836 | |||
| 6820 | (define rust-curl-sys-0.4.85+curl-8.18.0 | 6837 | (define rust-curl-sys-0.4.85+curl-8.18.0 |
| 6821 | (crate-source "curl-sys" "0.4.85+curl-8.18.0" | 6838 | (crate-source "curl-sys" "0.4.85+curl-8.18.0" |
| 6822 | "1nrzryl8hw1br69bagr774wrv2w8yim9x8zasgv0bk2y5caadvy0" | 6839 | "1nrzryl8hw1br69bagr774wrv2w8yim9x8zasgv0bk2y5caadvy0" |
| @@ -6832,6 +6849,11 @@ fn main() { | |||
| 6832 | "1l06557wwna8wvk62amn01zj7dqr3kd1s6j99vzmw9a7cpg1cj34" | 6849 | "1l06557wwna8wvk62amn01zj7dqr3kd1s6j99vzmw9a7cpg1cj34" |
| 6833 | #:snippet '(delete-file-recursively "curl"))) | 6850 | #:snippet '(delete-file-recursively "curl"))) |
| 6834 | 6851 | ||
| 6852 | (define rust-curl-sys-0.4.89+curl-8.20.0 | ||
| 6853 | (crate-source "curl-sys" "0.4.89+curl-8.20.0" | ||
| 6854 | "08msv70y78amibg81nxxj2ljw8avnhx9g1bljb8g4f2l51whfs3d" | ||
| 6855 | #:snippet '(delete-file-recursively "curl"))) | ||
| 6856 | |||
| 6835 | (define rust-current-platform-0.2.0 | 6857 | (define rust-current-platform-0.2.0 |
| 6836 | (crate-source "current_platform" "0.2.0" | 6858 | (crate-source "current_platform" "0.2.0" |
| 6837 | "1g504i1l733bn1hyzzfvwmc8qq84dxxpscs9rcb21cj4zsy5hj57")) | 6859 | "1g504i1l733bn1hyzzfvwmc8qq84dxxpscs9rcb21cj4zsy5hj57")) |
| @@ -17852,6 +17874,10 @@ fn main() { | |||
| 17852 | (define rust-libwebrtc-0.3.10.5f04705 | 17874 | (define rust-libwebrtc-0.3.10.5f04705 |
| 17853 | package:rust-livekit-0.7.8.5f04705) | 17875 | package:rust-livekit-0.7.8.5f04705) |
| 17854 | 17876 | ||
| 17877 | (define rust-libxml-0.3.13 | ||
| 17878 | (crate-source "libxml" "0.3.13" | ||
| 17879 | "0qy14rlp4v210x815aaqd7fl2905aaj23slk9dwsjbwhbd47s2l6")) | ||
| 17880 | |||
| 17855 | (define rust-libyml-0.0.5 | 17881 | (define rust-libyml-0.0.5 |
| 17856 | (crate-source "libyml" "0.0.5" | 17882 | (crate-source "libyml" "0.0.5" |
| 17857 | "106963pwg1gc3165bdlk8bbspmk919gk10vshhqglks3z8m700ik")) | 17883 | "106963pwg1gc3165bdlk8bbspmk919gk10vshhqglks3z8m700ik")) |
| @@ -60235,6 +60261,161 @@ fn main() { | |||
| 60235 | rust-zerofrom-derive-0.1.6 | 60261 | rust-zerofrom-derive-0.1.6 |
| 60236 | rust-zerovec-0.10.4 | 60262 | rust-zerovec-0.10.4 |
| 60237 | rust-zerovec-derive-0.10.3)) | 60263 | rust-zerovec-derive-0.10.3)) |
| 60264 | (hurl => | ||
| 60265 | (list rust-adler32-1.2.0 | ||
| 60266 | rust-aho-corasick-1.1.4 | ||
| 60267 | rust-alloc-no-stdlib-2.0.4 | ||
| 60268 | rust-alloc-stdlib-0.2.4 | ||
| 60269 | rust-allocator-api2-0.2.21 | ||
| 60270 | rust-android-system-properties-0.1.5 | ||
| 60271 | rust-anstream-1.0.0 | ||
| 60272 | rust-anstyle-1.0.14 | ||
| 60273 | rust-anstyle-parse-1.0.0 | ||
| 60274 | rust-anstyle-query-1.1.5 | ||
| 60275 | rust-anstyle-wincon-3.0.11 | ||
| 60276 | rust-autocfg-1.5.1 | ||
| 60277 | rust-base64-0.22.1 | ||
| 60278 | rust-bindgen-0.72.1 | ||
| 60279 | rust-bitflags-2.13.0 | ||
| 60280 | rust-block-buffer-0.12.1 | ||
| 60281 | rust-brotli-8.0.4 | ||
| 60282 | rust-brotli-decompressor-5.0.3 | ||
| 60283 | rust-bstr-1.12.1 | ||
| 60284 | rust-bumpalo-3.20.3 | ||
| 60285 | rust-cc-1.2.65 | ||
| 60286 | rust-cexpr-0.6.0 | ||
| 60287 | rust-cfg-if-1.0.4 | ||
| 60288 | rust-chacha20-0.10.0 | ||
| 60289 | rust-chrono-0.4.45 | ||
| 60290 | rust-clang-sys-1.8.1 | ||
| 60291 | rust-clap-4.6.1 | ||
| 60292 | rust-clap-builder-4.6.0 | ||
| 60293 | rust-clap-lex-1.1.0 | ||
| 60294 | rust-colorchoice-1.0.5 | ||
| 60295 | rust-colored-3.1.1 | ||
| 60296 | rust-const-oid-0.10.2 | ||
| 60297 | rust-core-foundation-sys-0.8.7 | ||
| 60298 | rust-cpufeatures-0.3.0 | ||
| 60299 | rust-crc32fast-1.5.0 | ||
| 60300 | rust-crypto-common-0.2.2 | ||
| 60301 | rust-curl-0.4.50 | ||
| 60302 | rust-curl-sys-0.4.89+curl-8.20.0 | ||
| 60303 | rust-dary-heap-0.3.9 | ||
| 60304 | rust-digest-0.11.3 | ||
| 60305 | rust-displaydoc-0.2.6 | ||
| 60306 | rust-either-1.16.0 | ||
| 60307 | rust-encoding-rs-0.8.35 | ||
| 60308 | rust-equivalent-1.0.2 | ||
| 60309 | rust-errno-0.3.14 | ||
| 60310 | rust-find-msvc-tools-0.1.9 | ||
| 60311 | rust-foldhash-0.2.0 | ||
| 60312 | rust-form-urlencoded-1.2.2 | ||
| 60313 | rust-futures-core-0.3.32 | ||
| 60314 | rust-futures-task-0.3.32 | ||
| 60315 | rust-futures-util-0.3.32 | ||
| 60316 | rust-getrandom-0.4.3 | ||
| 60317 | rust-glob-0.3.3 | ||
| 60318 | rust-hashbrown-0.16.1 | ||
| 60319 | rust-hybrid-array-0.4.12 | ||
| 60320 | rust-iana-time-zone-0.1.65 | ||
| 60321 | rust-iana-time-zone-haiku-0.1.2 | ||
| 60322 | rust-icu-collections-2.2.0 | ||
| 60323 | rust-icu-locale-core-2.2.0 | ||
| 60324 | rust-icu-normalizer-2.2.0 | ||
| 60325 | rust-icu-normalizer-data-2.2.0 | ||
| 60326 | rust-icu-properties-2.2.0 | ||
| 60327 | rust-icu-properties-data-2.2.0 | ||
| 60328 | rust-icu-provider-2.2.0 | ||
| 60329 | rust-idna-1.1.0 | ||
| 60330 | rust-idna-adapter-1.2.2 | ||
| 60331 | rust-is-terminal-polyfill-1.70.2 | ||
| 60332 | rust-itertools-0.13.0 | ||
| 60333 | rust-itoa-1.0.18 | ||
| 60334 | rust-js-sys-0.3.102 | ||
| 60335 | rust-libc-0.2.186 | ||
| 60336 | rust-libflate-2.3.0 | ||
| 60337 | rust-libflate-lz77-2.3.0 | ||
| 60338 | rust-libloading-0.8.9 | ||
| 60339 | rust-libxml-0.3.13 | ||
| 60340 | rust-libz-sys-1.1.29 | ||
| 60341 | rust-linux-raw-sys-0.12.1 | ||
| 60342 | rust-litemap-0.8.2 | ||
| 60343 | rust-log-0.4.33 | ||
| 60344 | rust-md5-0.8.0 | ||
| 60345 | rust-memchr-2.8.2 | ||
| 60346 | rust-minimal-lexical-0.2.1 | ||
| 60347 | rust-no-std-io2-0.9.4 | ||
| 60348 | rust-nom-7.1.3 | ||
| 60349 | rust-num-traits-0.2.19 | ||
| 60350 | rust-once-cell-1.21.4 | ||
| 60351 | rust-once-cell-polyfill-1.70.2 | ||
| 60352 | rust-openssl-probe-0.1.6 | ||
| 60353 | rust-openssl-src-300.6.1+3.6.3 | ||
| 60354 | rust-openssl-sys-0.9.117 | ||
| 60355 | rust-percent-encoding-2.3.2 | ||
| 60356 | rust-pin-project-lite-0.2.17 | ||
| 60357 | rust-pkg-config-0.3.33 | ||
| 60358 | rust-potential-utf-0.1.5 | ||
| 60359 | rust-proc-macro2-1.0.106 | ||
| 60360 | rust-quote-1.0.45 | ||
| 60361 | rust-r-efi-6.0.0 | ||
| 60362 | rust-rand-0.10.1 | ||
| 60363 | rust-rand-core-0.10.1 | ||
| 60364 | rust-regex-1.12.4 | ||
| 60365 | rust-regex-automata-0.4.14 | ||
| 60366 | rust-regex-syntax-0.8.11 | ||
| 60367 | rust-rle-decode-fast-1.0.3 | ||
| 60368 | rust-rustc-hash-2.1.2 | ||
| 60369 | rust-rustix-1.1.4 | ||
| 60370 | rust-rustversion-1.0.22 | ||
| 60371 | rust-schannel-0.1.29 | ||
| 60372 | rust-serde-1.0.228 | ||
| 60373 | rust-serde-core-1.0.228 | ||
| 60374 | rust-serde-derive-1.0.228 | ||
| 60375 | rust-serde-json-1.0.150 | ||
| 60376 | rust-sha2-0.11.0 | ||
| 60377 | rust-shlex-1.3.0 | ||
| 60378 | rust-shlex-2.0.1 | ||
| 60379 | rust-similar-3.1.1 | ||
| 60380 | rust-slab-0.4.12 | ||
| 60381 | rust-smallvec-1.15.2 | ||
| 60382 | rust-socket2-0.6.4 | ||
| 60383 | rust-stable-deref-trait-1.2.1 | ||
| 60384 | rust-strsim-0.11.1 | ||
| 60385 | rust-syn-2.0.118 | ||
| 60386 | rust-synstructure-0.13.2 | ||
| 60387 | rust-terminal-size-0.4.4 | ||
| 60388 | rust-tinystr-0.8.3 | ||
| 60389 | rust-toml-0.5.11 | ||
| 60390 | rust-typenum-1.20.1 | ||
| 60391 | rust-unicode-ident-1.0.24 | ||
| 60392 | rust-url-2.5.8 | ||
| 60393 | rust-utf8-iter-1.0.4 | ||
| 60394 | rust-utf8parse-0.2.2 | ||
| 60395 | rust-uuid-1.23.3 | ||
| 60396 | rust-vcpkg-0.2.15 | ||
| 60397 | rust-wasm-bindgen-0.2.125 | ||
| 60398 | rust-wasm-bindgen-macro-0.2.125 | ||
| 60399 | rust-wasm-bindgen-macro-support-0.2.125 | ||
| 60400 | rust-wasm-bindgen-shared-0.2.125 | ||
| 60401 | rust-windows-core-0.62.2 | ||
| 60402 | rust-windows-implement-0.60.2 | ||
| 60403 | rust-windows-interface-0.59.3 | ||
| 60404 | rust-windows-link-0.2.1 | ||
| 60405 | rust-windows-result-0.4.1 | ||
| 60406 | rust-windows-strings-0.5.1 | ||
| 60407 | rust-windows-sys-0.61.2 | ||
| 60408 | rust-winres-0.1.12 | ||
| 60409 | rust-writeable-0.6.3 | ||
| 60410 | rust-xml-1.3.0 | ||
| 60411 | rust-yoke-0.8.3 | ||
| 60412 | rust-yoke-derive-0.8.2 | ||
| 60413 | rust-zerofrom-0.1.8 | ||
| 60414 | rust-zerofrom-derive-0.1.7 | ||
| 60415 | rust-zerotrie-0.2.4 | ||
| 60416 | rust-zerovec-0.11.6 | ||
| 60417 | rust-zerovec-derive-0.11.3 | ||
| 60418 | rust-zmij-1.0.21)) | ||
| 60238 | (hurrycurry => | 60419 | (hurrycurry => |
| 60239 | (list rust-adler2-2.0.1 | 60420 | (list rust-adler2-2.0.1 |
| 60240 | rust-aho-corasick-1.1.4 | 60421 | rust-aho-corasick-1.1.4 |
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index edf0a336428..4df6a44bf06 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm | |||
| @@ -58,7 +58,7 @@ | |||
| 58 | ;;; Copyright © 2022 cage <cage-dev@twistfold.it> | 58 | ;;; Copyright © 2022 cage <cage-dev@twistfold.it> |
| 59 | ;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev> | 59 | ;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev> |
| 60 | ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> | 60 | ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> |
| 61 | ;;; Copyright © 2022 jgart <jgart@dismail.de> | 61 | ;;; Copyright © 2022, 2026 jgart <jgart@dismail.de> |
| 62 | ;;; Copyright © 2023 Paul A. Patience <paul@apatience.com> | 62 | ;;; Copyright © 2023 Paul A. Patience <paul@apatience.com> |
| 63 | ;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu> | 63 | ;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu> |
| 64 | ;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu> | 64 | ;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu> |
| @@ -9989,6 +9989,128 @@ concurrency, and return status.") | |||
| 9989 | ;; GPLv3+ with OpenSSL linking exception. | 9989 | ;; GPLv3+ with OpenSSL linking exception. |
| 9990 | (license license:gpl3+))) | 9990 | (license license:gpl3+))) |
| 9991 | 9991 | ||
| 9992 | (define-public hurl | ||
| 9993 | (package | ||
| 9994 | (name "hurl") | ||
| 9995 | (version "8.0.1") | ||
| 9996 | (source | ||
| 9997 | (origin | ||
| 9998 | ;; The crates.io tarball does not include the hurlfmt crate. | ||
| 9999 | (method git-fetch) | ||
| 10000 | (uri (git-reference | ||
| 10001 | (url "https://github.com/Orange-OpenSource/hurl") | ||
| 10002 | (commit version))) | ||
| 10003 | (file-name (git-file-name name version)) | ||
| 10004 | (sha256 | ||
| 10005 | (base32 "0wsw9khfznc638qzp8zx2zwgnrg5d160ky5gnslwm9frz3p5hp0d")))) | ||
| 10006 | (build-system cargo-build-system) | ||
| 10007 | (arguments | ||
| 10008 | (list | ||
| 10009 | #:install-source? #f | ||
| 10010 | #:cargo-install-paths ''("packages/hurl" "packages/hurlfmt") | ||
| 10011 | #:cargo-test-flags | ||
| 10012 | '(list | ||
| 10013 | ;; Excluding doctests since rust-1.93 does not support them. | ||
| 10014 | "--lib" "--bins" "--tests") | ||
| 10015 | #:phases | ||
| 10016 | #~(modify-phases %standard-phases | ||
| 10017 | (add-after 'unpack 'relax-rust-version | ||
| 10018 | (lambda _ | ||
| 10019 | ;; Upstream requires the latest stable Rust. | ||
| 10020 | (substitute* '("packages/hurl/Cargo.toml" | ||
| 10021 | "packages/hurlfmt/Cargo.toml") | ||
| 10022 | (("rust-version = \"1.95.0\"") | ||
| 10023 | "rust-version = \"1.93.0\"")))) | ||
| 10024 | (add-before 'check 'start-test-server | ||
| 10025 | (lambda _ | ||
| 10026 | ;; The integration tests expect a Flask test server | ||
| 10027 | ;; listening on port 8000. | ||
| 10028 | (with-directory-excursion "integration/hurl" | ||
| 10029 | (mkdir-p "build") | ||
| 10030 | (spawn "python3" | ||
| 10031 | '("python3" "server.py" | ||
| 10032 | "--host" "127.0.0.1" "--port" "8000"))) | ||
| 10033 | ;; Wait for the server to come up. | ||
| 10034 | (let loop ((attempts 30)) | ||
| 10035 | (unless (false-if-exception | ||
| 10036 | (let ((s (socket PF_INET SOCK_STREAM 0))) | ||
| 10037 | (connect s AF_INET | ||
| 10038 | (inet-pton AF_INET "127.0.0.1") 8000) | ||
| 10039 | (close-port s))) | ||
| 10040 | (when (zero? attempts) | ||
| 10041 | (error "test server did not start")) | ||
| 10042 | (sleep 1) | ||
| 10043 | (loop (1- attempts)))))) | ||
| 10044 | (add-before 'install 'generate-man-pages | ||
| 10045 | (lambda _ | ||
| 10046 | ;; Build the man pages from their Markdown sources. | ||
| 10047 | (for-each (lambda (name) | ||
| 10048 | (with-output-to-file (string-append | ||
| 10049 | "docs/manual/" name ".1") | ||
| 10050 | (lambda () | ||
| 10051 | (invoke "python3" "bin/docs/build_man.py" | ||
| 10052 | (string-append | ||
| 10053 | "docs/manual/" name ".md"))))) | ||
| 10054 | '("hurl" "hurlfmt")))) | ||
| 10055 | (add-before 'install 'generate-completions | ||
| 10056 | (lambda _ | ||
| 10057 | ;; Generate the shell completions from the option spec | ||
| 10058 | ;; files, using upstream's script. This runs only the | ||
| 10059 | ;; completion part of generate_all.py, since the other | ||
| 10060 | ;; parts rewrite the source tree. | ||
| 10061 | (setenv "PYTHONPATH" "bin/spec/options") | ||
| 10062 | (invoke "python3" "-c" | ||
| 10063 | "import generate_all as g | ||
| 10064 | for name in ('hurl', 'hurlfmt'): | ||
| 10065 | g.generate_completion_files(name, g.get_option_files('docs/spec/options/' + name))"))) | ||
| 10066 | (add-after 'install 'install-man-pages | ||
| 10067 | (lambda _ | ||
| 10068 | (let ((man1 (string-append #$output "/share/man/man1"))) | ||
| 10069 | (for-each (lambda (page) | ||
| 10070 | (install-file page man1)) | ||
| 10071 | '("docs/manual/hurl.1" "docs/manual/hurlfmt.1"))))) | ||
| 10072 | (add-after 'install 'install-completions | ||
| 10073 | (lambda _ | ||
| 10074 | (let ((bash (string-append #$output | ||
| 10075 | "/share/bash-completion/completions")) | ||
| 10076 | (fish (string-append #$output | ||
| 10077 | "/share/fish/vendor_completions.d")) | ||
| 10078 | (zsh (string-append #$output "/share/zsh/site-functions"))) | ||
| 10079 | (for-each (lambda (name) | ||
| 10080 | ;; Bash completion files must be named after | ||
| 10081 | ;; the command, without the .bash extension. | ||
| 10082 | (mkdir-p bash) | ||
| 10083 | (copy-file (string-append "completions/" | ||
| 10084 | name ".bash") | ||
| 10085 | (string-append bash "/" name)) | ||
| 10086 | (install-file (string-append "completions/" | ||
| 10087 | name ".fish") | ||
| 10088 | fish) | ||
| 10089 | (install-file (string-append "completions/_" | ||
| 10090 | name) | ||
| 10091 | zsh)) | ||
| 10092 | '("hurl" "hurlfmt")))))))) | ||
| 10093 | (native-inputs | ||
| 10094 | (list clang | ||
| 10095 | pkg-config | ||
| 10096 | python | ||
| 10097 | python-flask | ||
| 10098 | python-waitress)) | ||
| 10099 | (inputs | ||
| 10100 | (cons* curl | ||
| 10101 | libxml2 | ||
| 10102 | openssl | ||
| 10103 | zlib | ||
| 10104 | (cargo-inputs 'hurl))) | ||
| 10105 | (home-page "https://hurl.dev") | ||
| 10106 | (synopsis "Run and test HTTP requests") | ||
| 10107 | (description | ||
| 10108 | "Hurl is a command line tool that runs HTTP requests defined in a plain | ||
| 10109 | text format. It can chain requests, capture values and evaluate queries on | ||
| 10110 | headers and body response. This package also provides @command{hurlfmt}, | ||
| 10111 | a formatter and linter for Hurl files.") | ||
| 10112 | (license license:asl2.0))) | ||
| 10113 | |||
| 9992 | (define-public gmnisrv | 10114 | (define-public gmnisrv |
| 9993 | (package | 10115 | (package |
| 9994 | (name "gmnisrv") | 10116 | (name "gmnisrv") |
