all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 46564@debbugs.gnu.org
Subject: [bug#46564] [PATCH core-updates]: Use autoconf-wrapper instead of autoconf
Date: Mon, 22 Feb 2021 18:23:32 +0100	[thread overview]
Message-ID: <9e9ca439e3099b3e41b03b91b555b1b4000491d5.camel@telenet.be> (raw)
In-Reply-To: <875z2lgjqg.fsf@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 1658 bytes --]

Hi,

On Sun, 2021-02-21 at 23:05 +0100, Ludovic Courtès wrote:
> [...]
> 
> Maxime Devos <maximedevos@telenet.be> skribis:
> 
> > This patch replaces autoconf with autoconf-wrapped in the native-inputs
> > almost everywhere (except for some packages in
> > gnu/packages/autotools.scm).  As this would cause many rebuilds, this
> > patch targets the "core-updates" branch and not "master".
> 
> OK.

The revised patch targets master, as less packages were changed
(changing the definition of libuv should be done on core-updates).

> > A wine package has autoconf in the inputs instead of native-inputs,
> > I wonder if that's intentional or a bug?  I left that package untouched
> > for now.
> 
> I think that’s a bug.
> 
> > Why this change? [...]
> Yeah, I’m not sure this is a worthy goal.
> 
> > Why not?
> [...]
> Yeah.  I would be in favor of unifying things the other way around:
> using ‘autoconf’ instead of ‘autoconf-wrapper’ everywhere.  Since
> there’s the ‘patch-shebangs’ phase, we don’t need ‘autoconf-wrapper’.

I've attached a patch that unifies things the other way around.

> There’s one exception I think: Automake.  This one needs
> ‘autoconf-wrapper’ so it can actually run its test suite.  Perhaps
> Libtool too.

Some other packages fail to build without autoconf-wrapper as well.
Some packages run './configure' from 'autogen.sh' or from the Makefile.
I added a little explanation to each package that actually needs
autoconf-wrapper, and discouraged new uses of autoconf-wrapper with
a comment next to the definition of autoconf-wrapper.

WDYT?

Maxime.

