As this seems to be generating broken derivations for i586-gnu otherwise.
* gnu/packages/gcc.scm (custom-gcc): Use gexp's for the generated package
arguments.
This reverts commit 08acdd0765.
This change is now unnecessary now that gcc-boot0 uses
gexps (a795a02a9d).
* gnu/packages/gcc.scm (gcc-11)[arguments]: Use gexp for modify-phases.
[native-inputs]: Remove.
* gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Remove.
There are currently problems with native or cross building for i586-gnu, and
one factor mixed up with this is that some of the gcc packages use sexp's for
the phases, and thus introducing gexp's has caused problems.
As part of the going in circles with this, this commit switches gcc-boot0 to
use gexp's in it's arguments, and then also modifies libstdc++-boot0,
libstdc++-boot0-gcc7, cross-gcc-wrapper, gcc-final and make-libstdc++ to
handle this change.
If done correctly, this change shouldn't affect any derivations.
* gnu/packages/commencement.scm (libstdc++-boot0, libstdc++-boot0-gcc7,
gcc-boot0, gcc-final)[arguments]: Use gexps.
(cross-gcc-wrapper): Use gexps in the generated package.
* gnu/packages/gcc.scm (make-libstdc++): Use gexps in the generated package.
It didn't work when it was introduced in
08acdd0765.
* gnu/packages/gcc.scm (gcc-11)[arguments]: Remove the procedure arguments,
and use %build-inputs rather than inputs.
* gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Add hurd-patch, as
this package inherits from gcc-11.
As this causes issues with gcc-cross-boot0, since it doesn't use gexp's and
that means the builder script ends up broken.
I'm not testing this properly, I've only confirmed that with this change, you
can generate a derivation for hello for i586-gnu where that derivation and all
inputs don't have broken builder scripts. Plus the output for hello on
x86_64-linux is unchanged.
* gnu/packages/gcc.scm (gcc-11)[arguments]: Rewrite to not use gexps.
[native-inputs]: Add a patch for the hurd if that's the target.
These two compilers would fail to build with GCC 11.3.0 because it
defaults to C++17, which triggers some incompatibilities.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Augment #:configure-flags
for 4.9 and 5.0.
(gcc-4.9)[arguments]: Define 'parent' so that (package-arguments parent)
correctly evaluates the version-dependent parts.
Conflicts resolved in:
gnu/local.mk
gnu/packages/cmake.scm
gnu/packages/glib.scm
gnu/packages/gnome.scm
gnu/packages/gtk.scm
gnu/packages/sdl.scm
pango-next, vala-next and librsvg-bootstrap were removed in the process.
* gnu/packages/commencement.scm (gcc-boot0)[source]: Delete offending files
from GCC.
(libstdc++-boot0)[arguments]: Add #:modules.
(libstdc++): Inherit from from GCC-BOOT0 rather than GCC.
(gcc-final)[arguments]: Add phase to workaround libstdc++ build system issue.
Add #:modules.
* gnu/packages/gcc.scm (make-libstdc++): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: In custom 'pre-configure
phase unconditionally remove STARTFILE_PREFIX_SPEC in all locations it
may exist.
* gnu/packages/gcc.scm (%gcc-11-aarch64-micro-architectures)
(%gcc-11-armhf-micro-architectures)
(%gcc-11-x86_64-micro-architectures): New variables.
(gcc-11)[properties]: Use them.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: When building for
riscv64-linux and the 'gcc/configure/riscv' directory exists adjust the
STARTFILE_PREFIX_SPEC so it doesn't do anything.
* gnu/packages/gcc.scm (gcc-2.95)[supported-systems]: Allow all except
powerpc64le-linux and riscv64-linux.
[arguments]: Set #:system to the 32-bit version of our supported 64-bit
architectures. Modify custom 'set-dynamic-linker-file-name phase to use
the glibc-dynamic-linker for the selected system, and to substitute more
locations.