Subject: Re: bug#65059: [PATCH] gnu: Add csmith.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 06 Sep 2023 00:54:53 -0400

Hi there!

Olivier Dion <[email-masked]> writes:

> From: Olivier Dion <[email-masked]>
>
> * gnu/packages/linux.scm (csmith): New variable.
> ---
>  gnu/packages/linux.scm | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 3aec03a3ec..84ccf5bb13 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -139,6 +139,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)
> @@ -10418,3 +10419,39 @@ (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

Please keep line width under 80 chars; end with trailing period.

> +      #:phases
> +      `(modify-phases %standard-phases
> +         (add-after 'unpack 'patch-includedir
> +           (lambda _
> +             (substitute* "runtime/Makefile.am"
> +               (("\\$\\(includedir\\)/\\$\\(PACKAGE\\)-\\$\\(VERSION\\)")
> +                "$(includedir)/$(PACKAGE)"))))
> +         (replace 'bootstrap
> +           (lambda _
> +             (invoke "autoreconf" "-vfi"))))))

Insteadof replacing bootstrap you can just (delete-file "configure") to
have it recreated.

> +    (home-page "https://github.com/csmith-project/csmith")
> +    (synopsis "Random generator of C programs")
> +    (description "Csmith primary purpose is to find compiler bugs with random
> +programs using differential testing.")

Csmith's or The primary purpose of

The rest LGTM.  Could you send a v2?

-- 
Thanks,
Maxim