Package: guix-patches;
Reported by: Lars-Dominik Braun <lars <at> 6xq.net>
Date: Sat, 11 Feb 2023 10:00:02 UTC
Severity: normal
Tags: patch
Done: Lars-Dominik Braun <lars <at> 6xq.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 61420 in the body.
You can then email your comments to 61420 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:00:02 GMT) Full text and rfc822 format available.Lars-Dominik Braun <lars <at> 6xq.net>
:guix-patches <at> gnu.org
.
(Sat, 11 Feb 2023 10:00:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: guix-patches <at> gnu.org Subject: [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Sat, 11 Feb 2023 10:59:17 +0100
Hi, these patches (also found in the wip-haskell branch) lift Haskell to the Stackage release 20.5, which is based on GHC 9.2. Apart from the upgrade, I also made a few fixes to haskell-build-system and the importer such as - Support for multiple Haskell libraries in one package (see #54729). - Add an upstream-name property to all packages and use it in the updater. - Use hackage-uri instead of string-append to build URLs. - Build binaries statically by default and remove extra static output from haskell-build-system (this reduces pandoc’s size even further by ~100MB without the need to resort to weird input rewriting hacks). I’m not including the big, automated changes here – please check the branch. Cheers, Lars Lars-Dominik Braun (29): import: hackage: Allow version at the beginning of cabal file. gnu: Switch default to GHC 9.2. import: stackage: Update to release 20.5. import: hackage: Add upstream-name property. gnu: Add upstream-name property to Haskell packages. import: hackage: Use upstream-name property. gnu: Use HACKAGE-URI for packages from Hackage. import: haskell: Add new internal library for GHC 9.2. build: haskell-build-system: Process all transitive dependencies. build: haskell-build-system: Remove unused linker flags. Upgrade Haskell packages. gnu: ghc-9.2: Increase make verbosity. gnu: Remove unused Haskell packages. gnu: ghc-parsec: Update to 3.1.15.0. gnu: idris: Fix overly zealous regular expression. gnu: elm: Support GHC 9.2. build-system: haskell: Drop default "static" output. gnu: ghc-9.2: Support static linking with glibc < 2.34. gnu: ghc-lua: Disable symbol export. build: haskell-build-system: Build static executables by default. gnu: ngless: Drop Haskell libraries and documentation. gnu: hledger: Drop Haskell libraries and documentation. gnu: darcs: Drop Haskell libraries and documentation. gnu: git-annex: Drop Haskell documentation. gnu: shellcheck: Drop Haskell libraries. gnu: pandoc: Drop Haskell libraries and documentation. gnu: purescript: Drop Haskell libraries and documentation. gnu: xmobar: Drop Haskell libraries and documentation. gnu: idris: Adapt to changed haskell-build-system. Philip Munksgaard (1): build: haskell-build-system: Support multiple libraries. zimoun (1): build: haskell-build-system: Remove trailing #t. gnu/local.mk | 8 +- gnu/packages/agda.scm | 5 +- gnu/packages/bioinformatics.scm | 215 +- gnu/packages/dhall.scm | 168 +- gnu/packages/elm.scm | 5 +- gnu/packages/finance.scm | 213 +- gnu/packages/haskell-apps.scm | 613 +- gnu/packages/haskell-check.scm | 782 +- gnu/packages/haskell-crypto.scm | 352 +- gnu/packages/haskell-web.scm | 1453 +- gnu/packages/haskell-xyz.scm | 11569 ++++++++-------- gnu/packages/haskell.scm | 25 +- gnu/packages/idris.scm | 14 +- gnu/packages/lisp.scm | 127 +- .../cabal-install-base16-bytestring1.0.patch | 29 - .../patches/cabal-install-ghc8.10.patch | 393 - gnu/packages/patches/elm-ghc9.2.patch | 187 + .../ghc-9.2-glibc-2.33-link-order.patch | 35 + .../patches/ghc-bloomfilter-ghc9.2.patch | 303 + .../patches/ghc-bytestring-handle-ghc9.patch | 67 + gnu/packages/patches/ngless-unliftio.patch | 66 - .../patches/xmonad-dynamic-linking.patch | 24 +- .../patches/xmonad-next-dynamic-linking.patch | 16 - gnu/packages/purescript.scm | 172 +- gnu/packages/wm.scm | 136 +- guix/build-system/haskell.scm | 5 +- guix/build/haskell-build-system.scm | 136 +- guix/import/hackage.scm | 21 +- guix/import/stackage.scm | 6 +- tests/hackage.scm | 5 + 30 files changed, 8449 insertions(+), 8701 deletions(-) delete mode 100644 gnu/packages/patches/cabal-install-base16-bytestring1.0.patch delete mode 100644 gnu/packages/patches/cabal-install-ghc8.10.patch create mode 100644 gnu/packages/patches/elm-ghc9.2.patch create mode 100644 gnu/packages/patches/ghc-9.2-glibc-2.33-link-order.patch create mode 100644 gnu/packages/patches/ghc-bloomfilter-ghc9.2.patch create mode 100644 gnu/packages/patches/ghc-bytestring-handle-ghc9.patch delete mode 100644 gnu/packages/patches/ngless-unliftio.patch delete mode 100644 gnu/packages/patches/xmonad-next-dynamic-linking.patch base-commit: 900d33527c9286a811f064d4bb8f4a9b18d1db0b -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:02 GMT) Full text and rfc822 format available.Message #8 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file. Date: Sat, 11 Feb 2023 11:07:58 +0100
Fix a corner case, uncovered by the hedgehog package, which has the version field at the beginning of its cabal file. This causes a pattern match failure. * guix/import/hackage.scm (latest-release): Match version at beginning of expression too. --- guix/import/hackage.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 7bc2908405..e915aac58d 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -378,7 +378,10 @@ (define* (latest-release package #:key (version #f)) "warning: failed to parse ~a~%" (hackage-cabal-url hackage-name)) #f) - ((_ *** ("version" (version))) + ;; Cabal files have no particular order and while usually the version + ;; as somewhere in the middle it can also be at the beginning, + ;; requiring two pattern. + ((or (_ *** ("version" (version))) (("version" (version)) _ ...)) (let ((url (hackage-uri hackage-name version))) (upstream-source (package (package-name package)) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:02 GMT) Full text and rfc822 format available.Message #11 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Philip Munksgaard <philip <at> munksgaard.me>, Lars-Dominik Braun <lars <at> 6xq.net>, zimoun <zimon.toutoune <at> gmail.com> Subject: [PATCH 03/31] build: haskell-build-system: Support multiple libraries. Date: Sat, 11 Feb 2023 11:08:00 +0100
From: Philip Munksgaard <philip <at> munksgaard.me> Fixes <https://bugs.gnu.org/53655>. The patch handles correctly the multiple registration of some package using their own internal sub-libraries. It allows to call 'install-transitive-deps' multiple times and deals with packages requiring a multiple registration. * guix/build/haskell-build-system.scm (register)[install-transitive-deps]: Guard also the destination direction. [install-config-file]: New procedure. Co-Authored-by: zimoun <zimon.toutoune <at> gmail.com>. Signed-off-by: Lars-Dominik Braun <lars <at> 6xq.net> --- guix/build/haskell-build-system.scm | 87 ++++++++++++++++------------- 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index e2e5904dce..fb4aba28ea 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Alex Vong <alexvong1995 <at> gmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2022 Simon Tournier <zimon.toutoune <at> gmail.com> +;;; Copyright © 2022 Philip Munksgaard <philip <at> munksgaard.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -215,13 +216,50 @@ (define (install-transitive-deps conf-file src dest) (if (not (vhash-assoc id seen)) (let ((dep-conf (string-append src "/" id ".conf")) (dep-conf* (string-append dest "/" id ".conf"))) - (when (not (file-exists? dep-conf)) + (unless (file-exists? dep-conf*) + (unless (file-exists? dep-conf) (error (format #f "File ~a does not exist. This usually means the dependency ~a is missing. Was checking conf-file ~a." dep-conf id conf-file))) - (copy-file dep-conf dep-conf*) ;XXX: maybe symlink instead? - (loop (vhash-cons id #t seen) - (append lst (conf-depends dep-conf)))) + (copy-file dep-conf dep-conf*) ;XXX: maybe symlink instead? + (loop (vhash-cons id #t seen) + (append lst (conf-depends dep-conf))))) (loop seen tail)))))) + (define (install-config-file conf-file dest output:doc output:lib) + ;; Copy CONF-FILE to DEST removing reference to OUTPUT:DOC from + ;; OUTPUT:LIB and using install-transitive-deps. + (let* ((contents (call-with-input-file conf-file read-string)) + (id-rx (make-regexp "^id:[ \n\t]+([^ \t\n]+)$" regexp/newline)) + (config-file-name+id + (match:substring (first (list-matches id-rx contents)) 1))) + + (when (or + (and + (string? config-file-name+id) + (string-null? config-file-name+id)) + (not config-file-name+id)) + (error (format #f "The package id for ~a is empty. This is a bug." conf-file))) + + ;; Remove reference to "doc" output from "lib" (or "out") by rewriting the + ;; "haddock-interfaces" field and removing the optional "haddock-html" + ;; field in the generated .conf file. + (when output:doc + (substitute* conf-file + (("^haddock-html: .*") "\n") + (((format #f "^haddock-interfaces: ~a" output:doc)) + (string-append "haddock-interfaces: " output:lib))) + ;; Move the referenced file to the "lib" (or "out") output. + (match (find-files output:doc "\\.haddock$") + ((haddock-file . rest) + (let* ((subdir (string-drop haddock-file (string-length output:doc))) + (new (string-append output:lib subdir))) + (mkdir-p (dirname new)) + (rename-file haddock-file new))) + (_ #f))) + (install-transitive-deps conf-file %tmp-db-dir dest) + (rename-file conf-file + (string-append dest "/" + config-file-name+id ".conf")))) + (let* ((out (assoc-ref outputs "out")) (doc (assoc-ref outputs "doc")) (haskell (assoc-ref inputs "haskell")) @@ -231,7 +269,6 @@ (define (install-transitive-deps conf-file src dest) (config-dir (string-append lib "/ghc-" version "/" name ".conf.d")) - (id-rx (make-regexp "^id:[ \n\t]+([^ \t\n]+)$" regexp/newline)) (config-file (string-append out "/" name ".conf")) (params (list (string-append "--gen-pkg-config=" config-file)))) @@ -239,39 +276,13 @@ (define (install-transitive-deps conf-file src dest) ;; The conf file is created only when there is a library to register. (when (file-exists? config-file) (mkdir-p config-dir) - (let* ((contents (call-with-input-file config-file read-string)) - (config-file-name+id (match:substring (first (list-matches id-rx contents)) 1))) - - (when (or - (and - (string? config-file-name+id) - (string-null? config-file-name+id)) - (not config-file-name+id)) - (error (format #f "The package id for ~a is empty. This is a bug." config-file))) - - ;; Remove reference to "doc" output from "lib" (or "out") by rewriting the - ;; "haddock-interfaces" field and removing the optional "haddock-html" - ;; field in the generated .conf file. - (when doc - (substitute* config-file - (("^haddock-html: .*") "\n") - (((format #f "^haddock-interfaces: ~a" doc)) - (string-append "haddock-interfaces: " lib))) - ;; Move the referenced file to the "lib" (or "out") output. - (match (find-files doc "\\.haddock$") - ((haddock-file . rest) - (let* ((subdir (string-drop haddock-file (string-length doc))) - (new (string-append lib subdir))) - (mkdir-p (dirname new)) - (rename-file haddock-file new))) - (_ #f))) - (install-transitive-deps config-file %tmp-db-dir config-dir) - (rename-file config-file - (string-append config-dir "/" - config-file-name+id ".conf")) - (invoke "ghc-pkg" - (string-append "--package-db=" config-dir) - "recache"))))) + (if (file-is-directory? config-file) + (for-each (cut install-config-file <> config-dir doc lib) + (find-files config-file)) + (install-config-file config-file config-dir doc lib)) + (invoke "ghc-pkg" + (string-append "--package-db=" config-dir) + "recache")))) (define* (check #:key tests? test-target #:allow-other-keys) "Run the test suite of a given Haskell package." -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:03 GMT) Full text and rfc822 format available.Message #14 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 04/31] gnu: Switch default to GHC 9.2. Date: Sat, 11 Feb 2023 11:08:01 +0100
* 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(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 91610a1f2e..84071cb293 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) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:03 GMT) Full text and rfc822 format available.Message #17 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 05/31] import: stackage: Update to release 20.5. Date: Sat, 11 Feb 2023 11:08:02 +0100
* guix/import/stackage.scm (%default-lts-version): Update to 20.5. --- guix/import/stackage.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index c0284e48a4..9462e70791 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -49,7 +49,7 @@ (define %stackage-url (make-parameter "https://www.stackage.org")) ;; Latest LTS version compatible with current GHC. -(define %default-lts-version "18.14") +(define %default-lts-version "20.5") (define-json-mapping <stackage-lts> make-stackage-lts stackage-lts? -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:03 GMT) Full text and rfc822 format available.Message #20 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 06/31] import: hackage: Add upstream-name property. Date: Sat, 11 Feb 2023 11:08:03 +0100
* guix/import/hackage.scm (hackage-module->sexp): Add property upstream-name to imported package. * tests/hackage.scm (match-ghc-foo): Add upstream-name property. (match-ghc-foo-6): Ditto. (match-ghc-elif): Ditto. (match-ghc-foo-revision): Ditto. (match-ghc-foo-import): Ditto. --- guix/import/hackage.scm | 1 + tests/hackage.scm | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index e915aac58d..9e305cf080 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -314,6 +314,7 @@ (define (maybe-arguments) (bytevector->nix-base32-string (file-sha256 tarball)) "failed to download tar archive"))))) (build-system haskell-build-system) + (properties '((upstream-name . ,name))) ,@(maybe-inputs 'inputs dependencies) ,@(maybe-inputs 'native-inputs native-dependencies) ,@(maybe-arguments) diff --git a/tests/hackage.scm b/tests/hackage.scm index ad2ee4b7f9..8eea818ebd 100644 --- a/tests/hackage.scm +++ b/tests/hackage.scm @@ -201,6 +201,7 @@ (define-package-matcher match-ghc-foo ('base32 (? string? hash))))) ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) ('inputs ('list 'ghc-http)) ('home-page "http://test.org") ('synopsis (? string?)) @@ -241,6 +242,7 @@ (define-package-matcher match-ghc-foo-6 ('base32 (? string? hash))))) ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) ('inputs ('list 'ghc-b 'ghc-http)) ('native-inputs ('list 'ghc-haskell-gi)) ('home-page "http://test.org") @@ -471,6 +473,7 @@ (define-package-matcher match-ghc-elif ('base32 (? string? hash))))) ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) ('inputs ('list 'ghc-c)) ('home-page "http://test.org") ('synopsis (? string?)) @@ -520,6 +523,7 @@ (define-package-matcher match-ghc-foo-revision ('base32 (? string? hash))))) ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) ('inputs ('list 'ghc-http)) ('arguments ('quasiquote @@ -610,6 +614,7 @@ (define-package-matcher match-ghc-foo-import ('base32 (? string? hash))))) ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) ('inputs ('list 'ghc-http)) ('home-page "http://test.org") ('synopsis (? string?)) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:04 GMT) Full text and rfc822 format available.Message #23 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 08/31] import: hackage: Use upstream-name property. Date: Sat, 11 Feb 2023 11:08:04 +0100
* guix/import/hackage.scm (guix-package->hackage-name): Removed. (latest-release): Use package-upstream-name* instead. * guix/import/stackage.scm (latest-lts-release): Ditto. (stackage-lts-package?): Ditto. --- guix/import/hackage.scm | 14 +------------- guix/import/stackage.scm | 4 ++-- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 9e305cf080..2f901af47b 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -52,7 +52,6 @@ (define-module (guix import hackage) hackage-recursive-import %hackage-updater - guix-package->hackage-name hackage-name->package-name hackage-fetch hackage-source-url @@ -126,17 +125,6 @@ (define (hackage-name->package-name name) (string-downcase name) (string-append package-name-prefix (string-downcase name)))) -(define guix-package->hackage-name - (let ((uri-rx (make-regexp "(https?://hackage.haskell.org|mirror://hackage)/package/([^/]+)/.*")) - (name-rx (make-regexp "(.*)-[0-9\\.]+"))) - (lambda (package) - "Given a Guix package name, return the corresponding Hackage name." - (let* ((source-url (and=> (package-source package) origin-uri)) - (name (match:substring (regexp-exec uri-rx source-url) 2))) - (match (regexp-exec name-rx name) - (#f name) - (m (match:substring m 1))))))) - (define (read-cabal-and-hash port) "Read a Cabal file from PORT and return it and its hash in nix-base32 format as two values." @@ -371,7 +359,7 @@ (define* (latest-release package #:key (version #f)) (formatted-message (G_ "~a updater doesn't support updating to a specific version, sorry.") "hackage"))) - (let* ((hackage-name (guix-package->hackage-name package)) + (let* ((hackage-name (package-upstream-name* package)) (cabal-meta (hackage-fetch hackage-name))) (match cabal-meta (#f diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index 9462e70791..735eeb75f7 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -149,7 +149,7 @@ (define latest-lts-release (formatted-message (G_ "~a updater doesn't support updating to a specific version, sorry.") "stackage"))) - (let* ((hackage-name (guix-package->hackage-name pkg)) + (let* ((hackage-name (package-upstream-name* pkg)) (version (lts-package-version (packages) hackage-name)) (name-version (hackage-name-version hackage-name version))) (match (and=> name-version hackage-fetch) @@ -173,7 +173,7 @@ (define (stackage-lts-package? package) (false-if-networking-error (let ((packages (stackage-lts-packages (stackage-lts-info-fetch %default-lts-version))) - (hackage-name (guix-package->hackage-name package))) + (hackage-name (package-upstream-name* package))) (find (lambda (package) (string=? (stackage-package-name package) hackage-name)) packages))))) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:04 GMT) Full text and rfc822 format available.Message #26 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 10/31] import: haskell: Add new internal library for GHC 9.2. Date: Sat, 11 Feb 2023 11:08:05 +0100
* guix/import/hackage.scm (ghc-standard-libraries): Add ghc-bignum. --- guix/import/hackage.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 2f901af47b..83ad85f3fe 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -75,6 +75,7 @@ (define ghc-standard-libraries "exceptions" "filepath" "ghc" + "ghc-bignum" "ghc-boot" "ghc-boot-th" "ghc-compact" -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:05 GMT) Full text and rfc822 format available.Message #29 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net>, zimoun <zimon.toutoune <at> gmail.com> Subject: [PATCH 02/31] build: haskell-build-system: Remove trailing #t. Date: Sat, 11 Feb 2023 11:07:59 +0100
From: zimoun <zimon.toutoune <at> gmail.com> * guix/build/haskell-build-system.scm (configure, install, setup-compiler, make-ghc-package-database, install-transitive-deps, check, haddock, patch-cabal-file, generate-setuphs): Delete trailing #t. Signed-off-by: Lars-Dominik Braun <lars <at> 6xq.net> --- guix/build/haskell-build-system.scm | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index ef6cb316ee..e2e5904dce 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018, 2020 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2018 Alex Vong <alexvong1995 <at> gmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias <at> protonmail.com> +;;; Copyright © 2022 Simon Tournier <zimon.toutoune <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,8 +119,7 @@ (define* (configure #:key outputs inputs tests? (configure-flags '()) (setenv "CONFIG_SHELL" "sh")) (run-setuphs "configure" params) - (setenv "GHC_PACKAGE_PATH" ghc-path) - #t)) + (setenv "GHC_PACKAGE_PATH" ghc-path))) (define* (build #:key parallel-build? #:allow-other-keys) "Build a given Haskell package." @@ -140,8 +140,7 @@ (define* (install #:key outputs #:allow-other-keys) (new (string-append static subdir))) (mkdir-p (dirname new)) (rename-file static-lib new))) - (find-files lib "\\.a$")))) - #t) + (find-files lib "\\.a$"))))) (define* (setup-compiler #:key system inputs outputs #:allow-other-keys) "Setup the compiler environment." @@ -175,8 +174,7 @@ (define (make-ghc-package-database system inputs outputs) conf-files) (invoke "ghc-pkg" (string-append "--package-db=" %tmp-db-dir) - "recache") - #t)) + "recache"))) (define* (register #:key name system inputs outputs #:allow-other-keys) "Generate the compiler registration and binary package database files for a @@ -273,21 +271,18 @@ (define (install-transitive-deps conf-file src dest) config-file-name+id ".conf")) (invoke "ghc-pkg" (string-append "--package-db=" config-dir) - "recache"))) - #t)) + "recache"))))) (define* (check #:key tests? test-target #:allow-other-keys) "Run the test suite of a given Haskell package." (if tests? (run-setuphs test-target '()) - (format #t "test suite not run~%")) - #t) + (format #t "test suite not run~%"))) (define* (haddock #:key outputs haddock? haddock-flags #:allow-other-keys) "Generate the Haddock documentation of a given Haskell package." (when haddock? - (run-setuphs "haddock" haddock-flags)) - #t) + (run-setuphs "haddock" haddock-flags))) (define* (patch-cabal-file #:key cabal-revision #:allow-other-keys) (when cabal-revision @@ -296,8 +291,7 @@ (define* (patch-cabal-file #:key cabal-revision #:allow-other-keys) ((original) (format #t "replacing ~s with ~s~%" original cabal-revision) (copy-file cabal-revision original)) - (_ (error "Could not find a Cabal file to patch.")))) - #t) + (_ (error "Could not find a Cabal file to patch."))))) (define* (generate-setuphs #:rest empty) "Generate a default Setup.hs if needed." @@ -307,8 +301,7 @@ (define* (generate-setuphs #:rest empty) (with-output-to-file "Setup.hs" (lambda () (format #t "import Distribution.Simple~%") - (format #t "main = defaultMain~%")))) - #t) + (format #t "main = defaultMain~%"))))) (define %standard-phases (modify-phases gnu:%standard-phases -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:05 GMT) Full text and rfc822 format available.Message #32 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 12/31] build: haskell-build-system: Remove unused linker flags. Date: Sat, 11 Feb 2023 11:08:07 +0100
They were inserted as-is, without expandind variables into binaries. * guix/build/haskell-build-system.scm (configure): Remove --ghc-option. --- guix/build/haskell-build-system.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index 72e12ba746..759d3c5d17 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -103,8 +103,6 @@ (define* (configure #:key outputs inputs tests? (configure-flags '()) "--enable-shared" "--enable-executable-dynamic" "--ghc-option=-fPIC" - ,(string-append "--ghc-option=-optl=-Wl,-rpath=" (or lib out) - "/lib/$compiler/$pkg-$version") ,@configure-flags))) ;; Cabal errors if GHC_PACKAGE_PATH is set during 'configure', so unset ;; and restore it. -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:05 GMT) Full text and rfc822 format available.Message #35 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 11/31] build: haskell-build-system: Process all transitive dependencies. Date: Sat, 11 Feb 2023 11:08:06 +0100
A bug caused install-transitive-deps to stop looping if a dependency file already existed in the target directory. For Haskell packages with multiple libraries (like attoparsec) this resulted in missing dependencies and error messages like this: The following packages are broken because other packages they depend on are missing. These broken packages must be rebuilt before they can be used. installed package attoparsec-0.14.4 is broken due to missing package scientific-0.3.7.0-9XG3zUjXOw970JFcruv0cZ See <https://issues.guix.gnu.org/54729#11>. * guix/build/haskell-build-system.scm (register): Unconditionally loop over all tails. --- guix/build/haskell-build-system.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index fb4aba28ea..72e12ba746 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -214,14 +214,16 @@ (define (install-transitive-deps conf-file src dest) (() #t) ;done ((id . tail) (if (not (vhash-assoc id seen)) - (let ((dep-conf (string-append src "/" id ".conf")) - (dep-conf* (string-append dest "/" id ".conf"))) - (unless (file-exists? dep-conf*) - (unless (file-exists? dep-conf) + (let* ((dep-conf (string-append src "/" id ".conf")) + (dep-conf* (string-append dest "/" id ".conf")) + (dep-conf-exists? (file-exists? dep-conf)) + (dep-conf*-exists? (file-exists? dep-conf*)) + (next-tail (append lst (if dep-conf-exists? (conf-depends dep-conf) '())))) + (unless dep-conf*-exists? + (unless dep-conf-exists? (error (format #f "File ~a does not exist. This usually means the dependency ~a is missing. Was checking conf-file ~a." dep-conf id conf-file))) - (copy-file dep-conf dep-conf*) ;XXX: maybe symlink instead? - (loop (vhash-cons id #t seen) - (append lst (conf-depends dep-conf))))) + (copy-file dep-conf dep-conf*)) ;XXX: maybe symlink instead? + (loop (vhash-cons id #t seen) next-tail)) (loop seen tail)))))) (define (install-config-file conf-file dest output:doc output:lib) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:06 GMT) Full text and rfc822 format available.Message #38 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity. Date: Sat, 11 Feb 2023 11:08:08 +0100
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(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 84071cb293..60d846e841 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) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:06 GMT) Full text and rfc822 format available.Message #41 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 17/31] gnu: idris: Fix overly zealous regular expression. Date: Sat, 11 Feb 2023 11:08:11 +0100
* gnu/packages/idris.scm (idris)[arguments]: Limit characters matched after package name in cabal file substitutions. --- gnu/packages/idris.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 5e4979edc3..2a5f63c174 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -99,7 +99,7 @@ (define-public idris (add-before 'configure 'update-constraints (lambda _ (substitute* "idris.cabal" - (("(aeson|ansi-terminal|bytestring|haskeline|libffi|megaparsec|network|optparse-applicative)\\s+[^,]+" all dep) + (("(aeson|ansi-terminal|bytestring|haskeline|libffi|megaparsec|network|optparse-applicative)\\s+[<>=0-9. &|]+" all dep) dep)))) (add-before 'configure 'set-cc-command (lambda _ -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:06 GMT) Full text and rfc822 format available.Message #44 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 16/31] gnu: ghc-parsec: Update to 3.1.15.0. Date: Sat, 11 Feb 2023 11:08:10 +0100
Missed by automation. * gnu/packages/haskell-xyz.scm (ghc-parsec)[version]: Update to 3.1.15.0. [native-inputs]: Switch from HUnit to tasty. --- gnu/packages/haskell-xyz.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index f320206c23..6d7fd5dc63 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8341,18 +8341,15 @@ (define-public ghc-parallel (define-public ghc-parsec (package (name "ghc-parsec") - (version "3.1.14.0") + (version "3.1.15.0") (source (origin (method url-fetch) (uri (hackage-uri "parsec" version)) (sha256 (base32 - "132waj2cpn892midbhpkfmb74qq83v0zv29v885frlp1gvh94b67")))) + "1v8zs8zv1rk16lag2yqaxfwanjpgnh4gxw1vd70py0n04d20z0lq")))) (build-system haskell-build-system) - (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit)) - (arguments - `(#:cabal-revision - ("4" "0p65q054iaz2117a5qk1428dic4sb41acclys9k00zna24ks7iq3"))) + (native-inputs (list ghc-tasty ghc-tasty-hunit)) (home-page "https://github.com/haskell/parsec") (synopsis "Monadic parser combinators") (description "Parsec is designed from scratch as an industrial-strength -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:07 GMT) Full text and rfc822 format available.Message #47 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 15/31] gnu: Remove unused Haskell packages. Date: Sat, 11 Feb 2023 11:08:09 +0100
* gnu/packages/haskell-xyz.scm (ghc-attoparsec-bootstrap): Remove variable. (ghc-integer-logarithms-bootstrap): Likewise. (ghc-scientific-bootstrap): Likewise. (ghc-wcwidth-bootstrap): Likewise. (ghc-optparse-applicative-0.15.1.0): Likewise. --- gnu/packages/haskell-xyz.scm | 59 ------------------------------------ 1 file changed, 59 deletions(-) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 1f90cc6516..f320206c23 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -581,16 +581,6 @@ (define-public ghc-attoparsec complicated text/binary file formats.") (license license:bsd-3))) -(define-public ghc-attoparsec-bootstrap - (package - (inherit ghc-attoparsec) - (name "ghc-attoparsec-bootstrap") - (arguments `(#:tests? #f)) - (inputs - `(("ghc-scientific" ,ghc-scientific-bootstrap))) - (native-inputs '()) - (properties '((hidden? #t))))) - (define-public ghc-attoparsec-iso8601 (package (name "ghc-attoparsec-iso8601") @@ -5825,14 +5815,6 @@ (define-public ghc-integer-logarithms in migrated modules.") (license license:expat))) -(define-public ghc-integer-logarithms-bootstrap - (package - (inherit ghc-integer-logarithms) - (name "ghc-integer-logarithms-bootstrap") - (arguments `(#:tests? #f)) - (native-inputs '()) - (properties '((hidden? #t))))) - (define-public ghc-interpolate (package (name "ghc-interpolate") @@ -8051,27 +8033,6 @@ (define-public ghc-optparse-applicative command line options in Haskell.") (license license:bsd-3))) -(define-public ghc-optparse-applicative-0.15.1.0 - (package - (inherit ghc-optparse-applicative) - (name "ghc-optparse-applicative") - (version "0.15.1.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://hackage.haskell.org/package/optparse-applicative/optparse-applicative-" - version - ".tar.gz")) - (sha256 - (base32 "1ws6y3b3f6hsgv0ff0yp6lw4hba1rps4dnvry3yllng0s5gngcsd")))) - (inputs - (list ghc-transformers-compat ghc-ansi-wl-pprint)) - (native-inputs (list ghc-quickcheck)) - (arguments - `(#:cabal-revision - ("1" "0zmhqkd96v2z1ilhqdkd9z4jgsnsxb8yi2479ind8m5zm9363zr9"))))) - (define-public ghc-jira-wiki-markup (package (name "ghc-jira-wiki-markup") @@ -10178,18 +10139,6 @@ (define-public ghc-scientific notation}.") (license license:bsd-3))) -(define-public ghc-scientific-bootstrap - (package - (inherit ghc-scientific) - (name "ghc-scientific-bootstrap") - (arguments `(#:tests? #f)) - (inputs - `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap) - ("ghc-hashable" ,ghc-hashable) - ("ghc-primitive" ,ghc-primitive))) - (native-inputs '()) - (properties '((hidden? #t))))) - (define-public ghc-sdl (package (name "ghc-sdl") @@ -13422,14 +13371,6 @@ (define-public ghc-wcwidth widths to the Char type.") (license license:bsd-3))) -(define-public ghc-wcwidth-bootstrap - (package - (inherit ghc-wcwidth) - (name "ghc-wcwidth-bootstrap") - (inputs - (list ghc-setlocale ghc-utf8-string ghc-attoparsec-bootstrap)) - (properties '((hidden? #t))))) - (define-public ghc-weigh (package (name "ghc-weigh") -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:07 GMT) Full text and rfc822 format available.Message #50 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 21/31] gnu: ghc-lua: Disable symbol export. Date: Sat, 11 Feb 2023 11:08:15 +0100
This turns on the linker flag -Wl,-E for all libraries depending on it, resulting in large binaries, because --gc-sections cannot clean exported symbols. * gnu/packages/haskell-xyz.scm (ghc-lua)[arguments]: Disable export-dynamic feature. --- gnu/packages/haskell-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 3efde02932..0a6efedd29 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -15452,6 +15452,9 @@ (define-public ghc-lua "07wni3ji46ndqabwffgwzij2jk34dq2d66z15hcd6jg33sqnym45")))) (build-system haskell-build-system) (properties '((upstream-name . "lua"))) + (arguments + ;; Allow creating fully static binaries. Avoids issues with linking pandoc statically. + `(#:configure-flags (list "-f-export-dynamic"))) (native-inputs (list ghc-tasty ghc-tasty-hunit)) (home-page "https://hslua.org/") (synopsis "Lua, an embeddable scripting language") -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:08 GMT) Full text and rfc822 format available.Message #53 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 20/31] gnu: ghc-9.2: Support static linking with glibc < 2.34. Date: Sat, 11 Feb 2023 11:08:14 +0100
* 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 +- .../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 diff --git a/gnu/local.mk b/gnu/local.mk index b6b44f7836..5cb34a7b3b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1195,6 +1195,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 60d846e841..a2815814ed 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 + ) + -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:08 GMT) Full text and rfc822 format available.Message #56 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 22/31] build: haskell-build-system: Build static executables by default. Date: Sat, 11 Feb 2023 11:08:16 +0100
This is the only way to get reasonably small binaries that don’t pull in a ton of ghc-* packages. * guix/build/haskell-build-system.scm (configure): Explicitly add --enable-static and --disable-executable-dynamic, as well as -split-sections to configure flags. --- guix/build/haskell-build-system.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index d77f55da19..0e94cf59a5 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -99,10 +99,14 @@ (define* (configure #:key outputs inputs tests? (configure-flags '()) ,@(if tests? '("--enable-tests") '()) - ;; Build and link with shared libraries + ;; Build static and shared libraries. "--enable-shared" - "--enable-executable-dynamic" + "--enable-static" + ;; Link executables statically by default. + "--disable-executable-dynamic" "--ghc-option=-fPIC" + ;; Ensure static libraries can be used with -Wl,--gc-sections for size. + "--ghc-option=-split-sections" ,@configure-flags))) ;; Cabal errors if GHC_PACKAGE_PATH is set during 'configure', so unset ;; and restore it. -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:08 GMT) Full text and rfc822 format available.Message #59 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 19/31] build-system: haskell: Drop default "static" output. Date: Sat, 11 Feb 2023 11:08:13 +0100
* guix/build-system/haskell.scm (lower): Pass outputs to lowered bag. * guix/build/haskell-build-system.scm (install): Remove static library moving code. * gnu/packages/haskell-check.scm (ghc-hunit): Remove "static" output. * gnu/packages/haskell-crypto.scm (ghc-crypto-api-tests): Likewise. * gnu/packages/haskell-xyz.scm (ghc-case-insensitive): Likewise. (ghc-cmdargs): Likewise. (ghc-conduit): Likewise. (ghc-fgl): Likewise. (ghc-haskell-src-exts): Likewise. (ghc-lib-parser): Likewise. (ghc-mono-traversable): Likewise. (ghc-parallel): Likewise. (ghc-paths): Likewise. (ghc-profunctors): Likewise. (ghc-tf-random): Likewise. (ghc-vector): Likewise. --- gnu/packages/haskell-check.scm | 2 +- gnu/packages/haskell-crypto.scm | 1 - gnu/packages/haskell-xyz.scm | 24 ++++++++++++------------ guix/build-system/haskell.scm | 5 +---- guix/build/haskell-build-system.scm | 12 +----------- 5 files changed, 15 insertions(+), 29 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 3174ac1a81..16b718827a 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -629,7 +629,7 @@ (define-public ghc-hunit (package (name "ghc-hunit") (version "1.6.2.0") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index 0046e0481a..42e2a15709 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -141,7 +141,6 @@ (define-public ghc-crypto-api-tests "0w3j43jdrlj28jryp18hc6q84nkl2yf4vs1hhgrsk7gb9kfyqjpl")))) (build-system haskell-build-system) (properties '((upstream-name . "crypto-api-tests"))) - (outputs '("out" "static" "doc")) (inputs (list ghc-test-framework-quickcheck2 ghc-crypto-api ghc-cereal diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 6d7fd5dc63..3efde02932 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1395,7 +1395,7 @@ (define-public ghc-case-insensitive (package (name "ghc-case-insensitive") (version "1.2.1.0") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) @@ -1993,7 +1993,7 @@ (define-public ghc-cmdargs "0xfabq187n1vqrnnm4ciprpl0dcjq97rksyjnpcniwva9rffmn7p")))) (build-system haskell-build-system) (properties '((upstream-name . "cmdargs"))) - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (home-page "http://community.haskell.org/~ndm/cmdargs/") (synopsis "Command line argument processing") @@ -2171,7 +2171,7 @@ (define-public ghc-conduit "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4")))) (build-system haskell-build-system) (properties '((upstream-name . "conduit"))) - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (inputs (list ghc-exceptions ghc-lifted-base @@ -3855,7 +3855,7 @@ (define-public ghc-fgl (package (name "ghc-fgl") (version "5.7.0.3") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) @@ -4958,7 +4958,7 @@ (define-public ghc-haskell-src-exts "01bcrxs9af4yqpclw43aijmsd1g19qhyzb47blz7vzwz2r3k11b7")))) (build-system haskell-build-system) (properties '((upstream-name . "haskell-src-exts"))) - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (inputs (list cpphs ghc-happy ghc-pretty-show)) (native-inputs @@ -6348,7 +6348,7 @@ (define-public ghc-lib-parser "1xh8rm5lwbh96g4v34whkcbb1yjsyvx3rwwycj30lrglhqk7f4c4")))) (build-system haskell-build-system) (properties '((upstream-name . "ghc-lib-parser"))) - (outputs '("out" "static" "doc")) ; documentation is 39M + (outputs '("out" "doc")) ; documentation is 39M (native-inputs (list ghc-alex ghc-happy)) (home-page "https://github.com/digital-asset/ghc-lib") (synopsis "The GHC API, decoupled from GHC versions") @@ -7313,7 +7313,7 @@ (define-public ghc-mono-traversable "1dvlp7r7r1lc3fxkwaz68f1nffg83240q8a989x24x1x67rj1clq")))) (build-system haskell-build-system) (properties '((upstream-name . "mono-traversable"))) - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (inputs (list ghc-unordered-containers ghc-hashable ghc-vector ghc-vector-algorithms ghc-split)) (native-inputs (list ghc-hspec ghc-hunit ghc-quickcheck ghc-foldl)) @@ -8319,7 +8319,7 @@ (define-public ghc-parallel (package (name "ghc-parallel") (version "3.2.2.0") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) @@ -8479,7 +8479,7 @@ (define-public ghc-paths (package (name "ghc-paths") (version "0.1.0.12") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) @@ -9117,7 +9117,7 @@ (define-public ghc-profunctors "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5")))) (build-system haskell-build-system) (properties '((upstream-name . "profunctors"))) - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (inputs (list ghc-base-orphans ghc-bifunctors @@ -11893,7 +11893,7 @@ (define-public ghc-tf-random (package (name "ghc-tf-random") (version "0.5") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) @@ -13161,7 +13161,7 @@ (define-public ghc-vector (package (name "ghc-vector") (version "0.12.3.1") - (outputs '("out" "static" "doc")) + (outputs '("out" "doc")) (source (origin (method url-fetch) diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index dc83512d30..a37b3a938c 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -109,10 +109,7 @@ (define (cabal-revision->origin cabal-revision) ,@(standard-packages))) (build-inputs `(("haskell" ,haskell) ,@native-inputs)) - ;; XXX: this is a hack to get around issue #41569. - (outputs (match outputs - (("out") (cons "static" outputs)) - (_ outputs))) + (outputs outputs) (build haskell-build) (arguments (substitute-keyword-arguments diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index 759d3c5d17..d77f55da19 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -129,17 +129,7 @@ (define* (build #:key parallel-build? #:allow-other-keys) (define* (install #:key outputs #:allow-other-keys) "Install a given Haskell package." - (run-setuphs "copy" '()) - (when (assoc-ref outputs "static") - (let ((static (assoc-ref outputs "static")) - (lib (or (assoc-ref outputs "lib") - (assoc-ref outputs "out")))) - (for-each (lambda (static-lib) - (let* ((subdir (string-drop static-lib (string-length lib))) - (new (string-append static subdir))) - (mkdir-p (dirname new)) - (rename-file static-lib new))) - (find-files lib "\\.a$"))))) + (run-setuphs "copy" '())) (define* (setup-compiler #:key system inputs outputs #:allow-other-keys) "Setup the compiler environment." -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:09 GMT) Full text and rfc822 format available.Message #62 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 18/31] gnu: elm: Support GHC 9.2. Date: Sat, 11 Feb 2023 11:08:12 +0100
* gnu/packages/elm.scm (elm-sans-reactor)[source]: Add patch to support GHC 9.2. * gnu/packages/patches/elm-ghc9.2.patch: This one. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/elm.scm | 3 +- gnu/packages/patches/elm-ghc9.2.patch | 187 ++++++++++++++++++++++++++ 3 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/elm-ghc9.2.patch diff --git a/gnu/local.mk b/gnu/local.mk index 61e0598a5f..b6b44f7836 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1054,6 +1054,7 @@ dist_patch_DATA = \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ + %D%/packages/patches/elm-ghc9.2.patch \ %D%/packages/patches/elm-offline-package-registry.patch \ %D%/packages/patches/elm-reactor-static-files.patch \ %D%/packages/patches/elogind-revert-polkit-detection.patch \ diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 6d301cf51c..a74d294ae5 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -56,7 +56,8 @@ (define-public elm-sans-reactor (base32 "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w")) (patches (search-patches "elm-reactor-static-files.patch" - "elm-offline-package-registry.patch")))) + "elm-offline-package-registry.patch" + "elm-ghc9.2.patch")))) (build-system haskell-build-system) (arguments (list diff --git a/gnu/packages/patches/elm-ghc9.2.patch b/gnu/packages/patches/elm-ghc9.2.patch new file mode 100644 index 0000000000..7b1e653e80 --- /dev/null +++ b/gnu/packages/patches/elm-ghc9.2.patch @@ -0,0 +1,187 @@ +From f88043586337ba33cf3e852908003a71dfe493ec Mon Sep 17 00:00:00 2001 +From: vlkrs <codeberg <at> schlecht.dev> +Date: Sat, 7 May 2022 17:51:15 +0200 +Subject: [PATCH] Quick hack to build on ghc-9.2.2 + +Taken from +https://codeberg.org/vlkrs/elm-compiler/commit/f88043586337ba33cf3e852908003a71dfe493ec.patch + +diff --git a/compiler/src/Data/Name.hs b/compiler/src/Data/Name.hs +index beecf114..39b64029 100644 +--- a/compiler/src/Data/Name.hs ++++ b/compiler/src/Data/Name.hs +@@ -47,6 +47,7 @@ import qualified Data.Utf8 as Utf8 + import GHC.Exts + ( Int(I#), Ptr + , MutableByteArray# ++ , int8ToInt# + , isTrue# + , newByteArray# + , sizeofByteArray# +@@ -241,7 +242,7 @@ fromTypeVariable name@(Utf8.Utf8 ba#) index = + else + let + len# = sizeofByteArray# ba# +- end# = indexWord8Array# ba# (len# -# 1#) ++ end# = word8ToWord# (indexWord8Array# ba# (len# -# 1#)) + in + if isTrue# (leWord# 0x30## end#) && isTrue# (leWord# end# 0x39##) then + runST +@@ -316,11 +317,11 @@ fromManyNames names = + ST $ \s -> + case newByteArray# (len# +# 3#) s of + (# s, mba# #) -> +- case writeWord8Array# mba# 0# 0x5F## {-_-} s of ++ case writeWord8Array# mba# 0# (wordToWord8# 0x5F##) {-_-} s of + s -> +- case writeWord8Array# mba# 1# 0x4D## {-M-} s of ++ case writeWord8Array# mba# 1# (wordToWord8# 0x4D##) {-M-} s of + s -> +- case writeWord8Array# mba# 2# 0x24## {-$-} s of ++ case writeWord8Array# mba# 2# (wordToWord8# 0x24##) {-$-} s of + s -> + case copyByteArray# ba# 0# mba# 3# len# s of + s -> +diff --git a/compiler/src/Data/Utf8.hs b/compiler/src/Data/Utf8.hs +index e985aa64..472777df 100644 +--- a/compiler/src/Data/Utf8.hs ++++ b/compiler/src/Data/Utf8.hs +@@ -109,10 +109,10 @@ contains (W8# word#) (Utf8 ba#) = + containsHelp word# ba# 0# (sizeofByteArray# ba#) + + +-containsHelp :: Word# -> ByteArray# -> Int# -> Int# -> Bool ++containsHelp :: Word8# -> ByteArray# -> Int# -> Int# -> Bool + containsHelp word# ba# !offset# len# = + if isTrue# (offset# <# len#) then +- if isTrue# (eqWord# word# (indexWord8Array# ba# offset#)) ++ if isTrue# (eqWord8# word# (indexWord8Array# ba# offset#)) + then True + else containsHelp word# ba# (offset# +# 1#) len# + else +@@ -147,10 +147,10 @@ startsWithChar isGood bytes@(Utf8 ba#) = + let + !w# = indexWord8Array# ba# 0# + !char +- | isTrue# (ltWord# w# 0xC0##) = C# (chr# (word2Int# w#)) +- | isTrue# (ltWord# w# 0xE0##) = chr2 ba# 0# w# +- | isTrue# (ltWord# w# 0xF0##) = chr3 ba# 0# w# +- | True = chr4 ba# 0# w# ++ | isTrue# (ltWord8# w# (wordToWord8# 0xC0##)) = C# (chr# (int8ToInt# (word8ToInt8# w#))) ++ | isTrue# (ltWord8# w# (wordToWord8# 0xE0##)) = chr2 ba# 0# (word8ToWord# w#) ++ | isTrue# (ltWord8# w# (wordToWord8# 0xF0##)) = chr3 ba# 0# (word8ToWord# w#) ++ | True = chr4 ba# 0# (word8ToWord# w#) + in + isGood char + +@@ -164,7 +164,7 @@ endsWithWord8 (W8# w#) (Utf8 ba#) = + let len# = sizeofByteArray# ba# in + isTrue# (len# ># 0#) + && +- isTrue# (eqWord# w# (indexWord8Array# ba# (len# -# 1#))) ++ isTrue# (eqWord8# w# (indexWord8Array# ba# (len# -# 1#))) + + + +@@ -186,11 +186,11 @@ splitHelp str start offsets = + unsafeSlice str start offset : splitHelp str (offset + 1) offsets + + +-findDividers :: Word# -> ByteArray# -> Int# -> Int# -> [Int] -> [Int] ++findDividers :: Word8# -> ByteArray# -> Int# -> Int# -> [Int] -> [Int] + findDividers divider# ba# !offset# len# revOffsets = + if isTrue# (offset# <# len#) then + findDividers divider# ba# (offset# +# 1#) len# $ +- if isTrue# (eqWord# divider# (indexWord8Array# ba# offset#)) ++ if isTrue# (eqWord8# divider# (indexWord8Array# ba# offset#)) + then I# offset# : revOffsets + else revOffsets + else +@@ -353,10 +353,10 @@ toCharsHelp ba# offset# len# = + let + !w# = indexWord8Array# ba# offset# + !(# char, width# #) +- | isTrue# (ltWord# w# 0xC0##) = (# C# (chr# (word2Int# w#)), 1# #) +- | isTrue# (ltWord# w# 0xE0##) = (# chr2 ba# offset# w#, 2# #) +- | isTrue# (ltWord# w# 0xF0##) = (# chr3 ba# offset# w#, 3# #) +- | True = (# chr4 ba# offset# w#, 4# #) ++ | isTrue# (ltWord8# w# (wordToWord8# 0xC0##)) = (# C# (chr# (int8ToInt# (word8ToInt8# w#))), 1# #) ++ | isTrue# (ltWord8# w# (wordToWord8# 0xE0##)) = (# chr2 ba# offset# (word8ToWord# w#), 2# #) ++ | isTrue# (ltWord8# w# (wordToWord8# 0xF0##)) = (# chr3 ba# offset# (word8ToWord# w#), 3# #) ++ | True = (# chr4 ba# offset# (word8ToWord# w#), 4# #) + + !newOffset# = offset# +# width# + in +@@ -368,7 +368,7 @@ chr2 :: ByteArray# -> Int# -> Word# -> Char + chr2 ba# offset# firstWord# = + let + !i1# = word2Int# firstWord# +- !i2# = word2Int# (indexWord8Array# ba# (offset# +# 1#)) ++ !i2# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 1#))) + !c1# = uncheckedIShiftL# (i1# -# 0xC0#) 6# + !c2# = i2# -# 0x80# + in +@@ -380,8 +380,8 @@ chr3 :: ByteArray# -> Int# -> Word# -> Char + chr3 ba# offset# firstWord# = + let + !i1# = word2Int# firstWord# +- !i2# = word2Int# (indexWord8Array# ba# (offset# +# 1#)) +- !i3# = word2Int# (indexWord8Array# ba# (offset# +# 2#)) ++ !i2# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 1#))) ++ !i3# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 2#))) + !c1# = uncheckedIShiftL# (i1# -# 0xE0#) 12# + !c2# = uncheckedIShiftL# (i2# -# 0x80#) 6# + !c3# = i3# -# 0x80# +@@ -394,9 +394,9 @@ chr4 :: ByteArray# -> Int# -> Word# -> Char + chr4 ba# offset# firstWord# = + let + !i1# = word2Int# firstWord# +- !i2# = word2Int# (indexWord8Array# ba# (offset# +# 1#)) +- !i3# = word2Int# (indexWord8Array# ba# (offset# +# 2#)) +- !i4# = word2Int# (indexWord8Array# ba# (offset# +# 3#)) ++ !i2# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 1#))) ++ !i3# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 2#))) ++ !i4# = int8ToInt# (word8ToInt8# (indexWord8Array# ba# (offset# +# 3#))) + !c1# = uncheckedIShiftL# (i1# -# 0xF0#) 18# + !c2# = uncheckedIShiftL# (i2# -# 0x80#) 12# + !c3# = uncheckedIShiftL# (i3# -# 0x80#) 6# +@@ -471,7 +471,7 @@ toEscapedBuilderHelp before after !name@(Utf8 ba#) k = + escape :: Word8 -> Word8 -> Ptr a -> Utf8 t -> Int -> Int -> Int -> IO () + escape before@(W8# before#) after ptr name@(Utf8 ba#) offset@(I# offset#) len@(I# len#) i@(I# i#) = + if isTrue# (i# <# len#) then +- if isTrue# (eqWord# before# (indexWord8Array# ba# (offset# +# i#))) ++ if isTrue# (eqWord8# before# (indexWord8Array# ba# (offset# +# i#))) + then + do writeWordToPtr ptr i after + escape before after ptr name offset len (i + 1) +diff --git a/compiler/src/Parse/Primitives.hs b/compiler/src/Parse/Primitives.hs +index bb973193..3747cfac 100644 +--- a/compiler/src/Parse/Primitives.hs ++++ b/compiler/src/Parse/Primitives.hs +@@ -82,7 +82,7 @@ instance Functor (Parser x) where + + instance Applicative.Applicative (Parser x) where + {-# INLINE pure #-} +- pure = return ++ pure = pure + + {-# INLINE (<*>) #-} + (<*>) (Parser parserFunc) (Parser parserArg) = +diff --git a/compiler/src/Parse/Variable.hs b/compiler/src/Parse/Variable.hs +index f3d86145..5e0ea802 100644 +--- a/compiler/src/Parse/Variable.hs ++++ b/compiler/src/Parse/Variable.hs +@@ -22,6 +22,7 @@ import qualified Data.Set as Set + import Data.Word (Word8) + import Foreign.Ptr (Ptr, plusPtr) + import GHC.Exts (Char(C#), Int#, (+#), (-#), chr#, uncheckedIShiftL#, word2Int#) ++import GHC.Prim + import GHC.Word (Word8(W8#)) + + import qualified AST.Source as Src +@@ -384,4 +385,4 @@ chr4 pos firstWord = + + unpack :: Word8 -> Int# + unpack (W8# word#) = +- word2Int# word# ++ int8ToInt# (word8ToInt8# word#) -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:09 GMT) Full text and rfc822 format available.Message #65 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 23/31] gnu: ngless: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:17 +0100
* gnu/packages/bioinformatics.scm (ngless)[arguments]: Add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/bioinformatics.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3e2d1efc87..8eb164d24b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -14316,7 +14316,8 @@ (define-public ngless "0pljyrlpr9r3cl5311dhgxdl8y40szyi4vprn34i3piy0qrldymi")))) (build-system haskell-build-system) (arguments - `(#:phases + `(#:haddock? #f + #:phases (modify-phases %standard-phases (add-before 'configure 'update-constraints (lambda _ @@ -14360,7 +14361,10 @@ (define-public ngless (add-after 'wrap-program 'check-install (lambda* (#:key outputs #:allow-other-keys) (let* ((ngless (string-append (assoc-ref outputs "out") "/bin/ngless"))) - (invoke ngless "--check-install"))))))) + (invoke ngless "--check-install")))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) (inputs (list prodigal bwa samtools -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:10 GMT) Full text and rfc822 format available.Message #68 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 26/31] gnu: git-annex: Drop Haskell documentation. Date: Sat, 11 Feb 2023 11:08:20 +0100
* gnu/packages/haskell-apps.scm (git-annex)[arguments]: Disable #:haddock?. --- gnu/packages/haskell-apps.scm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 7189d82ec1..80abc99cb1 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -306,6 +306,7 @@ (define-public git-annex (arguments `(#:configure-flags '("--flags=-Android -Webapp") + #:haddock? #f #:phases (modify-phases %standard-phases (add-before 'configure 'patch-shell-for-tests @@ -386,17 +387,7 @@ (define-public git-annex (symlink (string-append bin "/git-annex") (string-append bin "/git-annex-shell")) (symlink (string-append bin "/git-annex") - (string-append bin "/git-remote-tor-annex"))))) - (add-after 'install 'touch-static-output - (lambda* (#:key outputs #:allow-other-keys) - ;; The Haskell build system adds a "static" output by - ;; default, and there is no way to override this until - ;; <https://issues.guix.gnu.org/41569> is fixed. Without - ;; this phase, the daemon complains because we do not - ;; create the "static" output. - (with-output-to-file (assoc-ref outputs "static") - (lambda () - (display "static output not used\n")))))))) + (string-append bin "/git-remote-tor-annex")))))))) (inputs (list curl ghc-aeson -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:10 GMT) Full text and rfc822 format available.Message #71 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 29/31] gnu: purescript: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:23 +0100
* gnu/packages/purescript.scm (purescript)[arguments]: Add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/purescript.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm index d968a6f0e6..0a5eccc459 100644 --- a/gnu/packages/purescript.scm +++ b/gnu/packages/purescript.scm @@ -99,13 +99,17 @@ (define-public purescript `(;; Tests require npm #:tests? #f #:configure-flags '("--flags=release") + #:haddock? #f #:phases (modify-phases %standard-phases (add-before 'configure 'update-constraints (lambda _ (substitute* "purescript.cabal" (("\\b(language-javascript|process)\\s+[^,]+" all dep) - dep))))))) + dep)))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) (home-page "https://www.purescript.org/") (synopsis "Haskell inspired programming language compiling to JavaScript") (description -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:09:11 GMT) Full text and rfc822 format available.Message #74 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 30/31] gnu: xmobar: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:24 +0100
* gnu/packages/wm.scm (xmobar)[arguments]: Add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/wm.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7d64cfe6ce..40b0ee2185 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -831,13 +831,17 @@ (define-public xmobar libxpm)) (arguments `(#:configure-flags (list "--flags=all_extensions") + ;; Haddock documentation is for the library. + #:haddock? #f #:phases (modify-phases %standard-phases + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))) (add-before 'build 'patch-test-shebang (lambda* (#:key inputs #:allow-other-keys) (substitute* "test/Xmobar/Plugins/Monitors/AlsaSpec.hs" - (("/bin/bash") (which "bash"))) - #t))))) + (("/bin/bash") (which "bash")))))))) (home-page "https://xmobar.org") (synopsis "Minimalistic text based status bar") (description -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:10:02 GMT) Full text and rfc822 format available.Message #77 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 31/31] gnu: idris: Adapt to changed haskell-build-system. Date: Sat, 11 Feb 2023 11:08:25 +0100
…which does not support the “static” output any more. * gnu/packages/idris.scm (idris)[arguments]: Remove phase restore-libidris_rts. --- gnu/packages/idris.scm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 2a5f63c174..85fb6cc2d2 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -122,17 +122,7 @@ (define-public idris (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count))) (setenv "IDRIS_CC" ,(cc-for-target)) ;Needed for creating executables (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) - (apply (assoc-ref %standard-phases 'check) args)))) - (add-before 'check 'restore-libidris_rts - (lambda* (#:key outputs #:allow-other-keys) - ;; The Haskell build system moves this library to the - ;; "static" output. Idris only knows how to find it in the - ;; "out" output, so we restore it here. - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static")) - (filename "/lib/idris/rts/libidris_rts.a")) - (rename-file (string-append static filename) - (string-append out filename)))))))) + (apply (assoc-ref %standard-phases 'check) args))))))) (native-search-paths (list (search-path-specification (variable "IDRIS_LIBRARY_PATH") -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:16:01 GMT) Full text and rfc822 format available.Message #80 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 27/31] gnu: shellcheck: Drop Haskell libraries. Date: Sat, 11 Feb 2023 11:08:21 +0100
* gnu/packages/haskell-apps.scm (shellcheck)[arguments]: Add 'remove-libraries phase. --- gnu/packages/haskell-apps.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 80abc99cb1..35e369df3f 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -836,7 +836,10 @@ (define-public shellcheck (lambda* (#:key outputs #:allow-other-keys) (install-file "shellcheck.1" (string-append (assoc-ref outputs "out") - "/share/man/man1/"))))))) + "/share/man/man1/")))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) (native-inputs (list pandoc)) (inputs -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:17:02 GMT) Full text and rfc822 format available.Message #83 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 24/31] gnu: hledger: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:18 +0100
* gnu/packages/finance.scm (ghc-hledger): New variable. (hledger): Inherit from ghc-hledger and add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/finance.scm | 48 ++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index d04cf465f4..28f9f67595 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -212,9 +212,9 @@ (define-public bitcoin-core-23.0 (define-public bitcoin-core bitcoin-core-23.0) -(define-public hledger +(define-public ghc-hledger (package - (name "hledger") + (name "ghc-hledger") (version "1.27.1") (source (origin (method url-fetch) @@ -223,14 +223,6 @@ (define-public hledger (base32 "0qdg87m7ys2ykqqq32p7h7aw827w4f5bcqx4dspxxq6zqlvzddqb")))) (build-system haskell-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'install-doc - (lambda _ - (install-file "hledger.info" (string-append #$output "/share/info")) - (install-file "hledger.1" (string-append #$output "/man/man1"))))))) (properties '((upstream-name . "hledger"))) (inputs (list ghc-decimal ghc-diff @@ -273,6 +265,23 @@ (define-public hledger Accounting.") (license license:gpl3))) +(define-public hledger + (package + (inherit ghc-hledger) + (name "hledger") + (arguments + (list + #:haddock? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda _ + (install-file "hledger.info" (string-append #$output "/share/info")) + (install-file "hledger.1" (string-append #$output "/man/man1")))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))))) + (define-public homebank (package (name "homebank") @@ -1988,7 +1997,7 @@ (define-public hledger-web ghc-data-default ghc-extra ghc-hjsmin - hledger + ghc-hledger ghc-hledger-lib ghc-hspec ghc-http-client @@ -2012,12 +2021,17 @@ (define-public hledger-web ghc-yesod-static ghc-yesod-test)) (arguments - (list #:phases - #~(modify-phases %standard-phases - ;; Tests write to $HOME. - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" "/tmp")))))) + (list + #:haddock? #f + #:phases + #~(modify-phases %standard-phases + ;; Tests write to $HOME. + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp"))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) (home-page "http://hledger.org") (synopsis "Web-based user interface for the hledger accounting system") (description -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:18:01 GMT) Full text and rfc822 format available.Message #86 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 25/31] gnu: darcs: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:19 +0100
* gnu/packages/haskell-apps.scm (darcs)[arguments]: Add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/haskell-apps.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 3cae64a42e..7189d82ec1 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -187,6 +187,7 @@ (define-public darcs #:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" "-fnetwork-uri" "-fhttp" "--flag=executable" "--flag=library") + #:haddock? #f #:phases (modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-sh @@ -198,7 +199,10 @@ (define-public darcs (lambda _ (substitute* "darcs.cabal" (("(attoparsec|base|bytestring|constraints|cryptonite|hashable|memory|regex-tdfa|time)\\s+[^,]+" all dep) - dep))))))) + dep)))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) (inputs (list ghc-regex-base ghc-regex-tdfa ghc-regex-applicative -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Sat, 11 Feb 2023 10:18:02 GMT) Full text and rfc822 format available.Message #89 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: [PATCH 28/31] gnu: pandoc: Drop Haskell libraries and documentation. Date: Sat, 11 Feb 2023 11:08:22 +0100
* gnu/packages/haskell-xyz.scm (ghc-pandoc): Renamed from pandoc. (pandoc) [arguments]: Add 'remove-libraries phase and disable #:haddock?. --- gnu/packages/haskell-xyz.scm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 0a6efedd29..7578065eb1 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8188,9 +8188,9 @@ (define-public ghc-doclayout code. It was designed for use in @code{Pandoc}.") (license license:bsd-3))) -(define-public pandoc +(define-public ghc-pandoc (package - (name "pandoc") + (name "ghc-pandoc") (version "2.19.2") (source (origin (method url-fetch) @@ -8288,8 +8288,19 @@ (define-public pandoc provided for those who need a drop-in replacement for Markdown.pl.") (license license:gpl2+))) -(define-public ghc-pandoc - (deprecated-package "ghc-pandoc" pandoc)) +(define-public pandoc + (package + (inherit ghc-pandoc) + (name "pandoc") + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))) + ;; Haddock documentation is for the library. + #:haddock? #f)))) (define-public ghc-pandoc-types (package -- 2.38.2
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Tue, 14 Feb 2023 19:28:01 GMT) Full text and rfc822 format available.Message #92 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net>, 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Tue, 14 Feb 2023 20:27:03 +0100
Hi Lars, On sam., 11 févr. 2023 at 10:59, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > these patches (also found in the wip-haskell branch) lift Haskell to > the Stackage release 20.5, which is based on GHC 9.2. From the CI dashboard https://ci.guix.gnu.org/eval/183093/dashboard all seem green. Well, it is hard to know but giving a look at the various evaluations, https://ci.guix.gnu.org/eval/183093 https://ci.guix.gnu.org/eval/154817?status=failed for instance, https://ci.guix.gnu.org/build/373800/log/raw reports that ’opencv’ is failing but it is unrelated to this branch – “guix weather” reports it is broken on master for Berlin but not Bordeaux. https://ci.guix.gnu.org/build/420612/details Similarly for the other broken packages in this wip-haskell branch. However, python-pypandoc seems broken on wip-haskell but not in master. Idem for ganeti I have locally rebased wip-haskell on the top of master (4501a50bbd) and these 2 packages (python-pypandoc and ganeti) are still failing (once the series is applied) but not in master (before the series is applied, i.e., commit 4501a50bbd). Well, I have not carefully checked yet each commit but they appear good to me; except maybe « Upgrade Haskell packages. » but it is too much work for improving, IMHO. :-) Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 08:46:02 GMT) Full text and rfc822 format available.Message #95 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: Simon Tournier <zimon.toutoune <at> gmail.com> Cc: 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 09:45:33 +0100
Hi, > However, python-pypandoc seems broken on wip-haskell but not in master. > Idem for ganeti yeah, python-pypandoc and ganeti are known to be broken. Ganeti does not support GHC 9.2 (and there don’t seem to be any patches fixing this anywhere) and pypandoc fails even more tests when upgrading it to v1.10 – not sure what to do. > except maybe « Upgrade Haskell packages. » but it is too much > work for improving, IMHO. :-) Well, I know that this is not what the policy requires, but it is a deliberate choice. There is no functional/working intermediate state here. You can only have all of the changes or none. Creating >700 commits “just because” seems wrong. Cheers, Lars
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 09:52:01 GMT) Full text and rfc822 format available.Message #98 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net> Cc: 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 10:20:44 +0100
Hi, On Wed, 15 Feb 2023 at 09:45, Lars-Dominik Braun <lars <at> 6xq.net> wrote: >> However, python-pypandoc seems broken on wip-haskell but not in master. >> Idem for ganeti > yeah, python-pypandoc and ganeti are known to be broken. Ganeti does > not support GHC 9.2 (and there don’t seem to be any patches fixing > this anywhere) and pypandoc fails even more tests when upgrading it to > v1.10 – not sure what to do. About ganeti, does it make sense to build it with a transformation and use an older GHC version (that it is still available).‘ About python-pypandoc, if there is no solution for fixing it and it will be broken, I propose to remove it. WDYT? Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 10:45:02 GMT) Full text and rfc822 format available.Message #101 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net>, 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 11:43:41 +0100
Hi Lars, On Sat, 11 Feb 2023 at 10:59, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > Lars-Dominik Braun (29): > import: hackage: Allow version at the beginning of cabal file. > gnu: Switch default to GHC 9.2. > import: stackage: Update to release 20.5. > import: hackage: Add upstream-name property. > gnu: Add upstream-name property to Haskell packages. > import: hackage: Use upstream-name property. > gnu: Use HACKAGE-URI for packages from Hackage. > import: haskell: Add new internal library for GHC 9.2. > build: haskell-build-system: Process all transitive dependencies. > build: haskell-build-system: Remove unused linker flags. > Upgrade Haskell packages. > gnu: ghc-9.2: Increase make verbosity. > gnu: Remove unused Haskell packages. > gnu: ghc-parsec: Update to 3.1.15.0. > gnu: idris: Fix overly zealous regular expression. > gnu: elm: Support GHC 9.2. > build-system: haskell: Drop default "static" output. > gnu: ghc-9.2: Support static linking with glibc < 2.34. > gnu: ghc-lua: Disable symbol export. > build: haskell-build-system: Build static executables by default. > gnu: ngless: Drop Haskell libraries and documentation. > gnu: hledger: Drop Haskell libraries and documentation. > gnu: darcs: Drop Haskell libraries and documentation. > gnu: git-annex: Drop Haskell documentation. > gnu: shellcheck: Drop Haskell libraries. > gnu: pandoc: Drop Haskell libraries and documentation. > gnu: purescript: Drop Haskell libraries and documentation. > gnu: xmobar: Drop Haskell libraries and documentation. > gnu: idris: Adapt to changed haskell-build-system. > > Philip Munksgaard (1): > build: haskell-build-system: Support multiple libraries. > > zimoun (1): > build: haskell-build-system: Remove trailing #t. From this series, I do not see [PATCH 07/31], neither 09/31 or 13/31. Is it expected? [PATCH 00/31] Haskell upgrade to Stackage 20.5 (Guix Guix::review? list::guix-patches replied) [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file. (Guix list::guix-patches unread) [PATCH 02/31] build: haskell-build-system: Remove trailing #t. (Guix inbox list::guix-patches unread) [PATCH 03/31] build: haskell-build-system: Support multiple libraries. (Guix inbox list::guix-patches unread) [PATCH 04/31] gnu: Switch default to GHC 9.2. (Guix Guix::review? list::guix-patches unread) [PATCH 05/31] import: stackage: Update to release 20.5. (Guix list::guix-patches unread) [PATCH 06/31] import: hackage: Add upstream-name property. (Guix list::guix-patches unread) [PATCH 08/31] import: hackage: Use upstream-name property. (Guix list::guix-patches unread) [PATCH 10/31] import: haskell: Add new internal library for GHC 9.2. (Guix list::guix-patches unread) [PATCH 11/31] build: haskell-build-system: Process all transitive dependencies. (Guix list::guix-patches unread) [PATCH 12/31] build: haskell-build-system: Remove unused linker flags. (Guix list::guix-patches unread) [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity. (Guix Guix::review? list::guix-patches unread) [PATCH 15/31] gnu: Remove unused Haskell packages. (Guix Guix::review? list::guix-patches unread) [PATCH 16/31] gnu: ghc-parsec: Update to 3.1.15.0. (Guix Guix::review? list::guix-patches unread) [PATCH 17/31] gnu: idris: Fix overly zealous regular expression. (Guix list::guix-patches unread) [PATCH 18/31] gnu: elm: Support GHC 9.2. (Guix list::guix-patches unread) [PATCH 19/31] build-system: haskell: Drop default "static" output. (Guix Guix::review? list::guix-patches unread) [PATCH 20/31] gnu: ghc-9.2: Support static linking with glibc < 2.34. (Guix Guix::review? list::guix-patches unread) [PATCH 21/31] gnu: ghc-lua: Disable symbol export. (Guix Guix::review? list::guix-patches unread) [PATCH 22/31] build: haskell-build-system: Build static executables by default. (Guix list::guix-patches unread) [PATCH 23/31] gnu: ngless: Drop Haskell libraries and documentation. (Guix Guix::review? list::guix-patches unread) [PATCH 24/31] gnu: hledger: Drop Haskell libraries and documentation. (Guix list::guix-patches unread) [PATCH 25/31] gnu: darcs: Drop Haskell libraries and documentation. (Guix Guix::review? list::guix-patches unread) [PATCH 26/31] gnu: git-annex: Drop Haskell documentation. (Guix Guix::review? list::guix-patches unread) [PATCH 27/31] gnu: shellcheck: Drop Haskell libraries. (Guix Guix::review? list::guix-patches unread) [PATCH 28/31] gnu: pandoc: Drop Haskell libraries and documentation. (Guix Guix::review? list::guix-patches unread) [PATCH 29/31] gnu: purescript: Drop Haskell libraries and documentation. (Guix list::guix-patches unread) [PATCH 30/31] gnu: xmobar: Drop Haskell libraries and documentation. (Guix list::guix-patches unread) [PATCH 31/31] gnu: idris: Adapt to changed haskell-build-system. (Guix list::guix-patches unread) Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 10:59:02 GMT) Full text and rfc822 format available.Message #104 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: zimoun <zimon.toutoune <at> gmail.com> Cc: 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 11:58:36 +0100
Hi, > From this series, I do not see [PATCH 07/31], neither 09/31 or 13/31. > Is it expected? yes, they’re a few hundred kilobytes with thousands of lines each. Please have a look at the branch instead. Lars
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 11:08:02 GMT) Full text and rfc822 format available.Message #107 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net>, 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: Re: [bug#61420] [PATCH 08/31] import: hackage: Use upstream-name property. Date: Wed, 15 Feb 2023 11:48:00 +0100
Hi, On Sat, 11 Feb 2023 at 11:08, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > * guix/import/hackage.scm (guix-package->hackage-name): Removed. > (latest-release): Use package-upstream-name* instead. > * guix/import/stackage.scm (latest-lts-release): Ditto. > (stackage-lts-package?): Ditto. > -(define guix-package->hackage-name > - (let ((uri-rx (make-regexp "(https?://hackage.haskell.org|mirror://hackage)/package/([^/]+)/.*")) > - (name-rx (make-regexp "(.*)-[0-9\\.]+"))) > - (lambda (package) > - "Given a Guix package name, return the corresponding Hackage name." > - (let* ((source-url (and=> (package-source package) origin-uri)) > - (name (match:substring (regexp-exec uri-rx source-url) 2))) > - (match (regexp-exec name-rx name) > - (#f name) > - (m (match:substring m 1))))))) Why not just do a drop-in replacement of the implement of ’guix-package->hackage-name’ by the implementation of ’package-upstream-name*’? Other said, avoid to introduce a new procedure and remove another; and instead just replace the implementation of the old by the new. > - (let* ((hackage-name (guix-package->hackage-name package)) > + (let* ((hackage-name (package-upstream-name* package)) It would avoid all these kind of replacement, no? Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 11:08:02 GMT) Full text and rfc822 format available.Message #110 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net>, 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: Re: [bug#61420] [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity. Date: Wed, 15 Feb 2023 11:53:13 +0100
Hi, On Sat, 11 Feb 2023 at 11:08, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > Tests time out on ci.guix.gnu.org. [...] > + ;; Increase verbosity, so running the test suite does not time out on CI. Hehe! Well, I think there is variable for that. Something like: (properties `((max-silent-time . 36000))) Well, one is not exclusive with the other. :-) Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 11:08:03 GMT) Full text and rfc822 format available.Message #113 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net>, 61420 <at> debbugs.gnu.org Cc: Lars-Dominik Braun <lars <at> 6xq.net> Subject: Re: [bug#61420] [PATCH 19/31] build-system: haskell: Drop default "static" output. Date: Wed, 15 Feb 2023 11:55:30 +0100
Hi, On Sat, 11 Feb 2023 at 11:08, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > * guix/build-system/haskell.scm (lower): Pass outputs to lowered bag. > * guix/build/haskell-build-system.scm (install): Remove static library > moving code. > * gnu/packages/haskell-check.scm (ghc-hunit): Remove "static" output. This change could be announced with ’--news’, WDYT? Cheers, simon
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 14:11:01 GMT) Full text and rfc822 format available.Message #116 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Lars-Dominik Braun <lars <at> 6xq.net> Cc: 61420 <at> debbugs.gnu.org, guix-patches <at> gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 14:03:13 +0000
[Message part 1 (text/plain, inline)]
Lars-Dominik Braun <lars <at> 6xq.net> writes: >> From this series, I do not see [PATCH 07/31], neither 09/31 or 13/31. >> Is it expected? > yes, they’re a few hundred kilobytes with thousands of lines > each. Please have a look at the branch instead. I ended up also looking at these missing patches, since that explains why the testing for https://qa.guix.gnu.org/issue/61420 hasn't happened. I've been sent these large diffs anyway since that happened when you pushed to the branch, so I wouldn't hesitate to send large patches to guix-patches, since that's helpful to have the testing happen automatically.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 14:11:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#61420
; Package guix-patches
.
(Wed, 15 Feb 2023 15:59:02 GMT) Full text and rfc822 format available.Message #122 received at 61420 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Lars-Dominik Braun <lars <at> 6xq.net> Cc: 61420 <at> debbugs.gnu.org Subject: Re: [bug#61420] [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Wed, 15 Feb 2023 12:10:55 +0100
Hi, On Wed, 15 Feb 2023 at 11:58, Lars-Dominik Braun <lars <at> 6xq.net> wrote: > yes, they’re a few hundred kilobytes with thousands of lines > each. Please have a look at the branch instead. All LGTM. Some minor comments that can be addressed later, IMHO. Thank you for this hard work! Cheers, simon
Lars-Dominik Braun <lars <at> 6xq.net>
:Lars-Dominik Braun <lars <at> 6xq.net>
:Message #127 received at 61420-done <at> debbugs.gnu.org (full text, mbox):
From: Lars-Dominik Braun <lars <at> 6xq.net> To: 61420-done <at> debbugs.gnu.org Subject: Re: [PATCH 00/31] Haskell upgrade to Stackage 20.5 Date: Sun, 26 Feb 2023 10:47:03 +0100
Hi, the branch wip-haskell has been merged. Lars
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 26 Mar 2023 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.