GNU bug report logs - #55813
autogen: Use guile-3.0

Previous Next

Package: guix-patches;

Reported by: Vagrant Cascadian <vagrant <at> reproducible-builds.org>

Date: Mon, 6 Jun 2022 00:47:01 UTC

Severity: normal

Done: Vagrant Cascadian <vagrant <at> reproducible-builds.org>

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 55813 in the body.
You can then email your comments to 55813 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#55813; Package guix-patches. (Mon, 06 Jun 2022 00:47:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vagrant Cascadian <vagrant <at> reproducible-builds.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 06 Jun 2022 00:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
To: guix-patches <at> gnu.org
Subject: autogen: Use guile-3.0
Date: Sun, 05 Jun 2022 17:46:46 -0700
[Message part 1 (text/plain, inline)]
Some relatively simply patches make autogen build with guile-3.0. Used
by both Debian an openSUSE, so already has a bit of field testing.

I'm not 100% sure that it wasn't just dumb luck, but it seemed like
building autogen with guile-3.0 was more likely to build reproducibly.

It did require adding automake and autoconf to inputs, seeming to detect
that something changed since configure was generated. Not sure if that
could be avoided by being cleverer, or if that is an acceptible change.


live well,
  vagrant
[0003-gnu-autogen-Build-with-guile-3.0.patch (text/x-diff, inline)]
From 9745d65234b70115a07d324f5514b125ad97369a Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
Date: Sun, 5 Jun 2022 16:05:02 -0700
Subject: [PATCH 3/3] gnu: autogen: Build with guile 3.0.

* gnu/packages/autogen.scm (autogen)[arguments]: Add 'support-guile-3.0 phase.
  [inputs]: Remove guile-2.2 and add automake, autoconf and guile-3.0.
---
 gnu/packages/autogen.scm | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm
index d0c8df17ec..7e22167be5 100644
--- a/gnu/packages/autogen.scm
+++ b/gnu/packages/autogen.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages autogen)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages base)
@@ -49,7 +50,7 @@ (define-public autogen
             "def_bf[MAXNAMELEN + 10]")))))
     (build-system gnu-build-system)
     (native-inputs (list pkg-config which))