[-- Attachment #1.2: 0001-gnu-Use-autoconf-instead-of-autoconf-wrapper-when-po.patch --]
[-- Type: text/x-patch, Size: 11940 bytes --]

From d42be9473bac6b8bcfe17a37c92f2481cb2198fb Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Mon, 22 Feb 2021 16:43:10 +0100
Subject: [PATCH] gnu: Use autoconf instead of autoconf-wrapper when possible.

This should reduce confusion on when to use the "autoconf"
package and when to use "autoconf-wrapper" instead in
package definitions.

Fixes: <https://issues.guix.gnu.org/46564>

* gnu/packages/autotools.scm (autoconf-wrapper):
  advise to use the "autoconf" package instead where
  possible.
* gnu/packages/game-development.scm (tsukundere)[native-inputs]:
  use "autoconf" instead of "autoconf-wrapper".
* gnu/packages/gimp.scm
  (glimpse)[native-inputs]: likewise.
  (gimp-resynthesizer)[native-inputs]: add comment on why
  "autoconf-wrapper" is used.
* gnu/packages/gnunet.scm (gnunet)[native-inputs]:
  use "autoconf" instead of "autoconf-wrapper".
* gnu/packages/gnupg.scm (signing-party)[native-inputs]:
  add comment on why "autoconf-wrapper" is used.
* gnu/packages/guile-xyz.scm
  (guile-bash,guile-filesystem,guile-ics,guile-udev)[native-inputs]:
  use "autoconf" instead of "autoconf-wrapper".
* gnu/packages/libevent.scm (libuv)[native-inputs]: indicates
  "autoconf-wrapper" needs to be replaced with "autoconf"
  on core-updates.
* gnu/packages/logging.scm (glog)[native-inputs]: use "autoconf"
  instead of "autoconf-wrapper".
* gnu/packages/mail.scm (libetpan)[native-inputs]: likewise.
* gnu/packages/mate.scm
  (mate-icon-theme-faenza)[native-inputs]: add comment on why
  "autoconf-wrapper" is used.
  (mate-screensaver)[native-inputs]: use "autoconf" instead of
  "autoconf-wrapper".
* gnu/packages/package-management.scm (guix)[native-inputs]: likewise.
* gnu/packages/sawfish.scm (librep)[native-inputs]: likewise.
* gnu/packages/video.scm (motion)[native-inputs]: likewise.
* gnu/packages/zile.scm (zile)[native-inputs]: likewise.
---
 gnu/packages/autotools.scm          | 2 ++
 gnu/packages/game-development.scm   | 2 +-
 gnu/packages/gimp.scm               | 4 +++-
 gnu/packages/gnunet.scm             | 2 +-
 gnu/packages/gnupg.scm              | 2 ++
 gnu/packages/guile-xyz.scm          | 8 ++++----
 gnu/packages/libevent.scm           | 1 +
 gnu/packages/logging.scm            | 2 +-
 gnu/packages/mail.scm               | 2 +-
 gnu/packages/mate.scm               | 4 +++-
 gnu/packages/package-management.scm | 2 +-
 gnu/packages/sawfish.scm            | 2 +-
 gnu/packages/video.scm              | 2 +-
 gnu/packages/zile.scm               | 2 +-
 14 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 09f4bf4122..452749828a 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -267,6 +267,8 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
     ;; Do not show it in the UI since it's meant for internal use.
     (properties '((hidden? . #t)))))
 
+;; Only use this package when autoconf is not usable,
+;; see <https://issues.guix.gnu.org/46564#1>.
 (define-public autoconf-wrapper
   (make-autoconf-wrapper autoconf))
 
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 92c3da92ab..18b4358887 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -529,7 +529,7 @@ clone.")
                    all)))
                #t))))))
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("guile" ,guile-3.0)
        ("pkg-config" ,pkg-config)
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 4d229a1fd9..5e61091f22 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -518,6 +518,8 @@ MyPaint.")
                (mkdir-p target)
                #t))))))
     (native-inputs
+     ;; avoid ./autogen.sh: ./configure: /bin/sh: bad interpreter:
+     ;; No such file or directory
      `(("autoconf" ,autoconf-wrapper)
        ("automake" ,automake)
        ("glib" ,glib "bin")                       ; glib-gettextize
@@ -590,7 +592,7 @@ transferring the style of an image.")
                    (format port "for dir in '~a'.split(':'):~%" pythonpath)
                    (format port "    site.addsitedir(dir)~%")))))))))
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 80e4aba29b..d261f42dcc 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -368,7 +368,7 @@ kinds of basic applications for the foundation of a GNU internet.")
                   "0nqc18jh9j30y4l6yh6j35byfg6qalq7yr3frv9rk10qa041c2sv"))))
       (build-system gnu-build-system)
       (native-inputs `(("pkg-config" ,pkg-config)
-                       ("autoconf" ,autoconf-wrapper)
+                       ("autoconf" ,autoconf)
                        ("automake" ,automake)))
       (inputs `(("guile" ,guile-2.0)
                 ("gnunet" ,gnunet)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 18fc76ef35..20fc264659 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -695,6 +695,8 @@ PGP keysigning parties.")
                 "1aig5ssabzbk4mih7xd04vgr931bw0flbi8dz902wlr610gyv5s5"))))
     (build-system gnu-build-system)
     (native-inputs
+     ;; autoconf-wrapper is required due to the non-standard
+     ;; 'configure phase.
      `(("autoconf" ,autoconf-wrapper)
        ("automake" ,automake)))
     (inputs `(("perl" ,perl)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 8d9126df44..c4c8a04b5c 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -367,7 +367,7 @@ dictionary and suggesting spelling corrections.")
                (string-append "--libdir=" (assoc-ref %outputs "out")
                               "/lib/bash"))))
       (native-inputs `(("pkg-config" ,pkg-config)
-                       ("autoconf" ,autoconf-wrapper)
+                       ("autoconf" ,autoconf)
                        ("automake" ,automake)
                        ("libtool" ,libtool)
                        ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
@@ -642,7 +642,7 @@ is not available for Guile 2.0.")
                 "1shmkc0y9r2sj3kw7hrsnamnp7y8xifkhf3m3rnfxczqg63k67vy"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)))
@@ -1697,7 +1697,7 @@ provides tight coupling to Guix.")
                   #t))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("texinfo" ,texinfo)
        ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
@@ -1830,7 +1830,7 @@ users and in some situations.")
                 "1l6csncjqnx58c6c3wdl7rshnhk4pzhjq2q8lnkg483564s9w5py"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("gettext" ,gettext-minimal)
        ("libtool" ,libtool)
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index dab574a155..7109d9a88d 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -115,6 +115,7 @@ limited support for fork events.")
      '(#:configure-flags '("--disable-static")
        ;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
        #:tests? #f))
