From 8ac0b82e35509aad84e92d6064809ae342d03cc4 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 29 Sep 2024 10:55:03 +0300 Subject: gnu: Add corrosion. * gnu/packages/cmake.scm (corrosion): New variable. Signed-off-by: Efraim Flashner Change-Id: I0bb56889722128b9946af495fab05d39beaaf65a Signed-off-by: jgart --- gnu/packages/cmake.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 4466c4b91d..8310dc55fa 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2021 Ricardo Wurmus ;;; Copyright © 2024 John Kehayias ;;; Copyright © 2024 dan +;;; Copyright © 2024 Charles ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,7 @@ (define-module (gnu packages cmake) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) + #:use-module (gnu packages rust) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) @@ -440,6 +442,46 @@ (define-public cmake-minimal-cross (search-paths (package-native-search-paths cmake-minimal)))) +(define-public corrosion + (package + (name "corrosion") + (version "0.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/corrosion-rs/corrosion") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1sm1jhdrqzp3f36f7grh900wp7pk9l1zim49hrk87ac6frfmg8xx")))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ctest" "-E" + (string-append + "(" (string-join + (list "cbindgen_rust2cpp" + "rustup_proxy" + "hostbuild" + "parse_target_triple") + "|") + ")")))))))) + (native-inputs + (list rust + `(,rust "cargo"))) + (home-page "https://corrosion-rs.github.io/corrosion/") + (synopsis "Tool for integrating Rust into an existing CMake project") + (description "Corrosion, formerly known as cmake-cargo, is a tool for +integrating Rust into an existing CMake project. Corrosion can automatically +import executables, static libraries, and dynamic libraries from a workspace +or package manifest (Cargo.toml file).") + (license license:expat))) + (define-public emacs-cmake-mode (package (inherit cmake) -- cgit v1.2.3