Suggested by Andy Wingo <wingo@igalia.com>.
Fixes <http://bugs.gnu.org/22186>.
* gnu/packages/gcc.scm (gcc-4.7)[native-search-paths]: Remove 'CPATH';
add 'C_INCLUDE_PATH' and 'CPLUS_INCLUDE_PATH' instead.
* gnu/packages/gcc.scm (custom-gcc): Add 'search-paths' parameter and
honor it.
(%generic-search-paths): New variable.
(gfortran-4.8, gfortran-4.9, gfortran, gfortran-5, gccgo-4.8): Pass
%GENERIC-SEARCH-PATHS to 'custom-gcc'.
(gcj)[native-search-paths]: New field.
(gcc-objc-4.8, gcc-objc++-4.8): Use 'OBJC_INCLUDE_PATH' and
'OBJCPLUS_INCLUDE_PATH', respectively.
* gnu/packages/gcc.scm (gcc-4.7) <configure-flags>: Pass
'--with-system-zlib'.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove
'--with-system-zlib' from the configure flags.
* gnu/packages/commencement.scm (zlib-final): New variable.
(gcc-final)[arguments]: Add ZLIB-FINAL to #:allowed-references.
Pass -L and -Wl,-rpath for zlib in LDFLAGS, as a configure flag.
[inputs]: Add LD-WRAPPER-BOOT3 and ZLIB-FINAL.
* gnu/packages/gcc.scm (gcc-4.7): Also substitute the dynamic linker name
for GNU (ie. Hurd) systems.
Signed-off-by: Manolis Ragkousis <manolis837@gmail.com>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix/build/utils.scm (strip-store-file-name): New procedure.
* guix/build/emacs-build-system.scm (store-directory->name-version):
Remove. Update callers to use 'strip-store-file-name'.
* gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use
'strip-store-file-name' instead of 'string-drop'.
This reflects the new version numbering scheme for GCC 5 and up.
See <https://gcc.gnu.org/develop.html>.
* gnu/packages/gcc.scm (gcc-5.1): Rename to ...
(gcc-5): ... this.
(libstdc++-doc-5.1): Rename to ...
(libstdc++-doc-5): ... this, and use gcc-5.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ...
(gcc-toolchain-5): ... this, and use gcc-5.
* build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): On armhf,
include --with-fpu=neon.
* doc/guix.texi (GNU Distribution): Document that our armhf port
requires NEON.
* gnu/packages/patches/gcc-5.0-libvtv-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5.1)[source]: Use it.
* gnu/packages/gcc.scm (gcc-4.9): Inherit from GCC-4.8.
[source]: Add 'gcc-libvtv-runpath.patch'.
(gcc-5.1): Inherit from GCC-4.9.
[source]: Use patches from GCC-4.9.
* gnu/packages/patches/gcc-libvtv-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
Fixes <http://bugs.gnu.org/20358>.
Reported by 宋文武 <iyzsong@gmail.com>.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add 'substitute*' form for
"libstdc++-v3/src/Makefile.in".
This works around Guile bug <http://bugs.gnu.org/15540>.
Reported by Andreas Enge <andreas@enge.fr>.
* gnu/packages/engineering.scm: Don't #:select from (gnu packages ...).
* gnu/packages/gcc.scm: Likewise.
* gnu/packages/package-management.scm: Likewise.
* gnu/packages/photo.scm: Likewise.
* gnu/packages/pulseaudio.scm: Likewise.
* gnu/packages/moe.scm: Likewise, and #:select from (guix licenses)
instead.
* gnu/packages/gcc.scm (gcc-4.7): Add 'libdir' procedure. Use it to
determine the right libdir, including when cross-compiling. This
fixes a bug whereby the RUNPATH of cross-compiled binaries would be
set to $crossgcc/lib instead of $crossgcc/$triplet/lib.
See <http://hydra.gnu.org/build/354389/nixlog/1/raw> for an example.
* gnu/packages/javac.in: Delete file.
* gnu-system.am (MISC_DISTRO_FILES): Delete.
* gnu/packages/gcc.scm (javac.in): New variable.
(gcj-4.8): Use it as an input.
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.
* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
(gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
of files in which to patch GLIBC_DYNAMIC_LINKER.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
Add armhf cases.