summary refs log tree commit diff
path: root/gnu/packages/c.scm
diff options
context:
space:
mode:
authorDavid Elsing <david.elsing@posteo.net>2022-10-13 21:04:14 +0000
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2022-10-15 12:01:34 +0200
commitd42f648c0ce7b99d57e65fd37ba27014097c3cec (patch)
tree6355a54c5534dce8c784b4ca7e05a66d6ee11d75 /gnu/packages/c.scm
parentf169d7a1281ea3012497ce48a8cbbcd8d170d988 (diff)
downloadguix-d42f648c0ce7b99d57e65fd37ba27014097c3cec.tar.gz
gnu: Add tinydir.
* gnu/packages/c.scm (tinydir): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r--gnu/packages/c.scm41
1 files changed, 41 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")