about summary refs log tree commit diff
path: root/pkgs/applications/science/chemistry
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-05-18 00:02:17 +0000
committerGitHub <noreply@github.com>2024-05-18 00:02:17 +0000
commit11e181f00d09a94a931793acc0208c2103c8427a (patch)
tree441a1e95b90d96b04822122690d43a9947f8e960 /pkgs/applications/science/chemistry
parentc537cc4af4c297b69441ae95e8f96a00fbcead59 (diff)
parent8a33016960fc556929f10df9efae7fb372877441 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/science/chemistry')
-rw-r--r--pkgs/applications/science/chemistry/cp2k/default.nix17
-rw-r--r--pkgs/applications/science/chemistry/cp2k/remove-compiler-options.patch37
2 files changed, 50 insertions, 4 deletions
diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix
index 42bfc6ffe32e3..8a831fe23b742 100644
--- a/pkgs/applications/science/chemistry/cp2k/default.nix
+++ b/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -64,6 +64,12 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # Remove the build command line from the source.
+    # This avoids dependencies to .dev inputs
+    ./remove-compiler-options.patch
+  ];
+
   nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ]
     ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc;
 
@@ -75,6 +81,7 @@ stdenv.mkDerivation rec {
     libvori
     libxc
     libxsmm
+    mpi
     spglib
     scalapack
     blas
@@ -101,7 +108,7 @@ stdenv.mkDerivation rec {
   ]
   ;
 
-  propagatedBuildInputs = [ mpi ];
+  propagatedBuildInputs = [ (lib.getBin mpi) ];
   propagatedUserEnvPkgs = [ mpi ];
 
   makeFlags = [
@@ -149,14 +156,16 @@ stdenv.mkDerivation rec {
                  -D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \
                  ${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__ACC -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} \
                  ${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"}
-    CFLAGS    = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include
+    CFLAGS    = -fopenmp
     FCFLAGS    = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
                  -ftree-vectorize -funroll-loops -msse2 \
                  -std=f2008 \
                  -fopenmp -ftree-vectorize -funroll-loops \
-                 -I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
+                   ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
+                 -I${lib.getDev libint}/include  \
                  -I${lib.getDev sirius}/include/sirius \
-                 -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \
+                 -I${lib.getDev libxc}/include \
+                 -I${lib.getDev libxsmm}/include \
                  -I${lib.getDev hdf5-fortran}/include \
                  -fallow-argument-mismatch
     LIBS       = -lfftw3 -lfftw3_threads \
diff --git a/pkgs/applications/science/chemistry/cp2k/remove-compiler-options.patch b/pkgs/applications/science/chemistry/cp2k/remove-compiler-options.patch
new file mode 100644
index 0000000000000..e6cf81494aa33
--- /dev/null
+++ b/pkgs/applications/science/chemistry/cp2k/remove-compiler-options.patch
@@ -0,0 +1,37 @@
+diff --git a/src/start/cp2k.F b/src/start/cp2k.F
+index f69146ea3..a195f0620 100644
+--- a/src/start/cp2k.F
++++ b/src/start/cp2k.F
+@@ -58,8 +58,7 @@ PROGRAM cp2k
+    USE input_cp2k,                      ONLY: create_cp2k_root_section
+    USE input_section_types,             ONLY: section_release,&
+                                               section_type
+-   USE iso_fortran_env,                 ONLY: compiler_options,&
+-                                              compiler_version
++   USE iso_fortran_env,                 ONLY: compiler_version
+    USE kinds,                           ONLY: default_path_length
+    USE machine,                         ONLY: default_output_unit
+ #include "../base/base_uses.f90"
+@@ -70,7 +69,6 @@ PROGRAM cp2k
+                                            arg_att, command
+    CHARACTER(LEN=default_path_length), &
+       DIMENSION(:, :), ALLOCATABLE      :: initial_variables, initial_variables_tmp
+-   CHARACTER(LEN=:), ALLOCATABLE        :: compiler_options_string
+    INTEGER                              :: output_unit, l, i, var_set_sep, inp_var_idx
+    INTEGER                              :: ierr, i_arg
+    LOGICAL                              :: check, usage, echo_input, command_line_error
+@@ -328,14 +326,6 @@ PROGRAM cp2k
+                WRITE (output_unit, "(T2,A)") cp2k_version, &
+                   "Source code revision "//TRIM(compile_revision), &
+                   TRIM(cp2k_flags())
+-               compiler_options_string = compiler_options()
+-               WRITE (output_unit, "(T2,A,A)") "compiler: ", compiler_version()
+-               WRITE (output_unit, "(T2,A)") "compiler options:"
+-               DO i = 0, (LEN(compiler_options_string) - 1)/68
+-                  WRITE (output_unit, "(T4,A)") &
+-                     compiler_options_string(i*68 + 1:MIN(LEN(compiler_options_string), (i + 1)*68))
+-               END DO
+-               DEALLOCATE (compiler_options_string)
+             END IF
+          END IF
+