diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-02-12 16:02:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-12 16:02:45 +0000 |
commit | 87f957b5e23490bda6e86bbe1f2e61e4358bfeff (patch) | |
tree | 0dd97beb61f482875bf3f1926d011483a24eedca /pkgs/development/compilers/gcc/10/default.nix | |
parent | d381e51fb567e23039f17fdf28576dd6b341911d (diff) | |
parent | 8d4db5e081cf73a492f342aaaeda52845dd07159 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/development/compilers/gcc/10/default.nix')
-rw-r--r-- | pkgs/development/compilers/gcc/10/default.nix | 156 |
1 files changed, 77 insertions, 79 deletions
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index 3224696a5e33c..abe6d92cd0a69 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -24,7 +24,7 @@ , threadsCross ? null # for MinGW , crossStageStatic ? false , gnused ? null -, cloog # unused; just for compat with gcc4, as we override the parameter on some places +, cloog ? null # unused; just for compat with gcc4, as we override the parameter on some places , buildPackages , libxcrypt }: @@ -83,6 +83,67 @@ let majorVersion = "10"; stageNameAddon = if crossStageStatic then "stage-static" else "stage-final"; crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-"; + callFile = lib.callPackageWith { + # lets + inherit + majorVersion + version + buildPlatform + hostPlatform + targetPlatform + patches + crossMingw + stageNameAddon + crossNameAddon + ; + # inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc10.cc.override)" | jq '.[]' --raw-output' + inherit + binutils + buildPackages + cloog + crossStageStatic + enableLTO + enableMultilib + enablePlugin + enableShared + fetchpatch + fetchurl + gettext + gmp + gnatboot + gnused + isl + langAda + langC + langCC + langD + langFortran + langGo + langJit + langObjC + langObjCpp + lib + libcCross + libmpc + libxcrypt + mpfr + name + noSysDirs + patchelf + perl + profiledCompiler + reproducibleBuild + staticCompiler + stdenv + targetPackages + texinfo + threadsCross + which + zip + zlib + ; + }; + in stdenv.mkDerivation ({ @@ -158,39 +219,12 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; - 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 - ; - }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; + inherit (callFile ../common/dependencies.nix { }) + depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; - preConfigure = (import ../common/pre-configure.nix { - inherit lib; - inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib; - }) + '' + preConfigure = (callFile ../common/pre-configure.nix { }) + '' ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h ''; @@ -198,32 +232,7 @@ stdenv.mkDerivation ({ configurePlatforms = [ "build" "host" "target" ]; - configureFlags = import ../common/configure-flags.nix { - inherit - lib - stdenv - targetPackages - crossStageStatic libcCross threadsCross - version - - binutils gmp mpfr libmpc isl - - enableLTO - enableMultilib - enablePlugin - enableShared - - langC - langD - langCC - langFortran - langAda - langGo - langObjC - langObjCpp - langJit - ; - }; + configureFlags = callFile ../common/configure-flags.nix { }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; @@ -231,8 +240,7 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); - inherit - (import ../common/strip-attributes.nix { inherit lib stdenv langJit; }) + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget preFixup; @@ -255,10 +263,7 @@ stdenv.mkDerivation ({ LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); - inherit - (import ../common/extra-target-flags.nix { - inherit lib stdenv crossStageStatic langD libcCross threadsCross; - }) + inherit (callFile ../common/extra-target-flags.nix { }) EXTRA_FLAGS_FOR_TARGET EXTRA_LDFLAGS_FOR_TARGET ; @@ -272,24 +277,17 @@ stdenv.mkDerivation ({ inherit enableMultilib enableShared; meta = { - homepage = "https://gcc.gnu.org/"; - license = lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ - description = "GNU Compiler Collection, version ${version}"; - - longDescription = '' - The GNU Compiler Collection includes compiler front ends for C, C++, - Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as - libraries for these languages (libstdc++, libgomp,...). - - GCC development is a part of the GNU Project, aiming to improve the - compiler used in the GNU system including the GNU/Linux variant. - ''; - - maintainers = lib.teams.gcc.members; - - platforms = lib.platforms.unix; + inherit (callFile ../common/meta.nix { }) + homepage + license + description + longDescription + platforms + maintainers + ; badPlatforms = [ "aarch64-darwin" ]; }; + } // optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { |