emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#34146: closed ([PATCH] gnu: Add ghc-c2hs.)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#34146: closed ([PATCH] gnu: Add ghc-c2hs.)
Date: Wed, 23 Jan 2019 22:35:02 +0000

Your message dated Wed, 23 Jan 2019 23:34:30 +0100
with message-id <address@hidden>
and subject line Re: [bug#34146] [PATCH] gnu: Add ghc-c2hs.
has caused the debbugs.gnu.org bug report #34146,
regarding [PATCH] gnu: Add ghc-c2hs.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
34146: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34146
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] gnu: Add ghc-c2hs. Date: Sun, 20 Jan 2019 16:03:03 +0100 User-agent: mu4e 1.0; emacs 26.1
* gnu/packages/haskell.scm (ghc-c2hs): New variable.
---
 gnu/packages/haskell.scm | 56 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a3ce2a3e4..c7587af7c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11405,4 +11405,60 @@ from a shell.  The @code{tldr} pages are a community 
effort to simplify the
 man pages with practical examples.")
     (license license:bsd-3)))
 
+(define-public ghc-c2hs
+  (package
+    (name "ghc-c2hs")
+    (version "0.28.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/c2hs/c2hs-";
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-language-c" ,ghc-language-c)
+       ("ghc-dlist" ,ghc-dlist)))
+    (native-inputs
+     `(("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+       ("ghc-hunit" ,ghc-hunit)
+       ("ghc-shelly" ,ghc-shelly)
+       ("ghc-text" ,ghc-text)
+       ("gcc" ,gcc)))
+    (arguments
+     `(#:tests? #f ;some tests fail because of syntax errors
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-cc
+           ;; add a cc executable in the path, needed for some tests to pass
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gcc (assoc-ref inputs "gcc"))
+                   (tmpbin (tmpnam))
+                   (curpath (getenv "PATH")))
+               (mkdir-p tmpbin)
+               (symlink (which "gcc") (string-append tmpbin "/cc"))
+               (setenv "PATH" (string-append tmpbin ":" curpath)))
+             #t))
+         (add-after 'check 'remove-cc
+           ;; clean the tmp dir made in 'set-cc
+           (lambda _
+             (let* ((cc-path (which "cc"))
+                    (cc-dir (dirname cc-path)))
+               (delete-file-recursively cc-dir)
+               #t))))))
+    (home-page "https://github.com/haskell/c2hs";)
+    (synopsis
+     "C->Haskell FFI tool that gives some cross-language type safety")
+    (description "C->Haskell assists in the development of Haskell bindings to
+C libraries.  It extracts interface information from C header files and
+generates Haskell code with foreign imports and marshaling.  Unlike writing
+foreign imports by hand (or using hsc2hs), this ensures that C functions are
+imported with the correct Haskell types.")
+    (license license:gpl2)))
+
 ;;; haskell.scm ends here
-- 
2.20.1

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message --- Subject: Re: [bug#34146] [PATCH] gnu: Add ghc-c2hs. Date: Wed, 23 Jan 2019 23:34:30 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Gabriel Hondet <address@hidden> skribis:

> * gnu/packages/haskell.scm (ghc-c2hs): New variable.

Applied with the changes below.

It’d be nice to report the test failures upstream since it could be
fairly problematic for such a tool to fail to parse C headers.

Thanks,
Ludo’.

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 02af900354..b8ea36852b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11429,7 +11429,10 @@ man pages with practical examples.")
        ("ghc-text" ,ghc-text)
        ("gcc" ,gcc)))
     (arguments
-     `(#:tests? #f ;some tests fail because of syntax errors
+     `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
+       ;; of glibc 2.28.
+       #:tests? #f
+
        #:phases
        (modify-phases %standard-phases
          (add-before 'check 'set-cc
@@ -11450,8 +11453,7 @@ man pages with practical examples.")
                (delete-file-recursively cc-dir)
                #t))))))
     (home-page "https://github.com/haskell/c2hs";)
-    (synopsis
-     "C->Haskell FFI tool that gives some cross-language type safety")
+    (synopsis "Create Haskell bindings to C libraries")
     (description "C->Haskell assists in the development of Haskell bindings to
 C libraries.  It extracts interface information from C header files and
 generates Haskell code with foreign imports and marshaling.  Unlike writing

--- End Message ---

reply via email to

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