unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash
@ 2023-03-14  8:34 Ludovic Courtès
  2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
  2023-03-16 19:41 ` bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 2 replies; 14+ messages in thread
From: Ludovic Courtès @ 2023-03-14  8:34 UTC (permalink / raw)
  To: 62181; +Cc: Vivien Kraus

Hello,

The Gnulib package, which is meant to be source, retains references to
several packages:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 250	Mar 12 2023 23:58:03	(current)
  guix 1ed227d
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 1ed227d7952af48efe50a2f6c9537e17c356daa1
$ guix gc --references $(guix build gnulib)
/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8
/gnu/store/76p04alhjimlv4cgijl670byf2m50qh8-clisp-2.49-92
/gnu/store/bvnzi0z7i9qk31a03y64rs8sxrckkinr-python-3.9.9
/gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0
--8<---------------cut here---------------end--------------->8---

We should probably fix that and add #:allowed-references '().

WDYT, Vivien?

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs.
  2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-14  8:58   ` Vivien Kraus via Bug reports for GNU Guix
  2023-03-16 10:43     ` Ludovic Courtès
  2023-03-14 10:33   ` bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
  2023-03-16 10:41   ` bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
  2 siblings, 1 reply; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-14  8:58 UTC (permalink / raw)
  To: Ludovic Courtès, 62181

* gnu/packages/build-tools.scm (gnulib) [phase reset-shebangs]: After
installation, rewrite the /gnu/store shebangs in the distributed build-aux
files.
[inputs, native-inputs]: Add bash-minimal.
[phase let-autogen-execute-gnulib-tool]: Specify a shell to execute
gnulib-tool from autogen.sh.
---
 gnu/packages/build-tools.scm | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 28ab77bbb4..f93a72f2f5 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -973,12 +973,32 @@ (define (find-ucd-files . names)
                    ("NormalizationTest.txt" . "uninorm")
                    ("auxiliary/GraphemeBreakTest.txt" . "unigbrk")
                    ("auxiliary/WordBreakTest.txt" . "uniwbrk")))
-                (delete-file "gen-uni-tables")))))))
-    (inputs ;; Shebangs for some auxiliary build files.
-     (list python perl clisp))
+                (delete-file "gen-uni-tables"))))
+          (add-after 'install 'reset-shebangs
+            (lambda _
+              (for-each
+               (lambda (file)
+                 (false-if-exception
+                  ;; Might fail on binary files, this is not a problem.
+                  (substitute* file
+                    ((#$(file-append (this-package-native-input "bash-minimal")
+                                     "/bin/sh"))
+                     "/bin/sh")
+                    ((#$(file-append (this-package-native-input "python")
+                                     "/bin/python3"))
+                     "/usr/bin/env python3")
+                    ((#$(file-append (this-package-native-input "perl")
+                                     "/bin/perl"))
+                     "/usr/bin/perl")
+                    ((#$(file-append (this-package-native-input "clisp")
+                                     "/bin/clisp"))
+                     "/usr/bin/clisp"))))
+               (find-files (string-append #$output "/src/gnulib"))))))))
+    (inputs ;; Shebang for gnulib-tool
+     (list bash-minimal))
     (native-inputs
      (list
-      python perl clisp
+      bash-minimal python perl clisp
       ;; Unicode data:
       ucd-next
       ;; Programs for the tests:
-- 
2.39.2




^ permalink raw reply related	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs.
  2023-03-16 19:41 ` bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-14  8:58   ` Vivien Kraus via Bug reports for GNU Guix
  2023-03-17 21:48     ` Ludovic Courtès
  2023-03-14 10:33   ` bug#62181: [PATCH v2 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
  1 sibling, 1 reply; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-14  8:58 UTC (permalink / raw)
  To: 62181; +Cc: Ludovic Courtès

* gnu/packages/build-tools.scm (gnulib) [phase reset-shebangs]: After
installation, rewrite the /gnu/store shebangs in the distributed build-aux
files.
[inputs, native-inputs]: Add bash-minimal.
[phase let-autogen-execute-gnulib-tool]: Specify a shell to execute
gnulib-tool from autogen.sh.
---
 gnu/packages/build-tools.scm | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 28ab77bbb4..caf0f3fc1c 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -973,12 +973,25 @@ (define (find-ucd-files . names)
                    ("NormalizationTest.txt" . "uninorm")
                    ("auxiliary/GraphemeBreakTest.txt" . "unigbrk")
                    ("auxiliary/WordBreakTest.txt" . "uniwbrk")))
-                (delete-file "gen-uni-tables")))))))
-    (inputs ;; Shebangs for some auxiliary build files.
-     (list python perl clisp))
+                (delete-file "gen-uni-tables"))))
+          (add-after 'install 'restore-shebangs
+            (lambda _
+              (substitute* (find-files
+                            (string-append #$output "/src/gnulib")
+                            (lambda (fname stat)
+                              (and (not (string-suffix? "/lib/javaversion.class" fname))
+                                   (not (string-suffix? ".mo" fname)))))
+                (("^#! ?(.*)/bin/sh" _ prefix)
+                 "#!/bin/sh")
+                (("^#! ?(.*)/bin/python3" _ prefix)
+                 "#!/usr/bin/env python3")
+                (("^#! ?(.*)/bin/([a-zA-Z0-9-]+)" _ prefix program)
+                 (string-append "#!/usr/bin/" program))))))))
+    (inputs ;; Shebang for gnulib-tool
+     (list bash-minimal))
     (native-inputs
      (list
-      python perl clisp
+      bash-minimal python perl clisp
       ;; Unicode data:
       ucd-next
       ;; Programs for the tests:
-- 
2.39.2




^ permalink raw reply related	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work.
  2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
  2023-03-14  8:58   ` bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-14 10:33   ` Vivien Kraus via Bug reports for GNU Guix
  2023-03-16 10:48     ` Ludovic Courtès
  2023-03-16 10:41   ` bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
  2 siblings, 1 reply; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-14 10:33 UTC (permalink / raw)
  To: Ludovic Courtès, 62181

* gnu/packages/tls.scm (guile-gnutls) [phase patch-more-shebangs]: Fix how
autogen.sh invokes gnulib-tool, and how configure.ac invokes git-version-gen,
so as not to rely on shebangs.
---
 gnu/packages/tls.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 81d90c86ae..5a44fa89dc 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -417,6 +417,12 @@ (define-public guile-gnutls
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-more-shebangs
             (lambda _
+              (substitute* "autogen.sh"
+                (("\\$gnulib_tool \\$gnulib_tool_options")
+                 "sh $gnulib_tool $gnulib_tool_options"))
+              (substitute* "configure.ac"
+                (("build-aux/git-version-gen")
+                 "sh build-aux/git-version-gen"))
               (for-each patch-shebang
                         '("autopull.sh" "autogen.sh"))))
           (replace 'bootstrap
-- 
2.39.2




^ permalink raw reply related	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH v2 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work.
  2023-03-16 19:41 ` bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style Vivien Kraus via Bug reports for GNU Guix
  2023-03-14  8:58   ` bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-14 10:33   ` Vivien Kraus via Bug reports for GNU Guix
  1 sibling, 0 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-14 10:33 UTC (permalink / raw)
  To: 62181; +Cc: Ludovic Courtès