+    ;; TODO replace with autoconf on core-updates
     (native-inputs `(("autoconf" ,autoconf-wrapper)
                      ("automake" ,automake)
                      ("libtool" ,libtool)
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 87283f3752..eafc23b2e6 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -99,7 +99,7 @@ staying as close to their API as is reasonable.")
                       #t)))))
     (native-inputs
      `(("perl" ,perl)                             ;for tests
-       ("autoconf" ,autoconf-wrapper)
+       ("autoconf" ,autoconf)
        ("automake" ,automake)
        ("libtool" ,libtool)))
     (synopsis "C++ logging library")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2bd376a1a1..bb021fad0d 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1474,7 +1474,7 @@ useful features.")
              (sha256
                (base32 "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn"))))
     (build-system gnu-build-system)
-    (native-inputs `(("autoconf" ,autoconf-wrapper)
+    (native-inputs `(("autoconf" ,autoconf)
                      ("automake" ,automake)
                      ("libtool" ,libtool)
                      ("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index a9635d90fe..fbb1a74d09 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -176,6 +176,8 @@ actions.")
              (setenv "CONFIG_SHELL" (which "sh"))
              (invoke "sh" "autogen.sh"))))))
     (native-inputs
+     ;; autoconf-wrapper is required due to the non-standard
+     ;; 'autoconf phase.
      `(("autoconf" ,autoconf-wrapper)
        ("automake" ,automake)
        ("intltool" ,intltool)
@@ -1201,7 +1203,7 @@ Re-decorates windows on un-maximise.
                (("dbus-1") ""))))))))
     (native-inputs
      `(("automake" ,automake)
-       ("autoconf" ,autoconf-wrapper)
+       ("autoconf" ,autoconf)
        ("gettext" ,gettext-minimal)
        ("intltool" ,intltool)
        ("mate-common" ,mate-common)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 9fb8c40a31..9e498fbe29 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -377,7 +377,7 @@ $(prefix)/etc/init.d\n")))
                        ;; XXX: Keep the development inputs here even though
                        ;; they're unnecessary, just so that 'guix environment
                        ;; guix' always contains them.
-                       ("autoconf" ,autoconf-wrapper)
+                       ("autoconf" ,autoconf)
                        ("automake" ,automake)
                        ("gettext" ,gettext-minimal)
                        ("texinfo" ,texinfo)
diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm
index 26d8eba3b6..4162fe43cd 100644
--- a/gnu/packages/sawfish.scm
+++ b/gnu/packages/sawfish.scm
@@ -53,7 +53,7 @@
      `(("makeinfo"   ,texinfo)
        ("pkg-config" ,pkg-config)
 
-       ("autoconf" ,autoconf-wrapper)
+       ("autoconf" ,autoconf)
        ("automake" ,automake)
        ("libtool"  ,libtool)))
     (inputs
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 029b5b6ebb..b78874ae18 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4244,7 +4244,7 @@ It counts more than 100 plugins.")
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("autoconf" ,autoconf-wrapper)
+     `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm
index 6169815520..c28bc1bdd1 100644
--- a/gnu/packages/zile.scm
+++ b/gnu/packages/zile.scm
@@ -120,7 +120,7 @@ default Emacs configuration, but it carries a much lighter feature set.")
          ,@(package-inputs zile)))
       (native-inputs
        `(("m4" ,m4)                               ;for 'bootstrap'
-         ("autoconf" ,autoconf-wrapper)
+         ("autoconf" ,autoconf)
          ("automake" ,automake)
 
          ;; For some reason, 'bootstrap' insists on having these.
-- 
2.30.0


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

  reply	other threads:[~2021-02-22 17:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 18:10 [bug#46564] [PATCH core-updates]: Use autoconf-wrapper instead of autoconf Maxime Devos
2021-02-21 22:05 ` Ludovic Courtès
2021-02-22 17:23   ` Maxime Devos [this message]
2021-02-23  8:19     ` Ludovic Courtès
2021-03-17 22:12       ` bug#46564: " Ludovic Courtès
2021-02-23  8:19     ` [bug#46564] " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9e9ca439e3099b3e41b03b91b555b1b4000491d5.camel@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=46564@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.