Commit graph

86 commits

Author SHA1 Message Date
Marek Benc
0cce99684a gnu: gcc: Also substitute the dynamic linker name for GNU/Hurd.
* 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>
2015-09-04 13:50:38 +02:00
Ludovic Courtès
b7c7c03eb5 utils: Add 'strip-store-file-name'.
* 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'.
2015-08-30 18:38:08 +02:00
Mark H Weaver
9a7143b707 gnu: gcc-5: Update to 5.2.0.
* gnu/packages/gcc.scm (gcc-5): Update to 5.2.0.  Remove
  gcc-arm-link-spec-fix.patch from patches.
2015-07-19 23:20:39 -04:00
Mark H Weaver
629f4d2e6e gnu: gcc-5.1, gcc-toolchain-5.1, libstdc++-doc-5.1: Rename to *-5.
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.
2015-07-19 23:20:39 -04:00
Mark H Weaver
1b4e48d498 Merge branch 'master' into core-updates 2015-07-19 18:12:34 -04:00
Ludovic Courtès
50c7a1e297 gnu: Add gnu-c-manual.
* gnu/packages/gcc.scm (gnu-c-manual): New variable.
2015-07-19 22:27:37 +02:00
Mark H Weaver
35995769b5 Merge branch 'master' into core-updates 2015-07-15 15:10:32 -04:00
Ludovic Courtès
98b385d15b gnu: Add 'libstdc++-doc'.
* gnu/packages/gcc.scm (make-libstdc++-doc): New procedure.
  (libstdc++-doc-4.9, libstdc++-doc-5.1): New variables.
2015-07-12 23:10:43 +02:00
Mark H Weaver
aa7251176f gnu: Require NEON on armhf.
* 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.
2015-07-11 19:06:20 -04:00
Mark H Weaver
6f317fa365 gnu: gcc-4.9: Update to 4.9.3.
* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.3.  Remove
  "gcc-arm-link-spec-fix.patch" from patches.
2015-07-10 23:47:07 -04:00
Ricardo Wurmus
2b6b6d13e7 gnu: Add libiberty.
* gnu/packages/gcc.scm (make-libiberty, libiberty): New variables.
2015-06-29 21:01:13 +02:00
Ludovic Courtès
ab5f49cf6a gnu: gcc-4.8: Update to 4.8.5.
* gnu/packages/gcc.scm (gcc-4.8): Update to 4.8.5.
2015-06-29 14:42:10 +02:00
Ricardo Wurmus
eed67cbb8f gnu: Add default GCC and default gfortran.
* gnu/packages/gcc.scm (gcc): New variable.
* gnu/packages/gcc.scm (gfortran): New variable.
2015-06-25 18:28:54 +02:00
Ricardo Wurmus
c69a8b7b1b gnu: Add gfortran 4.9.
* gnu/packages/gcc.scm (gfortran-4.9): New variable.
2015-06-24 12:03:00 +02:00
Mark H Weaver
bf76d98789 Merge branch 'master' into core-updates 2015-06-21 14:30:22 -04:00
Ludovic Courtès
d0abf829a9 gnu: Add libstdc++ as a standalone package.
* gnu/packages/gcc.scm (make-libstdc++): New procedure.
  (libstdc++-4.9): New variable.
* gnu/packages/commencement.scm (libstdc++): Add TODO comment.
2015-06-19 17:23:47 +02:00
Ludovic Courtès
ec29907160 gnu: gcc: Build libsanitizer's bundled libbacktrace without -Werror.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Also patch
  libsanitizer/libbacktrace/Makefile.in.
2015-06-14 14:41:01 +02:00
Mark H Weaver
1492801655 Merge branch 'master' into core-updates 2015-06-10 17:50:27 -04:00
Ludovic Courtès
d0b62698c9 gnu: gcc: Build libbacktrace without -Werror.
* gnu/packages/gcc.scm (gcc-4.7)[arguments] <pre-configure>: Remove -Werror
  from libbacktrace/configure.
