diff mbox series

[bug#50847,1/5] gnu: Add iodash.

Message ID 87v92mruna.fsf@posteo.org
State Accepted
Headers show
Series Add ydotool | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Aleksandr Vityazev Sept. 27, 2021, 1:54 p.m. UTC
* gnu/packages/cpp.scm (iodash): New variable.
---
 gnu/packages/cpp.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4af71ba93a..e3b73b1612 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -18,6 +18,7 @@ 
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -956,6 +957,49 @@  provides a number of utilities to make coding with expected cleaner.")
     (home-page "https://tl.tartanllama.xyz/")
     (license license:cc0)))
 
+(define-public iodash
+  ;; there is no cpp_modules in the release version
+  (let ((commit "acefbb532c48108a29beb3633d4ea0c0dffb0a7b")
+        (revision "0")
+        ;; ydotool requires this version
+        (version "0.1.0"))
+    (package
+      (name "iodash")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/YukiWorkshop/IODash")
+               (commit commit)
+               (recursive? #t)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1syfzi4g79pxj6zxajh800j8zsi3nqj5q49swykc6mn2143nkh05"))))
+      (build-system cmake-build-system)
+      (arguments
+       ;; No tests
+       `(#:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (inc (string-append out "/include"))
+                      (lib (string-append out "/lib")))
+                 (install-file "libIODash.a" lib)
+                 (with-directory-excursion "../source"
+                   (install-file "IODash.hpp" inc)
+                   (install-file
+                    "cpp_modules/portable-endian/portable-endian.h" inc)
+                   (copy-recursively "IODash"
+                                     (string-append inc "/IODash")))))))))
+      (home-page "https://github.com/YukiWorkshop/IODash")
+      (synopsis "Lightweight C++ I/O library for POSIX operation systems")
+      (description "@code{IODash} is a C++ library for POSIX operation systems.")
+      (license license:expat))))
+
 (define-public magic-enum
   (package
     (name "magic-enum")