diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2020-07-06 00:22:19 -0400 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2020-07-06 00:22:19 -0400 |
commit | f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2 (patch) | |
tree | 2af5d9df2d15c8d6a6f51bfcadd4900dd5762412 /pkgs/build-support/cc-wrapper | |
parent | 4855aa62fa13052fb1a3daea68971503ab07a744 (diff) | |
download | nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar.gz nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar.bz2 nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar.lz nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar.xz nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.tar.zst nixpkgs-f42aa7e1d7ac4fb1050b73b296912fa7c7b927c2.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
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 5 | ||||
-rw-r--r-- | pkgs/build-support/cc-wrapper/fortran-hook.sh | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index da16a23f9df..b79aac37a33 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -214,6 +214,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 '' @@ -232,8 +233,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 = '' diff --git a/pkgs/build-support/cc-wrapper/fortran-hook.sh b/pkgs/build-support/cc-wrapper/fortran-hook.sh new file mode 100644 index 00000000000..d72f314c01c --- /dev/null +++ b/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 |