If it's truly for tests, it ought to be a native inputs.
* gnu/packages/flex.scm (flex) [inputs]: Delete field, moving bison-for-tests...
[native-inputs]: ... here.
Change-Id: I7fa30de00b1a6386d495403a619f412daa9d1ab5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This should help keep package closure size under control in cases where a
reference to the toolchain is unwillingly kept, as is the case in
guix/guix#2846.
* guix/build-system/gnu.scm (default-disallowed-references): New procedure.
(lower)[private-keywords]: Remove #:implicit-inputs? and #:implicit-cross-inputs?.
(gnu-build): Add #:implicit-inputs? and #:implicit-cross-inputs?. Change
value for #:disallowed-references.
(gnu-cross-build): Add #:implicit-inputs? and #:implicit-cross-inputs?.
* guix/build-system/cmake.scm (lower)[private-keywords]: Remove #:implicit-inputs?
and #:implicit-cross-inputs?.
(cmake-build): Add #:implicit-inputs? and #:implicit-cross-inputs?. Change
value for #:disallowed-references.
(cmake-cross-build): Add #:implicit-inputs? and #:implicit-cross-inputs?.
Change-Id: Ie1c53802c0fff78926e4e02d5ff30b3665c74c6a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6473
Guile support is unused so this is a welcome simplification.
* gnu/packages/commencement.scm (make-gnu-make-final): Remove.
(%final-inputs): Remove call to ‘make-gnu-make-final’. Add ‘gnu-make’ without
dependencies and without “debug” output to the main list.
Change-Id: I8a4d75b04eda22d49c4442ee4ff57e3bf1bc7d1e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7544
binutils is not reproducible because it includes an examples tarball
which is not created in a reproducible way. This patch modifies the
tarball creation to make it reproducible.
Refer to https://reproducible-builds.org/docs/archives/ for more info.
See also #7041.
* gnu/packages/base.scm (binutils)
[source]: Apply patch to make tarball creation reproducible.
* gnu/packages/patches/binutils-reproducible-tar.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes a bug whereby, for example, ‘gcc-mesboot0’ would fail to read its own
spec file because the ‘stat’ function would return EOVERFLOW when encountering
an inode number or timestamps that does not fit in 32 bits (on Btrfs inode
numbers greater than 2^32 are not uncommon), a UID/GID that does not fit in 16
bits, etc.
Internally, when ‘_FILE_OFFSET_BITS’ is unset, the ‘stat’ function in glibc
invokes the ‘stat64’ syscall and then converts the result to a 32-bit ‘struct
stat’, failing with EOVERFLOW if one of the field from ‘struct stat64’ doesn’t
fit in the corresponding field of ‘struct stat’.
In Mes-Libc, the choice between ‘stat’ and ‘stat64’ (and the corresponding
struct layout), ‘getdents’ and ‘getdents64’, etc. is dictated by the value of
‘__SIZEOF_LONG_LONG__’, which ‘mescc’ sets to 8 but ‘tcc’ leaves
unset (equivalent to 0). This change forces use of ‘stat64’ & co. for
Mes-Libc users, including when using ‘tcc’.
* gnu/packages/commencement.scm (mes-boot)[arguments]: Add
‘use-64-bit-file-offsets’ phase.
(binutils-mesboot0)[arguments]: Add ‘-D_FILE_OFFSET_BITS=64’ to ‘cppflags’.
(gcc-core-mesboot0)[arguments]: Likewise.
(gcc-mesboot0)[arguments]: Likewise.
Fixes: guix/guix#7194
Change-Id: I05d5b8f5aee78ca0e95d7c89ba93b2729791a66a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Partly addresses guix/guix#7194 by switching to the ‘getdents64’ system call
instead of ‘getdents’. The latter could error out with EOVERFLOW when
encountering an inode number that doesn’t fit in the 32-bit ‘d_fileno’ field
of ‘struct dirent’. This, in turn, could cause ‘make’ to mistakenly consider
files as nonexistent.
* gnu/packages/commencement.scm (mes-boot): Update to 0.27.1.
[supported-systems]: Remove.
[native-inputs]: Switch to ‘nyacc-2.02’ instead of ‘nyacc-1.00.2’.
[arguments]: In ‘configure’ phase, replace hardcoded nyacc version string with
its actual string.
Change-Id: Iebf19eac4d2e2923872a048bb2712f620a2044c8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/commencement.scm
(%boot2-inputs): Drop input labels.
(%boot3-inputs): Inject former %boot2-inputs for incremental progress
on input label removal.
(binutils-final, ld-wrapper-boot3): Adapt accordingly.
(libstdc++, gcc-final): Make labels that can't currently be dropped
explicit.
Change-Id: Iac30d41267224a34e4f1b135d99b38ca8320c467
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/flex.scm (flex)
[inputs]: Relocate field and drop input labels.
[description]: Improve style, reindent and use @file and @code.
Change-Id: If0e11b5d0c3d2a258e10eb16476b5c253172aaa5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Dropping input labels here is a harder issue than for most other
packages, because of libc/libc-native. Instead make some progress
towards dropping input labels without dropping them entirely.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]
<#:make-flags>: Improve style, use search-input-file.
<#:phases>: Improve style. Replace phase 'unpack-gmp&co by refactored
unpack-and-symlink-other-tarballs-phase. Use search-input-file.
<#:modules>: Adapt them accordingly.
[inputs]: Reorganize them accordingly.
Change-Id: I9e98b7b89cc9c864a2c60919eec61913fdf01baa
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This will make the migration to drop labels easier, as the
package-name of static-bash is bash-static and not static-bash.
* gnu/packages/base.scm (glibc)
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
(glibc-final, gcc-final): Replace "static-bash" label by
"bash-static".
Change-Id: I27d19ef5af706d4c1a342d1f876900cdc1b81d35
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/commencement.scm
(packages->input-alist): New helper procedure.
(%boot0-inputs): Drop input labels.
(%boot1-inputs): Inject former %boot0-inputs for incremental progress
on input label removal.
(make-libstdc++-boot0, gcc-boot0, linux-libre-headers-boot0)
(texinfo-boot0, perl-boot0, python-boot0)
(glibc-final-with-bootstrap-hash, linux-libre-headers-boot0): Adapt
accordingly.
(with-boot0): Adapt accordingly, but keep input labels for now as they
are still necessary.
Change-Id: I6503dfa5ad9a15674f56db343aac2d8b37ff23ee
Signed-off-by: Ludovic Courtès <ludo@gnu.org>