From 80e4680eb9732efe8f3f0b915e15b23621282177 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 25 Dec 2024 20:47:11 +0200 Subject: [PATCH] gnu: rust-c2rust-transpile-0.18: Don't skip the build. * gnu/packages/c2rust.scm (rust-c2rust-transpile-0.18)[arguments]: Don't skip the build. Add a phase to prepare the tinycbor source. [native-inputs]: Add clang, cmake-minimal, %tinycbor-source. [inputs]: Add llvm. Change-Id: I97eee53fe2d0b1f6855e256b4a6768634b56f781 --- gnu/packages/c2rust.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gnu/packages/c2rust.scm b/gnu/packages/c2rust.scm index 48711c8b52d..02d0a7cf5c6 100644 --- a/gnu/packages/c2rust.scm +++ b/gnu/packages/c2rust.scm @@ -215,8 +215,7 @@ (base32 "09fvi2id0qjhfvsqcz9222ac81lyl2j6rbq280dhn06y1nvy000c")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-c2rust-ast-builder" ,rust-c2rust-ast-builder-0.18) + `(#:cargo-inputs (("rust-c2rust-ast-builder" ,rust-c2rust-ast-builder-0.18) ("rust-c2rust-ast-exporter" ,rust-c2rust-ast-exporter-0.18) ("rust-c2rust-ast-printer" ,rust-c2rust-ast-printer-0.18) ("rust-c2rust-bitfields" ,rust-c2rust-bitfields-0.18) @@ -241,10 +240,23 @@ ("rust-smallvec" ,rust-smallvec-1) ("rust-strum" ,rust-strum-0.24) ("rust-strum-macros" ,rust-strum-macros-0.24) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-1)) + #: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")))))) + (native-inputs + `(("clang" ,clang) + ("cmake" ,cmake-minimal) + ("tinycbor-src" ,%tinycbor-source))) + (inputs (list llvm)) (home-page "https://c2rust.com/") (synopsis "C2Rust transpiler implementation") - (description "This package provides C2Rust transpiler implementation.") + (description "This package provides the C2Rust transpiler implementation.") (license license:bsd-3))) (define-public c2rust