Subject: Re: [PATCH 04/11] gnu: Add tinydir.

From: Liliana Marie Prikler <[email-masked]>
Date: Tue, 04 Oct 2022 09:27:57 +0200

Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing:
> * gnu/packages/cpp.scm (tinydir): New variable.
> ---
>  gnu/packages/cpp.scm | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 7bfa3d6cdf..4819f36052 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -2020,3 +2020,41 @@ (define-public sajson
>        (description "sajson is a high-performance, in-place JSON
> parser
>  header-only library.")
>        (license license:expat))))
> +
> +(define-public tinydir
> +  (package
> +    (name "tinydir")
> +    (version "1.2.5")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/cxong/tinydir")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "1nprgdfx4i8wzc1idw6chan4fjfa75b5ll8kghdc0q2278pny259"))
> +              (modules '((guix build utils)))
> +              (snippet '(delete-file-recursively "tests/cbehave"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     (list
> +      ;; Tests require cbehave and rlutil
> +      #:tests? #f
Then those should be packaged.
> +      #:phases
> +      ;; Build samples instead of tests
> +      #~(modify-phases %standard-phases
> +          (add-after 'unpack 'chdir
> +            (lambda _ (chdir "samples") #t))
> +          (add-after 'build 'chdir-back
> +            (lambda _ (chdir "..") #t))
We don't typically build samples.
> +          (replace 'install
> +            (lambda _
> +              (install-file "tinydir.h" (string-append #$output
> "/include"))
> +              #t)))))
> +    (home-page "https://github.com/cxong/tinydir")
> +    (synopsis "Lightweight, portable and easy to integrate C
> directory and
> +file reader")
> +    (description "tinydir is a header-only C library to portably
> read files
> +and directories.")
Cut down on the ads.
> +    (license license:bsd-2)))

Cheers