summary refs log tree commit diff
path: root/pkgs/development/libraries/physics
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2021-11-21 15:18:57 -0500
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2021-11-21 17:13:03 -0500
commit87d20e352ff27c4a0fed11d30f437495baa13c1a (patch)
tree03597e3746dcfc6caee5a2fe441d4aafbf0dd7ec /pkgs/development/libraries/physics
parent06e83482be9a0a750d4b0bf08c89e046985ba4c9 (diff)
cernlib: fix for gfortran10
Diffstat (limited to 'pkgs/development/libraries/physics')
-rw-r--r--pkgs/development/libraries/physics/cernlib/default.nix20
1 files changed, 16 insertions, 4 deletions
diff --git a/pkgs/development/libraries/physics/cernlib/default.nix b/pkgs/development/libraries/physics/cernlib/default.nix
index f953b663143dc..b2656f1cc999e 100644
--- a/pkgs/development/libraries/physics/cernlib/default.nix
+++ b/pkgs/development/libraries/physics/cernlib/default.nix
@@ -35,18 +35,30 @@ stdenv.mkDerivation rec {
     export PATH=$PATH:$CERN_ROOT/bin
   '';
 
+  FFLAGS = lib.optionals (lib.versionAtLeast gfortran.version "10.0.0") [
+    # Fix https://github.com/vmc-project/geant3/issues/17
+    "-fallow-invalid-boz"
+
+    # Fix for gfortran 10
+    "-fallow-argument-mismatch"
+  ];
+
+  makeFlags = [
+    "FORTRANOPTIONS=$(FFLAGS)"
+  ];
+
   buildPhase = ''
     cd $CERN_ROOT
     mkdir -p build bin lib
 
     cd $CERN_ROOT/build
     $CVSCOSRC/config/imake_boot
-    make -j $NIX_BUILD_CORES bin/kuipc
-    make -j $NIX_BUILD_CORES scripts/Makefile
+    make -j $NIX_BUILD_CORES $makeFlags bin/kuipc
+    make -j $NIX_BUILD_CORES $makeFlags scripts/Makefile
     pushd scripts
-    make -j $NIX_BUILD_CORES install.bin
+    make -j $NIX_BUILD_CORES $makeFlags install.bin
     popd
-    make -j $NIX_BUILD_CORES
+    make -j $NIX_BUILD_CORES $makeFlags
   '';
 
   installPhase = ''