GNU bug report logs -
#63416
[PATCH 0/2] Fix more derivation builder gexp issues.
Previous Next
Reported by: Christopher Baines <mail <at> cbaines.net>
Date: Wed, 10 May 2023 12:27:01 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.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 63416 in the body.
You can then email your comments to 63416 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Wed, 10 May 2023 12:27:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Christopher Baines <mail <at> cbaines.net>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Wed, 10 May 2023 12:27:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Christopher Baines (2):
gnu: gcc: Change custom-gcc to use gexp's.
gnu: gcc: Change make-gccgo to use gexp's.
gnu/packages/gcc.scm | 78 ++++++++++++++++++++++----------------------
1 file changed, 39 insertions(+), 39 deletions(-)
base-commit: e0c35d1578c10a8fe27c8372f3a8bb5dd88b01b8
--
2.39.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Wed, 10 May 2023 12:29:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 63416 <at> debbugs.gnu.org (full text, mbox):
As this seems to be generating broken derivations for i586-gnu otherwise.
* gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
arguments.
---
gnu/packages/gcc.scm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 47fb443155..2bd4cad6ec 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1043,18 +1043,18 @@ (define* (custom-gcc gcc name languages
(srfi srfi-26)
(ice-9 regex)))
((#:configure-flags flags)
- `(cons (string-append "--enable-languages="
- ,(string-join languages ","))
- (remove (cut string-match "--enable-languages.*" <>)
- ,flags)))
+ #~(cons (string-append "--enable-languages="
+ ,(string-join languages ","))
+ (remove (cut string-match "--enable-languages.*" <>)
+ #$flags)))
((#:phases phases)
- `(modify-phases ,phases
- (add-after 'install 'remove-broken-or-conflicting-files
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each
- delete-file
- (find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
+ #~(modify-phases #$phases
+ (add-after 'install 'remove-broken-or-conflicting-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
+ delete-file
+ (find-files (string-append (assoc-ref outputs "out") "/bin")
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
base-commit: e0c35d1578c10a8fe27c8372f3a8bb5dd88b01b8
--
2.39.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Wed, 10 May 2023 12:29:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 63416 <at> debbugs.gnu.org (full text, mbox):
As otherwise this seems to generate broken derivations for i586-gnu.
* gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
---
gnu/packages/gcc.scm | 56 ++++++++++++++++++++++----------------------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 2bd4cad6ec..38884678e0 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
(arguments
(substitute-keyword-arguments (package-arguments gccgo)
((#:phases phases)
- `(modify-phases ,phases
- (add-after 'install 'wrap-go-with-tool-path
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (exedir (string-append out "/libexec/gcc"))
- (tooldir (dirname (car (find-files exedir "^cgo$")))))
- (wrap-program (string-append out "/bin/go")
- `("GCCGOTOOLDIR" =
- (,(string-append "${GCCGOTOOLDIR:-" tooldir "}")))
- `("GOROOT" =
- (,(string-append "${GOROOT:-" out "}")))))))
- (add-before 'configure 'fix-gotools-runpath
- (lambda _
- (substitute* "gotools/Makefile.in"
- (("AM_LDFLAGS =" all)
- (string-append all " -Wl,-rpath=$(libdir) ")))))
- (add-before 'configure 'remove-tool-reference-from-libgo
- (lambda _
- (substitute* "libgo/Makefile.in"
- (("(GccgoToolDir = \\\")[^\\\"]+" _ start)
- (string-append start "/nonexistent"))
- ,@(if (version>=? (package-version gccgo) "12.0")
- '((("(defaultGOROOT = `)[^`]+" _ start)
- (string-append start "/nonexistent")))
- '((("(DefaultGoroot = \\\")[^\\\"]+" _ start)
- (string-append start "/nonexistent"))))
- (("(defaultGOROOTValue.*?return `)[^`]+" _ start)
- (string-append start "/nonexistent"))))))))))))
+ #~(modify-phases #$phases
+ (add-after 'install 'wrap-go-with-tool-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (exedir (string-append out "/libexec/gcc"))
+ (tooldir (dirname (car (find-files exedir "^cgo$")))))
+ (wrap-program (string-append out "/bin/go")
+ `("GCCGOTOOLDIR" =
+ (,(string-append "${GCCGOTOOLDIR:-" tooldir "}")))
+ `("GOROOT" =
+ (,(string-append "${GOROOT:-" out "}")))))))
+ (add-before 'configure 'fix-gotools-runpath
+ (lambda _
+ (substitute* "gotools/Makefile.in"
+ (("AM_LDFLAGS =" all)
+ (string-append all " -Wl,-rpath=$(libdir) ")))))
+ (add-before 'configure 'remove-tool-reference-from-libgo
+ (lambda _
+ (substitute* "libgo/Makefile.in"
+ (("(GccgoToolDir = \\\")[^\\\"]+" _ start)
+ (string-append start "/nonexistent"))
+ ,@(if (version>=? (package-version gccgo) "12.0")
+ '((("(defaultGOROOT = `)[^`]+" _ start)
+ (string-append start "/nonexistent")))
+ '((("(DefaultGoroot = \\\")[^\\\"]+" _ start)
+ (string-append start "/nonexistent"))))
+ (("(defaultGOROOTValue.*?return `)[^`]+" _ start)
+ (string-append start "/nonexistent"))))))))))))
(define-public gccgo-4.9
(custom-gcc (package
--
2.39.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Thu, 11 May 2023 10:45:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 63416 <at> debbugs.gnu.org (full text, mbox):
Hi,
Christopher Baines <mail <at> cbaines.net> skribis:
> As this seems to be generating broken derivations for i586-gnu otherwise.
“Seems” isn’t confidence-inspiring. ;-)
Here’s one:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build gccgo -s i586-gnu -d
/gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv
$ guix gc --references /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv |grep builder
/gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder
$ grep -q '#<' /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder ; echo $?
0
--8<---------------cut here---------------end--------------->8---
> * gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
> arguments.
[...]
> As otherwise this seems to generate broken derivations for i586-gnu.
>
> * gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
[...]
> +++ b/gnu/packages/gcc.scm
> @@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
> (arguments
> (substitute-keyword-arguments (package-arguments gccgo)
> ((#:phases phases)
> - `(modify-phases ,phases
> - (add-after 'install 'wrap-go-with-tool-path
If ‘phases’ might be a gexp, then this should be a gexp as well.
Put differently, if one of the gcc* packages starts using gexps, then
all those that inherit from it should switch as well.
Since ‘gcc-11’ uses gexps (only when targeting the Hurd), all the other
ones should use gexps. That probably includes all those in gcc.scm and
all those in commencement.scm.
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Thu, 11 May 2023 14:55:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 63416 <at> debbugs.gnu.org (full text, mbox):
As otherwise this seems to generate broken derivations for i586-gnu.
* gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
---
gnu/packages/gcc.scm | 56 ++++++++++++++++++++++----------------------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 1db37529f7..1b444c2b02 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
(arguments
(substitute-keyword-arguments (package-arguments gccgo)
((#:phases phases)
- `(modify-phases ,phases
- (add-after 'install 'wrap-go-with-tool-path
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (exedir (string-append out "/libexec/gcc"))
- (tooldir (dirname (car (find-files exedir "^cgo$")))))
- (wrap-program (string-append out "/bin/go")
- `("GCCGOTOOLDIR" =
- (,(string-append "${GCCGOTOOLDIR:-" tooldir "}")))
- `("GOROOT" =
- (,(string-append "${GOROOT:-" out "}")))))))
- (add-before 'configure 'fix-gotools-runpath
- (lambda _
- (substitute* "gotools/Makefile.in"
- (("AM_LDFLAGS =" all)
- (string-append all " -Wl,-rpath=$(libdir) ")))))
- (add-before 'configure 'remove-tool-reference-from-libgo
- (lambda _
- (substitute* "libgo/Makefile.in"
- (("(GccgoToolDir = \\\")[^\\\"]+" _ start)
- (string-append start "/nonexistent"))
- ,@(if (version>=? (package-version gccgo) "12.0")
- '((("(defaultGOROOT = `)[^`]+" _ start)
- (string-append start "/nonexistent")))
- '((("(DefaultGoroot = \\\")[^\\\"]+" _ start)
- (string-append start "/nonexistent"))))
- (("(defaultGOROOTValue.*?return `)[^`]+" _ start)
- (string-append start "/nonexistent"))))))))))))
+ #~(modify-phases #$phases
+ (add-after 'install 'wrap-go-with-tool-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (exedir (string-append out "/libexec/gcc"))
+ (tooldir (dirname (car (find-files exedir "^cgo$")))))
+ (wrap-program (string-append out "/bin/go")
+ `("GCCGOTOOLDIR" =
+ (,(string-append "${GCCGOTOOLDIR:-" tooldir "}")))
+ `("GOROOT" =
+ (,(string-append "${GOROOT:-" out "}")))))))
+ (add-before 'configure 'fix-gotools-runpath
+ (lambda _
+ (substitute* "gotools/Makefile.in"
+ (("AM_LDFLAGS =" all)
+ (string-append all " -Wl,-rpath=$(libdir) ")))))
+ (add-before 'configure 'remove-tool-reference-from-libgo
+ (lambda _
+ (substitute* "libgo/Makefile.in"
+ (("(GccgoToolDir = \\\")[^\\\"]+" _ start)
+ (string-append start "/nonexistent"))
+ #$@(if (version>=? (package-version gccgo) "12.0")
+ '((("(defaultGOROOT = `)[^`]+" _ start)
+ (string-append start "/nonexistent")))
+ '((("(DefaultGoroot = \\\")[^\\\"]+" _ start)
+ (string-append start "/nonexistent"))))
+ (("(defaultGOROOTValue.*?return `)[^`]+" _ start)
+ (string-append start "/nonexistent"))))))))))))
(define-public gccgo-4.9
(custom-gcc (package
--
2.39.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Thu, 11 May 2023 14:55:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 63416 <at> debbugs.gnu.org (full text, mbox):
As this seems to be generating broken derivations for i586-gnu otherwise.
* gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
arguments.
---
gnu/packages/gcc.scm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 47fb443155..1db37529f7 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1043,18 +1043,18 @@ (define* (custom-gcc gcc name languages
(srfi srfi-26)
(ice-9 regex)))
((#:configure-flags flags)
- `(cons (string-append "--enable-languages="
- ,(string-join languages ","))
- (remove (cut string-match "--enable-languages.*" <>)
- ,flags)))
+ #~(cons (string-append "--enable-languages="
+ #$(string-join languages ","))
+ (remove (cut string-match "--enable-languages.*" <>)
+ #$flags)))
((#:phases phases)
- `(modify-phases ,phases
- (add-after 'install 'remove-broken-or-conflicting-files
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each
- delete-file
- (find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
+ #~(modify-phases #$phases
+ (add-after 'install 'remove-broken-or-conflicting-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
+ delete-file
+ (find-files (string-append (assoc-ref outputs "out") "/bin")
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
base-commit: 4557c83a7d9df6edc9dd3b7b2a53e1a0ec3e6e34
--
2.39.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63416
; Package
guix-patches
.
(Thu, 11 May 2023 15:00:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 63416 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Christopher Baines <mail <at> cbaines.net> skribis:
>
>> As this seems to be generating broken derivations for i586-gnu otherwise.
>
> “Seems” isn’t confidence-inspiring. ;-)
>
> Here’s one:
>
> $ ./pre-inst-env guix build gccgo -s i586-gnu -d
> /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv
> $ guix gc --references /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv |grep builder
> /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder
> $ grep -q '#<' /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder ; echo $?
> 0
>
>> * gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
>> arguments.
>
> [...]
>
>> As otherwise this seems to generate broken derivations for i586-gnu.
>>
>> * gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
>
>
> [...]
>
>> +++ b/gnu/packages/gcc.scm
>> @@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
>> (arguments
>> (substitute-keyword-arguments (package-arguments gccgo)
>> ((#:phases phases)
>> - `(modify-phases ,phases
>> - (add-after 'install 'wrap-go-with-tool-path
>
> If ‘phases’ might be a gexp, then this should be a gexp as well.
>
> Put differently, if one of the gcc* packages starts using gexps, then
> all those that inherit from it should switch as well.
>
> Since ‘gcc-11’ uses gexps (only when targeting the Hurd), all the other
> ones should use gexps. That probably includes all those in gcc.scm and
> all those in commencement.scm.
Yep, I think these changes were sufficient, but I missed replacing a few
unquote bits with ungexp, so as QA shows this affected a bunch of
derivations for all systems.
I've fixed those bits now and sent a v2.
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Christopher Baines <mail <at> cbaines.net>
:
You have taken responsibility.
(Mon, 15 May 2023 08:53:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Christopher Baines <mail <at> cbaines.net>
:
bug acknowledged by developer.
(Mon, 15 May 2023 08:53:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 63416-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Christopher Baines <mail <at> cbaines.net> writes:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Christopher Baines <mail <at> cbaines.net> skribis:
>>
>>> As this seems to be generating broken derivations for i586-gnu otherwise.
>>
>> “Seems” isn’t confidence-inspiring. ;-)
>>
>> Here’s one:
>>
>> $ ./pre-inst-env guix build gccgo -s i586-gnu -d
>> /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv
>> $ guix gc --references /gnu/store/yzlmgxq20bk9xcbksi7q1f839056wzhr-gccgo-12.3.0.drv |grep builder
>> /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder
>> $ grep -q '#<' /gnu/store/jizw9gjvzb21jm7q7xlm71pw6fr24hhv-gccgo-12.3.0-builder ; echo $?
>> 0
>>
>>> * gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
>>> arguments.
>>
>> [...]
>>
>>> As otherwise this seems to generate broken derivations for i586-gnu.
>>>
>>> * gnu/packages/gcc.scm (make-gccgo): Use gexp's for the package arguments.
>>
>>
>> [...]
>>
>>> +++ b/gnu/packages/gcc.scm
>>> @@ -1156,34 +1156,34 @@ (define (make-gccgo gcc)
>>> (arguments
>>> (substitute-keyword-arguments (package-arguments gccgo)
>>> ((#:phases phases)
>>> - `(modify-phases ,phases
>>> - (add-after 'install 'wrap-go-with-tool-path
>>
>> If ‘phases’ might be a gexp, then this should be a gexp as well.
>>
>> Put differently, if one of the gcc* packages starts using gexps, then
>> all those that inherit from it should switch as well.
>>
>> Since ‘gcc-11’ uses gexps (only when targeting the Hurd), all the other
>> ones should use gexps. That probably includes all those in gcc.scm and
>> all those in commencement.scm.
>
> Yep, I think these changes were sufficient, but I missed replacing a few
> unquote bits with ungexp, so as QA shows this affected a bunch of
> derivations for all systems.
>
> I've fixed those bits now and sent a v2.
v2 looked good in QA, so I pushed this to master as
70986f052a2b60ccb5f3bd5da520f9cdf5ea60ad.
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 12 Jun 2023 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 334 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.