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

From: David Elsing <[email-masked]>
Date: Fri, 07 Oct 2022 15:11:04 +0000

Liliana Marie Prikler <[email-masked]> writes:

> 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.
The problem is that the tests include a non-trivially modified
fork of cbehave, which uses an older (bundled) copy of rlutil for color
output. How should I deal with that?
>> +      #: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.
Ah ok :)
>> +          (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