diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-02-09 12:01:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-09 12:01:30 +0000 |
commit | c76e040c19b29c37473fda47c1cb3540d705674b (patch) | |
tree | 36b9de4e1296304b9b19c0a178260bc1f7fed41f /pkgs/development/compilers | |
parent | 73fe6149d4cdd6a07b366c7d36d7daf9f9d6df3e (diff) | |
parent | 724bfc0892363087709bd3a5a1666296759154b1 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/gcc/10/default.nix | 52 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/11/default.nix | 52 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/12/default.nix | 55 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/4.8/default.nix | 61 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/4.9/default.nix | 61 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/6/default.nix | 64 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/7/default.nix | 48 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/8/default.nix | 48 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/9/default.nix | 51 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/common/dependencies.nix | 92 |
10 files changed, 332 insertions, 252 deletions
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index 42939d5cf47fe..3224696a5e33c 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -158,34 +158,32 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional langAda gnatboot) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc libxcrypt - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + langAda + libxcrypt + gnatboot + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix index 43fb799b6c52c..e4dab5f263dc8 100644 --- a/pkgs/development/compilers/gcc/11/default.nix +++ b/pkgs/development/compilers/gcc/11/default.nix @@ -164,34 +164,32 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional langAda gnatboot) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc libxcrypt - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + langAda + libxcrypt + gnatboot + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix index 3ba5991a6b8c5..621da8f1bef7e 100644 --- a/pkgs/development/compilers/gcc/12/default.nix +++ b/pkgs/development/compilers/gcc/12/default.nix @@ -198,35 +198,34 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional langAda gnatboot) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc libxcrypt - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) - ++ (optional (langGo && stdenv.hostPlatform.isMusl) libucontext) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + langAda + langGo + libucontext + libxcrypt + gnatboot + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 042e561a2e363..d99e889daa113 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -158,37 +158,38 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional javaAwtGtk pkg-config) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (cloog != null) cloog) - ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) - ++ (optionals langJava [ boehmgc zip unzip ]) - ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + version + langJava + javaAwtGtk + texinfo + which + gettext + pkg-config + gnused + patchelf + gmp + mpfr + libmpc + cloog + isl + zlib + boehmgc + zip + unzip + gtk2 + libart_lgpl + perl + xlibs ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; preConfigure = import ../common/pre-configure.nix { inherit lib; diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 8420cfdde7d5c..6dd8f975707ca 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -178,37 +178,38 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional javaAwtGtk pkg-config) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (cloog != null) cloog) - ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) - ++ (optionals langJava [ boehmgc zip unzip ]) - ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + version + langJava + javaAwtGtk + texinfo + which + gettext + pkg-config + gnused + patchelf + gmp + mpfr + libmpc + cloog + isl + zlib + boehmgc + zip + unzip + gtk2 + libart_lgpl + perl + xlibs ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; preConfigure = import ../common/pre-configure.nix { inherit lib; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 4ed3b39fe0746..41db37989edac 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -193,38 +193,40 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional javaAwtGtk pkg-config) - ++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex) - ++ (optional langAda gnatboot) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) - ++ (optionals langJava [ boehmgc zip unzip ]) - ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + version + langAda + gnatboot + flex + langJava + javaAwtGtk + texinfo + which + gettext + pkg-config + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + boehmgc + zip + unzip + gtk2 + libart_lgpl + perl + xlibs ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index c35eddaf6033d..bc61223d4c856 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -165,33 +165,29 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index ec85e5b745019..5bdba91b7076e 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -147,33 +147,29 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index 6222623f0a24c..53945fec4613a 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -158,34 +158,31 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ (optional (perl != null) perl) - ++ (optional langAda gnatboot) - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional buildPlatform.isDarwin gnused) - ; - - # For building runtime libs - depsBuildTarget = - ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ] - ) - ++ optional targetPlatform.isLinux patchelf; - - buildInputs = [ - gmp mpfr libmpc - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (isl != null) isl) - ++ (optional (zlib != null) zlib) + inherit (import ../common/dependencies.nix { + inherit + lib + stdenv + buildPackages + targetPackages + crossStageStatic + threadsCross + langAda + gnatboot + version + texinfo + which + gettext + gnused + patchelf + gmp + mpfr + libmpc + isl + zlib + zip + perl ; - - depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package; + }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; diff --git a/pkgs/development/compilers/gcc/common/dependencies.nix b/pkgs/development/compilers/gcc/common/dependencies.nix new file mode 100644 index 0000000000000..a193ec887a0a7 --- /dev/null +++ b/pkgs/development/compilers/gcc/common/dependencies.nix @@ -0,0 +1,92 @@ +{ lib +, stdenv +, version +, buildPackages +, targetPackages +, texinfo +, which +, gettext +, pkg-config ? null +, gnused +, patchelf +, gmp +, mpfr +, libmpc +, libucontext ? null +, libxcrypt ? null +, cloog ? null +, isl ? null +, zlib ? null +, gnatboot ? null +, flex ? null +, boehmgc ? null +, zip ? null +, unzip ? null +, gtk2 ? null +, libart_lgpl ? null +, perl ? null +, xlibs ? null +, langJava ? false +, javaAwtGtk ? false +, langAda ? false +, langGo ? false +, crossStageStatic ? null +, threadsCross ? null +}: + +let + inherit (lib) optionals; + inherit (stdenv) buildPlatform hostPlatform targetPlatform; +in + +{ + # same for all gcc's + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + nativeBuildInputs = [ + texinfo + which + gettext + ] + ++ optionals (perl != null) [ perl ] + ++ optionals javaAwtGtk [ pkg-config ] + ++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ] + ++ optionals langAda [ gnatboot ] + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ optionals buildPlatform.isDarwin [ gnused ] + ; + + # For building runtime libs + # same for all gcc's + depsBuildTarget = + ( + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ + # build != host == target + stdenv.cc + ] + ) + ++ optionals targetPlatform.isLinux [ patchelf ]; + + buildInputs = [ + gmp + mpfr + libmpc + ] + ++ optionals (lib.versionAtLeast version "10") [ libxcrypt ] + ++ [ + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] + ++ optionals (cloog != null) [ cloog ] + ++ optionals (isl != null) [ isl ] + ++ optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc zip unzip ] + ++ optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs) + ++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ] + ; + + # threadsCross.package after gcc6 so i assume its okay for 4.8 and 4.9 too + depsTargetTarget = optionals (!crossStageStatic && threadsCross != { } && threadsCross.package != null) [ threadsCross.package ]; +} |