From unknown Sun Jun 22 04:06:31 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#34146] [PATCH] gnu: Add ghc-c2hs. Resent-From: Gabriel Hondet Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 20 Jan 2019 15:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 34146 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 34146@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.154799674713958 (code B ref -1); Sun, 20 Jan 2019 15:06:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Jan 2019 15:05:47 +0000 Received: from localhost ([127.0.0.1]:39088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1glEfT-0003d3-3L for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1glEfR-0003cn-2B for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:45 -0500 Received: from lists.gnu.org ([209.51.188.17]:60418) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1glEfL-0006N9-PO for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1glEfK-0004Ed-RC for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1glEfI-0006Jp-TR for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:38 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:40257) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1glEfG-00065l-Tu for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:36 -0500 Received: by mail-wm1-x342.google.com with SMTP id f188so8482354wmf.5 for ; Sun, 20 Jan 2019 07:05:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=1LvoCEvnh2iNusXmHr7dTXKJPtByPR+QDCW0D8h6X1Q=; b=Gng3vgi77+a7JZcqQWg1Ct2KAqNVpRWa6H6Gwn+L7C+CCMtwFEurqWL9lbGEUzN+5U x7HwuMG8+tljx/aMml1nh1XYKtqobRlIPMCBUEPx7EjrpINk+deAyQpGOyBGPk8PlKTx gzk4+Y8FLsT81cdnrHSRfVvQ8oZiLQamKNUQthgTydAaJNzGYDw+smkI+caHNnSqGCvx euczjsxvdFGzcuVaYy05iWtmSvDw2ejm4W/f9TNQhdZqbEu6Oc6ORBR0KTycyTfNpqMy an2RwfW9kM8JpFuH5vJYyOouAENCWdCL6fxyuNQOaVdVD14/xFH0rde+jr4Rfo9vJCEr uFeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=1LvoCEvnh2iNusXmHr7dTXKJPtByPR+QDCW0D8h6X1Q=; b=JJIEIMzWXvofoM7xwHnjGgJ8nUfZKSMIkClCOFmqhDiNHI5PqwsTan891nV3u6yZp+ RFPmy6a81n3kANrwTElKp6R9YrJNWrJzOyfVMrCr6ifDcAqXeeJBo40R2K5GojsMagNa eKEmzU1RXxoRjvfAox0HrbOwLN+HG8bFFOz4GYGZzOFwxKg/Ny0LbHfHCJVt4mwdspeg 0r2CAUGSApgRMNLbVZ3Q+9wDgPYXriak4Nuw68W33LVMFInvEU6qtsYI9YbwQ1XW4pkR vCA27zDLwDh0xZ9v/HFVEJ/zW2yEJZl/6tYo3TWu23TGU6buuDLIlDPGsohJg57Dun8o aNEw== X-Gm-Message-State: AJcUukeke+IugVeJu75MCHcj7wHVp+yt6l7iv3mIVreoX9PhNIGWg7XH vN/D6Fyax87/kcl0r4jtxJ9hnfjN X-Google-Smtp-Source: ALg8bN5qOChgazB0SnGDse4PkhaLADvWY0eECr4RrIHfjyytRf9xJjDfwgas+IASXf/oAvu1Zdqr3Q== X-Received: by 2002:a1c:58ce:: with SMTP id m197mr22662232wmb.31.1547996725720; Sun, 20 Jan 2019 07:05:25 -0800 (PST) Received: from glht-aurore.gmail.com ([217.109.134.89]) by smtp.gmail.com with ESMTPSA id r12sm100939892wrq.3.2019.01.20.07.05.24 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 20 Jan 2019 07:05:25 -0800 (PST) User-agent: mu4e 1.0; emacs 26.1 From: Gabriel Hondet Date: Sun, 20 Jan 2019 16:03:03 +0100 Message-ID: <875zujv07j.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable * gnu/packages/haskell.scm (ghc-c2hs): New variable. =2D-- 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 =2D-- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11405,4 +11405,60 @@ from a shell. The @code{tldr} pages are a communi= ty effort to simplify the man pages with practical examples.") (license license:bsd-3))) =20 +(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 pa= ss + (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 binding= s 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 a= re +imported with the correct Haskell types.") + (license license:gpl2))) + ;;; haskell.scm ends here =2D-=20 2.20.1 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE5ercJXBcjd3P1FcAMbyBBfZZ1CUFAlxEjjAACgkQMbyBBfZZ 1CWRdxAAjBuz6WPp6ZXH4PbTcvW/AlX7PY05U0e1x3Yiv8gU+SLeekWVEdkRE8XZ HNCBqk/AS+GfBnTyGbH+DXElCWKc9SQmjzj6Ld/3lmE2WPNLsfW5O+C49wUj2jb3 2NOOQCPIjZCC7zN7jEL+wBBwoQJDAcaxQW0eIqAmaiI1VVDlaKT7x0jQ09fEkIo/ ZGuoauLq1LRuGWSvCUwW4sVJn3qCywxk6MRoj9ElyNAxcoY5eWaQ0eCC0rWsZIvp CHbORUL/WBbphjKOUd/2WDWFyn07VQeeVpLKhOaTkm+ZZ8KncqgXnEBapC8w7xmr C6Mb2rCsKg4P83l4ZUR9xgvZKCuVHjtUH6GfvAuD5YRVfgac3h1b4+Lco5812odE 0kuKotVbTJDhbYzlUSBMWpWMt386IrMVlIqOR7f6LsofTayieahW7mpRaNhbsJLU lrfpvs+FhdvfZLgNH3CX0zJ6eRQghyeULpUYl4K/kfH9kldi1m6e1PEVXE8ugjuF 0UI7tbeo6gfXUvD0hvvMtU7N5+TD9DI+lzWpAdfxoyYwiDQ2kCGsBMkbLR2JElrL PAC09oHZ6Nmq5uz/87mi2t7QCb4GEKD0OPKFy0oIKJ8jPwphiyVDiJQ5oWAKwCAY JIAf5ND4dsDWdNa92XJ15DDxlwiEFHixpal/+lPyG27xEQG6yds= =JB2H -----END PGP SIGNATURE----- --=-=-=-- From unknown Sun Jun 22 04:06:31 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Gabriel Hondet Subject: bug#34146: closed (Re: [bug#34146] [PATCH] gnu: Add ghc-c2hs.) Message-ID: References: <877eevdmvd.fsf@gnu.org> <875zujv07j.fsf@gmail.com> X-Gnu-PR-Message: they-closed 34146 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 34146@debbugs.gnu.org Date: Wed, 23 Jan 2019 22:35:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1548282902-26010-1" This is a multi-part message in MIME format... ------------=_1548282902-26010-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #34146: [PATCH] gnu: Add ghc-c2hs. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 34146@debbugs.gnu.org. --=20 34146: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D34146 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1548282902-26010-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 34146-done) by debbugs.gnu.org; 23 Jan 2019 22:34:35 +0000 Received: from localhost ([127.0.0.1]:43157 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmR6R-0006kq-4Y for submit@debbugs.gnu.org; Wed, 23 Jan 2019 17:34:35 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:39362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmR6O-0006ki-VE for 34146-done@debbugs.gnu.org; Wed, 23 Jan 2019 17:34:33 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 4F6725A08; Wed, 23 Jan 2019 23:34:32 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ggUFEhHvaVmh; Wed, 23 Jan 2019 23:34:31 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5C9045A04; Wed, 23 Jan 2019 23:34:31 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Gabriel Hondet Subject: Re: [bug#34146] [PATCH] gnu: Add ghc-c2hs. References: <875zujv07j.fsf@gmail.com> Date: Wed, 23 Jan 2019 23:34:30 +0100 In-Reply-To: <875zujv07j.fsf@gmail.com> (Gabriel Hondet's message of "Sun, 20 Jan 2019 16:03:03 +0100") Message-ID: <877eevdmvd.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 34146-done Cc: 34146-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Gabriel Hondet skribis: > * gnu/packages/haskell.scm (ghc-c2hs): New variable. Applied with the changes below. It=E2=80=99d 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=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline 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 + ;; 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 --=-=-=-- ------------=_1548282902-26010-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Jan 2019 15:05:47 +0000 Received: from localhost ([127.0.0.1]:39088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1glEfT-0003d3-3L for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1glEfR-0003cn-2B for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:45 -0500 Received: from lists.gnu.org ([209.51.188.17]:60418) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1glEfL-0006N9-PO for submit@debbugs.gnu.org; Sun, 20 Jan 2019 10:05:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1glEfK-0004Ed-RC for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1glEfI-0006Jp-TR for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:38 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:40257) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1glEfG-00065l-Tu for guix-patches@gnu.org; Sun, 20 Jan 2019 10:05:36 -0500 Received: by mail-wm1-x342.google.com with SMTP id f188so8482354wmf.5 for ; Sun, 20 Jan 2019 07:05:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=1LvoCEvnh2iNusXmHr7dTXKJPtByPR+QDCW0D8h6X1Q=; b=Gng3vgi77+a7JZcqQWg1Ct2KAqNVpRWa6H6Gwn+L7C+CCMtwFEurqWL9lbGEUzN+5U x7HwuMG8+tljx/aMml1nh1XYKtqobRlIPMCBUEPx7EjrpINk+deAyQpGOyBGPk8PlKTx gzk4+Y8FLsT81cdnrHSRfVvQ8oZiLQamKNUQthgTydAaJNzGYDw+smkI+caHNnSqGCvx euczjsxvdFGzcuVaYy05iWtmSvDw2ejm4W/f9TNQhdZqbEu6Oc6ORBR0KTycyTfNpqMy an2RwfW9kM8JpFuH5vJYyOouAENCWdCL6fxyuNQOaVdVD14/xFH0rde+jr4Rfo9vJCEr uFeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=1LvoCEvnh2iNusXmHr7dTXKJPtByPR+QDCW0D8h6X1Q=; b=JJIEIMzWXvofoM7xwHnjGgJ8nUfZKSMIkClCOFmqhDiNHI5PqwsTan891nV3u6yZp+ RFPmy6a81n3kANrwTElKp6R9YrJNWrJzOyfVMrCr6ifDcAqXeeJBo40R2K5GojsMagNa eKEmzU1RXxoRjvfAox0HrbOwLN+HG8bFFOz4GYGZzOFwxKg/Ny0LbHfHCJVt4mwdspeg 0r2CAUGSApgRMNLbVZ3Q+9wDgPYXriak4Nuw68W33LVMFInvEU6qtsYI9YbwQ1XW4pkR vCA27zDLwDh0xZ9v/HFVEJ/zW2yEJZl/6tYo3TWu23TGU6buuDLIlDPGsohJg57Dun8o aNEw== X-Gm-Message-State: AJcUukeke+IugVeJu75MCHcj7wHVp+yt6l7iv3mIVreoX9PhNIGWg7XH vN/D6Fyax87/kcl0r4jtxJ9hnfjN X-Google-Smtp-Source: ALg8bN5qOChgazB0SnGDse4PkhaLADvWY0eECr4RrIHfjyytRf9xJjDfwgas+IASXf/oAvu1Zdqr3Q== X-Received: by 2002:a1c:58ce:: with SMTP id m197mr22662232wmb.31.1547996725720; Sun, 20 Jan 2019 07:05:25 -0800 (PST) Received: from glht-aurore.gmail.com ([217.109.134.89]) by smtp.gmail.com with ESMTPSA id r12sm100939892wrq.3.2019.01.20.07.05.24 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 20 Jan 2019 07:05:25 -0800 (PST) User-agent: mu4e 1.0; emacs 26.1 From: Gabriel Hondet To: guix-patches@gnu.org Subject: [PATCH] gnu: Add ghc-c2hs. Date: Sun, 20 Jan 2019 16:03:03 +0100 Message-ID: <875zujv07j.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable * gnu/packages/haskell.scm (ghc-c2hs): New variable. =2D-- 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 =2D-- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11405,4 +11405,60 @@ from a shell. The @code{tldr} pages are a communi= ty effort to simplify the man pages with practical examples.") (license license:bsd-3))) =20 +(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 pa= ss + (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 binding= s 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 a= re +imported with the correct Haskell types.") + (license license:gpl2))) + ;;; haskell.scm ends here =2D-=20 2.20.1 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE5ercJXBcjd3P1FcAMbyBBfZZ1CUFAlxEjjAACgkQMbyBBfZZ 1CWRdxAAjBuz6WPp6ZXH4PbTcvW/AlX7PY05U0e1x3Yiv8gU+SLeekWVEdkRE8XZ HNCBqk/AS+GfBnTyGbH+DXElCWKc9SQmjzj6Ld/3lmE2WPNLsfW5O+C49wUj2jb3 2NOOQCPIjZCC7zN7jEL+wBBwoQJDAcaxQW0eIqAmaiI1VVDlaKT7x0jQ09fEkIo/ ZGuoauLq1LRuGWSvCUwW4sVJn3qCywxk6MRoj9ElyNAxcoY5eWaQ0eCC0rWsZIvp CHbORUL/WBbphjKOUd/2WDWFyn07VQeeVpLKhOaTkm+ZZ8KncqgXnEBapC8w7xmr C6Mb2rCsKg4P83l4ZUR9xgvZKCuVHjtUH6GfvAuD5YRVfgac3h1b4+Lco5812odE 0kuKotVbTJDhbYzlUSBMWpWMt386IrMVlIqOR7f6LsofTayieahW7mpRaNhbsJLU lrfpvs+FhdvfZLgNH3CX0zJ6eRQghyeULpUYl4K/kfH9kldi1m6e1PEVXE8ugjuF 0UI7tbeo6gfXUvD0hvvMtU7N5+TD9DI+lzWpAdfxoyYwiDQ2kCGsBMkbLR2JElrL PAC09oHZ6Nmq5uz/87mi2t7QCb4GEKD0OPKFy0oIKJ8jPwphiyVDiJQ5oWAKwCAY JIAf5ND4dsDWdNa92XJ15DDxlwiEFHixpal/+lPyG27xEQG6yds= =JB2H -----END PGP SIGNATURE----- --=-=-=-- ------------=_1548282902-26010-1--