summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-04-07 21:19:29 +0800
committerHilton Chain <hako@ultrarare.space>2025-08-21 19:08:27 +0800
commit7fbb6b98ce8abc91c318716e953a6d8c33eb9fb7 (patch)
tree5bebdd09bc716534ce0987d2f7d0e5cef469c158
parent540f89f684f41361dbf8407fb06b79f8ba51384a (diff)
gnu: c2rust: Update to 0.20.0.
* gnu/packages/c2rust.scm (%tinycbor-source)[file-name]: Add file name. * gnu/packages/c2rust.scm (c2rust)[source]: Remove snippet. [inputs]: Use ‘cargo-inputs’. [arguments]: Remove #:cargo-inputs. <#:phases>: In ‘patch’, access %tinycbor-source by origin name and patch CMakeLists.txt of rust-c2rust-ast-exporter. * gnu/packages/rust-crates.scm (lookup-cargo-inputs)[c2rust]: New entry. Change-Id: Ifc17c1de2b514cb9f5d9b0d63a12f0d2d5a890c4
-rw-r--r--gnu/packages/c2rust.scm49
-rw-r--r--gnu/packages/rust-crates.scm232
2 files changed, 253 insertions, 28 deletions
diff --git a/gnu/packages/c2rust.scm b/gnu/packages/c2rust.scm
index e416f71532c..610177df25c 100644
--- a/gnu/packages/c2rust.scm
+++ b/gnu/packages/c2rust.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages c2rust)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (guix utils)
@@ -198,6 +199,7 @@ at build time.")
(uri (git-reference
(url "https://github.com/intel/tinycbor.git")
(commit "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7")))
+ (file-name "tinycbor-src")
(sha256
(base32
"0w38lzj0rz36skc1cn3shllc82c7nn32h88frb8f164a8haq3hkw"))))
@@ -262,46 +264,37 @@ at build time.")
(define-public c2rust
(package
(name "c2rust")
- (version "0.18.0")
+ (version "0.20.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "c2rust" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1rg9cvvmh9zw89mz2bpyvqlwbfhzl5dw2hab9z6d5rasr8mir7nh"))
- (modules '((guix build utils)))
- (snippet
- '(begin (substitute* "Cargo.toml"
- (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
- (string-append "\"^" version)))))))
+ (base32 "05cm423m7v30b6gwgfzizhyqn3ncnfndin5zbkhyg9ah3pqccgps"))))
(build-system cargo-build-system)
(native-inputs
`(("tinycbor-src" ,%tinycbor-source)
("cmake" ,cmake-minimal)
("clang" ,clang)))
- (inputs (list llvm))
+ (inputs (cons llvm (cargo-inputs 'c2rust)))
(arguments
- `(#:install-source? #f
- #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
- ("rust-c2rust-build-paths" ,rust-c2rust-build-paths-0.18)
- ("rust-c2rust-transpile" ,rust-c2rust-transpile-0.18)
- ("rust-clap" ,rust-clap-3)
- ("rust-env-logger" ,rust-env-logger-0.10)
- ("rust-git-testament" ,rust-git-testament-0.2)
- ("rust-is-executable" ,rust-is-executable-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-regex" ,rust-regex-1)
- ("rust-shlex" ,rust-shlex-1)
- ("rust-time-macros" ,rust-time-macros-0.2))
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The build process will slightly patch the sources.
- (copy-recursively (assoc-ref inputs "tinycbor-src")
- "/tmp/tinycbor")
- (setenv "GUIX_TINYCBOR_SOURCE_DIR" "/tmp/tinycbor"))))))
+ (list #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'patch
+ (lambda _
+ ;; The build process will slightly patch the sources.
+ (copy-recursively
+ #+(this-package-native-input "tinycbor-src")
+ "/tmp/tinycbor")
+ (substitute*
+ (string-append "guix-vendor/rust-c2rust-ast-exporter-"
+ #$(package-version this-package)
+ ".tar.gz/src/CMakeLists.txt")
+ (("GIT_TAG .*") "")
+ (("GIT_REPOSITORY .*")
+ "SOURCE_DIR \"/tmp/tinycbor\"\n")))))))
(home-page "https://c2rust.com/")
(synopsis "C to Rust translation, refactoring, and cross-checking")
(description
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 089d4a53cbd..276b44ce3b8 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -570,6 +570,34 @@
println!(\"cargo:rustc-link-lib=bz2\");~@
}~%"))))))
+(define rust-c2rust-ast-builder-0.20.0
+ (crate-source "c2rust-ast-builder" "0.20.0"
+ "1kk7vm9zmsnavslmblcp3pgl4rc9kbsynm6yykvhjfjcd0fgd5vs"))
+
+(define rust-c2rust-ast-exporter-0.20.0
+ (crate-source "c2rust-ast-exporter" "0.20.0"
+ "0np9n0k2fw10l07w23yzi58vv15npqcr01rayf5n4rlmhafm6s48"))
+
+(define rust-c2rust-ast-printer-0.20.0
+ (crate-source "c2rust-ast-printer" "0.20.0"
+ "13n6krmvrrmkrk7sq65iwndbqvxsjri7ipk6hdzc3gv151w6rmv4"))
+
+(define rust-c2rust-bitfields-0.20.0
+ (crate-source "c2rust-bitfields" "0.20.0"
+ "1pqp22mr43m1v3vcjakc8j0q51b66jbnkp5jgvab7l50zwmpvp26"))
+
+(define rust-c2rust-bitfields-derive-0.20.0
+ (crate-source "c2rust-bitfields-derive" "0.20.0"
+ "1y1kad9kim7f4w1khx9g4m585lafx2hizqrl00lcwdsrz9x13qgb"))
+
+(define rust-c2rust-build-paths-0.20.0
+ (crate-source "c2rust-build-paths" "0.20.0"
+ "1y7dljrgrfjn5mgydlqh5f0m1576brc133pjqzw2c19vly1rba16"))
+
+(define rust-c2rust-transpile-0.20.0
+ (crate-source "c2rust-transpile" "0.20.0"
+ "0801i05pmsp8nvw0r4nx8pnircsdsjb9764bc5gv7sh6wmaavdyz"))
+
(define rust-cairo-rs-0.19.4
(crate-source "cairo-rs" "0.19.4"
"0qp5rixgipdj9d8yd5458hzfxam1rgpzcxi90vq6q0v91r6jmb5j"))
@@ -772,6 +800,10 @@
(crate-source "clap_complete_nushell" "4.5.5"
"12miqxh9g7q37w11bgv55b32s0hdf6avf0lhagzc5psp6icv3a66"))
+(define rust-clap-derive-3.2.25
+ (crate-source "clap_derive" "3.2.25"
+ "025hh66cyjk5xhhq8s1qw5wkxvrm8hnv5xwwksax7dy8pnw72qxf"))
+
(define rust-clap-derive-4.5.32
(crate-source "clap_derive" "4.5.32"
"1mqcag8qapb5yhygg2hi153kzmbf7w5hqp3nl3fvl5cn4yp6l5q9"))
@@ -829,6 +861,10 @@
(crate-source "colorchoice" "1.0.3"
"1439m3r3jy3xqck8aa13q658visn71ki76qa93cy55wkmalwlqsv"))
+(define rust-colored-1.9.4
+ (crate-source "colored" "1.9.4"
+ "0mc302pm2x0vpmc3ni35w0666858pmqlqzbipyz42cw2j4f78pss"))
+
(define rust-colored-2.2.0
(crate-source "colored" "2.2.0"
"0g6s7j2qayjd7i3sivmwiawfdg8c8ldy0g2kl4vwk1yk16hjaxqi"))
@@ -1294,6 +1330,14 @@
(crate-source "eyre" "0.6.12"
"1v1a3vb9gs5zkwp4jzkcfnpg0gvyp4ifydzx37f4qy14kzcibnbw"))
+(define rust-failure-0.1.8
+ (crate-source "failure" "0.1.8"
+ "11jg1wmbkijrs6bk9fqnbrm9zf0850whnqpgnxyswbn0dk8rnbnk"))
+
+(define rust-failure-derive-0.1.8
+ (crate-source "failure_derive" "0.1.8"
+ "1936adqqk080439kx2bjf1bds7h89sg6wcif4jw0syndcv3s6kda"))
+
(define rust-fallible-iterator-0.3.0
(crate-source "fallible-iterator" "0.3.0"
"0ja6l56yka5vn4y4pk6hn88z0bpny7a8k1919aqjzp0j1yhy9k1a"))
@@ -2034,10 +2078,18 @@
(crate-source "h2" "0.4.8"
"1hp3lijg1br982kzgglb5ks2ibg68a76z3rl052r8c5vyi7jj5sh"))
+(define rust-half-1.8.3
+ (crate-source "half" "1.8.3"
+ "00q4ki8ycdswapw6xn1q89vr7rzi1c8m99igps0lx1i1gzhyshqv"))
+
(define rust-half-2.5.0
(crate-source "half" "2.5.0"
"1ldv2i761fjqxl4rn033nasjrdnw5ysnc1xalsfkfl5skc9zzckx"))
+(define rust-handlebars-4.5.0
+ (crate-source "handlebars" "4.5.0"
+ "09dj4rk6r9ngy1ki34mppcqq4pcnlhjd02yhnf724qpkkympp9ps"))
+
(define rust-hashbrown-0.12.3
(crate-source "hashbrown" "0.12.3"
"1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"))
@@ -2643,6 +2695,10 @@
(crate-source "log" "0.4.27"
"150x589dqil307rv0rwj0jsgz5bjbwvl83gyl61jf873a7rjvp0k"))
+(define rust-log-reroute-0.1.8
+ (crate-source "log-reroute" "0.1.8"
+ "00mw91qd2ibaawl7x1pxc1kryki0ixyirnlx64qx78d9g6k3n6kl"))
+
(define rust-loom-0.7.2
(crate-source "loom" "0.7.2"
"1jpszf9qxv8ydpsm2h9vcyvxvyxcfkhmmfbylzd4gfbc0k40v7j1"))
@@ -3529,6 +3585,10 @@
"0v8iq35ca4rw3rza5is3wjxwsf88303ivys07anc5yviybi31q9s"
#:snippet '(delete-file-recursively "examples")))
+(define rust-prettyplease-0.1.25
+ (crate-source "prettyplease" "0.1.25"
+ "11lskniv8pf8y8bn4dc3nmjapfhnibxbm5gamp2ad9qna3lld1kc"))
+
(define rust-prettyplease-0.2.32
(crate-source "prettyplease" "0.2.32"
"1xmdmwhsvqc8l5ns029vzjida4k3lp5ynin0xra43qsiki0wakk6"))
@@ -3541,6 +3601,10 @@
(crate-source "primeorder" "0.13.6"
"1rp16710mxksagcjnxqjjq9r9wf5vf72fs8wxffnvhb6i6hiqgim"))
+(define rust-print-bytes-1.2.0
+ (crate-source "print_bytes" "1.2.0"
+ "0a1pc0bs0f3mgy86mazdy81k6iaj8s23ly49mcka4in2pj27lzxl"))
+
(define rust-priority-queue-2.3.1
(crate-source "priority-queue" "2.3.1"
"13ff7y3s9x6m9q0dazdnjz6v0b3j2iyxfjljm9cim6jql5gp027g"))
@@ -4206,10 +4270,23 @@
(crate-source "serde" "1.0.219"
"1dl6nyxnsi82a197sd752128a4avm6mxnscywas1jq30srp2q3jz"))
+(define rust-serde-bencode-0.2.4
+ (crate-source "serde_bencode" "0.2.4"
+ "0gj17p1w5hyi69fngv55dai4nb4fmdij76gqwyb9if9qfixzq3d7"))
+
(define rust-serde-big-array-0.5.1
(crate-source "serde-big-array" "0.5.1"
"0zsb9s9rcca3408kg20c6xpx917c9vbbnap5gvrf0wvdqz17rz0i"))
+(define rust-serde-bytes-0.11.17
+ (crate-source "serde_bytes" "0.11.17"
+ "15kds0mw19lvm8ydd1qbharh5rz96zir06yn2silqbfy3cigsdw4"))
+
+(define rust-serde-cbor-0.11.2
+ (crate-source "serde_cbor" "0.11.2"
+ "1xf1bq7ixha30914pd5jl3yw9v1x6car7xgrpimvfvs5vszjxvrb"
+ #:snippet '(delete-file-recursively "tests")))
+
(define rust-serde-derive-1.0.219
(crate-source "serde_derive" "1.0.219"
"001azhjmj7ya52pmfiw4ppxm16nd44y15j2pf5gkcwrcgz7pc0jv"))
@@ -4461,10 +4538,18 @@
(crate-source "strum" "0.20.0"
"0p5cslmdnz261kiwmm4h7qsmv9bh83r0f9lq6f2z2mxsnl4wa63k"))
+(define rust-strum-0.24.1
+ (crate-source "strum" "0.24.1"
+ "0gz6cjhlps5idwasznklxdh2zsas6mxf99vr0n27j876q12n0gh6"))
+
(define rust-strum-macros-0.20.1
(crate-source "strum_macros" "0.20.1"
"0j9ikvxlqzr667ghc045qkpwprjgcfmzgagln7maw4jigawcd2zf"))
+(define rust-strum-macros-0.24.3
+ (crate-source "strum_macros" "0.24.3"
+ "0naxz2y38kwq5wgirmia64vvf6qhwy8j367rw966n62gsbh5nf0y"))
+
(define rust-strum-macros-0.26.4
(crate-source "strum_macros" "0.26.4"
"1gl1wmq24b8md527cpyd5bw9rkbqldd7k1h38kf5ajd2ln2ywssc"))
@@ -5633,6 +5718,10 @@
"0j24y2zf60lpxwd7kyg737hqfyqx16y32s0fjyi6fax6w4hlnnks"
#:snippet '(delete-file-recursively "scripts")))
+(define rust-yaml-rust-0.4.5
+ (crate-source "yaml-rust" "0.4.5"
+ "118wbqrr4n6wgk5rjjnlrdlahawlxc1bdsx146mwk8f79in97han"))
+
(define rust-yansi-1.0.1
(crate-source "yansi" "1.0.1"
"0jdh55jyv0dpd38ij4qh60zglbw9aa8wafqai6m0wa7xaxk3mrfg"
@@ -5787,6 +5876,149 @@
rust-urid-0.1.0
rust-urid-derive-0.1.1
rust-wmidi-3.1.0))
+ (c2rust =>
+ (list rust-addr2line-0.24.2
+ rust-adler2-2.0.0
+ rust-aho-corasick-1.1.3
+ rust-anyhow-1.0.97
+ rust-arc-swap-1.7.1
+ rust-atty-0.2.14
+ rust-autocfg-1.4.0
+ rust-backtrace-0.3.74
+ rust-bindgen-0.65.1
+ rust-bitflags-1.3.2
+ rust-bitflags-2.9.0
+ rust-block-buffer-0.10.4
+ rust-c2rust-ast-builder-0.20.0
+ rust-c2rust-ast-exporter-0.20.0
+ rust-c2rust-ast-printer-0.20.0
+ rust-c2rust-bitfields-0.20.0
+ rust-c2rust-bitfields-derive-0.20.0
+ rust-c2rust-build-paths-0.20.0
+ rust-c2rust-transpile-0.20.0
+ rust-cc-1.2.18
+ rust-cexpr-0.6.0
+ rust-cfg-if-1.0.0
+ rust-clang-sys-1.8.1
+ rust-clap-3.2.25
+ rust-clap-derive-3.2.25
+ rust-clap-lex-0.2.4
+ rust-cmake-0.1.54
+ rust-colored-1.9.4
+ rust-colored-2.2.0
+ rust-cpufeatures-0.2.17
+ rust-crypto-common-0.1.6
+ rust-digest-0.10.7
+ rust-dtoa-1.0.10
+ rust-either-1.15.0
+ rust-env-logger-0.10.2
+ rust-errno-0.3.11
+ rust-failure-0.1.8
+ rust-failure-derive-0.1.8
+ rust-fern-0.6.2
+ rust-generic-array-0.14.7
+ rust-gimli-0.31.1
+ rust-glob-0.3.2
+ rust-half-1.8.3
+ rust-handlebars-4.5.0
+ rust-hashbrown-0.12.3
+ rust-heck-0.4.1
+ rust-hermit-abi-0.1.19
+ rust-hermit-abi-0.5.0
+ rust-home-0.5.11
+ rust-humantime-2.2.0
+ rust-indexmap-1.9.3
+ rust-is-terminal-0.4.16
+ rust-is-executable-1.0.4
+ rust-itertools-0.10.5
+ rust-itoa-1.0.15
+ rust-lazy-static-1.5.0
+ rust-lazycell-1.3.0
+ rust-libc-0.2.171
+ rust-libloading-0.8.6
+ rust-linked-hash-map-0.5.6
+ rust-linux-raw-sys-0.4.15
+ rust-log-0.4.27
+ rust-log-reroute-0.1.8
+ rust-memchr-2.7.4
+ rust-minimal-lexical-0.2.1
+ rust-miniz-oxide-0.8.7
+ rust-nom-7.1.3
+ rust-object-0.36.7
+ rust-once-cell-1.21.3
+ rust-os-str-bytes-6.6.1
+ rust-pathdiff-0.2.3
+ rust-peeking-take-while-0.1.2
+ rust-pest-2.8.0
+ rust-pest-derive-2.8.0
+ rust-pest-generator-2.8.0
+ rust-pest-meta-2.8.0
+ rust-prettyplease-0.1.25
+ rust-prettyplease-0.2.32
+ rust-print-bytes-1.2.0
+ rust-proc-macro-error-1.0.4
+ rust-proc-macro-error-attr-1.0.4
+ rust-proc-macro2-1.0.94
+ rust-quote-1.0.40
+ rust-regex-1.11.1
+ rust-regex-automata-0.4.9
+ rust-regex-syntax-0.8.5
+ rust-rustc-demangle-0.1.24
+ rust-rustc-hash-1.1.0
+ rust-rustix-0.38.44
+ rust-rustversion-1.0.20
+ rust-ryu-1.0.20
+ rust-serde-1.0.219
+ rust-serde-bencode-0.2.4
+ rust-serde-bytes-0.11.17
+ rust-serde-cbor-0.11.2
+ rust-serde-derive-1.0.219
+ rust-serde-json-1.0.140
+ rust-sha2-0.10.8
+ rust-shlex-1.3.0
+ rust-smallvec-1.15.0
+ rust-strsim-0.10.0
+ rust-strum-0.24.1
+ rust-strum-macros-0.24.3
+ rust-syn-1.0.109
+ rust-syn-2.0.100
+ rust-synstructure-0.12.6
+ rust-termcolor-1.4.1
+ rust-textwrap-0.16.2
+ rust-thiserror-1.0.69
+ rust-thiserror-2.0.12
+ rust-thiserror-impl-1.0.69
+ rust-thiserror-impl-2.0.12
+ rust-typenum-1.18.0
+ rust-ucd-trie-0.1.7
+ rust-unicode-ident-1.0.18
+ rust-unicode-xid-0.2.6
+ rust-version-check-0.9.5
+ rust-which-4.4.2
+ rust-winapi-0.3.9
+ rust-winapi-i686-pc-windows-gnu-0.4.0
+ rust-winapi-util-0.1.9
+ rust-winapi-x86-64-pc-windows-gnu-0.4.0
+ rust-windows-sys-0.48.0
+ rust-windows-sys-0.59.0
+ rust-windows-targets-0.48.5
+ rust-windows-targets-0.52.6
+ rust-windows-aarch64-gnullvm-0.48.5
+ rust-windows-aarch64-gnullvm-0.52.6
+ rust-windows-aarch64-msvc-0.48.5
+ rust-windows-aarch64-msvc-0.52.6
+ rust-windows-i686-gnu-0.48.5
+ rust-windows-i686-gnu-0.52.6
+ rust-windows-i686-gnullvm-0.52.6
+ rust-windows-i686-msvc-0.48.5
+ rust-windows-i686-msvc-0.52.6
+ rust-windows-x86-64-gnu-0.48.5
+ rust-windows-x86-64-gnu-0.52.6
+ rust-windows-x86-64-gnullvm-0.48.5
+ rust-windows-x86-64-gnullvm-0.52.6
+ rust-windows-x86-64-msvc-0.48.5
+ rust-windows-x86-64-msvc-0.52.6
+ rust-yaml-rust-0.4.5))
(cargo-audit =>
(list rust-abscissa-core-0.8.2
rust-abscissa-derive-0.8.2