[PATCH] Add 'manifest.scm'

  • Open
  • quality assurance status badge
Details
2 participants
  • Brian Cully
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Brian Cully
Severity
normal
B
B
Brian Cully wrote on 8 Jan 2023 01:27
(address . guix-patches@gnu.org)(name . Brian Cully)(address . bjc@spork.org)
20230108002719.19791-1-bjc@spork.org
---
manifest.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 manifest.scm

Toggle diff (37 lines)
diff --git a/manifest.scm b/manifest.scm
new file mode 100644
index 0000000..bdd4e64
--- /dev/null
+++ b/manifest.scm
@@ -0,0 +1,29 @@
+;; This is the complete list of Guix packages necessary for building Shepherd.
+;;
+;; For example the following shell command will run the built-in tests:
+;;
+;; % guix shell -m manifest.scm --pure -- make check
+
+(specifications->manifest
+ '("autoconf"
+ "automake"
+ "binutils"
+ "coreutils"
+ "diffutils"
+ "findutils"
+ "gawk"
+ "gcc"
+ "gettext"
+ "glibc"
+ "grep"
+ "guile"
+ "guile-fibers"
+ "guile-readline"
+ "help2man"
+ "libtool"
+ "make"
+ "pkg-config"
+ "sed"
+ "tar"
+ "texinfo"
+ "xz"))
--
2.38.1
M
M
Maxim Cournoyer wrote on 11 Jan 2023 20:15
(name . Brian Cully)(address . bjc@spork.org)(address . 60636@debbugs.gnu.org)
87bkn4j32f.fsf@gmail.com
Hi,

Brian Cully <bjc@spork.org> writes:

Toggle quote (13 lines)
> ---
> manifest.scm | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
> create mode 100644 manifest.scm
>
> diff --git a/manifest.scm b/manifest.scm
> new file mode 100644
> index 0000000..bdd4e64
> --- /dev/null
> +++ b/manifest.scm
> @@ -0,0 +1,29 @@
> +;; This is the complete list of Guix packages necessary for building Shepherd.

This is intended for the Shepherd repository, right?

Toggle quote (28 lines)
> +;; For example the following shell command will run the built-in tests:
> +;;
> +;; % guix shell -m manifest.scm --pure -- make check
> +
> +(specifications->manifest
> + '("autoconf"
> + "automake"
> + "binutils"
> + "coreutils"
> + "diffutils"
> + "findutils"
> + "gawk"
> + "gcc"
> + "gettext"
> + "glibc"
> + "grep"
> + "guile"
> + "guile-fibers"
> + "guile-readline"
> + "help2man"
> + "libtool"
> + "make"
> + "pkg-config"
> + "sed"
> + "tar"
> + "texinfo"
> + "xz"))

The value this provides above 'guix shell -D shepherd' is that it
includes the build system bootstrapping packages too (autoconf,
automake, etc.), right? Are all these items really needed? Why do we
need GCC, or glibc or gettext for example?

Thanks for this contribution,

--
Maxim
B
B
Brian Cully wrote on 12 Jan 2023 15:18
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 60636@debbugs.gnu.org)
878ri7ltdc.fsf@psyduck.jhoto.kublai.com
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (2 lines)
> This is intended for the Shepherd repository, right?

Yes. The shepherd documentation pointed me to the Guix ML and
bugtracker. If there’s somewhere better, I can re-submit.

Toggle quote (5 lines)
> The value this provides above 'guix shell -D shepherd' is that
> it
> includes the build system bootstrapping packages too (autoconf,
> automake, etc.), right?

That’s correct. Shepherd can’t be built from a checkout using
‘guix shell -D shepherd’ because (according to Ludo) Guix uses the
tarball as a source, not the git repository. Ludo did mention on
IRC that shepherd could probably use a manifest.scm when I asked
him about it, but I don’t want to speak for him more than that.

Toggle quote (3 lines)
> Are all these items really needed? Why do we
> need GCC, or glibc or gettext for example?

I added every item in response to one of the build steps
failing. GCC is needed, for instance, because configure tests for
the existence of a working C compiler (probably because of
etc/crash-handler.c, but I couldn’t say for sure), glibc is needed
because we’ve got a C compiler in the mix, and gettext is needed
for ‘autoconf-point’.

-bjc
M
M
Maxim Cournoyer wrote on 12 Jan 2023 23:31
(name . Brian Cully)(address . bjc@spork.org)
87y1q7fkrb.fsf@gmail.com
+CC Ludovic

Hello,

Brian Cully <bjc@spork.org> writes:

Toggle quote (26 lines)
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> This is intended for the Shepherd repository, right?
>
> Yes. The shepherd documentation pointed me to the Guix ML and
> bugtracker. If there’s somewhere better, I can re-submit.
>
>> The value this provides above 'guix shell -D shepherd' is that it
>> includes the build system bootstrapping packages too (autoconf,
>> automake, etc.), right?
>
> That’s correct. Shepherd can’t be built from a checkout using ‘guix
> shell -D shepherd’ because (according to Ludo) Guix uses the tarball
> as a source, not the git repository. Ludo did mention on IRC that
> shepherd could probably use a manifest.scm when I asked him about it,
> but I don’t want to speak for him more than that.
>
>> Are all these items really needed? Why do we
>> need GCC, or glibc or gettext for example?
>
> I added every item in response to one of the build steps failing. GCC
> is needed, for instance, because configure tests for the existence of
> a working C compiler (probably because of etc/crash-handler.c, but I
> couldn’t say for sure), glibc is needed because we’ve got a C compiler
> in the mix, and gettext is needed for ‘autoconf-point’.

Adding gcc-toolchain would probably be better than the separate gcc and
glibc.

Other than that, LGTM. Could you send a v2 with the above change?
Thanks for explaining!

--
Thanks,
Maxim
B
B
Brian Cully wrote on 13 Jan 2023 03:01
[PATCH v2] Add 'manifest.scm'
(address . 60636@debbugs.gnu.org)(name . Brian Cully)(address . bjc@spork.org)
20230113020149.29180-1-bjc@spork.org
---
manifest.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 manifest.scm

Toggle diff (35 lines)
diff --git a/manifest.scm b/manifest.scm
new file mode 100644
index 0000000..12508c3
--- /dev/null
+++ b/manifest.scm
@@ -0,0 +1,27 @@
+;; This is the complete list of Guix packages necessary for building Shepherd.
+;;
+;; For example the following shell command will run the built-in tests:
+;;
+;; % guix shell -m manifest.scm --pure -- make check
+
+(specifications->manifest
+ '("autoconf"
+ "automake"
+ "coreutils"
+ "diffutils"
+ "findutils"
+ "gawk"
+ "gcc-toolchain"
+ "gettext"
+ "grep"
+ "guile"
+ "guile-fibers"
+ "guile-readline"
+ "help2man"
+ "libtool"
+ "make"
+ "pkg-config"
+ "sed"
+ "tar"
+ "texinfo"
+ "xz"))
--
2.38.1
?