diff mbox series

[bug#65059,v2] gnu: Add csmith.

Message ID 757a92ff2b967614779df2f4c564b96520a2af5a.1694030940.git.olivier.dion@polymtl.ca
State New
Headers show
Series [bug#65059,v2] gnu: Add csmith. | expand

Commit Message

Olivier Dion Sept. 6, 2023, 8:22 p.m. UTC
From: Olivier Dion <odion@efficios.com>

* gnu/packages/linux.scm (csmith): New variable.
---
 gnu/packages/linux.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)


base-commit: 65dcfb3f3865d08467da747041263fd22460d393

Comments

Maxim Cournoyer Sept. 7, 2023, 2:33 a.m. UTC | #1
Hello,

odion@efficios.com writes:

> From: Olivier Dion <odion@efficios.com>
>
> * gnu/packages/linux.scm (csmith): New variable.

Installed as 21e1ba8a, thanks :-).
diff mbox series

Patch

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2a3fd82891..121ea89fb5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -141,6 +141,7 @@  (define-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages lsof)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
@@ -10363,3 +10364,40 @@  (define-public spectre-meltdown-checker
 against the several transient execution CVEs that were published since early
 2018, and gives guidance as to how to mitigate them.")
     (license license:gpl3)))
+
+(define-public csmith
+  (package
+    (name "csmith")
+    (version "2.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/csmith-project/csmith")
+                    (commit (string-append "csmith-" version))))
+              (sha256
+               (base32
+                "0nhrsnv6cny14xz68qb1h30fbwc05adkisk51p3x63mydm60ddl3"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     (list autoconf automake libtool m4 perl))
+    (arguments
+     (list
+      ;; There is no tests.
+      #:tests? #f
+      ;; Do not install headers under include/csmith-VERSION but in
+      ;; include/csmith
+      #:phases
+      `(modify-phases %standard-phases
+         (add-after 'unpack 'patch-includedir
+           (lambda _
+             (substitute* "runtime/Makefile.am"
+               (("\\$\\(includedir\\)/\\$\\(PACKAGE\\)-\\$\\(VERSION\\)")
+                "$(includedir)/$(PACKAGE)"))))
+         (add-before 'bootstrap 'force-bootstrap
+           (lambda _
+             (delete-file "configure"))))))
+    (home-page "https://github.com/csmith-project/csmith")
+    (synopsis "Random generator of C programs")
+    (description "Csmith's primary purpose is to find compiler bugs with
+random programs using differential testing.")
+    (license license:bsd-4)))