2015-06-09 22:32:15 +02:00
Ludovic Courtès
9063ef0f79 gnu: gcc: Add "debug" output, debugging symbols of libraries.
* gnu/packages/gcc.scm (gcc-4.7)[install-target]: Remove.
  [outputs]: Add "debug".
  [arguments]: Remove #:strip-binaries?.  Remove 'install' phase.
2015-06-09 22:32:15 +02:00
Ludovic Courtès
811974925d gnu: gcc: Do not add -rpath=LIBDIR/lib64 to the "lib" spec.
* gnu/packages/gcc.scm (gcc-4.7): Remove unneeded LIBDIR/lib64 from
  GNU_USER_TARGET_LIB_SPEC.
2015-06-09 22:32:15 +02:00
Ludovic Courtès
2068559ba0 gnu: gcc: Move patch upstream status in the patch itself.
* gnu/packages/patches/gcc-arm-link-spec-fix.patch: Add bug and patch URLs.
* gnu/packages/gcc.scm (gcc-4.8): Remove them.
2015-06-04 09:30:20 +02:00
Ricardo Wurmus
ad12c43e97 gnu: gcj: Add $libdir to RUNPATH.
* gnu/packages/gcc.scm (gcj)[arguments]: Add build phase to add library output
  directory to RUNPATH.
2015-05-08 13:14:36 +02:00
Ludovic Courtès
167a05aabc gnu: gcc-5.1: Add specific libvtv patch.
* 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.
2015-05-04 00:24:21 +02:00
Ricardo Wurmus
5f6887e839 gnu: gcj: Remove broken symlink and conflicting files.
* gnu/packages/gcc.scm (gcj)[arguments]: Add a build phase to remove a broken
  symlink and generic stump binaries.
2015-05-02 21:06:52 +02:00
Ludovic Courtès
9e7594027d gnu: gcc: Add link to upstream bug report.
* gnu/packages/gcc.scm (gcc-4.8): Add link to bug report in comment.
2015-04-30 13:43:55 +02:00
Ludovic Courtès
7e35b9dd3d gnu: gcc: Add $libdir to the RUNPATH of libvtv.so.
* 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.
2015-04-30 13:31:59 +02:00
Andreas Enge
4ac0d6444d Merge branch 'master' into core-updates. 2015-04-26 20:08:49 +02:00
Mark H Weaver
60e2d5fe82 gnu: Add gcc-5.1.0 and gcc-toolchain-5.1.0.
* gnu/packages/gcc.scm (gcc-5.1): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): New variable.
2015-04-23 01:06:40 -04:00
Ludovic Courtès
d485ebba42 gnu: gcc: Do not always disable RUNPATH validation.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
  #:validate-runpath?.
  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
  #:validate-runpath?.
2015-04-23 00:06:37 +02:00
Ludovic Courtès
21e583def3 gnu: gcc: Add a RUNPATH to libstdc++.so so that it finds libgcc_s.so.
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".
2015-04-23 00:06:37 +02:00
Ludovic Courtès
38cf2ba084 gnu: Remove all #:select from (gnu packages ...) modules.
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.
2015-04-20 15:50:59 +02:00
Mark H Weaver
1421afa94a gnu: gcc: Do not pass -dynamic-linker to linker when !shared on arm.
Fixes <http://bugs.gnu.org/20102>.

* gnu/packages/patches/gcc-arm-link-spec-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-4.8, gcc-4.9): Add patch.
* gnu/packages/cross-base.scm (cross-gcc): Preserve patches from gcc-4.8.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-04-09 01:58:04 -04:00
Ludovic Courtès
dfc8bb2071 gnu: gcc: Disable RUNPATH validation for native builds.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override
  #:validate-runpath? with 'substitute-keyword-arguments'.
  (gcc-final)[arguments]: Likewise.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
