From 21e1ba8a2ccb10ebff1b18a0d55a7ff0d04360b6 Mon Sep 17 00:00:00 2001 From: Olivier Dion Date: Wed, 6 Sep 2023 16:22:09 -0400 Subject: gnu: Add csmith. * gnu/packages/linux.scm (csmith): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/linux.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2a3fd82891..36354b4d82 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -141,6 +141,7 @@ #: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,39 @@ error detection and correction (EDAC).") 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 + #:tests? #f ;no test suite + ;; 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 "The primary purpose of Csmith is to find compiler bugs with +random programs using differential testing.") + (license license:bsd-4))) -- cgit v1.2.3