* 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.
* gnu/packages/gcc.scm (gcc-4.7): Change /nix/store in comment.
* gnu/system/vm.scm (operating-system-default-contents):
Use (%store-prefix) instead of "/nix/store".
* guix/derivations.scm (derivation-path->output-path,
derivation-path->output-paths): Change to /gnu/store in docstring.
* gnu/packages/gcc.scm (gcc-4.7): Add snippet to add -lgcc_s to the
"lib" spec. Remove --as-needed trick from 65d3b7c: it had no effect
in cases where we have !static-libgcc && !shared-libgcc.
* build-aux/download.scm (file-name->uri): Update URL to /20131110.
* gnu-system.am (nodist_bootstrap_x86_64_linux_DATA,
nodist_bootstrap_i686_linux_DATA): Change base name to
'guile-2.0.9.tar.xz'.
(gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz,
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets.
(gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove.
(gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update
hash.
* gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8. Enable C++, and
add a few --disable flags. Remove MPFR workaround.
(cross-gcc-wrapper): Base upon GCC-4.8. Wrap both 'gcc' and 'g++'.
(libstdc++): New variable.
(gcc-final): Add it as an input; pass corresponding -I and -L flags.
* gnu/packages/bootstrap.scm (%bootstrap-guile): Always use
"guile-2.0.9.tar.xz.
(%bootstrap-coreutils&co): Update hashes.
(%bootstrap-binutils): Update URL and hashes.
(%bootstrap-glibc): Likewise.
(%bootstrap-gcc): Likewise.
* gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS.
Add --disable-libstdcxx-pch.
Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw
_SPEC macros.