octopus: 16.0 -> 16.2 (#446446)

Changed files
+20 -27
pkgs
+20 -14
pkgs/by-name/oc/octopus/package.nix
···
assert (!blas.isILP64) && (!lapack.isILP64);
assert (blas.isILP64 == arpack.isILP64);
-
stdenv.mkDerivation rec {
+
stdenv.mkDerivation (finalAttrs: {
pname = "octopus";
-
version = "16.0";
+
version = "16.2";
src = fetchFromGitLab {
owner = "octopus-code";
repo = "octopus";
-
rev = version;
-
hash = "sha256-sByiRTgAntJtSeL4h+49Mi9Rcxw2wK/BvXvsePa77HE=";
+
tag = finalAttrs.version;
+
hash = "sha256-L97igB+bdZ19zpbffHi8DVSJXKtUyDqauUB+l5zzFwQ=";
};
-
patches = [
-
# Discover all MPI languages components to avoid scalpack discovery failure
-
./scalapack-mpi-alias.patch
+
outputs = [
+
"out"
+
"dev"
+
"testsuite"
];
nativeBuildInputs = [
···
(lib.cmakeBool "OCTOPUS_MPI" enableMpi)
(lib.cmakeBool "OCTOPUS_ScaLAPACK" enableMpi)
(lib.cmakeBool "OCTOPUS_OpenMP" true)
+
(lib.cmakeBool "OCTOPUS_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
];
-
nativeCheckInputs = lib.optional.enableMpi mpi;
-
doCheck = false;
-
checkTarget = "check-short";
+
nativeCheckInputs = lib.optional enableMpi mpi;
+
doCheck = false; # requires installed data
postPatch = ''
patchShebangs ./
···
postConfigure = ''
patchShebangs testsuite/oct-run_testsuite.sh
+
'';
+
+
postInstall = ''
+
mkdir -p $testsuite
+
moveToOutput share/octopus/testsuite $testsuite
'';
enableParallelBuilding = true;
passthru = lib.attrsets.optionalAttrs enableMpi { inherit mpi; };
-
meta = with lib; {
+
meta = {
description = "Real-space time dependent density-functional theory code";
homepage = "https://octopus-code.org";
-
maintainers = with maintainers; [ markuskowa ];
-
license = with licenses; [
+
maintainers = with lib.maintainers; [ markuskowa ];
+
license = with lib.licenses; [
gpl2Only
asl20
lgpl3Plus
···
];
platforms = [ "x86_64-linux" ];
};
-
}
+
})
-13
pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch
···
-
diff --git a/CMakeLists.txt b/CMakeLists.txt
-
index 70d89efb5e..47ba750d7a 100644
-
--- a/CMakeLists.txt
-
+++ b/CMakeLists.txt
-
@@ -131,7 +131,7 @@ set(Octopus_ext_libs)
-
find_package(GSL)
-
if (OCTOPUS_MPI)
-
set(MPI_DETERMINE_LIBRARY_VERSION ON)
-
- find_package(MPI 3 COMPONENTS Fortran)
-
+ find_package(MPI 3)
-
# Further set MKL variables
-
if (MPI_Fortran_LIBRARY_VERSION_STRING MATCHES Intel)
-
set(MKL_MPI intelmpi CACHE STRING "Octopus: Overloaded")