diff options
author | JoJo <jo@jo.zone> | 2020-01-15 15:43:44 +0100 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2020-01-23 16:42:13 -0500 |
commit | e3ee802379f33aa3fae0a40be33fe6a4f2ae34d2 (patch) | |
tree | 2c9e92e6624fd53f6f66acfe1e0202c8e91818ea /gnu | |
parent | 84436be094776b8b9a5893eb7fb4888bd7ca8b79 (diff) | |
download | guix-e3ee802379f33aa3fae0a40be33fe6a4f2ae34d2.tar.gz |
gnu: Add ghc-llvm-hs.
* gnu/packages/haskell-xyz.scm (ghc-llvm-hs): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index aaabc02c13..94e9a22115 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -55,6 +55,7 @@ #:use-module (gnu packages haskell-web) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) @@ -6734,6 +6735,43 @@ LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but llvm-hs-pure does not require LLVM to be available.") (license license:bsd-3))) +(define-public ghc-llvm-hs + (package + (name "ghc-llvm-hs") + (version "9.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-" + version ".tar.gz")) + (sha256 + (base32 + "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure) + ("llvm" ,llvm-9))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-temporary" ,ghc-temporary) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-temporary" ,ghc-temporary))) + (home-page "https://github.com/llvm-hs/llvm-hs/") + (synopsis "General purpose LLVM bindings for Haskell") + (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other +current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM +IR, and so offers two advantages: it handles almost all of the stateful +complexities of using the LLVM API to build IR; and it supports moving IR not +only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ +into Haskell.") + (license license:bsd-3))) + (define-public ghc-logging-facade (package (name "ghc-logging-facade") |