-    (inputs (list guile-2.2 perl))          ; for doc generator mdoc
+    (inputs (list automake autoconf guile-3.0 perl))          ; for doc generator mdoc
     (arguments
      '(#:configure-flags
        ;; XXX Needed to build 5.18.16.  ./configure fails without it:
@@ -62,6 +63,21 @@ (define-public autogen
 
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'support-guile-3.0
+           ;; Upstream bug:
+           ;; https://sourceforge.net/p/autogen/bugs/196/
+           ;;
+           ;; Supported in Debian and openSUSE:
+           ;; https://salsa.debian.org/debian/autogen/-/blob/master/debian/patches/40_suse_04-guile-version.patch
+           (lambda _
+             (substitute*
+                 "agen5/guile-iface.h"
+               (("#elif GUILE_VERSION < 203000") "#elif GUILE_VERSION < 301000"))
+             (substitute*
+                 (list
+                  "configure"
+                  "config/guile.m4")
+               (("2.2 2.0 1.8") "3.0 2.2 2.0 1.8"))))
          (add-before 'build 'set-man-page-date
            ;; Avoid embedding the current date for reproducible builds
            (lambda _
-- 
2.35.1

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#55813; Package guix-patches. (Fri, 10 Jun 2022 21:15:02 GMT) Full text and rfc822 format available.

Message #8 received at 55813 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
Cc: 55813 <at> debbugs.gnu.org
Subject: Re: bug#55813: autogen: Use guile-3.0
Date: Fri, 10 Jun 2022 23:13:57 +0200
Hi!

Vagrant Cascadian <vagrant <at> reproducible-builds.org> skribis:

> Some relatively simply patches make autogen build with guile-3.0. Used
> by both Debian an openSUSE, so already has a bit of field testing.
>
> I'm not 100% sure that it wasn't just dumb luck, but it seemed like
> building autogen with guile-3.0 was more likely to build reproducibly.

Nice.  :-)

> It did require adding automake and autoconf to inputs, seeming to detect
> that something changed since configure was generated. Not sure if that
> could be avoided by being cleverer, or if that is an acceptible change.

It could be avoided by changing just ‘configure’ (which this patch
already does actually), but it’s fine either way.

> From 9745d65234b70115a07d324f5514b125ad97369a Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
> Date: Sun, 5 Jun 2022 16:05:02 -0700
> Subject: [PATCH 3/3] gnu: autogen: Build with guile 3.0.
>
> * gnu/packages/autogen.scm (autogen)[arguments]: Add 'support-guile-3.0 phase.
>   [inputs]: Remove guile-2.2 and add automake, autoconf and guile-3.0.

[...]

> +             (substitute*
> +                 "agen5/guile-iface.h"

You can move that string to the previous line.

> +             (substitute*
> +                 (list
> +                  "configure"
> +                  "config/guile.m4")
> +               (("2.2 2.0 1.8") "3.0 2.2 2.0 1.8"))))

Here you should either modify ‘config/guile.m4’, in which case
‘autoreconf’ will have to run (that should be automatic), or modify
‘configure’, in which case the dependency on Autotools is unnecessary.

The latter is a fine solution.

OK with a change along these lines!

Thanks,
Ludo’.




Reply sent to Vagrant Cascadian <vagrant <at> reproducible-builds.org>:
You have taken responsibility. (Tue, 14 Jun 2022 04:04:02 GMT) Full text and rfc822 format available.

Notification sent to Vagrant Cascadian <vagrant <at> reproducible-builds.org>:
bug acknowledged by developer. (Tue, 14 Jun 2022 04:04:02 GMT) Full text and rfc822 format available.

Message #13 received at 55813-done <at> debbugs.gnu.org (full text, mbox):

From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 55813-done <at> debbugs.gnu.org
Subject: Re: bug#55813: autogen: Use guile-3.0
Date: Mon, 13 Jun 2022 21:02:51 -0700
[Message part 1 (text/plain, inline)]
On 2022-06-10, Ludovic Courtès wrote:
> Vagrant Cascadian <vagrant <at> reproducible-builds.org> skribis:
>
>> Some relatively simply patches make autogen build with guile-3.0. Used
>> by both Debian an openSUSE, so already has a bit of field testing.
>>
>> I'm not 100% sure that it wasn't just dumb luck, but it seemed like
>> building autogen with guile-3.0 was more likely to build reproducibly.
>
> Nice.  :-)
>
>> It did require adding automake and autoconf to inputs, seeming to detect
>> that something changed since configure was generated. Not sure if that
>> could be avoided by being cleverer, or if that is an acceptible change.
>
> It could be avoided by changing just ‘configure’ (which this patch
> already does actually), but it’s fine either way.

Ah, that seems simpler, at least...

>> From 9745d65234b70115a07d324f5514b125ad97369a Mon Sep 17 00:00:00 2001
>> From: Vagrant Cascadian <vagrant <at> reproducible-builds.org>
>> Date: Sun, 5 Jun 2022 16:05:02 -0700
>> Subject: [PATCH 3/3] gnu: autogen: Build with guile 3.0.
>>
>> * gnu/packages/autogen.scm (autogen)[arguments]: Add 'support-guile-3.0 phase.
>>   [inputs]: Remove guile-2.2 and add automake, autoconf and guile-3.0.
>
> [...]
>
>> +             (substitute*
>> +                 "agen5/guile-iface.h"
>
> You can move that string to the previous line.

Done.

>> +             (substitute*
>> +                 (list
>> +                  "configure"
>> +                  "config/guile.m4")
>> +               (("2.2 2.0 1.8") "3.0 2.2 2.0 1.8"))))
>
> Here you should either modify ‘config/guile.m4’, in which case
> ‘autoreconf’ will have to run (that should be automatic), or modify
> ‘configure’, in which case the dependency on Autotools is unnecessary.
>
> The latter is a fine solution.

Ok, that seems like a smaller change, and still works, so went with that.

> OK with a change along these lines!

Thanks for the review!

Pushed as 3691e37eb14c5871d213646154b98f5aaa5dd2f1.


live well,
  vagrant
[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. (Tue, 12 Jul 2022 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 287 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.