X-Loop: help-debbugs@HIDDEN
Subject: [bug#51655] [PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.
Resent-From: Xinglu Chen <public@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: lars@HIDDEN, guix-patches@HIDDEN
Resent-Date: Sun, 07 Nov 2021 10:56:01 +0000
Resent-Message-ID: <handler.51655.B.163628254212702 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 51655
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 51655 <at> debbugs.gnu.org
Cc: Lars-Dominik Braun <lars@HIDDEN>
X-Debbugs-Original-To: guix-patches@HIDDEN
X-Debbugs-Original-Xcc: Lars-Dominik Braun <lars@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.163628254212702
(code B ref -1); Sun, 07 Nov 2021 10:56:01 +0000
Received: (at submit) by debbugs.gnu.org; 7 Nov 2021 10:55:42 +0000
Received: from localhost ([127.0.0.1]:51864 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mjfpt-0003In-Dn
for submit <at> debbugs.gnu.org; Sun, 07 Nov 2021 05:55:41 -0500
Received: from lists.gnu.org ([209.51.188.17]:45730)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <public@HIDDEN>) id 1mjfpp-0003Ie-PR
for submit <at> debbugs.gnu.org; Sun, 07 Nov 2021 05:55:40 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:51102)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <public@HIDDEN>)
id 1mjfpp-0004Q8-IS
for guix-patches@HIDDEN; Sun, 07 Nov 2021 05:55:37 -0500
Received: from h87-96-130-155.cust.a3fiber.se ([87.96.130.155]:34970
helo=mail.yoctocell.xyz)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <public@HIDDEN>)
id 1mjfpm-00062X-OO
for guix-patches@HIDDEN; Sun, 07 Nov 2021 05:55:37 -0500
From: Xinglu Chen <public@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yoctocell.xyz;
s=mail; t=1636282526;
bh=1AbHFgRMuasz+k+7TOSLmKejvj3I1cIXwV211QsB9AU=;
h=From:To:Subject:Date;
b=iaVKIOYn8sKqEHueXmyuDIRkdS/ORoVjRgvYtpSgT5yTs9BP8qroPb323k6elvNDd
yf5SshEXFZJkKe2kdoMiNCeMia4+smkYXDa/1DV6JAf11HlDB8aGia2QmPqvrav5yD
4smeRO3kjyMnHV2dgif0QXBbbCHWTdod4VSsmbs4=
Message-Id: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
Date: Sun, 07 Nov 2021 11:55:25 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=87.96.130.155; envelope-from=public@HIDDEN;
helo=mail.yoctocell.xyz
X-Spam_score_int: 11
X-Spam_score: 1.1
X-Spam_bar: +
X-Spam_report: (1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.001,
FROM_SUSPICIOUS_NTLD_FP=1.997, PDS_OTHER_BAD_TLD=0.001,
PDS_RDNS_DYNAMIC_FP=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001, TO_NO_BRKTS_DYNIP=0.252 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.7 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: * guix/packages.scm (package-with-explicit-compiler): New
procedure; factorized from =?UTF-8?Q?=E2=80=98package-with-explicit-python=E2=80=99.?= * guix/build-system/python.scm
(package-with-explicit-python): Use =?UTF-8?Q?=E2=80=98package-w?= [...]
Content analysis details: (1.7 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
medium trust
[209.51.188.17 listed in list.dnswl.org]
2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs
[URI: yoctocell.xyz (xyz)]
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2)
[209.51.188.17 listed in wl.mailspike.net]
0.5 FROM_SUSPICIOUS_NTLD_FP From abused NTLD
0.5 FROM_SUSPICIOUS_NTLD From abused NTLD
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)
* guix/packages.scm (package-with-explicit-compiler): New procedure;
factorized from =E2=80=98package-with-explicit-python=E2=80=99.
* guix/build-system/python.scm (package-with-explicit-python): Use
=E2=80=98package-with-explicit-compiler=E2=80=99.
* guix/build-system/haskell.scm (package-with-explicit-haskell): New proced=
ure.
* doc/guix.texi (Defining Package Variants): Document it.
---
doc/guix.texi | 37 ++++++++++++++++++
guix/build-system/haskell.scm | 8 ++++
guix/build-system/python.scm | 71 +++++++----------------------------
guix/packages.scm | 55 +++++++++++++++++++++++++++
4 files changed, 113 insertions(+), 58 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index ea1973f02c..95fa5ab103 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7717,6 +7717,43 @@
applied to implicit inputs as well.
@end deffn
=20
+@deffn {Scheme Procedure} package-with-explicit-compiler @var{compiler} @
+@var{keyword} @var{build-system} @var{old-prefix} @var{new-prefix} @
+[#:variant-property #f]
+Return a procedure of one argument, @var{p}. The procedure creates a
+package with the same fields as @var{p}, which is assumed to use
+@var{build-system}, such that it is compiled with @var{compiler}
+instead. @var{keyword} is a symbol whose name is the name of the
+keyword for explicitly specifying a compiler, e.g., @code{python} for
+@code{python-build-system}. The inputs are changed recursively
+accordingly. If the name of @var{p} starts with @var{old-prefix}, this
+is replaced by @var{new-prefix}; otherwise, @var{new-prefix} is
+prepended to the name.
+
+When @var{variant-property} is present, it is used as a key to search
+for pre-defined variants of this transformation recorded in the
+@code{properties} field of packages. The property value must be the
+promise of a package. This is a convenient way for package writers to
+force the transformation to use pre-defined variants.
+
+You can for example define a procedure which given a Haskell package,
+builds it and all of its recursive dependencies with GHC 8.8.
+
+@lisp
+(use-modules (guix build-system haskell))
+
+(define (default-haskell-8.8)
+ ;; Lazily resolve the binding to avoid a circular dependency.
+ (let ((haskell (resolve-interface '(gnu packages haskell))))
+ (module-ref haskell 'ghc-8.8)))
+
+(define package-with-haskell-8.8
+ (package-with-explicit-haskell (delay (default-haskell-8.8))
+ "ghc-" "ghc-8.8-"
+ #:variant-property 'ghc-8.8-variant))
+@end lisp=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20
+@end deffn
+
=20
@node Build Systems
@section Build Systems
diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm
index 18a584f782..8656e5f318 100644
--- a/guix/build-system/haskell.scm
+++ b/guix/build-system/haskell.scm
@@ -2,6 +2,7 @@
;;; Copyright =C2=A9 2015 Federico Beffa <beffa@HIDDEN>
;;; Copyright =C2=A9 2020 Timothy Sample <samplet@HIDDEN>
;;; Copyright =C2=A9 2020 Simon Tournier <zimon.toutoune@HIDDEN>
+;;; Copyright =C2=A9 2021 Xinglu Chen <public@HIDDEN>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@ (define-module (guix build-system haskell)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (%haskell-build-system-modules
+ package-with-explicit-haskell
haskell-build
haskell-build-system))
=20
@@ -190,4 +192,10 @@ (define haskell-build-system
(description "The standard Haskell build system")
(lower lower)))
=20
+(define* (package-with-explicit-haskell haskell old-prefix new-prefix
+ #:key variant-property)
+ (package-with-explicit-compiler haskell 'haskell haskell-build-system
+ old-prefix new-prefix
+ #:variant-property variant-property))
+
;;; haskell.scm ends here
diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
index 80895162f8..3d8b437d11 100644
--- a/guix/build-system/python.scm
+++ b/guix/build-system/python.scm
@@ -70,64 +70,6 @@ (define (default-python2)
(let ((python (resolve-interface '(gnu packages python))))
(module-ref python 'python-2)))
=20
-(define* (package-with-explicit-python python old-prefix new-prefix
- #:key variant-property)
- "Return a procedure of one argument, P. The procedure creates a package=
with
-the same fields as P, which is assumed to use PYTHON-BUILD-SYSTEM, such th=
at
-it is compiled with PYTHON instead. The inputs are changed recursively
-accordingly. If the name of P starts with OLD-PREFIX, this is replaced by
-NEW-PREFIX; otherwise, NEW-PREFIX is prepended to the name.
-
-When VARIANT-PROPERTY is present, it is used as a key to search for
-pre-defined variants of this transformation recorded in the 'properties' f=
ield
-of packages. The property value must be the promise of a package. This i=
s a
-convenient way for package writers to force the transformation to use
-pre-defined variants."
- (define package-variant
- (if variant-property
- (lambda (package)
- (assq-ref (package-properties package)
- variant-property))
- (const #f)))
-
- (define (transform p)
- (cond
- ;; If VARIANT-PROPERTY is present, use that.
- ((package-variant p)
- =3D> force)
-
- ;; Otherwise build the new package object graph.
- ((eq? (package-build-system p) python-build-system)
- (package/inherit p
- (location (package-location p))
- (name (let ((name (package-name p)))
- (string-append new-prefix
- (if (string-prefix? old-prefix name)
- (substring name
- (string-length old-prefix))
- name))))
- (arguments
- (let ((python (if (promise? python)
- (force python)
- python)))
- (ensure-keyword-arguments (package-arguments p)
- `(#:python ,python))))))
- (else p)))
-
- (define (cut? p)
- (or (not (eq? (package-build-system p) python-build-system))
- (package-variant p)))
-
- (package-mapping transform cut?))
-
-(define package-with-python2
- ;; Note: delay call to 'default-python2' until after the 'arguments' fie=
ld
- ;; of packages is accessed to avoid a circular dependency when evaluating
- ;; the top-level of (gnu packages python).
- (package-with-explicit-python (delay (default-python2))
- "python-" "python2-"
- #:variant-property 'python2-variant))
-
(define (strip-python2-variant p)
"Remove the 'python2-variant' property from P."
(package/inherit p
@@ -220,4 +162,17 @@ (define python-build-system
(description "The standard Python build system")
(lower lower)))
=20
+(define* (package-with-explicit-python python old-prefix new-prefix
+ #:key variant-property)
+ (package-with-explicit-compiler python 'python python-build-system
+ old-prefix new-prefix
+ #:variant-property variant-property))
+(define package-with-python2
+ ;; Note: delay call to 'default-python2' until after the 'arguments' fie=
ld
+ ;; of packages is accessed to avoid a circular dependency when evaluating
+ ;; the top-level of (gnu packages python).
+ (package-with-explicit-python (delay (default-python2))
+ "python-" "python2-"
+ #:variant-property 'python2-variant))
+
;;; python.scm ends here
diff --git a/guix/packages.scm b/guix/packages.scm
index 4b6098bb8d..81c5701886 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -130,6 +130,7 @@ (define-module (guix packages)
package-with-extra-patches
package-with-c-toolchain
package/inherit
+ package-with-explicit-compiler
=20
transitive-input-references
=20
@@ -951,6 +952,60 @@ (define (package-with-c-toolchain package toolchain)
(package/inherit package
(build-system (build-system-with-c-toolchain bs toolchain)))))
=20
+(define* (package-with-explicit-compiler compiler keyword build-system
+ old-prefix new-prefix
+ #:key variant-property)
+ "Return a procedure of one argument, P. The procedure creates a package=
with
+the same fields as P, which is assumed to use BUILD-SYSTEM, such that it is
+compiled with COMPILER instead. KEYWORD is a symbol whose name is the nam=
e of
+the keyword for explicitly specifying a compiler, e.g., 'python' for
+'python-build-system'. The inputs are changed recursively accordingly. If
+the name of P starts with OLD-PREFIX, this is replaced by NEW-PREFIX;
+otherwise, NEW-PREFIX is prepended to the name.
+
+When VARIANT-PROPERTY is present, it is used as a key to search for
+pre-defined variants of this transformation recorded in the 'properties' f=
ield
+of packages. The property value must be the promise of a package. This i=
s a
+convenient way for package writers to force the transformation to use
+pre-defined variants."
+ (define package-variant
+ (if variant-property
+ (lambda (package)
+ (assq-ref (package-properties package)
+ variant-property))
+ (const #f)))
+
+ (define (transform p)
+ (cond
+ ;; If VARIANT-PROPERTY is present, use that.
+ ((package-variant p)
+ =3D> force)
+
+ ;; Otherwise build the new package object graph.
+ ((eq? (package-build-system p) build-system)
+ (package/inherit p
+ (location (package-location p))
+ (name (let ((name (package-name p)))
+ (string-append new-prefix
+ (if (string-prefix? old-prefix name)
+ (substring name
+ (string-length old-prefix))
+ name))))
+ (arguments
+ (let ((compiler (if (promise? compiler)
+ (force compiler)
+ compiler)))
+ (ensure-keyword-arguments (package-arguments p)
+ `(,(symbol->keyword keyword)
+ ,compiler))))))
+ (else p)))
+
+ (define (cut? p)
+ (or (not (eq? (package-build-system p) build-system))
+ (package-variant p)))
+
+ (package-mapping transform cut?))
+
(define (transitive-inputs inputs)
"Return the closure of INPUTS when considering the 'propagated-inputs'
edges. Omit duplicate inputs, except for those already present in INPUTS
base-commit: 1ffc0a6be3c1613b2d99ceea098174d1f11f6f3f
--=20
2.33.0
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Xinglu Chen <public@HIDDEN> Subject: bug#51655: Acknowledgement ([PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.) Message-ID: <handler.51655.B.163628254212702.ack <at> debbugs.gnu.org> References: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN> X-Gnu-PR-Message: ack 51655 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 51655 <at> debbugs.gnu.org Date: Sun, 07 Nov 2021 10:56:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. As you requested using X-Debbugs-CC, your message was also forwarded to Lars-Dominik Braun <lars@HIDDEN> (after having been given a bug report number, if it did not have one). Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 51655 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 51655: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D51655 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: [bug#51655] [PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.
Resent-From: Lars-Dominik Braun <lars@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Fri, 12 Nov 2021 10:35:02 +0000
Resent-Message-ID: <handler.51655.B51655.16367132705750 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 51655
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Xinglu Chen <public@HIDDEN>
Cc: 51655 <at> debbugs.gnu.org
Received: via spool by 51655-submit <at> debbugs.gnu.org id=B51655.16367132705750
(code B ref 51655); Fri, 12 Nov 2021 10:35:02 +0000
Received: (at 51655) by debbugs.gnu.org; 12 Nov 2021 10:34:30 +0000
Received: from localhost ([127.0.0.1]:43537 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mlTt7-0001Ug-N8
for submit <at> debbugs.gnu.org; Fri, 12 Nov 2021 05:34:30 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172]:19954)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <lars@HIDDEN>) id 1mlTt2-0001UM-8a
for 51655 <at> debbugs.gnu.org; Fri, 12 Nov 2021 05:34:28 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org
[IPv6:2001:67c:2050:105:465:1:3:0])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
SHA256) (No client certificate requested)
by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4HrFLx3dXzzQkjN;
Fri, 12 Nov 2021 11:34:17 +0100 (CET)
X-Virus-Scanned: amavisd-new at heinlein-support.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001;
t=1636713255;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=3FdcOwzOxF1+NzGzo5c9LcOB/0btj3vKAZHDcmwD7Mk=;
b=d45bbg0DkJxoT6TWb3/M9/RRuG/qYpy9tXJn0g5gkJamEK54X695+KrbDe0STEc8AyE2/0
2B2DbXebwa2qVtjV8t9IpVqU/HxRPXOJ1HAXMAA1ocNF9zld4fBtQFjYBqt/3WgdQaSmzh
66XToIWBbxotmv+I/Z/HAXlJ75d0oznFk8g9RF6fVpa76v4tzhWzqz23+4ThhZEWNBSYM+
MuSoxl7cCM/wEyMUIlEgMLFiNfCOsO8BR1kJC3Jdq7cWGjzaW+rB5nx5o0zcky2VPrNFMV
H/9k57wYi8vdTxGaXVvk3xFj86bMXNJGpnI5hA+/e4VpGuNoRDvTeUmYqyVB2w==
Date: Fri, 12 Nov 2021 11:34:11 +0100
From: Lars-Dominik Braun <lars@HIDDEN>
Message-ID: <YY5DI3ZbADDZg468@HIDDEN>
References: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
Hi,
I’ve tested the patch with the snippet below and it builds most
packages fine, until it hits a type error and aborts. This is probably
expected, since not all packages are compatible with multiple GHC
versions.
The code looks fine, since it’s just moving the Python-specific code to
(guix packages). I don’t feel qualified enough to say whether the new
API in (guix packages) is welcome or not though. Anyone? Maybe it’d
be worth having a common parameter for all build systems?
---
(use-modules (guix build-system haskell)
(gnu packages finance))
(define (default-haskell-8.8)
;; Lazily resolve the binding to avoid a circular dependency.
(let ((haskell (resolve-interface '(gnu packages haskell))))
(module-ref haskell 'ghc-8.8)))
(define package-with-haskell-8.8
(package-with-explicit-haskell (delay (default-haskell-8.8))
"ghc-" "ghc-8.8-"
#:variant-property 'ghc-8.8-variant))
(package-with-haskell-8.8 hledger)
---
Cheers,
Lars
X-Loop: help-debbugs@HIDDEN
Subject: [bug#51655] [PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 15 Nov 2021 15:14:02 +0000
Resent-Message-ID: <handler.51655.B51655.163698922421421 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 51655
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Xinglu Chen <public@HIDDEN>, 51655 <at> debbugs.gnu.org
Cc: Lars-Dominik Braun <lars@HIDDEN>
Received: via spool by 51655-submit <at> debbugs.gnu.org id=B51655.163698922421421
(code B ref 51655); Mon, 15 Nov 2021 15:14:02 +0000
Received: (at 51655) by debbugs.gnu.org; 15 Nov 2021 15:13:44 +0000
Received: from localhost ([127.0.0.1]:55800 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mmdg0-0005ZR-CI
for submit <at> debbugs.gnu.org; Mon, 15 Nov 2021 10:13:44 -0500
Received: from mail-wm1-f47.google.com ([209.85.128.47]:40581)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <zimon.toutoune@HIDDEN>) id 1mmdfy-0005Z4-VA
for 51655 <at> debbugs.gnu.org; Mon, 15 Nov 2021 10:13:43 -0500
Received: by mail-wm1-f47.google.com with SMTP id
az33-20020a05600c602100b00333472fef04so15366559wmb.5
for <51655 <at> debbugs.gnu.org>; Mon, 15 Nov 2021 07:13:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=from:to:cc:subject:in-reply-to:references:date:message-id
:mime-version:content-transfer-encoding;
bh=OWmliPwa6XpT73FDilnTpIIdM8PmnBV7CWMQ70J9tE4=;
b=VPtip+ZLqaUgBJ5RgiSAdFSTQTGSV3/6I3xVoLfvTk4KOphJUovyT+fVP1s29ayHPm
t20AAzi9R+roK9P1IwpJ6kV/PWuMECoIWj9vXjN5YdWTvsh2Sjo60F0zAgOYxia0G7Ub
P3UuE3eknd9r6kxFR4vmnKu6LIkF0Y9qQR/739ocLU9mNdzsxDzfMuJO/M2jZEnsJeSL
A7AmISBH2XJPSqSR6wwvP8cQRuFgrZtPdD5GAnzxunOzbpJqjjHMdGhKIzWXr+0jZBea
F3aZhZktYcYeuKEmEXA0x/MFDMPc0Jgw65t8oaujwEi7vrDmnqVrDVSKwlQ340cWguPn
Cv+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
:message-id:mime-version:content-transfer-encoding;
bh=OWmliPwa6XpT73FDilnTpIIdM8PmnBV7CWMQ70J9tE4=;
b=v0aoKwa3SR9QDNMeCGu7s+n03ecMCOLZDRFRd61LP9iANopVWXMDjEGVJY9iLnBDyV
Jjn4+GJYwh0cM0qwyrXxSEx1eBdLpEozLVcOpIrnk7vn8PvMXWbIG2oqzq+zN2mEV4cs
oPsUSlsVM+24S7lk28Ted3rkJXkrXh/RDyNR/aCjTOt0quH8k5w2wvuEpg1Ah3kwxDFN
7dL4HhPVLLsSvdIHh4e4dPJLBQ8/yBer2R3KbvVScWSgNYrU5WaCBg1bHuoGRCW4FHGr
rg4Gb3kspqV3wKgayuXUFzmpQWBCDXGQy4EpOXrcBLYRhC4zEhdFBJ9HfSIpb86/IXZi
9/uw==
X-Gm-Message-State: AOAM530GtAOc10KaM/AFHT8HMIX8Jc20vOSViXrMh9vl6gJwIeqm1s2W
BtqPVJsw9Xirkyq6F+VNehM=
X-Google-Smtp-Source: ABdhPJx4EQz5ubhKa3UIs2VhLUkmU70PSM5jF/meJ0zr/MkhvappD/QY1wyrqWs2lfNyWuTONVzSAw==
X-Received: by 2002:a05:600c:4ec7:: with SMTP id
g7mr43463863wmq.138.1636989217119;
Mon, 15 Nov 2021 07:13:37 -0800 (PST)
Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e])
by smtp.gmail.com with ESMTPSA id 10sm18061586wrb.75.2021.11.15.07.13.36
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 15 Nov 2021 07:13:36 -0800 (PST)
From: zimoun <zimon.toutoune@HIDDEN>
In-Reply-To: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
References: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
Date: Mon, 15 Nov 2021 16:03:50 +0100
Message-ID: <86bl2lbgvd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hi, On Sun, 07 Nov 2021 at 11:55, Xinglu Chen wrote: > * guix/packages.scm
(package-with-explicit-compiler): New procedure; > factorized from =?UTF-8?Q?=E2=80=98package-with-explicit-python=E2=80=99.?=
> * guix/build-system/py [...]
Content analysis details: (2.0 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (zimon.toutoune[at]gmail.com)
2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs
[URI: yoctocell.xyz (xyz)]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2)
[209.85.128.47 listed in wl.mailspike.net]
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[209.85.128.47 listed in list.dnswl.org]
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)
Hi,
On Sun, 07 Nov 2021 at 11:55, Xinglu Chen <public@HIDDEN> wrote:
> * guix/packages.scm (package-with-explicit-compiler): New procedure;
> factorized from =E2=80=98package-with-explicit-python=E2=80=99.
> * guix/build-system/python.scm (package-with-explicit-python): Use
> =E2=80=98package-with-explicit-compiler=E2=80=99.
> * guix/build-system/haskell.scm (package-with-explicit-haskell): New proc=
edure.
> * doc/guix.texi (Defining Package Variants): Document it.
> ---
> doc/guix.texi | 37 ++++++++++++++++++
> guix/build-system/haskell.scm | 8 ++++
> guix/build-system/python.scm | 71 +++++++----------------------------
> guix/packages.scm | 55 +++++++++++++++++++++++++++
> 4 files changed, 113 insertions(+), 58 deletions(-)
Neat refactoring! :-) It is something discussing several times and I do
not know if =E2=80=99package-with-explicit-ocaml=E2=80=99 could not be adde=
d too. The
issue is that it depends on more than only one element for =E2=80=9Ccompili=
ng=E2=80=9D:
ocaml, findlib and dune.
On the other hand, guix/build-system/gnu.scm contains
=E2=80=99package-with-explicit-inputs*=E2=80=99 which is more or less the s=
ame idea.
And =E2=80=99transform-package-toolchain=E2=80=99 is another instance. This
=E2=80=99package-with-explicit-{ocaml,python}=E2=80=99 pre-dates the transf=
ormations and
deep rewriting.
Therefore, maybe refactor could revisit the complete story.
Well, I had headaches last time I gave a look at transformations. And I
do not know if it is possible to have a generic transformation for
rewriting implicit inputs of all build systems. That=E2=80=99s something t=
hat
could be nice to nice: =E2=80=99package-with-explicit-python=E2=80=99 based=
on a
=E2=80=9Cgeneric=E2=80=9D =E2=80=99package-with-explicit-compiler=E2=80=99 =
(compiler or toolchain
though) and provides =E2=80=99package-with-explicit-*=E2=80=99 for all buil=
d systems
(ocaml, ghc, emacs, guile, etc.).
> +@lisp
> +(use-modules (guix build-system haskell))
> +
> +(define (default-haskell-8.8)
> + ;; Lazily resolve the binding to avoid a circular dependency.
> + (let ((haskell (resolve-interface '(gnu packages haskell))))
> + (module-ref haskell 'ghc-8.8)))
> +
> +(define package-with-haskell-8.8
> + (package-with-explicit-haskell (delay (default-haskell-8.8))
> + "ghc-" "ghc-8.8-"
> + #:variant-property 'ghc-8.8-variant))
> +@end lisp
As Lars said, an instance is missing, IMHO.
Cheers,
simon
X-Loop: help-debbugs@HIDDEN
Subject: [bug#51655] [PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.
References: <7f7b889aebed4c17e3a021883bfed1d67c564109.1636216701.git.public@HIDDEN>
Resent-From: Xinglu Chen <public@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Sun, 19 Dec 2021 08:48:01 +0000
Resent-Message-ID: <handler.51655.B51655.163990365531979 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 51655
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: zimoun <zimon.toutoune@HIDDEN>, 51655 <at> debbugs.gnu.org
Cc: Lars-Dominik Braun <lars@HIDDEN>
Received: via spool by 51655-submit <at> debbugs.gnu.org id=B51655.163990365531979
(code B ref 51655); Sun, 19 Dec 2021 08:48:01 +0000
Received: (at 51655) by debbugs.gnu.org; 19 Dec 2021 08:47:35 +0000
Received: from localhost ([127.0.0.1]:44775 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1myrqw-0008Ji-KH
for submit <at> debbugs.gnu.org; Sun, 19 Dec 2021 03:47:35 -0500
Received: from h87-96-130-155.cust.a3fiber.se ([87.96.130.155]:46354
helo=mail.yoctocell.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <public@HIDDEN>) id 1myrqu-0008JO-EH
for 51655 <at> debbugs.gnu.org; Sun, 19 Dec 2021 03:47:33 -0500
From: Xinglu Chen <public@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yoctocell.xyz;
s=mail; t=1639903644;
bh=lUsSNZCC6TQkYfW8Bh9Lr0xKpAf/40BultOCDXkWCLQ=;
h=From:To:Cc:Subject:In-Reply-To:Date;
b=RcHJ5xXfffoSiI4GbqTeIfHNMI4RK+mmuku/76I5VfOwyYJh7/J8d71f8Fv5YQwDc
Xjel+AUOYC+D5DYb85DBJaLggggURCggw1YSi55sz6nugSIfAQxukacj9686+Bgpa/
glhJYeQHsHN7jF7bo/JRGxC91eFflN8P5i7vSWj0=
In-Reply-To: <86bl2lbgvd.fsf@HIDDEN>
Date: Sun, 19 Dec 2021 09:47:22 +0100
Message-ID: <878rwhouat.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 2.9 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hi, On Mo, Nov 15 2021, zimoun wrote: > Hi, > > On Sun, 07
Nov 2021 at 11:55, Xinglu Chen <public@HIDDEN> wrote: >> * guix/packages.scm
(package-with-explicit-compiler): New procedure; >> factorized from =?UTF-8?Q?=E2=80=98package-with-explicit-py?=
[...]
Content analysis details: (2.9 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 SPF_PASS SPF: sender matches SPF record
2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs
[URI: yoctocell.xyz (xyz)]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
0.5 FROM_SUSPICIOUS_NTLD From abused NTLD
0.4 RDNS_DYNAMIC Delivered to internal network by host with
dynamic-looking rDNS
0.0 PDS_RDNS_DYNAMIC_FP RDNS_DYNAMIC with FP steps
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 2.9 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hi, On Mo, Nov 15 2021, zimoun wrote: > Hi, > > On Sun, 07
Nov 2021 at 11:55, Xinglu Chen <public@HIDDEN> wrote: >> * guix/packages.scm
(package-with-explicit-compiler): New procedure; >> factorized from =?UTF-8?Q?=E2=80=98package-with-explicit-py?=
[...]
Content analysis details: (2.9 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 SPF_PASS SPF: sender matches SPF record
2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs
[URI: yoctocell.xyz (xyz)]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
0.5 FROM_SUSPICIOUS_NTLD From abused NTLD
0.4 RDNS_DYNAMIC Delivered to internal network by host with
dynamic-looking rDNS
1.0 BULK_RE_SUSP_NTLD Precedence bulk and RE: from a suspicious TLD
-1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
manager
0.0 PDS_RDNS_DYNAMIC_FP RDNS_DYNAMIC with FP steps
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Hi,
On Mo, Nov 15 2021, zimoun wrote:
> Hi,
>
> On Sun, 07 Nov 2021 at 11:55, Xinglu Chen <public@HIDDEN> wrote:
>> * guix/packages.scm (package-with-explicit-compiler): New procedure;
>> factorized from =E2=80=98package-with-explicit-python=E2=80=99.
>> * guix/build-system/python.scm (package-with-explicit-python): Use
>> =E2=80=98package-with-explicit-compiler=E2=80=99.
>> * guix/build-system/haskell.scm (package-with-explicit-haskell): New pro=
cedure.
>> * doc/guix.texi (Defining Package Variants): Document it.
>> ---
>> doc/guix.texi | 37 ++++++++++++++++++
>> guix/build-system/haskell.scm | 8 ++++
>> guix/build-system/python.scm | 71 +++++++----------------------------
>> guix/packages.scm | 55 +++++++++++++++++++++++++++
>> 4 files changed, 113 insertions(+), 58 deletions(-)
>
> Neat refactoring! :-) It is something discussing several times and I do
> not know if =E2=80=99package-with-explicit-ocaml=E2=80=99 could not be ad=
ded too. The
> issue is that it depends on more than only one element for =E2=80=9Ccompi=
ling=E2=80=9D:
> ocaml, findlib and dune.
Ah, yes, I forgot about OCaml. :-)
> On the other hand, guix/build-system/gnu.scm contains
> =E2=80=99package-with-explicit-inputs*=E2=80=99 which is more or less the=
same idea.
> And =E2=80=99transform-package-toolchain=E2=80=99 is another instance.
I didn=E2=80=99t about =E2=80=98package-with-explicit-inputs*=E2=80=99, but=
I will look into it.=20
> This =E2=80=99package-with-explicit-{ocaml,python}=E2=80=99 pre-dates the
> transformations and deep rewriting.
>
> Therefore, maybe refactor could revisit the complete story.
>
> Well, I had headaches last time I gave a look at transformations. And I
> do not know if it is possible to have a generic transformation for
> rewriting implicit inputs of all build systems. That=E2=80=99s something=
that
> could be nice to nice: =E2=80=99package-with-explicit-python=E2=80=99 bas=
ed on a
> =E2=80=9Cgeneric=E2=80=9D =E2=80=99package-with-explicit-compiler=E2=80=
=99 (compiler or toolchain
> though) and provides =E2=80=99package-with-explicit-*=E2=80=99 for all bu=
ild systems
> (ocaml, ghc, emacs, guile, etc.).
Yeah, that would be nice to have. I currently have some other things I
would like to focus on, but I should look more into package
transformations, and hopefully come up with a good solution to this.
:-)
>> +@lisp
>> +(use-modules (guix build-system haskell))
>> +
>> +(define (default-haskell-8.8)
>> + ;; Lazily resolve the binding to avoid a circular dependency.
>> + (let ((haskell (resolve-interface '(gnu packages haskell))))
>> + (module-ref haskell 'ghc-8.8)))
>> +
>> +(define package-with-haskell-8.8
>> + (package-with-explicit-haskell (delay (default-haskell-8.8))
>> + "ghc-" "ghc-8.8-"
>> + #:variant-property 'ghc-8.8-variant))
>> +@end lisp
>
> As Lars said, an instance is missing, IMHO.
Not sure what you are referring to here, what exactly do you mean with
=E2=80=9Cinstance=E2=80=9D?
--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmG+8ZoVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5e9EP/3PxboQBE64JEhoWvB7FmqjxFhyv
WMQbr9zfOPSUCmD4jwgjxjgIyOwZe7/yTwKv66rQFGGd2Q3Qo+DmTm/1CTWNllZ6
K2Vt52D+oEjlEplfAqjFsftuiGx3JQm5XfluwakaV1qlOi/nbWS1lpP68iOT2d/W
lVoo+F4loXjKkPK/ZpEzWFZk5JW5v15b1X2+/dFhh2cEWwxEweuNVZqDWVSOBaqW
jqwkaFgEKeoyj/F21Qmj7oq40gqn56lJtB1kKkV2FbHivTu2l4MoknIYzsyvdV69
P6MQQKCRCHzaLn6JuZLuI65dDqquEt2U7GAYm5OyaHlYO7/PVYUt6/lB/l4KSCV3
dcx1+yTuKKlR06ApRQnVjfiwpqnPX2yTD0DOazN1KNBu907CAAXeLuQxCYLG4TPo
6zWXV8lTZAIVX6uwmVPsnBSJEr/Fk5kw18P8uNgg+fvRB5aV4+Ru/kD+CgwE5F2U
eej9opR5APX8T8S+KUfditG458AskKGlhh3x+IW3RTro8dglR6dWZEdwWfK6+hMY
1buf/B/WvwyU8lGwNUwGa5gtlrRc1m1gkQ9zgFJhKrHJJsMBIMXIGWiEpkQTsbEf
awr07B0+hFmGzGyn6438YipU/XvVRDqQ/caDxCxiu1lUllBELC7+04rzmk3jFLdV
CJnGXc7ahVAPAMNY
=rg0J
-----END PGP SIGNATURE-----
--=-=-=--
X-Loop: help-debbugs@HIDDEN
Subject: [bug#51655] [PATCH] build-system: haskell: Add =?UTF-8?Q?=E2=80=98package-with-explicit-haskell=E2=80=99?= procedure.
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Sun, 19 Dec 2021 09:32:02 +0000
Resent-Message-ID: <handler.51655.B51655.16399062727830 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 51655
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Xinglu Chen <public@HIDDEN>, 51655 <at> debbugs.gnu.org
Cc: Lars-Dominik Braun <lars@HIDDEN>
Received: via spool by 51655-submit <at> debbugs.gnu.org id=B51655.16399062727830
(code B ref 51655); Sun, 19 Dec 2021 09:32:02 +0000
Received: (at 51655) by debbugs.gnu.org; 19 Dec 2021 09:31:12 +0000
Received: from localhost ([127.0.0.1]:44806 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mysXA-00021z-Ar
for submit <at> debbugs.gnu.org; Sun, 19 Dec 2021 04:31:12 -0500
Received: from mail-wr1-f49.google.com ([209.85.221.49]:38579)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <zimon.toutoune@HIDDEN>) id 1mysX6-0001tc-7D
for 51655 <at> debbugs.gnu.org; Sun, 19 Dec 2021 04:31:08 -0500
Received: by mail-wr1-f49.google.com with SMTP id e5so13560959wrc.5
for <51655 <at> debbugs.gnu.org>; Sun, 19 Dec 2021 01:31:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=from:to:cc:subject:in-reply-to:references:date:message-id
:mime-version:content-transfer-encoding;
bh=8WAdufyBcjpP+9Dt1+jZNfHCYon5x0CbtHgf3mUh3c0=;
b=SVmzto/1HVwXo3ZruKiXwJiqaij1TX1nWb7NUnHTesEjVIoAhIzgokZrOUG954zgla
gYQW1VdEuAvEi3mAeC3lNo7g1X9WR2WvBZALRJovxeQO6emj3j+M3iOHkcYGfFPW7+Y3
eOIT2E/dmyDS9ZDoaHXrXDUcQwQ9FHDDQeiBEppM56BaynZnz8dNi4Z5Pw5G6T3H6FA9
088akeLWMGJ5rfY21gTH505iI4WL/2WLYcaIAIKrmR3wRgSoufha2yvq5YWl+av0ZfJk
j6HtIoCEu+35gCtwJ5oaoVBWs7HjUV9DTRKFuMx8v9goIfXNqG4itB+zD5YUL9T+wawp
Bysg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
:message-id:mime-version:content-transfer-encoding;
bh=8WAdufyBcjpP+9Dt1+jZNfHCYon5x0CbtHgf3mUh3c0=;
b=CfNOCtPOghfKkgEmyESfGvCS2bI02wT2CWq00onASBE5tPMEmuLEDdOBDW+lvlCYuu
vOVpP2Wc18aQcsguSa6dHmmg3TzKE6UzzOgJnc3FU2l2GGM5Xjaza/RezoeMnYhjon93
hl4ztnTFnSOg+/gMZVWwvS9gTqTT1W4ZQAV7fkDV2lQGsA3rtWsmu3iXPtUGY9a4Sw1C
vRDAldu33x4c80HhiZxf8UMbyirGySzOgQyLryBTgTvakGYawocLOIV0Bmdk+lckMSCC
Uf+TfLxgj0wob6re4H80P4yJ9VArcTax4TGTHKESKi8ivHS7GOQIPqqD/CbzGtTJDp10
YVcA==
X-Gm-Message-State: AOAM530dxyy/B60hAyw0WRzEpXRGpKW7OaSbp0yLTrfUbr4oVjMo7dK5
7tEesXY+mCHH7kVzWNNxglNKrdIzD+w=
X-Google-Smtp-Source: ABdhPJzh7wT8wacUPSMb0HDmQ9kBW7wN+gOvwMuWKFyci5WUenv9yKQ8o3UDpzTfZYh3T7GT+8uOSw==
X-Received: by 2002:a5d:6d88:: with SMTP id l8mr9217976wrs.270.1639906262648;
Sun, 19 Dec 2021 01:31:02 -0800 (PST)
Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e])
by smtp.gmail.com with ESMTPSA id j85sm20609276wmj.3.2021.12.19.01.31.01
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 19 Dec 2021 01:31:02 -0800 (PST)
From: zimoun <zimon.toutoune@HIDDEN>
In-Reply-To: <878rwhouat.fsf@HIDDEN>
References: <878rwhouat.fsf@HIDDEN>
Date: Sun, 19 Dec 2021 10:23:05 +0100
Message-ID: <86wnk1osna.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hi, On Sun, 19 Dec 2021 at 09:47,
Xinglu Chen wrote: >>> +@lisp
>>> +(use-modules (guix build-system haskell)) >>> + >>> +(define
(default-haskell-8.8)
>>> + ;; Lazily resolve the binding to avoid a circular dependency. >>> +
(let ((haskell (resolve-int [...]
Content analysis details: (2.0 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (zimon.toutoune[at]gmail.com)
2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs
[URI: yoctocell.xyz (xyz)]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [209.85.221.49 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2)
[209.85.221.49 listed in wl.mailspike.net]
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)
Hi,
On Sun, 19 Dec 2021 at 09:47, Xinglu Chen <public@HIDDEN> wrote:
>>> +@lisp
>>> +(use-modules (guix build-system haskell))
>>> +
>>> +(define (default-haskell-8.8)
>>> + ;; Lazily resolve the binding to avoid a circular dependency.
>>> + (let ((haskell (resolve-interface '(gnu packages haskell))))
>>> + (module-ref haskell 'ghc-8.8)))
>>> +
>>> +(define package-with-haskell-8.8
>>> + (package-with-explicit-haskell (delay (default-haskell-8.8))
>>> + "ghc-" "ghc-8.8-"
>>> + #:variant-property 'ghc-8.8-variant))
>>> +@end lisp
>>
>> As Lars said, an instance is missing, IMHO.
>
> Not sure what you are referring to here, what exactly do you mean with
> =E2=80=9Cinstance=E2=80=9D?
For example, something as:
(package-with-haskell-8.8 hledger)
Cheers,
simon
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.