Commit Graph

251 Commits

Author SHA1 Message Date
Ludovic Courtès 12dc9f58c4
gnu: gcc: Fix libstdc++ misconfiguration.
Fixes <https://bugs.gnu.org/42392>.
Reported by Maxim Cournoyer and Erik Garrison.

Until now, the generated <bits/c++config.h> would be incorrect (many
_GLIBCXX_HAVE macros would be undefined), which in turn would lead to
build failures for most C++ programs.

* gnu/packages/gcc.scm (gcc-6)[inputs]: Add LIBSTDC++-HEADERS.
(libstdc++, libstdc++-headers): New variables.
* gnu/packages/gcc.scm (gfortran): Change first argument to 'custom-gcc'
to remove dependency on LIBSTDC++-HEADERS.
2020-07-24 14:21:30 +02:00
Ludovic Courtès b1d3c122e1
gnu: gcc@10: Update to 10.2.0.
* gnu/packages/gcc.scm (gcc-10): Update to 10.2.0.
2020-07-24 14:21:30 +02:00
guy fleury iteriteka 163686d82e
gnu: Add gdc-10.
* gnu/packages/gcc.scm (gdc-10): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-07-19 20:23:00 +03:00
Jakub Kądziołka 14cce84ca7
gnu: Add gcc-{objc,objc++}-{9,10}.
* gnu/packages/gcc.scm (%objc-search-paths, %objc++-search-paths): New variables.
  (gcc-objc-4.8, gcc-objc-4.9, gcc-objc-5, gcc-objc-6, gcc-objc-7,
  gcc-objc-8, gcc-objc++-4.8, gcc-objc++-4.9, gcc-objc++-5, gcc-objc++-6,
  gcc-objc++-7, gcc-objc++-8): Don't duplicate the search path list.
  (gcc-objc-9, gcc-objc-10, gcc-objc++-9, gcc-objc++-10): New variables.
2020-06-30 13:18:13 +02:00
Jakub Kądziołka 0681f05486
gnu: gfortran: Remove unusable versions.
The gfortran packages cannot be used without being wrapped with
gfortran-toolchain. However, as the comment in (gnu packages
commencement) explains, there cannot be more than one gfortran-toolchain
package because of ABI issues. Thus, versions of gfortran other than the
main one are useless.

* gnu/packages/gcc.scm (gfortran-4.8, gfortran-4.9, gfortran-5,
  gfortran-6, gfortran-7, gfortran-8, gfortran-9): Remove variables.
  (gfortran): Define the gfortran package based on the gcc variable.
2020-06-30 12:57:28 +02:00
Marius Bakke 4bdf4182fe
Merge branch 'core-updates' 2020-05-08 21:40:51 +02:00
Ludovic Courtès 2bb5b1d400
gnu: gcc: Add 10.1.0.
* gnu/packages/gcc.scm (gcc-10): New variable.
2020-05-08 16:30:50 +02:00
Marius Bakke 587398d2a8
gnu: custom-gcc: Ensure #:modules are not overridden by the inherited GCC.
This fixes a regression introduced in 56c833ea28
where the #:modules argument became ineffective.  Reported by Efraim Flashner
in <https://lists.gnu.org/archive/html/guix-devel/2020-04/msg00473.html>

* gnu/packages/gcc.scm (custom-gcc)[arguments]: Add #:modules through
SUBSTITUTE-KEYWORD-ARGUMENTS.
2020-04-28 15:11:19 +02:00
Marius Bakke 621caeb73b
gnu: GCC@8: Remove obsolete patch.
This is no longer required since the update to 8.4.0 in 60ce496ad8.

* gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-8)[source](patches): Remove it.
2020-04-23 19:32:24 +02:00
Jan Nieuwenhuizen 25bc0f34c6
gnu: bootstrap: gcc-static: Use gcc-5.
* gnu/packages/make-bootstrap.scm (gcc-static): Use gcc-5.  This fixes
building libstdc++-boot0 with a newly built %bootstrap-gcc.
(%gcc-stripped): Likewise.
(gcc-for-bootstrap): Likewise.
* gnu/packages/patches/gcc-5-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5): Use it.
2020-03-24 23:31:34 +01:00
Marius Bakke d19b14c834
Merge branch 'master' into core-updates 2020-03-21 22:16:02 +01:00
guy fleury iteriteka 0f7e6964c7
gnu: make-libiberty: Use install-file.
* gnu/packages/gcc.scm(make-libiberty): In phase install use
install-file helper function to install file.
2020-03-20 19:15:52 +01:00
Marius Bakke 0f6651344f
gnu: libiberty: Do not inherit properties from GCC.
* gnu/packages/gcc.scm (make-libiberty)[properties]: New field.
2020-03-20 19:15:51 +01:00
Marius Bakke dd4e4b0376
gnu: GCC@9: Remove obsolete patch.
This patch became obsolete when the update to 9.3.0 was merged (commit 3dade1d59e).

* gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-9)[source](patches): Remove it.
2020-03-18 19:45:16 +01:00
Marius Bakke c4d769d359
Merge branch 'master' into core-updates 2020-03-18 19:41:08 +01:00
Marius Bakke 56c833ea28
gnu: gcc@4.9, gcc@5: Adjust for CPLUS_INCLUDE_PATH changes.
* gnu/packages/gcc.scm (gcc-4.9): Unless cross-compiling, add ...
[arguments]: with a phase to remove glibc and GCC from CPLUS_INCLUDE_PATH.
(gcc-6)[arguments]: Inherit from GCC-4.8.
2020-03-15 16:03:16 +01:00
Joseph LaFreniere 76d2b9a2e8
gnu: Add libgccjit.
* gnu/packages/gcc.scm (libgccjit): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-03-16 14:05:53 +01:00
Efraim Flashner 3dade1d59e
gnu: gcc-9: Update to 9.3.0.
* gnu/packages/gcc.scm (gcc-9): Update to 9.3.0.
2020-03-14 18:52:41 +02:00
Marius Bakke ebb7cf9e21
Merge branch 'master' into core-updates 2020-03-04 23:16:17 +01:00
Efraim Flashner 60ce496ad8
gnu: gcc-8: Update to 8.4.0.
* gnu/packages/gcc.scm (gcc-8): Update to 8.4.0.
2020-03-04 23:05:22 +02:00
Marius Bakke 5d8a4354ac
gnu: isl: Move the static library to a separate output.
* gnu/packages/gcc.scm (isl)[outputs, arguments]: New fields.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ISL:STATIC.
2020-02-15 22:02:56 +01:00
Marius Bakke a33eac038a
gnu: glibc: Update to 2.31.
* gnu/packages/patches/glibc-supported-locales.patch: Adjust for upstream
changes.
* gnu/packages/patches/glibc-2.29-supported-locales.patch: New file, with
previous contents.
* gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch,
gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch,
gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch,
gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch,
gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-4.9, gcc-5, gcc-6, gcc-7, gcc-8,
gcc-9)[source](patches): Add the respective patch files.
* gnu/packages/base.scm (glibc): Update to 2.31.
[source](patches): Remove obsolete.
(glibc-2.30): New public variable.
(glibc-2.29)[source](patches): Adjust for renamed patch file.
2020-02-15 22:02:55 +01:00
Ludovic Courtès 2073b55e6b
gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'.
Fixes <https://bugs.gnu.org/30756>.
Initially reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/packages/base.scm (make-gcc-libc): Remove
'treat-glibc-as-system-header' phase from 'arguments'.
* gnu/packages/commencement.scm (gcc-final): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to
'CPLUS_INCLUDE_PATH'.
(gcc-6)[native-search-paths]: Remove.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove
'native-search-paths' and 'arguments'.
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with
"C_INCLUDE_PATH".
* guix/build-system/cmake.scm (lower): When not cross-compiling, move
INPUTS from the 'host-inputs' field to the 'build-inputs' field of the
bag, right after NATIVE-INPUTS.
* guix/build-system/glib-or-gtk.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Likewise.
* guix/build-system/meson.scm (lower): Likewise.
2020-02-06 18:47:15 +01:00
Marius Bakke 4a0c71f9f7
gnu: isl: Update to 0.22.1.
* gnu/packages/gcc.scm (isl): Update to 0.22.1.
2020-02-06 18:37:59 +01:00
Mathieu Othacehe ce9383c090
Merge remote-tracking branch 'master' into core-updates. 2019-12-31 11:04:51 +01:00
Konrad Hinsen a7c75b8dbf
gnu: gfortran: change to a hidden package
* gnu/packages/gcc.scm (gfortran-4.8, gfortran-4.9)
(gfortran-5, gfortran-6, gfortran-7, gfortran-8)
(gfortran-9): Wrap in 'hidden-package'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-17 17:41:28 +01:00
Efraim Flashner 8456f9fcd9
gnu: gcc-7: Update to 7.5.0.
* gnu/packages/gcc.scm (gcc-7): Update to 7.5.0.
2019-11-27 19:58:52 +02:00
Ludovic Courtès a00a946ac5
gnu: gfortran: Add version 9.x.
* gnu/packages/gcc.scm (gfortran-9): New variable.
2019-10-14 18:25:31 +02:00
Ludovic Courtès 03d28531fd
gnu: gcc@9: Update to 9.2.0.
* gnu/packages/gcc.scm (gcc-9): Update to 9.2.0.
2019-10-10 11:21:37 +02:00
Marius Bakke 8449cc133a
gnu: isl: Update to 0.21.
* gnu/packages/gcc.scm (isl): Update to 0.21.
2019-06-20 23:56:58 +02:00
Marius Bakke 9f1da6ced3
gnu: isl: Fix fallback URL.
* gnu/packages/gcc.scm (isl, isl-0.18, isl-0.11)[source](uri): Use '.bz2' tarball.
2019-06-20 23:56:58 +02:00
Marius Bakke 57df83e07d
Merge branch 'staging' into core-updates 2019-05-25 00:25:15 +02:00
Ludovic Courtès e7313ae293
gnu: libstdc++-doc: Add version 9.x.
* gnu/packages/gcc.scm (libstdc++-doc-4.9): Remove.
(libstdc++-doc-9): New variable.
2019-05-22 00:09:42 +02:00
Ludovic Courtès 798591b6ee
gnu: libstdc++-doc: Unhide.
This is a followup to d78010b81e.

