summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2026-02-25 13:49:05 +0100
committerAndreas Enge <andreas@enge.fr>2026-06-13 08:51:34 +0200
commit903c68dde17ccb1d7eab274cde9e61bfdc7a8811 (patch)
tree30bc555994066f6f9ff52bd1ce9772727081d3ba /gnu/packages/haskell.scm
parent159d44624c77703d15c75be1d2f6da84c288f940 (diff)
gnu: ghc-8.10: Drop input labels.
* gnu/packages/haskell.scm (ghc-8.10) [native-inputs]: Drop input labels. [arguments]<#:phases>: Minor indent changes. Change-Id: I1a16df904674448641ac84357b503597d7110098 Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm181
1 files changed, 90 insertions, 91 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0aaf67e6ebd..ad7f2cb76c9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1419,97 +1419,96 @@ interactive environment for the functional language Haskell.")
1419 (file-type 'directory))))))) 1419 (file-type 'directory)))))))
1420 1420
1421(define-public ghc-8.10 1421(define-public ghc-8.10
1422 (package 1422 (let ((ghc-bootstrap ghc-8.6))
1423 (inherit ghc-8.8) 1423 (package
1424 (name "ghc") 1424 (inherit ghc-8.8)
1425 (version "8.10.7") 1425 (name "ghc")
1426 (source 1426 (version "8.10.7")
1427 (origin 1427 (source
1428 (method url-fetch) 1428 (origin
1429 (uri (string-append "https://www.haskell.org/ghc/dist/" 1429 (method url-fetch)
1430 version "/ghc-" version "-src.tar.xz")) 1430 (uri (string-append "https://www.haskell.org/ghc/dist/"
1431 (sha256 1431 version "/ghc-" version "-src.tar.xz"))
1432 (base32 "179ws2q0dinl1a39wm9j37xzwm84zfz3c5543vz8v479khigdvp3")))) 1432 (sha256
1433 (native-inputs 1433 (base32 "179ws2q0dinl1a39wm9j37xzwm84zfz3c5543vz8v479khigdvp3"))))
1434 `(;; GHC 8.10.7 must be built with GHC >= 8.6. 1434 (native-inputs
1435 ("ghc-bootstrap" ,ghc-8.6) 1435 (cons* (list
1436 ("ghc-testsuite" 1436 (string-append name "-" version "-testsuite.tar.xz")
1437 ,(origin 1437 (origin
1438 (method url-fetch) 1438 (method url-fetch)
1439 (uri (string-append 1439 (uri (string-append
1440 "https://www.haskell.org/ghc/dist/" 1440 "https://www.haskell.org/ghc/dist/"
1441 version "/ghc-" version "-testsuite.tar.xz")) 1441 version "/ghc-" version "-testsuite.tar.xz"))
1442 (patches (search-patches "ghc-testsuite-dlopen-pie.patch" 1442 (patches (search-patches "ghc-testsuite-dlopen-pie.patch"
1443 "ghc-testsuite-grep-compat.patch" 1443 "ghc-testsuite-grep-compat.patch"))
1444 "ghc-testsuite-recomp015-execstack.patch")) 1444 (sha256
1445 (sha256 1445 (base32
1446 (base32 1446 "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz"))
1447 "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz")) 1447 (modules '((guix build utils)))
1448 (modules '((guix build utils))) 1448 (snippet
1449 (snippet 1449 ;; collections.Iterable was moved to collections.abc in Python 3.10.
1450 ;; collections.Iterable was moved to collections.abc in Python 3.10. 1450 '(substitute* "testsuite/driver/testlib.py"
1451 '(substitute* "testsuite/driver/testlib.py" 1451 (("collections\\.Iterable")
1452 (("collections\\.Iterable") 1452 "collections.abc.Iterable")))))
1453 "collections.abc.Iterable"))))) 1453 (modify-inputs (package-native-inputs ghc-bootstrap)
1454 ("git" ,git-minimal/pinned) ; invoked during tests 1454 ;; GHC 8.10.7 must be built with GHC >= 8.6.
1455 ,@(filter (match-lambda 1455 (replace "ghc" ghc-bootstrap)
1456 (("ghc-bootstrap" . _) #f) 1456 (delete (string-append name "-"
1457 (("ghc-testsuite" . _) #f) 1457 (package-version ghc-bootstrap)
1458 (_ #t)) 1458 "-testsuite.tar.xz"))
1459 (package-native-inputs ghc-8.8)))) 1459 (append git-minimal/pinned)))) ; invoked during tests
1460 (arguments 1460 (arguments
1461 (substitute-keyword-arguments (package-arguments ghc-8.8) 1461 (substitute-keyword-arguments (package-arguments ghc-8.8)
1462 ((#:phases phases '%standard-phases) 1462 ((#:phases phases '%standard-phases)
1463 #~(modify-phases #$phases 1463 #~(modify-phases #$phases
1464 (add-after 'unpack-testsuite 'patch-more-shebangs 1464 (add-after 'unpack-testsuite 'patch-more-shebangs
1465 (lambda* (#:key inputs #:allow-other-keys) 1465 (lambda* (#:key inputs #:allow-other-keys)
1466 (let ((bash (assoc-ref inputs "bash"))) 1466 (substitute* '("testsuite/tests/driver/T8602/T8602.script")
1467 (substitute* '("testsuite/tests/driver/T8602/T8602.script") 1467 (("/bin/sh")
1468 (("/bin/sh") 1468 (search-input-file inputs "/bin/sh")))))
1469 (string-append bash "/bin/sh")))))) 1469 ;; Mark failing tests as broken. Reason for failure is unknown.
1470 ;; Mark failing tests as broken. Reason for failure is unknown. 1470 (add-after 'skip-more-tests 'skip-even-more-tests
1471 (add-after 'skip-more-tests 'skip-even-more-tests 1471 (lambda _
1472 (lambda _ 1472 (substitute* '("testsuite/tests/driver/T16521/all.T")
1473 (substitute* '("testsuite/tests/driver/T16521/all.T") 1473 (("extra_files" all) (string-append "[" all))
1474 (("extra_files" all) (string-append "[" all)) 1474 (("\\]\\), " all)
1475 (("\\]\\), " all) 1475 (string-append all "expect_broken(0)], ")))))
1476 (string-append all "expect_broken(0)], "))))) 1476 (add-after 'skip-more-tests 'skip-failing-tests-i686
1477 (add-after 'skip-more-tests 'skip-failing-tests-i686 1477 (lambda _
1478 (lambda _ 1478 (substitute* '("testsuite/tests/codeGen/should_compile/all.T")
1479 (substitute* '("testsuite/tests/codeGen/should_compile/all.T") 1479 (("(test\\('T15155l', )when\\(unregisterised\\(\\), skip\\)" all before)
1480 (("(test\\('T15155l', )when\\(unregisterised\\(\\), skip\\)" all before) 1480 (string-append before "when(arch('i386'), skip)")))
1481 (string-append before "when(arch('i386'), skip)"))) 1481 ;; Unexpected failures:
1482 ;; Unexpected failures: 1482 ;; quasiquotation/T14028.run T14028 [bad stderr] (dyn)
1483 ;; quasiquotation/T14028.run T14028 [bad stderr] (dyn) 1483 (substitute* '("testsuite/tests/quasiquotation/all.T")
1484 (substitute* '("testsuite/tests/quasiquotation/all.T") 1484 (("unless\\(config.have_ext_interp, skip\\),")
1485 (("unless\\(config.have_ext_interp, skip\\),") 1485 "unless(config.have_ext_interp, skip), when(arch('i386'), skip),"))))
1486 "unless(config.have_ext_interp, skip), when(arch('i386'), skip),")))) 1486 ;; i686 fails on CI, but (sometimes and with generous timeouts) completes
1487 ;; i686 fails on CI, but (sometimes and with generous timeouts) completes 1487 ;; locally. The issue seems to be that the testsuite tries to run some very
1488 ;; locally. The issue seems to be that the testsuite tries to run some very 1488 ;; broad regular expressions on output files of several megabytes in size,
1489 ;; broad regular expressions on output files of several megabytes in size, 1489 ;; which takes a long time. Since the expressions never match anything on
1490 ;; which takes a long time. Since the expressions never match anything on 1490 ;; our builds anyways, remove them.
1491 ;; our builds anyways, remove them. 1491 ;; TODO: Merge with 'skip-failing-tests-i686 or move into snippets on
1492 ;; TODO: Merge with 'skip-failing-tests-i686 or move into snippets on 1492 ;; next rebuild. Note that they are required for GHC 8.10 and 9.2.
1493 ;; next rebuild. Note that they are required for GHC 8.10 and 9.2. 1493 #$@(if (string-prefix? "i686" (or (%current-target-system)
1494 #$@(if (string-prefix? "i686" (or (%current-target-system) 1494 (%current-system)))
1495 (%current-system))) 1495 #~((add-after 'skip-failing-tests-i686 'skip-more-failing-tests-i686
1496 #~((add-after 'skip-failing-tests-i686 'skip-more-failing-tests-i686 1496 (lambda _
1497 (lambda _ 1497 (substitute* '("testsuite/tests/profiling/should_run/all.T")
1498 (substitute* '("testsuite/tests/profiling/should_run/all.T") 1498 (("test\\('T11627a', \\[ ")
1499 (("test\\('T11627a', \\[ ") 1499 "test('T11627a', [ when(arch('i386'), skip), "))
1500 "test('T11627a', [ when(arch('i386'), skip), ")) 1500 (substitute* '("testsuite/driver/testlib.py")
1501 (substitute* '("testsuite/driver/testlib.py") 1501 ((".*changes being made to the file will invalidate the code signature.*")
1502 ((".*changes being made to the file will invalidate the code signature.*") 1502 "")
1503 "") 1503 ((".*warning: argument unused during compilation:.*")
1504 ((".*warning: argument unused during compilation:.*") 1504 "")))))
1505 ""))))) 1505 #~())))))
1506 #~()))))) 1506 (native-search-paths (list (search-path-specification
1507 (native-search-paths (list (search-path-specification 1507 (variable "GHC_PACKAGE_PATH")
1508 (variable "GHC_PACKAGE_PATH") 1508 (files (list
1509 (files (list 1509 (string-append "lib/ghc-" version)))
1510 (string-append "lib/ghc-" version))) 1510 (file-pattern ".*\\.conf\\.d$")
1511 (file-pattern ".*\\.conf\\.d$") 1511 (file-type 'directory)))))))
1512 (file-type 'directory))))))
1513 1512
1514(define-public ghc-8 ghc-8.10) 1513(define-public ghc-8 ghc-8.10)
1515 1514