diff options
author | David Elsing <david.elsing@posteo.net> | 2022-10-13 21:04:14 +0000 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2022-10-15 12:01:34 +0200 |
commit | d42f648c0ce7b99d57e65fd37ba27014097c3cec (patch) | |
tree | 6355a54c5534dce8c784b4ca7e05a66d6ee11d75 | |
parent | f169d7a1281ea3012497ce48a8cbbcd8d170d988 (diff) | |
download | guix-d42f648c0ce7b99d57e65fd37ba27014097c3cec.tar.gz |
gnu: Add tinydir.
* gnu/packages/c.scm (tinydir): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
-rw-r--r-- | gnu/packages/c.scm | 41 | ||||
-rw-r--r-- | gnu/packages/patches/tinydir-fix-cbehave-test.patch | 16 |
2 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 84b537022d..e3d50b1190 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1183,6 +1183,47 @@ performance concurrent systems developed in C99+.") (license (list license:bsd-2 ;everything except... license:asl2.0)))) ;src/ck_hp.c +(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")) + (patches (search-patches "tinydir-fix-cbehave-test.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "tests/cbehave")))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'path-cmake + (lambda _ + (substitute* "tests/CMakeLists.txt" + (("^include_dir.*cbehave.*") + (string-append "include_directories("#$cbehave "/include)")) + (("^add_subdir.*cbeha.*") "")))) + (add-before 'configure 'chdir + (lambda _ + (chdir "tests"))) + (replace 'install + (lambda _ + (install-file "../tinydir.h" + (string-append #$output "/include"))))))) + (native-inputs (list cbehave)) + (home-page "https://github.com/cxong/tinydir") + (synopsis "List directories programmatically") + (description "@code{tinydir} is a header-only C wrapper for listing +directory contents.") + (license license:bsd-2))) + (define-public libdispatch (package (name "libdispatch") diff --git a/gnu/packages/patches/tinydir-fix-cbehave-test.patch b/gnu/packages/patches/tinydir-fix-cbehave-test.patch new file mode 100644 index 0000000000..84ecee12c2 --- /dev/null +++ b/gnu/packages/patches/tinydir-fix-cbehave-test.patch @@ -0,0 +1,16 @@ +Make test work with upstream cbehave +(tinydir bundles a modified version) + +diff --git a/tests/file_open_test.c b/tests/file_open_test.c +index 3e659bc..9f6f88d 100644 +--- a/tests/file_open_test.c ++++ b/tests/file_open_test.c +@@ -19,4 +19,7 @@ FEATURE(file_open, "File open") + SCENARIO_END + FEATURE_END + +-CBEHAVE_RUN("File open:", TEST_FEATURE(file_open)) ++int main(void) { ++ cbehave_feature _cfeatures[] = {{feature_idx(file_open)}}; ++ return cbehave_runner("File open:", _cfeatures); ++} |