gcc10,gcc11,gcc12: move dependencies to common/dependencies.nix

This commit is contained in:
Artturin 2023-02-07 19:35:20 +02:00
parent c4269cd7bf
commit 951c2fb2dd
5 changed files with 108 additions and 109 deletions

View File

@ -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)
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
;
# 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)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";

View File

@ -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)
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
;
# 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)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";

View File

@ -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)
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
;
# 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)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";

View File

@ -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)
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
;
# 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)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";

View File

@ -12,6 +12,8 @@
, gmp
, mpfr
, libmpc
, libucontext ? null
, libxcrypt ? null
, cloog ? null
, isl ? null
, zlib ? null
@ -27,6 +29,7 @@
, langJava ? false
, javaAwtGtk ? false
, langAda ? false
, langGo ? false
, crossStageStatic ? null
, threadsCross ? null
}:
@ -71,6 +74,9 @@ in
gmp
mpfr
libmpc
]
++ optionals (lib.versionAtLeast version "10") [ libxcrypt ]
++ [
targetPackages.stdenv.cc.bintools # For linking code at run-time
]
++ optionals (cloog != null) [ cloog ]
@ -78,6 +84,7 @@ in
++ 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