From unknown Fri Jun 13 11:23:58 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#36249] [PATCH] gnu: ghc-clock: Break test dependency cycle differently. Resent-From: Robert Vollmert Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 16 Jun 2019 16:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36249 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36249@debbugs.gnu.org Cc: Robert Vollmert X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156070257714051 (code B ref -1); Sun, 16 Jun 2019 16:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jun 2019 16:29:37 +0000 Received: from localhost ([127.0.0.1]:41322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcY28-0003eR-Ml for submit@debbugs.gnu.org; Sun, 16 Jun 2019 12:29:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:34055) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcY25-0003eG-7l for submit@debbugs.gnu.org; Sun, 16 Jun 2019 12:29:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34390) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hcY23-0000sv-Aj for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hcY21-0003Ca-C1 for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:27 -0400 Received: from mx1.mailbox.org ([2001:67c:2050:104:0:1:25:1]:18836) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hcY21-0003Ag-0c for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:25 -0400 Received: from smtp2.mailbox.org (smtp2.mailbox.org [80.241.60.241]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mx1.mailbox.org (Postfix) with ESMTPS id 7A64950087; Sun, 16 Jun 2019 18:29:22 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp2.mailbox.org ([80.241.60.241]) by spamfilter05.heinlein-hosting.de (spamfilter05.heinlein-hosting.de [80.241.56.123]) (amavisd-new, port 10030) with ESMTP id N-HMeYcYJqUF; Sun, 16 Jun 2019 18:29:07 +0200 (CEST) From: Robert Vollmert Date: Sun, 16 Jun 2019 18:29:02 +0200 Message-Id: <20190616162902.28977-1-rob@vllmrt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:67c:2050:104:0:1:25:1 X-Spam-Score: -1.6 (-) 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: -2.6 (--) Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36084. * gnu/packages/haskell-check.scm (ghc-tasty): Import ghc-clock-bootstrap directly from (gnu packages haskell). (ghc-clock-bootstrap): Move to... * gnu/packages/haskell.scm (ghc-clock-bootstrap): Here and update to 0.7.= 2. (ghc-clock): Inherit ghc-clock-bootstrap and build as test-only package t= hat builds tests against ghc-clock-bootstrap and copies its result. --- gnu/packages/haskell-check.scm | 26 +-------------------- gnu/packages/haskell.scm | 42 +++++++++++++++++++++++++++++----- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.= scm index cfd986ed5e..21ea365aab 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -153,30 +153,6 @@ output file should be identical to the corresponding= @code{golden} file, which contains the correct result for the test.") (license license:expat))) =20 -;; This package builds `clock` without tests, since the tests rely on ta= sty -;; and tasty-quickcheck, which in turn require clock to build. -(define ghc-clock-bootstrap - (package - (name "ghc-clock-bootstrap") - (version "0.5.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "clock/" - "clock-" version ".tar.gz")) - (sha256 - (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))= )) - (build-system haskell-build-system) - (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and - ;; tasty-quickcheck, which need clock to = build. - (home-page "https://hackage.haskell.org/package/clock") - (synopsis "High-resolution clock for Haskell") - (description "A package for convenient access to high-resolution clo= ck and -timer functions of different operating systems via a unified API.") - (license license:bsd-3))) - (define-public ghc-tasty (package (name "ghc-tasty") @@ -199,7 +175,7 @@ timer functions of different operating systems via a = unified API.") ("ghc-unbounded-delays" ,ghc-unbounded-delays) ("ghc-async" ,ghc-async) ("ghc-ansi-terminal" ,ghc-ansi-terminal) - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-clock-bootstrap" ,(@@ (gnu packages haskell) ghc-clock-boot= strap)) ("ghc-wcwidth" ,ghc-wcwidth-bootstrap))) (home-page "http://documentup.com/feuerbach/tasty") (synopsis "Modern and extensible testing framework") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b9745b9661..35e89bb15c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1,4 +1,3 @@ - ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016 Federico Beffa ;;; Copyright =C2=A9 2015 Sini=C5=A1a Bi=C4=91in @@ -4757,9 +4756,11 @@ or timeout period. This package provides alternat= ive functions which use the unbounded @code{Integer} type.") (license license:bsd-3))) =20 -(define-public ghc-clock +;; This package builds `clock` without tests, since the tests rely on ta= sty +;; and tasty-quickcheck, which in turn require clock to build. +(define ghc-clock-bootstrap (package - (name "ghc-clock") + (name "ghc-clock-bootstrap") (version "0.7.2") (source (origin @@ -4771,15 +4772,44 @@ unbounded @code{Integer} type.") (sha256 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))= )) (build-system haskell-build-system) - (inputs - `(("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and + ;; tasty-quickcheck, which need clock to build. (home-page "https://hackage.haskell.org/package/clock") (synopsis "High-resolution clock for Haskell") (description "A package for convenient access to high-resolution clo= ck and timer functions of different operating systems via a unified API.") (license license:bsd-3))) =20 +(define-public ghc-clock + (package + (inherit ghc-clock-bootstrap) + (name "ghc-clock") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "clock/" + "clock-" version ".tar.gz")) + (sha256 + (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8")) + (patches + (search-patches + "ghc-clock-disable-library.patch")))) + (inputs + `(("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments + `(#:tests? #t + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bootstrap (assoc-ref inputs "ghc-clock-bootstrap"))) + (copy-recursively bootstrap (assoc-ref outputs "out")))))= ))))) + (define-public ghc-charset (package (name "ghc-charset") --=20 2.20.1 (Apple Git-117) From unknown Fri Jun 13 11:23:58 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#36249] [PATCH] gnu: ghc-clock: Break test dependency cycle differently. Resent-From: Robert Vollmert Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 16 Jun 2019 16:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36249 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36249@debbugs.gnu.org Received: via spool by 36249-submit@debbugs.gnu.org id=B36249.156070337615433 (code B ref 36249); Sun, 16 Jun 2019 16:43:01 +0000 Received: (at 36249) by debbugs.gnu.org; 16 Jun 2019 16:42:56 +0000 Received: from localhost ([127.0.0.1]:41330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcYF0-00040j-SU for submit@debbugs.gnu.org; Sun, 16 Jun 2019 12:42:56 -0400 Received: from mx2.mailbox.org ([80.241.60.215]:10184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcYEz-00040V-0g for 36249@debbugs.gnu.org; Sun, 16 Jun 2019 12:42:49 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mx2.mailbox.org (Postfix) with ESMTPS id E31FAA019D for <36249@debbugs.gnu.org>; Sun, 16 Jun 2019 18:42:41 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter06.heinlein-hosting.de (spamfilter06.heinlein-hosting.de [80.241.56.125]) (amavisd-new, port 10030) with ESMTP id ii_keO7dpLfT for <36249@debbugs.gnu.org>; Sun, 16 Jun 2019 18:42:16 +0200 (CEST) From: Robert Vollmert Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sun, 16 Jun 2019 18:42:15 +0200 References: <20190616162902.28977-1-rob@vllmrt.net> In-Reply-To: <20190616162902.28977-1-rob@vllmrt.net> Message-Id: <443E9718-007C-4CE5-9CFB-11BAC6628A1B@vllmrt.net> X-Spam-Score: -0.7 (/) 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: -1.7 (-) > On 16. Jun 2019, at 18:29, Robert Vollmert wrote: >=20 > Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36084. >=20 > * gnu/packages/haskell-check.scm (ghc-tasty): Import = ghc-clock-bootstrap > directly from (gnu packages haskell). > (ghc-clock-bootstrap): Move to... > * gnu/packages/haskell.scm (ghc-clock-bootstrap): Here and update to = 0.7.2. > (ghc-clock): Inherit ghc-clock-bootstrap and build as test-only = package that > builds tests against ghc-clock-bootstrap and copies its result. > =E2=80=94 [=E2=80=A6] > @@ -199,7 +175,7 @@ timer functions of different operating systems via = a unified API.") > ("ghc-unbounded-delays" ,ghc-unbounded-delays) > ("ghc-async" ,ghc-async) > ("ghc-ansi-terminal" ,ghc-ansi-terminal) > - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) > + ("ghc-clock-bootstrap" ,(@@ (gnu packages haskell) = ghc-clock-bootstrap)) Is this an appropriate thing to do? Or should I export = ghc-clock-bootstrap and mark it hidden? > ("ghc-wcwidth" ,ghc-wcwidth-bootstrap))) > (home-page "http://documentup.com/feuerbach/tasty") > (synopsis "Modern and extensible testing framework") > diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm > index b9745b9661..35e89bb15c 100644 > --- a/gnu/packages/haskell.scm > +++ b/gnu/packages/haskell.scm > @@ -1,4 +1,3 @@ > - > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright =C2=A9 2015, 2016 Federico Beffa = > ;;; Copyright =C2=A9 2015 Sini=C5=A1a Bi=C4=91in Oops, that must be introduced in some other patch of mine. (Bad keyboard = :-( ) > +(define-public ghc-clock > + (package > + (inherit ghc-clock-bootstrap) > + (name "ghc-clock") > + (version "0.7.2") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://hackage.haskell.org/package/" > + "clock/" > + "clock-" version ".tar.gz")) > + (sha256 > + (base32 = "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8")) > + (patches > + (search-patches > + "ghc-clock-disable-library.patch")))) I missed adding the patch, see below. > + (inputs > + `(("ghc-clock-bootstrap" ,ghc-clock-bootstrap) > + ("ghc-tasty" ,ghc-tasty) > + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) > + (arguments > + `(#:tests? #t > + #:phases > + (modify-phases %standard-phases > + (replace 'install > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (let ((bootstrap (assoc-ref inputs = "ghc-clock-bootstrap"))) > + (copy-recursively bootstrap (assoc-ref outputs = "out")))))))))) > + > (define-public ghc-charset > (package > (name "ghc-charset") > --=20 > 2.20.1 (Apple Git-117) >=20 diff --git a/gnu/packages/patches/ghc-clock-disable-library.patch = b/gnu/packages/patches/ghc-clock-disable-library.patch new file mode 100644 index 0000000000..4bf83cfaf1 --- /dev/null +++ b/gnu/packages/patches/ghc-clock-disable-library.patch @@ -0,0 +1,13 @@ + +diff -u a/clock.cabal b/clock.cabal +--- a/clock.cabal 2019-06-16 17:36:19.212000000 +0200 ++++ b/clock.cabal 2019-06-16 17:36:37.804000000 +0200 +@@ -61,6 +61,7 @@ +=20 +=20 +-library ++library disabled ++ buildable: False + if impl (ghc < 7.6) + build-depends: base >=3D 4.4 && <=3D 5, ghc-prim + build-depends: base >=3D 2 && <=3D 5 The library needs to be renamed because it conflicts with the existing = clock library otherwise. This feels a bit hacky, but I don=E2=80=99t currently see a more elegant = way to handle this. Ideas? From unknown Fri Jun 13 11:23:58 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#36249] [PATCH v2] gnu: ghc-clock: Align version of bootstrap and real package References: <20190616162902.28977-1-rob@vllmrt.net> In-Reply-To: <20190616162902.28977-1-rob@vllmrt.net> Resent-From: Robert Vollmert Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 16 Jul 2019 16:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36249 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36249@debbugs.gnu.org Cc: Robert Vollmert Received: via spool by 36249-submit@debbugs.gnu.org id=B36249.156329379120876 (code B ref 36249); Tue, 16 Jul 2019 16:17:01 +0000 Received: (at 36249) by debbugs.gnu.org; 16 Jul 2019 16:16:31 +0000 Received: from localhost ([127.0.0.1]:51041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hnQ7y-0005Qe-Lc for submit@debbugs.gnu.org; Tue, 16 Jul 2019 12:16:31 -0400 Received: from mx1.mailbox.org ([80.241.60.212]:34612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hnQ7w-0005QJ-03 for 36249@debbugs.gnu.org; Tue, 16 Jul 2019 12:16:28 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mx1.mailbox.org (Postfix) with ESMTPS id 685C850759; Tue, 16 Jul 2019 18:16:21 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de [80.241.56.116]) (amavisd-new, port 10030) with ESMTP id Q2CRnbxgOpyL; Tue, 16 Jul 2019 18:16:18 +0200 (CEST) From: Robert Vollmert Date: Tue, 16 Jul 2019 18:16:06 +0200 Message-Id: <20190716161605.22764-1-rob@vllmrt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) 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: -1.7 (-) Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36084. * gnu/packages/haskell-check.scm (ghc-tasty): Import ghc-clock-bootstrap directly from (gnu packages haskell). (ghc-clock-bootstrap): Move to... * gnu/packages/haskell.scm (ghc-clock-bootstrap): Here and update to 0.7.2. (ghc-clock): Inherit ghc-clock-bootstrap and build with tests. --- gnu/packages/haskell-check.scm | 26 +------------------------- gnu/packages/haskell.scm | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index d275b5f525..294665478b 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -153,30 +153,6 @@ output file should be identical to the corresponding @code{golden} file, which contains the correct result for the test.") (license license:expat))) -;; This package builds `clock` without tests, since the tests rely on tasty -;; and tasty-quickcheck, which in turn require clock to build. -(define ghc-clock-bootstrap - (package - (name "ghc-clock-bootstrap") - (version "0.5.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "clock/" - "clock-" version ".tar.gz")) - (sha256 - (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw")))) - (build-system haskell-build-system) - (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and - ;; tasty-quickcheck, which need clock to build. - (home-page "https://hackage.haskell.org/package/clock") - (synopsis "High-resolution clock for Haskell") - (description "A package for convenient access to high-resolution clock and -timer functions of different operating systems via a unified API.") - (license license:bsd-3))) - (define-public ghc-tasty (package (name "ghc-tasty") @@ -199,7 +175,7 @@ timer functions of different operating systems via a unified API.") ("ghc-unbounded-delays" ,ghc-unbounded-delays) ("ghc-async" ,ghc-async) ("ghc-ansi-terminal" ,ghc-ansi-terminal) - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-clock-bootstrap" ,(@@ (gnu packages haskell) ghc-clock-bootstrap)) ("ghc-wcwidth" ,ghc-wcwidth-bootstrap))) (home-page "http://documentup.com/feuerbach/tasty") (synopsis "Modern and extensible testing framework") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7c910e56cb..65d8d75950 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4785,9 +4785,11 @@ or timeout period. This package provides alternative functions which use the unbounded @code{Integer} type.") (license license:bsd-3))) -(define-public ghc-clock +;; This package builds `clock` without tests, since the tests rely on tasty +;; and tasty-quickcheck, which in turn require clock to build. +(define ghc-clock-bootstrap (package - (name "ghc-clock") + (name "ghc-clock-bootstrap") (version "0.7.2") (source (origin @@ -4799,15 +4801,23 @@ unbounded @code{Integer} type.") (sha256 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8")))) (build-system haskell-build-system) - (inputs - `(("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and + ;; tasty-quickcheck, which need clock to build. (home-page "https://hackage.haskell.org/package/clock") (synopsis "High-resolution clock for Haskell") (description "A package for convenient access to high-resolution clock and timer functions of different operating systems via a unified API.") (license license:bsd-3))) +(define-public ghc-clock + (package + (inherit ghc-clock-bootstrap) + (name "ghc-clock") + (inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments `(#:tests? #t)))) + (define-public ghc-charset (package (name "ghc-charset") -- 2.20.1 (Apple Git-117) From unknown Fri Jun 13 11:23:58 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: Robert Vollmert Subject: bug#36249: closed (Re: [bug#36249] [PATCH v2] gnu: ghc-clock: Align version of bootstrap and real package) Message-ID: References: <87ef2pdcfn.fsf@ngyro.com> <20190616162902.28977-1-rob@vllmrt.net> X-Gnu-PR-Message: they-closed 36249 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 36249@debbugs.gnu.org Date: Tue, 16 Jul 2019 19:10:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1563304204-8091-1" This is a multi-part message in MIME format... ------------=_1563304204-8091-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #36249: [PATCH] gnu: ghc-clock: Break test dependency cycle differently. 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 36249@debbugs.gnu.org. --=20 36249: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36249 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1563304204-8091-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 36249-done) by debbugs.gnu.org; 16 Jul 2019 19:09:11 +0000 Received: from localhost ([127.0.0.1]:51142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hnSp4-00024i-Ql for submit@debbugs.gnu.org; Tue, 16 Jul 2019 15:09:11 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hnSp2-000247-2v for 36249-done@debbugs.gnu.org; Tue, 16 Jul 2019 15:09:08 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 4E45F22206; Tue, 16 Jul 2019 15:09:01 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Tue, 16 Jul 2019 15:09:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=sV4XlKdFiNHy604RbmppcJ2BHG7XJcbcVLmkMUoWU FQ=; b=z2gYdSF6hYNeiMksdt8zrYRYy4nrE5eMGgwmjHhCLoMMwl03tRcJC30rG YetxRgoC5QuyqgWIppCGE1xTxVsy4WIV9o7jcvV6uGI1JDsEhLiYez1cU6082PY+ fLWtwgzm5syvR8yLzOK9RodFV7+aISXqhgsgjVCSYk+pFECPuj+GjPaBJ55LqRq9 HhxFuko6IS5JanVy8zQeZthY+T5MyN2gNi6T4+jX6T+MnOHprTKlyVmJZkZPYs8Y obVi0CcW28mk+hL1qT6nVhhzTmh9rP3G7Z3AB6W/u/oCwmwZrPeus+kTmP60T2FL Os8kmAtPheIypD4GXEvnEGMGCEWYQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddriedtgddufeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufhffjgfkfgggtgfgsehtqh ertddtreejnecuhfhrohhmpefvihhmohhthhihucfurghmphhlvgcuoehsrghmphhlvght sehnghihrhhordgtohhmqeenucffohhmrghinhepghhnuhdrohhrghenucfkphepjeegrd duudeirddukeeirdeggeenucfrrghrrghmpehmrghilhhfrhhomhepshgrmhhplhgvthes nhhghihrohdrtghomhenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from mrblack (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 9CAB480064; Tue, 16 Jul 2019 15:09:00 -0400 (EDT) From: Timothy Sample To: Robert Vollmert Subject: Re: [bug#36249] [PATCH v2] gnu: ghc-clock: Align version of bootstrap and real package References: <20190616162902.28977-1-rob@vllmrt.net> <20190716161605.22764-1-rob@vllmrt.net> Date: Tue, 16 Jul 2019 15:09:00 -0400 In-Reply-To: <20190716161605.22764-1-rob@vllmrt.net> (Robert Vollmert's message of "Tue, 16 Jul 2019 18:16:06 +0200") Message-ID: <87ef2pdcfn.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 36249-done Cc: 36249-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: -1.7 (-) Hi Robert, Robert Vollmert writes: > Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36084. > > * gnu/packages/haskell-check.scm (ghc-tasty): Import ghc-clock-bootstrap > directly from (gnu packages haskell). > (ghc-clock-bootstrap): Move to... > * gnu/packages/haskell.scm (ghc-clock-bootstrap): Here and update to 0.7.= 2. > (ghc-clock): Inherit ghc-clock-bootstrap and build with tests. > --- > gnu/packages/haskell-check.scm | 26 +------------------------- > gnu/packages/haskell.scm | 20 +++++++++++++++----- > 2 files changed, 16 insertions(+), 30 deletions(-) > > [...] I ended up turning this around, and basing =E2=80=9Cghc-clock-bootstrap=E2= =80=9D on =E2=80=9Cghc-clock=E2=80=9D. It turns out we already have a bunch of packa= ges that do the same thing, so all that was needed was to follow those examples. I committed a similar patch as 71e5d425c9b9e108ebdd06d13de45b56dddd9ef5, with you as the co-author. Thanks! -- Tim ------------=_1563304204-8091-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 16 Jun 2019 16:29:37 +0000 Received: from localhost ([127.0.0.1]:41322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcY28-0003eR-Ml for submit@debbugs.gnu.org; Sun, 16 Jun 2019 12:29:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:34055) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcY25-0003eG-7l for submit@debbugs.gnu.org; Sun, 16 Jun 2019 12:29:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34390) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hcY23-0000sv-Aj for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hcY21-0003Ca-C1 for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:27 -0400 Received: from mx1.mailbox.org ([2001:67c:2050:104:0:1:25:1]:18836) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hcY21-0003Ag-0c for guix-patches@gnu.org; Sun, 16 Jun 2019 12:29:25 -0400 Received: from smtp2.mailbox.org (smtp2.mailbox.org [80.241.60.241]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mx1.mailbox.org (Postfix) with ESMTPS id 7A64950087; Sun, 16 Jun 2019 18:29:22 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp2.mailbox.org ([80.241.60.241]) by spamfilter05.heinlein-hosting.de (spamfilter05.heinlein-hosting.de [80.241.56.123]) (amavisd-new, port 10030) with ESMTP id N-HMeYcYJqUF; Sun, 16 Jun 2019 18:29:07 +0200 (CEST) From: Robert Vollmert To: guix-patches@gnu.org Subject: [PATCH] gnu: ghc-clock: Break test dependency cycle differently. Date: Sun, 16 Jun 2019 18:29:02 +0200 Message-Id: <20190616162902.28977-1-rob@vllmrt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:67c:2050:104:0:1:25:1 X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit Cc: Robert Vollmert 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: -2.6 (--) Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36084. * gnu/packages/haskell-check.scm (ghc-tasty): Import ghc-clock-bootstrap directly from (gnu packages haskell). (ghc-clock-bootstrap): Move to... * gnu/packages/haskell.scm (ghc-clock-bootstrap): Here and update to 0.7.= 2. (ghc-clock): Inherit ghc-clock-bootstrap and build as test-only package t= hat builds tests against ghc-clock-bootstrap and copies its result. --- gnu/packages/haskell-check.scm | 26 +-------------------- gnu/packages/haskell.scm | 42 +++++++++++++++++++++++++++++----- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.= scm index cfd986ed5e..21ea365aab 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -153,30 +153,6 @@ output file should be identical to the corresponding= @code{golden} file, which contains the correct result for the test.") (license license:expat))) =20 -;; This package builds `clock` without tests, since the tests rely on ta= sty -;; and tasty-quickcheck, which in turn require clock to build. -(define ghc-clock-bootstrap - (package - (name "ghc-clock-bootstrap") - (version "0.5.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/" - "clock/" - "clock-" version ".tar.gz")) - (sha256 - (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))= )) - (build-system haskell-build-system) - (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and - ;; tasty-quickcheck, which need clock to = build. - (home-page "https://hackage.haskell.org/package/clock") - (synopsis "High-resolution clock for Haskell") - (description "A package for convenient access to high-resolution clo= ck and -timer functions of different operating systems via a unified API.") - (license license:bsd-3))) - (define-public ghc-tasty (package (name "ghc-tasty") @@ -199,7 +175,7 @@ timer functions of different operating systems via a = unified API.") ("ghc-unbounded-delays" ,ghc-unbounded-delays) ("ghc-async" ,ghc-async) ("ghc-ansi-terminal" ,ghc-ansi-terminal) - ("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-clock-bootstrap" ,(@@ (gnu packages haskell) ghc-clock-boot= strap)) ("ghc-wcwidth" ,ghc-wcwidth-bootstrap))) (home-page "http://documentup.com/feuerbach/tasty") (synopsis "Modern and extensible testing framework") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b9745b9661..35e89bb15c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1,4 +1,3 @@ - ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015, 2016 Federico Beffa ;;; Copyright =C2=A9 2015 Sini=C5=A1a Bi=C4=91in @@ -4757,9 +4756,11 @@ or timeout period. This package provides alternat= ive functions which use the unbounded @code{Integer} type.") (license license:bsd-3))) =20 -(define-public ghc-clock +;; This package builds `clock` without tests, since the tests rely on ta= sty +;; and tasty-quickcheck, which in turn require clock to build. +(define ghc-clock-bootstrap (package - (name "ghc-clock") + (name "ghc-clock-bootstrap") (version "0.7.2") (source (origin @@ -4771,15 +4772,44 @@ unbounded @code{Integer} type.") (sha256 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))= )) (build-system haskell-build-system) - (inputs - `(("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and + ;; tasty-quickcheck, which need clock to build. (home-page "https://hackage.haskell.org/package/clock") (synopsis "High-resolution clock for Haskell") (description "A package for convenient access to high-resolution clo= ck and timer functions of different operating systems via a unified API.") (license license:bsd-3))) =20 +(define-public ghc-clock + (package + (inherit ghc-clock-bootstrap) + (name "ghc-clock") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "clock/" + "clock-" version ".tar.gz")) + (sha256 + (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8")) + (patches + (search-patches + "ghc-clock-disable-library.patch")))) + (inputs + `(("ghc-clock-bootstrap" ,ghc-clock-bootstrap) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (arguments + `(#:tests? #t + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bootstrap (assoc-ref inputs "ghc-clock-bootstrap"))) + (copy-recursively bootstrap (assoc-ref outputs "out")))))= ))))) + (define-public ghc-charset (package (name "ghc-charset") --=20 2.20.1 (Apple Git-117) ------------=_1563304204-8091-1--