From 44f43603d369d2df06942ecf90f983e850b87f43 Mon Sep 17 00:00:00 2001 From: Simon Tournier Date: Wed, 1 Feb 2023 10:36:00 +0100 Subject: gnu: Rename 'git-minimal/fixed' to 'git-minimal/pinned'. * gnu/packages/version-control.scm: Rename variable 'git-minimal/fixed' to 'git-minimal/pinned', add depreciation. * gnu/packages/erlang.scm (erlang-erlware-commons)[native-inputs]: Replace 'git-minimal/fixed' with 'git-minimal/pinned'. (rebar3-git-vsn)[inputs]: Likewise. * gnu/packages/gnome.scm (gnome-photos)[native-inputs]: Likewise. * gnu/packages/gtk.scm (graphene)[native-inputs]: Likewise. * gnu/packages/haskell.scm (ghc-8.8, ghc-8.10)[native-inputs]: Likewise. * gnu/packages/julia-xyz.scm (julia-documenter)[native-inputs]: Likewise. * gnu/packages/ocaml.scm (opam, ocamlformat)[native-inputs]: Likewise. * gnu/packages/python-xyz.scm (python-check-manifest)[native-inputs]: Likewise. (python-scikit-build)[native-inputs]: Likewise. Signed-off-by: Liliana Marie Prikler --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 91610a1f2e..4eb13f76d7 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1143,7 +1143,7 @@ (define-public ghc-8.8 (sha256 (base32 "0c55pj2820q26rikhpf636sn4mjgqsxjrl94vsywrh79dxp3k14z")))) - ("git" ,git-minimal/fixed) ; invoked during tests + ("git" ,git-minimal/pinned) ; invoked during tests ,@(filter (match-lambda (("ghc-bootstrap" . _) #f) (("ghc-testsuite" . _) #f) @@ -1195,7 +1195,7 @@ (define-public ghc-8.10 (sha256 (base32 "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz")))) - ("git" ,git-minimal/fixed) ; invoked during tests + ("git" ,git-minimal/pinned) ; invoked during tests ,@(filter (match-lambda (("ghc-bootstrap" . _) #f) (("ghc-testsuite" . _) #f) -- cgit v1.2.3 From f2205096430230ad185b1ee1dc01d46599904ae8 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sat, 31 Dec 2022 12:25:49 +0100 Subject: gnu: Switch default to GHC 9.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-9.0): Rename to just “ghc”. (ghc-9.2): Ditto. (ghc): Use ghc-9.2. --- gnu/packages/haskell.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4eb13f76d7..3955e20f88 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1235,19 +1235,12 @@ (define-public ghc-8.10 (file-pattern ".*\\.conf\\.d$") (file-type 'directory)))))) -;; Versions newer than ghc defined below (i.e. the compiler -;; haskell-build-system uses) should use ghc-next as their name to -;; ensure ghc (without version specification) and ghc-* packages are -;; always compatible. See https://issues.guix.gnu.org/issue/47335. - (define-public ghc-8 ghc-8.10) -(define-public ghc ghc-8) - (define-public ghc-9.0 (package (inherit ghc-8.10) - (name "ghc-next") + (name "ghc") (version "9.0.2") (source (origin (method url-fetch) @@ -1285,7 +1278,7 @@ (define-public ghc-9.2 (let ((base ghc-8.10)) (package (inherit base) - (name "ghc-next") + (name "ghc") (version "9.2.5") (source (origin (method url-fetch) @@ -1327,6 +1320,12 @@ (define-public ghc-9.2 (file-pattern ".*\\.conf\\.d$") (file-type 'directory))))))) +;; Versions newer than ghc defined below (i.e. the compiler +;; haskell-build-system uses) should use ghc-next as their name to +;; ensure ghc (without version specification) and ghc-* packages are +;; always compatible. See https://issues.guix.gnu.org/issue/47335. +(define-public ghc ghc-9.2) + ;; 9.4 is the last version to support the make-based build system, ;; but it boot with 9.2, only 9.0 is supported. (define ghc-bootstrap-for-9.4 ghc-9.0) -- cgit v1.2.3 From d603946d38a7b62cf1bb2616285b61cca8d169e9 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 24 Jan 2023 12:27:21 +0100 Subject: gnu: ghc-9.2: Increase make verbosity. Tests time out on ci.guix.gnu.org. * gnu/packages/haskell.scm (ghc-9.2)[arguments]: Modify #:make-flags. --- gnu/packages/haskell.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3955e20f88..6e00a756a8 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1295,7 +1295,10 @@ (define-public ghc-9.2 (replace 'fix-cc-reference (lambda _ (substitute* "utils/hsc2hs/src/Common.hs" - (("\"cc\"") "\"gcc\"")))))))) + (("\"cc\"") "\"gcc\"")))))) + ;; Increase verbosity, so running the test suite does not time out on CI. + ((#:make-flags make-flags ''()) + #~(cons "VERBOSE=4" #$make-flags)))) (native-inputs `(;; GHC 9.2 must be built with GHC >= 8.6. ("ghc-bootstrap" ,base) -- cgit v1.2.3 From 7df12c8ca631cc46f59da9ceeb883a28044dbb9e Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 29 Jan 2023 18:45:45 +0100 Subject: gnu: ghc-9.2: Support static linking with glibc < 2.34. * gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/haskell.scm (ghc-9.2)[origin]: Use it. --- gnu/local.mk | 1 + gnu/packages/haskell.scm | 3 +- .../patches/ghc-9.2-glibc-2.33-link-order.patch | 35 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 89dee3cf6a..4ccf015316 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1198,6 +1198,7 @@ dist_patch_DATA = \ %D%/packages/patches/genimage-mke2fs-test.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ + %D%/packages/patches/ghc-9.2-glibc-2.33-link-order.patch \ %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ %D%/packages/patches/ghc-bloomfilter-ghc9.2.patch \ %D%/packages/patches/ghc-bytestring-handle-ghc9.patch \ diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6e00a756a8..3406161c7c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1286,7 +1286,8 @@ (define-public ghc-9.2 "/ghc-" version "-src.tar.xz")) (sha256 (base32 - "07028i0hm74svvq9b3jpkczaj6lsdgn3hgr4wa7diqiq3dypj1h6")))) + "07028i0hm74svvq9b3jpkczaj6lsdgn3hgr4wa7diqiq3dypj1h6")) + (patches (search-patches "ghc-9.2-glibc-2.33-link-order.patch")))) (arguments (substitute-keyword-arguments (package-arguments base) ((#:phases phases '%standard-phases) diff --git a/gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch b/gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch new file mode 100644 index 0000000000..5d4afa28c1 --- /dev/null +++ b/gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch @@ -0,0 +1,35 @@ +Slightly modified version of +https://gitlab.haskell.org/ghc/ghc/-/issues/19029#note_447989, required +for older, buggy glibc versions < 2.34. + +diff -Naur ghc-9.2.5/compiler/GHC/Linker/Unit.hs ghc-9.2.5.patched/compiler/GHC/Linker/Unit.hs +--- ghc-9.2.5/compiler/GHC/Linker/Unit.hs 2022-11-06 20:40:29.000000000 +0100 ++++ ghc-9.2.5.patched/compiler/GHC/Linker/Unit.hs 2023-01-15 14:52:57.511275338 +0100 +@@ -31,11 +31,26 @@ + ps <- mayThrowUnitErr $ preloadUnitsInfo' unit_env pkgs + return (collectLinkOpts dflags ps) + ++fixOrderLinkOpts :: [String] -> [String] ++fixOrderLinkOpts opts ++ | have_bad_glibc_version -- glibc version strictly less than 2.34 ++ , let (before, rest) = break (== libc) opts ++ , not (pthread `elem` before) ++ , pthread `elem` rest -- optional if we know pthread is definitely present ++ = before ++ pthread_and_deps ++ rest ++ | otherwise ++ = opts ++ where ++ pthread = "-lpthread" ++ libc = "-lc" ++ pthread_and_deps = [ "-lrt", pthread ] -- should depend on the environment ++ have_bad_glibc_version = True ++ + collectLinkOpts :: DynFlags -> [UnitInfo] -> ([String], [String], [String]) + collectLinkOpts dflags ps = + ( + concatMap (map ("-l" ++) . unitHsLibs (ghcNameVersion dflags) (ways dflags)) ps, +- concatMap (map ("-l" ++) . map ST.unpack . unitExtDepLibsSys) ps, ++ fixOrderLinkOpts $ concatMap (map ("-l" ++) . map ST.unpack . unitExtDepLibsSys) ps, + concatMap (map ST.unpack . unitLinkerOptions) ps + ) + -- cgit v1.2.3 From 086e426d20e84be90f2066b4b5d51f24df7441cf Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 27 Feb 2023 19:49:03 +0100 Subject: gnu: ghc: Disable failing test on i686 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conditionally, so we don’t rebuild GHC on amd64. * gnu/packages/haskell.scm (ghc-9.2)[arguments]: Conditionally add phase 'skip-T21694-i686. --- gnu/packages/haskell.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 3406161c7c..16f4e2d530 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1296,7 +1296,16 @@ (define-public ghc-9.2 (replace 'fix-cc-reference (lambda _ (substitute* "utils/hsc2hs/src/Common.hs" - (("\"cc\"") "\"gcc\"")))))) + (("\"cc\"") "\"gcc\"")))) + ;; FIXME: Remove i686-specific match on the next rebuild cycle. + #$@(match (%current-system) + ("i686-linux" + #~((add-after 'skip-more-tests 'skip-T21694-i686 + (lambda _ + (substitute* '("testsuite/tests/simplCore/should_compile/all.T") + (("^test\\('T21694', \\[ " all) + (string-append all "when(arch('i386'), skip), "))))))) + (_ #~())))) ;; Increase verbosity, so running the test suite does not time out on CI. ((#:make-flags make-flags ''()) #~(cons "VERBOSE=4" #$make-flags)))) -- cgit v1.2.3 From 3bb2078a12d78a13f1e1520fe3705333a74ef6e3 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 28 Feb 2023 09:28:58 +0100 Subject: gnu: ghc-9.2: Increase max-silent-time. Times out on i686 CI, but not locally. * gnu/packages/haskell.scm (ghc-9.2)[properties]: Add max-silent-time. --- gnu/packages/haskell.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/haskell.scm') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 16f4e2d530..dddc85459a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1309,6 +1309,7 @@ (define-public ghc-9.2 ;; Increase verbosity, so running the test suite does not time out on CI. ((#:make-flags make-flags ''()) #~(cons "VERBOSE=4" #$make-flags)))) + (properties '((max-silent-time . 36000))) ; 10 hours, for i686. (native-inputs `(;; GHC 9.2 must be built with GHC >= 8.6. ("ghc-bootstrap" ,base) -- cgit v1.2.3