From aa334b09dc4efd278dc52a48bc035863bcbf3956 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Fri, 26 Sep 2025 13:36:55 +0200 Subject: [PATCH 1/3] octopus: 16.0 -> 16.2 --- pkgs/by-name/oc/octopus/package.nix | 11 +++-------- pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch | 13 ------------- 2 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch diff --git a/pkgs/by-name/oc/octopus/package.nix b/pkgs/by-name/oc/octopus/package.nix index 60eb732a24a7..787f8702ebb3 100644 --- a/pkgs/by-name/oc/octopus/package.nix +++ b/pkgs/by-name/oc/octopus/package.nix @@ -31,20 +31,15 @@ assert (blas.isILP64 == arpack.isILP64); stdenv.mkDerivation rec { pname = "octopus"; - version = "16.0"; + version = "16.2"; src = fetchFromGitLab { owner = "octopus-code"; repo = "octopus"; - rev = version; - hash = "sha256-sByiRTgAntJtSeL4h+49Mi9Rcxw2wK/BvXvsePa77HE="; + tag = version; + hash = "sha256-L97igB+bdZ19zpbffHi8DVSJXKtUyDqauUB+l5zzFwQ="; }; - patches = [ - # Discover all MPI languages components to avoid scalpack discovery failure - ./scalapack-mpi-alias.patch - ]; - nativeBuildInputs = [ which perl diff --git a/pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch b/pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch deleted file mode 100644 index 8c8253ebf1f3..000000000000 --- a/pkgs/by-name/oc/octopus/scalapack-mpi-alias.patch +++ /dev/null @@ -1,13 +0,0 @@ -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") From dfc4f5553509e7380d6b60939e65662fa6dc71f6 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Fri, 26 Sep 2025 22:34:24 +0200 Subject: [PATCH 2/3] octopus: split outputs --- pkgs/by-name/oc/octopus/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/oc/octopus/package.nix b/pkgs/by-name/oc/octopus/package.nix index 787f8702ebb3..ebd65f82b5ba 100644 --- a/pkgs/by-name/oc/octopus/package.nix +++ b/pkgs/by-name/oc/octopus/package.nix @@ -40,6 +40,12 @@ stdenv.mkDerivation rec { hash = "sha256-L97igB+bdZ19zpbffHi8DVSJXKtUyDqauUB+l5zzFwQ="; }; + outputs = [ + "out" + "dev" + "testsuite" + ]; + nativeBuildInputs = [ which perl @@ -73,6 +79,7 @@ stdenv.mkDerivation rec { (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; From a19281a3c4a4fbdd3a2544c9d90f2e325092c373 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Fri, 26 Sep 2025 22:25:25 +0200 Subject: [PATCH 3/3] octopus: refactor * switch to finalAttrs * remove "with lib" from meta * fix typo/bug in nativeBuildInputs * fix checks, target is outdated --- pkgs/by-name/oc/octopus/package.nix | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/oc/octopus/package.nix b/pkgs/by-name/oc/octopus/package.nix index ebd65f82b5ba..e5018530f519 100644 --- a/pkgs/by-name/oc/octopus/package.nix +++ b/pkgs/by-name/oc/octopus/package.nix @@ -29,14 +29,14 @@ assert (!blas.isILP64) && (!lapack.isILP64); assert (blas.isILP64 == arpack.isILP64); -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "octopus"; version = "16.2"; src = fetchFromGitLab { owner = "octopus-code"; repo = "octopus"; - tag = version; + tag = finalAttrs.version; hash = "sha256-L97igB+bdZ19zpbffHi8DVSJXKtUyDqauUB+l5zzFwQ="; }; @@ -82,9 +82,8 @@ stdenv.mkDerivation rec { (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 ./ @@ -94,15 +93,20 @@ stdenv.mkDerivation rec { 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 @@ -110,4 +114,4 @@ stdenv.mkDerivation rec { ]; platforms = [ "x86_64-linux" ]; }; -} +})