diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2020-07-06 00:22:19 -0400 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-11-27 13:27:44 +0000 |
commit | 32685ea77322d817341b893df667f095aceda28a (patch) | |
tree | 1873adc6769e2ba1b6c5e14d00ebc7daa523cffc /nixpkgs/pkgs/build-support/cc-wrapper | |
parent | 67e86db39ea4c52733c8231269d0b3b529b89660 (diff) | |
download | nixlib-32685ea77322d817341b893df667f095aceda28a.tar nixlib-32685ea77322d817341b893df667f095aceda28a.tar.gz nixlib-32685ea77322d817341b893df667f095aceda28a.tar.bz2 nixlib-32685ea77322d817341b893df667f095aceda28a.tar.lz nixlib-32685ea77322d817341b893df667f095aceda28a.tar.xz nixlib-32685ea77322d817341b893df667f095aceda28a.tar.zst nixlib-32685ea77322d817341b893df667f095aceda28a.zip |
cc-wrapper: set FC when langFortran is on
We need to set FC so that CMake and other tools can find the fortran compiler. Also we need to limit the hardening flags since fortify and format don’t work with fortran. Fixes #88449 (cherry picked from commit f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2)
Diffstat (limited to 'nixpkgs/pkgs/build-support/cc-wrapper')
-rw-r--r-- | nixpkgs/pkgs/build-support/cc-wrapper/default.nix | 5 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/cc-wrapper/fortran-hook.sh | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix index 4f3680f2197c..6ee287e287bc 100644 --- a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix +++ b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix @@ -209,6 +209,7 @@ stdenv.mkDerivation { wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77 + export named_fc=${targetPrefix}gfortran '' + optionalString cc.langJava or false '' @@ -227,8 +228,8 @@ stdenv.mkDerivation { setupHooks = [ ../setup-hooks/role.bash - ./setup-hook.sh - ]; + ] ++ stdenv.lib.optional (cc.langC or true) ./setup-hook.sh + ++ stdenv.lib.optional (cc.langFortran or false) ./fortran-hook.sh; postFixup = # Ensure flags files exists, as some other programs cat them. (That these diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/fortran-hook.sh b/nixpkgs/pkgs/build-support/cc-wrapper/fortran-hook.sh new file mode 100644 index 000000000000..d72f314c01ce --- /dev/null +++ b/nixpkgs/pkgs/build-support/cc-wrapper/fortran-hook.sh @@ -0,0 +1,11 @@ +getTargetRole +getTargetRoleWrapper + +export FC${role_post}=@named_fc@ + +# If unset, assume the default hardening flags. +# These are different for fortran. +: ${NIX_HARDENING_ENABLE="stackprotector pic strictoverflow relro bindnow"} +export NIX_HARDENING_ENABLE + +unset -v role_post |