Message ID | 20230108002719.19791-1-bjc@spork.org |
---|---|
State | New |
Headers | show |
Series | [bug#60636] Add 'manifest.scm' | expand |
Hi, Brian Cully <bjc@spork.org> writes: > --- > 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? > +;; 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 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’. -bjc
+CC Ludovic Hello, Brian Cully <bjc@spork.org> writes: > 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!
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"))