* [bug#61420] [PATCH 02/31] build: haskell-build-system: Remove trailing #t.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
@ 2023-02-11 10:07 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 03/31] build: haskell-build-system: Support multiple libraries Lars-Dominik Braun
` (25 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:07 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun, zimoun
From: zimoun <zimon.toutoune@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@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@elephly.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Simon Tournier <zimon.toutoune@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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 03/31] build: haskell-build-system: Support multiple libraries.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
2023-02-11 10:07 ` [bug#61420] [PATCH 02/31] build: haskell-build-system: Remove trailing #t Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 04/31] gnu: Switch default to GHC 9.2 Lars-Dominik Braun
` (24 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Philip Munksgaard, Lars-Dominik Braun, zimoun
From: Philip Munksgaard <philip@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@gmail.com>.
Signed-off-by: Lars-Dominik Braun <lars@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@gmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2022 Philip Munksgaard <philip@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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 04/31] gnu: Switch default to GHC 9.2.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
2023-02-11 10:07 ` [bug#61420] [PATCH 02/31] build: haskell-build-system: Remove trailing #t Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 03/31] build: haskell-build-system: Support multiple libraries Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 05/31] import: stackage: Update to release 20.5 Lars-Dominik Braun
` (23 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 05/31] import: stackage: Update to release 20.5.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (2 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 04/31] gnu: Switch default to GHC 9.2 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 06/31] import: hackage: Add upstream-name property Lars-Dominik Braun
` (22 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 06/31] import: hackage: Add upstream-name property.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (3 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 05/31] import: stackage: Update to release 20.5 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 08/31] import: hackage: Use " Lars-Dominik Braun
` (21 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 08/31] import: hackage: Use upstream-name property.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (4 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 06/31] import: hackage: Add upstream-name property Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-15 10:48 ` zimoun
2023-02-11 10:08 ` [bug#61420] [PATCH 10/31] import: haskell: Add new internal library for GHC 9.2 Lars-Dominik Braun
` (20 subsequent siblings)
26 siblings, 1 reply; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 08/31] import: hackage: Use upstream-name property.
2023-02-11 10:08 ` [bug#61420] [PATCH 08/31] import: hackage: Use " Lars-Dominik Braun
@ 2023-02-15 10:48 ` zimoun
0 siblings, 0 replies; 40+ messages in thread
From: zimoun @ 2023-02-15 10:48 UTC (permalink / raw)
To: Lars-Dominik Braun, 61420; +Cc: Lars-Dominik Braun
Hi,
On Sat, 11 Feb 2023 at 11:08, Lars-Dominik Braun <lars@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
^ permalink raw reply [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 10/31] import: haskell: Add new internal library for GHC 9.2.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (5 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 08/31] import: hackage: Use " Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 11/31] build: haskell-build-system: Process all transitive dependencies Lars-Dominik Braun
` (19 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 11/31] build: haskell-build-system: Process all transitive dependencies.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (6 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 10/31] import: haskell: Add new internal library for GHC 9.2 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 12/31] build: haskell-build-system: Remove unused linker flags Lars-Dominik Braun
` (18 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 12/31] build: haskell-build-system: Remove unused linker flags.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (7 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 11/31] build: haskell-build-system: Process all transitive dependencies Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity Lars-Dominik Braun
` (17 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (8 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 12/31] build: haskell-build-system: Remove unused linker flags Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-15 10:53 ` zimoun
2023-02-11 10:08 ` [bug#61420] [PATCH 15/31] gnu: Remove unused Haskell packages Lars-Dominik Braun
` (16 subsequent siblings)
26 siblings, 1 reply; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 15/31] gnu: Remove unused Haskell packages.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (9 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 14/31] gnu: ghc-9.2: Increase make verbosity Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 16/31] gnu: ghc-parsec: Update to 3.1.15.0 Lars-Dominik Braun
` (15 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 16/31] gnu: ghc-parsec: Update to 3.1.15.0.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (10 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 15/31] gnu: Remove unused Haskell packages Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 17/31] gnu: idris: Fix overly zealous regular expression Lars-Dominik Braun
` (14 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 17/31] gnu: idris: Fix overly zealous regular expression.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (11 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 16/31] gnu: ghc-parsec: Update to 3.1.15.0 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 18/31] gnu: elm: Support GHC 9.2 Lars-Dominik Braun
` (13 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 18/31] gnu: elm: Support GHC 9.2.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (12 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 17/31] gnu: idris: Fix overly zealous regular expression Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 19/31] build-system: haskell: Drop default "static" output Lars-Dominik Braun
` (12 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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@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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 19/31] build-system: haskell: Drop default "static" output.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (13 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 18/31] gnu: elm: Support GHC 9.2 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-15 10:55 ` zimoun
2023-02-11 10:08 ` [bug#61420] [PATCH 20/31] gnu: ghc-9.2: Support static linking with glibc < 2.34 Lars-Dominik Braun
` (11 subsequent siblings)
26 siblings, 1 reply; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 20/31] gnu: ghc-9.2: Support static linking with glibc < 2.34.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (14 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 19/31] build-system: haskell: Drop default "static" output Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 21/31] gnu: ghc-lua: Disable symbol export Lars-Dominik Braun
` (10 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 21/31] gnu: ghc-lua: Disable symbol export.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (15 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 20/31] gnu: ghc-9.2: Support static linking with glibc < 2.34 Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 22/31] build: haskell-build-system: Build static executables by default Lars-Dominik Braun
` (9 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 22/31] build: haskell-build-system: Build static executables by default.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (16 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 21/31] gnu: ghc-lua: Disable symbol export Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 23/31] gnu: ngless: Drop Haskell libraries and documentation Lars-Dominik Braun
` (8 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 23/31] gnu: ngless: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (17 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 22/31] build: haskell-build-system: Build static executables by default Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 24/31] gnu: hledger: " Lars-Dominik Braun
` (7 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 24/31] gnu: hledger: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (18 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 23/31] gnu: ngless: Drop Haskell libraries and documentation Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 25/31] gnu: darcs: " Lars-Dominik Braun
` (6 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 25/31] gnu: darcs: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (19 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 24/31] gnu: hledger: " Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 26/31] gnu: git-annex: Drop Haskell documentation Lars-Dominik Braun
` (5 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 26/31] gnu: git-annex: Drop Haskell documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (20 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 25/31] gnu: darcs: " Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 27/31] gnu: shellcheck: Drop Haskell libraries Lars-Dominik Braun
` (4 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 27/31] gnu: shellcheck: Drop Haskell libraries.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (21 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 26/31] gnu: git-annex: Drop Haskell documentation Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 28/31] gnu: pandoc: Drop Haskell libraries and documentation Lars-Dominik Braun
` (3 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 28/31] gnu: pandoc: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (22 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 27/31] gnu: shellcheck: Drop Haskell libraries Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 29/31] gnu: purescript: " Lars-Dominik Braun
` (2 subsequent siblings)
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 29/31] gnu: purescript: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (23 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 28/31] gnu: pandoc: Drop Haskell libraries and documentation Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 30/31] gnu: xmobar: " Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 31/31] gnu: idris: Adapt to changed haskell-build-system Lars-Dominik Braun
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 30/31] gnu: xmobar: Drop Haskell libraries and documentation.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (24 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 29/31] gnu: purescript: " Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
2023-02-11 10:08 ` [bug#61420] [PATCH 31/31] gnu: idris: Adapt to changed haskell-build-system Lars-Dominik Braun
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
* 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
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [bug#61420] [PATCH 31/31] gnu: idris: Adapt to changed haskell-build-system.
2023-02-11 10:07 ` [bug#61420] [PATCH 01/31] import: hackage: Allow version at the beginning of cabal file Lars-Dominik Braun
` (25 preceding siblings ...)
2023-02-11 10:08 ` [bug#61420] [PATCH 30/31] gnu: xmobar: " Lars-Dominik Braun
@ 2023-02-11 10:08 ` Lars-Dominik Braun
26 siblings, 0 replies; 40+ messages in thread
From: Lars-Dominik Braun @ 2023-02-11 10:08 UTC (permalink / raw)
To: 61420; +Cc: Lars-Dominik Braun
…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
^ permalink raw reply related [flat|nested] 40+ messages in thread