* gnu/packages/tls.scm (guile-gnutls) [phase patch-more-shebangs]: Fix how
autogen.sh invokes gnulib-tool, and how configure.ac invokes git-version-gen,
so as not to rely on shebangs.
---
 gnu/packages/tls.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 81d90c86ae..5a44fa89dc 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -417,6 +417,12 @@ (define-public guile-gnutls
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-more-shebangs
             (lambda _
+              (substitute* "autogen.sh"
+                (("\\$gnulib_tool \\$gnulib_tool_options")
+                 "sh $gnulib_tool $gnulib_tool_options"))
+              (substitute* "configure.ac"
+                (("build-aux/git-version-gen")
+                 "sh build-aux/git-version-gen"))
               (for-each patch-shebang
                         '("autopull.sh" "autogen.sh"))))
           (replace 'bootstrap
-- 
2.39.2




^ permalink raw reply related	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash
  2023-03-14  8:34 bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
@ 2023-03-14 10:36 ` Vivien Kraus via Bug reports for GNU Guix
  2023-03-14  8:58   ` bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
                     ` (2 more replies)
  2023-03-16 19:41 ` bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style Vivien Kraus via Bug reports for GNU Guix
  1 sibling, 3 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-14 10:36 UTC (permalink / raw)
  To: Ludovic Courtès, 62181

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]

Hi!

Le mardi 14 mars 2023 à 09:34 +0100, Ludovic Courtès a écrit :
> The Gnulib package, which is meant to be source, retains references
> to
> several packages:
> 
> --8<---------------cut here---------------start------------->8---
> $ guix describe
> Generation 250  Mar 12 2023 23:58:03    (current)
>   guix 1ed227d
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 1ed227d7952af48efe50a2f6c9537e17c356daa1
> $ guix gc --references $(guix build gnulib)
> /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8
> /gnu/store/76p04alhjimlv4cgijl670byf2m50qh8-clisp-2.49-92
> /gnu/store/bvnzi0z7i9qk31a03y64rs8sxrckkinr-python-3.9.9
> /gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0
> --8<---------------cut here---------------end--------------->8---
> 
> We should probably fix that and add #:allowed-references '().

These were shebangs in the build auxiliary scripts. It’s a tough problem,
because if I undo all the patch shebangs after installation, then gnulib is
not usable in the gnu-build-system bootstrap phase without a few more
tweaks. That’s not really a problem, because we can fix all our gnulib users
(guile-gnutls), but we should expect issues if gnulib bootstrap scripts call
themselves without an explicit interpreter.

In any case, #:allowed-reference is a gnu-build-system thing, so we can’t use that for gnulib.

Vivien

Vivien Kraus (2):
  gnu: gnulib: Reset the shebangs.
  gnu: guile-gnutls: Do not expect gnulib shebangs to work.

 gnu/packages/build-tools.scm | 28 ++++++++++++++++++++++++----
 gnu/packages/tls.scm         |  6 ++++++
 2 files changed, 30 insertions(+), 4 deletions(-)


base-commit: 302680dbce784a53bfddb4ce5e6a9505cd0c477a
-- 
2.39.2




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash
  2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
  2023-03-14  8:58   ` bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
  2023-03-14 10:33   ` bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-16 10:41   ` Ludovic Courtès
  2023-03-16 10:54     ` Vivien Kraus via Bug reports for GNU Guix
  2 siblings, 1 reply; 14+ messages in thread
From: Ludovic Courtès @ 2023-03-16 10:41 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 62181

Hello!

Vivien Kraus <vivien@planete-kraus.eu> skribis:

> These were shebangs in the build auxiliary scripts. It’s a tough problem,
> because if I undo all the patch shebangs after installation, then gnulib is
> not usable in the gnu-build-system bootstrap phase without a few more
> tweaks.

Is it really a problem?  Apart from ‘gnulib-tool’, every script is first
copied into the source tree, and that happens before the
‘patch-source-shebangs’ phase no?

> In any case, #:allowed-reference is a gnu-build-system thing, so we can’t use that for gnulib.

True; we should add it to other build systems.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs.
  2023-03-14  8:58   ` bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-16 10:43     ` Ludovic Courtès
  0 siblings, 0 replies; 14+ messages in thread
From: Ludovic Courtès @ 2023-03-16 10:43 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 62181

Vivien Kraus <vivien@planete-kraus.eu> skribis:

> * gnu/packages/build-tools.scm (gnulib) [phase reset-shebangs]: After
> installation, rewrite the /gnu/store shebangs in the distributed build-aux
> files.
> [inputs, native-inputs]: Add bash-minimal.
> [phase let-autogen-execute-gnulib-tool]: Specify a shell to execute
> gnulib-tool from autogen.sh.

[...]

> +          (add-after 'install 'reset-shebangs

s/reset/restore/ ?

> +            (lambda _
> +              (for-each
> +               (lambda (file)
> +                 (false-if-exception
> +                  ;; Might fail on binary files, this is not a problem.
> +                  (substitute* file
> +                    ((#$(file-append (this-package-native-input "bash-minimal")
> +                                     "/bin/sh"))
> +                     "/bin/sh")
> +                    ((#$(file-append (this-package-native-input "python")
> +                                     "/bin/python3"))
> +                     "/usr/bin/env python3")
> +                    ((#$(file-append (this-package-native-input "perl")
> +                                     "/bin/perl"))
> +                     "/usr/bin/perl")
> +                    ((#$(file-append (this-package-native-input "clisp")
> +                                     "/bin/clisp"))
> +                     "/usr/bin/clisp"))))
> +               (find-files (string-append #$output "/src/gnulib"))))))))

How about:

  (substitute* (find-files …)
    (("^#! ?(.*)/bin/([a-zA-Z0-9-]+)" _ prefix program)
     (string-append "#!/bin/" program "\n")))

?

Ludo’.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work.
  2023-03-14 10:33   ` bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-16 10:48     ` Ludovic Courtès
  2023-03-16 10:56       ` Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 1 reply; 14+ messages in thread
From: Ludovic Courtès @ 2023-03-16 10:48 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 62181

Vivien Kraus <vivien@planete-kraus.eu> skribis:

> * gnu/packages/tls.scm (guile-gnutls) [phase patch-more-shebangs]: Fix how
> autogen.sh invokes gnulib-tool, and how configure.ac invokes git-version-gen,
> so as not to rely on shebangs.

[...]

> +              (substitute* "configure.ac"
> +                (("build-aux/git-version-gen")
> +                 "sh build-aux/git-version-gen"))
>                (for-each patch-shebang
>                          '("autopull.sh" "autogen.sh"))))

Maybe you can instead add ‘build-aux/git-version-gen’ to the ‘for-each’
list above?

Ludo’.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash
  2023-03-16 10:41   ` bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
@ 2023-03-16 10:54     ` Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 0 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-16 10:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 62181

Le jeudi 16 mars 2023 à 11:41 +0100, Ludovic Courtès a écrit :
> Apart from ‘gnulib-tool’, every script is first
> copied into the source tree, and that happens before the
> ‘patch-source-shebangs’ phase no?

Precisely, so if they are executed during the bootstrap phase, we can’t
rely on their shebangs being correct yet. It depends on individual
packages which build-aux scripts are actually called (although I’m
pretty sure noone will call the clisp thing). However, top/bootstrap-
funclib.sh is intended to be included in the top-level directory of the
package, to be invoked at bootstrap time, and at least this script
calls gnulib-tool (the one in /src, so the unpatched copy) incorrectly.

Vivien




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work.
  2023-03-16 10:48     ` Ludovic Courtès
@ 2023-03-16 10:56       ` Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 0 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-16 10:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 62181

Le jeudi 16 mars 2023 à 11:48 +0100, Ludovic Courtès a écrit :
> > +              (substitute* "configure.ac"
> > +                (("build-aux/git-version-gen")
> > +                 "sh build-aux/git-version-gen"))
> >                (for-each patch-shebang
> >                          '("autopull.sh" "autogen.sh"))))
> 
> Maybe you can instead add ‘build-aux/git-version-gen’ to the ‘for-
> each’
> list above?

Unfortunately, no, because it is imported from gnulib (so it does not
exist before this early patch shebang phase) and *immediately* invoked
by the same bootstrap script, so I have no time window when I can fix
it.

Vivien

^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style
  2023-03-14  8:34 bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
  2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-16 19:41 ` Vivien Kraus via Bug reports for GNU Guix
  2023-03-14  8:58   ` bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
  2023-03-14 10:33   ` bug#62181: [PATCH v2 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
  1 sibling, 2 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-16 19:41 UTC (permalink / raw)
  To: 62181; +Cc: Ludovic Courtès

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]

So I applied Ludo’s proposed style improvement with a few more tweaks to
respect the gnulib-intended shebangs, and making sure that substitute* failure
on /lib/javaversion.class and the .mo test data can be recovered.

This v2 is still not a silver bullet, because gnulib users need to patch a few
files before bootstrap.

Vivien Kraus (2):
  gnu: gnulib: Reset the shebangs.
  gnu: guile-gnutls: Do not expect gnulib shebangs to work.

 gnu/packages/build-tools.scm | 21 +++++++++++++++++----
 gnu/packages/tls.scm         |  6 ++++++
 2 files changed, 23 insertions(+), 4 deletions(-)


base-commit: 1820dc7ce6945569db4ef6e265764705e6aabc48
-- 
2.39.2




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs.
  2023-03-14  8:58   ` bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
@ 2023-03-17 21:48     ` Ludovic Courtès
  2023-03-18  9:06       ` Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 1 reply; 14+ messages in thread
From: Ludovic Courtès @ 2023-03-17 21:48 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 62181-done

Hi,

Vivien Kraus <vivien@planete-kraus.eu> skribis:

> * gnu/packages/build-tools.scm (gnulib) [phase reset-shebangs]: After
> installation, rewrite the /gnu/store shebangs in the distributed build-aux
> files.
> [inputs, native-inputs]: Add bash-minimal.
> [phase let-autogen-execute-gnulib-tool]: Specify a shell to execute
> gnulib-tool from autogen.sh.

Applied with tweaks to the commit log.

> +              (substitute* (find-files
> +                            (string-append #$output "/src/gnulib")
> +                            (lambda (fname stat)
> +                              (and (not (string-suffix? "/lib/javaversion.class" fname))
> +                                   (not (string-suffix? ".mo" fname)))))

This leaves the shebang on ‘bin/gnulib-tool’, such that ‘gnulib’ keeps a
reference to ‘bash-minimal’ (and nothing else).

It’s not even convenient though because…

> * gnu/packages/tls.scm (guile-gnutls) [phase patch-more-shebangs]: Fix how
> autogen.sh invokes gnulib-tool, and how configure.ac invokes git-version-gen,
> so as not to rely on shebangs.

[...]

> +              (substitute* "autogen.sh"
> +                (("\\$gnulib_tool \\$gnulib_tool_options")
> +                 "sh $gnulib_tool $gnulib_tool_options"))

… this is still needed: GNULIB/bin/gnulib-tool, which has a correct
shebang, is *not* used, and instead GNULIB/src/gnulib/gnulib-tool is
used.

Should we remove GNULIB/bin/gnulib-tool?  Or should we remove the other
one?

Anyway, applied as well, thank you!

Ludo’.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs.
  2023-03-17 21:48     ` Ludovic Courtès
@ 2023-03-18  9:06       ` Vivien Kraus via Bug reports for GNU Guix
  0 siblings, 0 replies; 14+ messages in thread
From: Vivien Kraus via Bug reports for GNU Guix @ 2023-03-18  9:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 62181-done

Hi!

Le vendredi 17 mars 2023 à 22:48 +0100, Ludovic Courtès a écrit :
> > * gnu/packages/tls.scm (guile-gnutls) [phase patch-more-shebangs]:
> > Fix how
> > autogen.sh invokes gnulib-tool, and how configure.ac invokes git-
> > version-gen,
> > so as not to rely on shebangs.
> 
> [...]
> 
> > +              (substitute* "autogen.sh"
> > +                (("\\$gnulib_tool \\$gnulib_tool_options")
> > +                 "sh $gnulib_tool $gnulib_tool_options"))
> 
> … this is still needed: GNULIB/bin/gnulib-tool, which has a correct
> shebang, is *not* used, and instead GNULIB/src/gnulib/gnulib-tool is
> used.
> 
> Should we remove GNULIB/bin/gnulib-tool?  Or should we remove the
> other
> one?

If we could have different outputs, one for bin/gnulib-tool and one for
the gnulib source, then it would be better: the default output would
retain no references, and the :bin output would only need a bash-
minimal to run gnulib-tool. So packages that call gnulib-tool directly
would add both outputs as native-inputs, and packages that use
bootstrap.conf would only need the default output.

Would that help solve the problem introduced by the bash-minimal
reference?

Anyway, I’m not sure the copy-build-system allows for different
outputs.

What do you think?

Vivien




^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-03-18  9:07 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-14  8:34 bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
2023-03-14 10:36 ` bug#62181: [PATCH 0/2] " Vivien Kraus via Bug reports for GNU Guix
2023-03-14  8:58   ` bug#62181: [PATCH 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
2023-03-16 10:43     ` Ludovic Courtès
2023-03-14 10:33   ` bug#62181: [PATCH 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix
2023-03-16 10:48     ` Ludovic Courtès
2023-03-16 10:56       ` Vivien Kraus via Bug reports for GNU Guix
2023-03-16 10:41   ` bug#62181: [PATCH 0/2] Re: bug#62181: Gnulib package keeps references to clisp, Python, Perl, and Bash Ludovic Courtès
2023-03-16 10:54     ` Vivien Kraus via Bug reports for GNU Guix
2023-03-16 19:41 ` bug#62181: [PATCH v2 0/2] Drop references to other store items in /src, with better style Vivien Kraus via Bug reports for GNU Guix
2023-03-14  8:58   ` bug#62181: [PATCH v2 1/2] gnu: gnulib: Reset the shebangs Vivien Kraus via Bug reports for GNU Guix
2023-03-17 21:48     ` Ludovic Courtès
2023-03-18  9:06       ` Vivien Kraus via Bug reports for GNU Guix
2023-03-14 10:33   ` bug#62181: [PATCH v2 2/2] gnu: guile-gnutls: Do not expect gnulib shebangs to work Vivien Kraus via Bug reports for GNU Guix

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).