guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/13: gnu: Add ghc-storable-record.


From: guix-commits
Subject: 07/13: gnu: Add ghc-storable-record.
Date: Fri, 16 Aug 2019 08:23:00 -0400 (EDT)

rob pushed a commit to branch wip-haskell-updates
in repository guix.

commit e72f54d295e33b6211a6684f0a7480a49db8dfe2
Author: John Soo <address@hidden>
Date:   Sun Jul 7 17:40:12 2019 -0700

    gnu: Add ghc-storable-record.
    
    * gnu/packages/haskell.scm (ghc-storable-record): New variable.
---
 gnu/packages/haskell-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 57cb4b3..fda92ef 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9386,6 +9386,38 @@ Storable instance for Complex which is binary compatible 
with C99, C++
 and Fortran complex data types.")
     (license license:bsd-3)))
 
+(define-public ghc-storable-record
+  (package
+    (name "ghc-storable-record")
+    (version "0.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://hackage.haskell.org/package/storable-record/storable-record-";
+         version ".tar.gz"))
+       (sha256
+        (base32
+         "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-utility-ht" ,ghc-utility-ht)
+       ("ghc-storablevector" ,ghc-storablevector)
+       ("ghc-timeit" ,ghc-timeit)))
+    (home-page "https://hackage.haskell.org/package/storable-record";)
+    (synopsis "Elegant definition of Storable instances for records")
+    (description
+     "With this package you can build a Storable instance of a record type
+from Storable instances of its elements in an elegant way.  It does not do any
+magic, just a bit arithmetic to compute the right offsets, that would be
+otherwise done manually or by a preprocessor like C2HS.  I cannot promise that
+the generated memory layout is compatible with that of a corresponding C
+struct.  However, the module generates the smallest layout that is possible
+with respect to the alignment of the record elements.")
+    (license license:bsd-3)))
+
 (define-public ghc-storablevector
   (package
     (name "ghc-storablevector")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]