2015-04-07 22:28:36 +02:00
Ludovic Courtès
7e3c9f741b gnu: gcc: Fix libgcc_s directory in RUNPATH for cross-compiled binaries.
* 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.
2015-04-02 10:26:15 +02:00
Ludovic Courtès
61af1014c6 gnu: gcj: Use a versioned URL for 'javac.in'.
* gnu/packages/gcc.scm (javac.in): Use a ViewVC URL that specifies the
  CVS revision.
2015-03-08 22:27:20 +01:00
Andreas Enge
ed2b1c4f55 gnu: gcj: Move javac.in from a file in the distribution to an origin.
* 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.
2015-03-07 10:45:47 +01:00
Andreas Enge
e2808a4ac6 gnu: gcc: Add copyright line. 2015-03-07 10:44:58 +01:00
Ricardo Wurmus
74574fd1e3 gnu: Add GCJ
* gnu/packages/gcc.scm (gcj-4.8, ecj-bootstrap-4.8): New variables.
* gnu/packages/javac.in: New file.
* gnu-system.am (MISC_DISTRO_FILES): Add it.
* Makefile.am (nobase_dist_guilemodule_DATA): Add MISC_DISTRO_FILES.
2015-01-27 15:33:08 +01:00
Mark H Weaver
3f00ff8b43 gnu: Add toolchain support for 'armhf-linux'.
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.
2015-01-07 16:27:55 -05:00
Mark H Weaver
76e639a00f gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.
* 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.
2015-01-07 12:34:13 -05:00
Mark H Weaver
270b501ee2 gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'remove-lgcc_s
  phase.
* gnu/packages/gcc.scm (gcc-4.7): Add comment.
2015-01-07 12:33:38 -05:00
Mark H Weaver
fa1e2f3d0d Revert "gnu: gcc: Add '-lgcc_s' only when '-pthread' is given."
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.
2015-01-07 09:51:23 -05:00
Mark H Weaver
9097e666d4 gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
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.
2015-01-06 19:46:48 -05:00
Mark H Weaver
91c47befb8 gnu: gcc: Improve dynamic linker patching code.
* gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of
  GLIBC_DYNAMIC_LINKER* before attempting substitutions.
  (gcc-4.9)[arguments]: Remove arguments override.
2015-01-06 19:37:04 -05:00
Mark H Weaver
23800e4736 Merge branch 'master' into core-updates 2015-01-06 12:57:15 -05:00
Mark H Weaver
fcdebadf39 gnu: gcc-4.9: Fix build on MIPS.
* gnu/packages/gcc.scm (gcc-4.9): Add 'join-two-line-dynamic-linker-defns
  phase.
2015-01-03 23:48:44 -05:00
Ludovic Courtès
af07095516 packages: Add 'file-type' field to 'search-path-specification'.
Fixes <http://bugs.gnu.org/18033>.

* guix/packages.scm (<search-path-specification>): Rename 'directories'
  field to 'files'.  Add 'file-type'.
  (search-path-specification->sexp): Honor 'file-type'.
* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
  gnu/packages/cross-base.scm, gnu/packages/games.scm,
  gnu/packages/gcc.scm, gnu/packages/glib.scm,
  gnu/packages/guile.scm, gnu/packages/man.scm,
  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
  gnu/packages/python.scm, gnu/packages/ruby.scm,
  gnu/packages/xfce.scm: Change 'directories' to 'files'.
* tests/packages.scm ("search paths"): Change 'directories' field to
  'files'.
* guix/scripts/environment.scm (for-each-search-path): Likewise.
2014-12-27 23:22:49 +01:00
Ludovic Courtès
0d12bc744e gnu: gcc-4.8: Update to 4.8.4.
* gnu/packages/gcc.scm (gcc-4.8): Update to 4.8.4.  Remove patch.
* gnu/packages/patches/gcc-fix-pr61801.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-12-27 00:17:43 +01:00
Ludovic Courtès
3b1bba4cab gnu: gcc-4.9: Update to 4.9.2.
* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.2.
2014-11-04 18:59:25 +01:00