diff options
author | Sergei Trofimovich <slyich@gmail.com> | 2023-04-25 22:33:23 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyich@gmail.com> | 2023-05-13 13:18:08 +0100 |
commit | 4b8b00f56c2c2bc2888f238432f845cd03abacb3 (patch) | |
tree | d3dc1712a5e8881e0be4b9995db0a55d98b9032b /pkgs/top-level | |
parent | c56f804721f9c47a51ae41ef94df7000165493c5 (diff) |
gcc13, gccgo13, gfortran13, gnat13: init at 13.1.0
It's a copy of `gcc12.cc` implementation. Nothing special added here. Note that gccgo13 does not build yet (similar to existing gccgo12). The failure is related to libgcc_s.so lookup problems. Not specific to gcc-13 release. Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com> Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab50b431497ef..beeb7e1c43725 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14812,6 +14812,7 @@ with pkgs; gcc10Stdenv = overrideCC gccStdenv buildPackages.gcc10; gcc11Stdenv = overrideCC gccStdenv buildPackages.gcc11; gcc12Stdenv = overrideCC gccStdenv buildPackages.gcc12; + gcc13Stdenv = overrideCC gccStdenv buildPackages.gcc13; # Meant for packages that fail with newer than gcc10. gcc10StdenvCompat = if stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11" then gcc10Stdenv else stdenv; @@ -15025,7 +15026,19 @@ with pkgs; isl = if !stdenv.isDarwin then isl_0_20 else null; })); - gcc_latest = gcc12; + gcc13 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/13 { + inherit noSysDirs; + + reproducibleBuild = true; + profiledCompiler = false; + + libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null; + threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else { }; + + isl = if !stdenv.isDarwin then isl_0_20 else null; + })); + + gcc_latest = gcc13; # Use the same GCC version as the one from stdenv by default gfortran = wrapCC (gcc.cc.override { @@ -15108,6 +15121,14 @@ with pkgs; profiledCompiler = false; }); + gfortran13 = wrapCC (gcc13.cc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + profiledCompiler = false; + }); + libgccjit = gcc.cc.override { name = "libgccjit"; langFortran = false; @@ -15171,6 +15192,29 @@ with pkgs; else stdenv; }); + gnat13 = wrapCC (gcc13.cc.override { + name = "gnat"; + langC = true; + langCC = false; + langAda = true; + profiledCompiler = false; + # As per upstream instructions building a cross compiler + # should be done with a (native) compiler of the same version. + # If we are cross-compiling GNAT, we may as well do the same. + gnat-bootstrap = + if stdenv.hostPlatform == stdenv.targetPlatform + && stdenv.buildPlatform == stdenv.hostPlatform + then buildPackages.gnat-bootstrap12 + else buildPackages.gnat13; + stdenv = + if stdenv.hostPlatform == stdenv.targetPlatform + && stdenv.buildPlatform == stdenv.hostPlatform + && stdenv.buildPlatform.isDarwin + && stdenv.buildPlatform.isx86_64 + then overrideCC stdenv gnat-bootstrap12 + else stdenv; + }); + gnat-bootstrap = gnat-bootstrap12; gnat-bootstrap11 = wrapCC (callPackage ../development/compilers/gnat-bootstrap { majorVersion = "11"; }); gnat-bootstrap12 = wrapCCWith ({ @@ -15205,6 +15249,18 @@ with pkgs; meta.broken = stdenv.hostPlatform.isDarwin; }); + gccgo13 = wrapCC (gcc13.cc.override { + name = "gccgo"; + langCC = true; #required for go. + langC = true; + langGo = true; + langJit = true; + profiledCompiler = false; + } // { + # not supported on darwin: https://github.com/golang/go/issues/463 + meta.broken = stdenv.hostPlatform.isDarwin; + }); + ghdl = ghdl-mcode; ghdl-mcode = callPackage ../development/compilers/ghdl { |