* gnu/packages/gcc.scm (make-libstdc++-doc): Add 'properties' field.
2019-05-22 00:09:41 +02:00
Ricardo Wurmus fbeb92d760
gnu: custom-gcc: Unhide resulting package.
This is a follow-up to commit d78010b81e.  While
the plain "gcc" packages should be hidden by default, gcc-derived packages
like "gfortran" should not.

* gnu/packages/gcc.scm (custom-gcc)[properties]: Remove the 'hidden? property.
2019-05-16 13:45:23 +02:00
Ricardo Wurmus d78010b81e
gnu: gcc-4.7: Hide package.
* gnu/packages/gcc.scm (gcc-4.7): Wrap in "hidden-package" expression.
2019-05-09 23:18:39 +02:00
Carl Dong 0e293f75f1
gnu: gcc@9: Fix limits.h include for cross builds.
This allows us to supply gcc-9 as an optional argument to cross-gcc,
successfully constructing gcc-9-based cross-compilers.

* gnu/packages/gcc.scm (gcc-9)[source](patches): Add
  "gcc-9-asan-fix-limits-include.patch".
* gnu/packages/patches/gcc-9-asan-fix-limits-include.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add the patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-06 10:22:00 +02:00
Carl Dong bdfc327639
gnu: gcc: Add 9.1.0.
* gnu/packages/gcc.scm (gcc-9): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-9): New variable.
* gnu/packages/patches/gcc-9-strmov-store-file-names.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add the patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-06 10:18:15 +02:00
Marius Bakke f5e563e50a
Merge branch 'staging' into core-updates 2019-03-01 17:40:51 +01:00
Marius Bakke 14c272d5ce
gnu: GCC: Update to 8.3.0.
* gnu/packages/gcc.scm (gcc-8): Update to 8.3.0.
2019-02-28 19:08:48 +01:00
Marius Bakke 01e8263feb
gnu: Use GCC 7 as the default compiler.
* gnu/packages/cross-base.scm (%gcc-cross-include-paths): Remove
CROSS_C_INCLUDE_PATH & co in favor of CROSS_CPATH.
* gnu/build/cross-toolchain.scm (%gcc-cross-include-paths): Likewise.
(cross-gcc-build-phases): Set CROSS_C_INCLUDE_PATH and
CROSS_CPLUS_INCLUDE_PATH when building the cross GCC.
* gnu/packages/commencement.scm (libstdc++): Add
"--disable-libstdcxx-dual-abi" to #:configure-flags.
(gcc-boot0)[arguments]: Add "--disable-libmpx"
to #:configure-flags.
(gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH before
building GCC.
(gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN.
(gcc-toolchain-7): Change to GCC-TOOLCHAIN.
* gnu/packages/gcc.scm (gcc): Change from GCC-5 to GCC-7.
(gfortran): Change to GFORTRAN-7.
(gcc-objc): Change to GCC-OBJC-7.
(gcc-objc++): Change to GCC-OBJC++-7.
* gnu/packages/rust.scm (rust-1.19.0)[native-search-paths]: Change from
C_INCLUDE_PATH & co to CPATH.
2019-02-09 21:53:41 +01:00
Marius Bakke 7570ec5aa9
gnu: GCC@7: Update to 7.4.0.
* gnu/packages/gcc.scm (gcc-7): Update to 7.4.0.
[source](patches): Drop 'gcc-libsanitizer-ustat.patch'.
* gnu/packages/storage.scm (ceph)[inputs]: Change from BOOST to BOOST-CXX14,
as GCC 7.4.0 triggers <https://bugs.gnu.org/33605>.
2018-12-08 19:37:47 +01:00
Marius Bakke 8d65ae44ac
gnu: GCC@6: Update to 6.5.0.
* gnu/packages/patches/gcc-libsanitizer-fix.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/gcc.scm (gcc-6): Update to 6.5.0.
[source](patches): Drop obsolete patches.
[source](snippet): Remove.
2018-12-08 19:37:47 +01:00
Marius Bakke 0aeb134850
Merge branch 'master' into core-updates 2018-09-09 17:40:35 +02:00
Eric Brown f66be84d08
gnu: gfortran, gcc-objc, gcc-objc++: Add version 8.
* gnu/packages/gcc.scm (gfortran-8, gcc-objc-8, gcc-objc++-8): New
variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-09-06 11:12:40 +02:00
Marius Bakke 3469a5ea47
gnu: gcc@4.9: Fix FTBFS with Glibc >= 2.28.
* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
(libstdc++-boot0): Inherit from GCC-FOR-LIBSTDC++ instead of GCC-4.9.
* gnu/packages/gcc.scm (gcc-4.9)[source](patches): Add
"gcc-4.9-libsanitizer-ustat.patch".
* gnu/packages/patches/gcc-4.9-libsanitizer-ustat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-09-01 12:58:47 +02:00
Marius Bakke 45c78bf924
gnu: gcc: Include libsanitizer patch for versions 6 and 7.
* gnu/packages/gcc.scm (gcc-6, gcc-7)[source](patches): Add
"gcc-libsanitizer-ustat.patch".
2018-08-26 16:50:39 +02:00
Marius Bakke 839167ff9d
Merge branch 'staging' into core-updates 2018-08-25 16:44:07 +02:00
Marius Bakke 1aef659e86
gnu: gcc: Fix build with glibc >= 2.28.
* gnu/packages/patches/gcc-libsanitizer-ustat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gcc.scm (gcc-5)[source](patches): Add it.
2018-08-25 16:23:36 +02:00
Ludovic Courtès 0b93d04ac5
gnu: gcc@4.8: Fix libsanitizer build issue.
Fixes <https://bugs.gnu.org/32397>.
Reported by fis trivial <ybbs.daans@hotmail.com>.

* gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch: New file.
* gnu/packages/gcc.scm (gcc-4.8)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-08-19 18:21:24 +02:00