* 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.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
(gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
for all builds, including native ones.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
'gcc-configure-flags-for-triplet' here, since it is now included in the
configure-flags inherited from gcc-4.8.
This reverts commit 9097e666d4.
This turned out not to be a good strategy. Some build system, e.g. tcl's, do
not pass -pthread on GNU/Linux by default, but merely link with -lpthread.
Also, Ludovic found other cases where libgcc_s is dlopened by libc that have
nothing to do with pthreads, e.g. to walk the stack.
Suggested by Ludovic Courtès <ludo@gnu.org>.
* gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC,
add '-lgcc_s' only when '-pthread' is given.