From d23f0db6f9796e5d1cd463ffa170e4f71c965911 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Fri, 10 Jul 2020 17:34:55 +0300
Subject: gnu: Add rust-cexpr-0.4.

* gnu/packages/crates-io.scm (rust-cexpr-0.4): New variable.
(ruxt-cexpr-0.3): Inherit from rust-cexpr-0.4.
---
 gnu/packages/crates-io.scm | 46 +++++++++++++++++++++++++++++++++++++---------
 1 file changed, 37 insertions(+), 9 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 263e00bb40..e44d198dd3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2780,8 +2780,44 @@ (define-public rust-cc-1.0
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-cexpr-0.4
+  (package
+    (name "rust-cexpr")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cexpr" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "09qd1k1mrhcqfhqmsz4y1bya9gcs29si7y3w96pqkgid4y2dpbpl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-nom" ,rust-nom-5))
+       #:cargo-development-inputs
+       (("rust-clang-sys" ,rust-clang-sys-0.28))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-environmental-variable
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((clang (assoc-ref inputs "libclang")))
+               (setenv "LIBCLANG_PATH"
+                       (string-append clang "/lib")))
+             #t)))))
+    (inputs
+     `(("libclang" ,clang)))
+    (home-page "https://github.com/jethrogb/rust-cexpr")
+    (synopsis "C expression parser and evaluator")
+    (description
+     "This package provides a C expression parser and evaluator.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cexpr-0.3
   (package
+    (inherit rust-cexpr-0.4)
     (name "rust-cexpr")
     (version "0.3.6")
     (source
@@ -2793,7 +2829,6 @@ (define-public rust-cexpr-0.3
        (sha256
         (base32
          "07fdfj4ff2974y33yixrb657riq9zl9b9h9lr0h7ridhhvxvbrgw"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-nom" ,rust-nom-4.2))
@@ -2806,14 +2841,7 @@ (define-public rust-cexpr-0.3
              (let ((clang (assoc-ref inputs "libclang")))
                (setenv "LIBCLANG_PATH"
                        (string-append clang "/lib")))
-             #t)))))
-    (inputs
-     `(("libclang" ,clang)))
-    (home-page "https://github.com/jethrogb/rust-cexpr")
-    (synopsis "C expression parser and evaluator")
-    (description
-     "This package provides a C expression parser and evaluator.")
-    (license (list license:asl2.0 license:expat))))
+             #t)))))))
 
 (define-public rust-cexpr-0.2
   (package
-- 
cgit v1.2.3