Merge pull request #233842 from sheepforce/dbcsr

dbcsr: init at 2.5.0

authored by markuskowa and committed by GitHub 9affd374 0e3c31e0

+105
+81
pkgs/development/libraries/science/math/dbcsr/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , cmake 5 + , pkg-config 6 + , fypp 7 + , gfortran 8 + , blas 9 + , lapack 10 + , python3 11 + , libxsmm 12 + , mpi 13 + , openssh 14 + }: 15 + 16 + stdenv.mkDerivation rec { 17 + pname = "dbcsr"; 18 + version = "2.5.0"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "cp2k"; 22 + repo = "dbcsr"; 23 + rev = "v${version}"; 24 + hash = "sha256-GGClK3heGE3zUM0R+u58vRdAK+xWzaqdCHaMIDerHSI="; 25 + }; 26 + 27 + postPatch = '' 28 + patchShebangs . 29 + 30 + # Force build of shared library, otherwise just static. 31 + substituteInPlace src/CMakeLists.txt \ 32 + --replace 'add_library(dbcsr ''${DBCSR_SRCS})' 'add_library(dbcsr SHARED ''${DBCSR_SRCS})' \ 33 + --replace 'add_library(dbcsr_c ''${DBCSR_C_SRCS})' 'add_library(dbcsr_c SHARED ''${DBCSR_C_SRCS})' 34 + 35 + # Avoid calling the fypp wrapper script with python again. The nix wrapper took care of that. 36 + substituteInPlace cmake/fypp-sources.cmake \ 37 + --replace 'COMMAND ''${Python_EXECUTABLE} ''${FYPP_EXECUTABLE}' 'COMMAND ''${FYPP_EXECUTABLE}' 38 + ''; 39 + 40 + nativeBuildInputs = [ 41 + gfortran 42 + python3 43 + cmake 44 + pkg-config 45 + fypp 46 + ]; 47 + 48 + buildInputs = [ blas lapack libxsmm ]; 49 + 50 + propagatedBuildInputs = [ mpi ]; 51 + 52 + preConfigure = '' 53 + export PKG_CONFIG_PATH=${libxsmm}/lib 54 + ''; 55 + 56 + cmakeFlags = [ 57 + "-DUSE_OPENMP=ON" 58 + "-DUSE_SMM=libxsmm" 59 + "-DWITH_C_API=ON" 60 + "-DBUILD_TESTING=ON" 61 + "-DTEST_OMP_THREADS=2" 62 + "-DTEST_MPI_RANKS=2" 63 + "-DENABLE_SHARED=ON" 64 + "-DUSE_MPI=ON" 65 + ]; 66 + 67 + checkInputs = [ openssh ]; 68 + 69 + doCheck = true; 70 + preCheck = '' 71 + export HYDRA_IFACE=lo # Fix to make mpich run in a sandbox 72 + export OMPI_MCA_rmaps_base_oversubscribe=1 73 + ''; 74 + 75 + meta = with lib; { 76 + description = "Distributed Block Compressed Sparse Row matrix library"; 77 + license = licenses.gpl2Only; 78 + homepage = "https://github.com/cp2k/dbcsr"; 79 + maintainers = [ maintainers.sheepforce ]; 80 + }; 81 + }
+20
pkgs/development/python-modules/fypp/default.nix
··· 1 + { lib, stdenv, fetchFromGitHub, buildPythonApplication }: 2 + 3 + buildPythonApplication rec { 4 + pname = "fypp"; 5 + version = "3.1"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "aradi"; 9 + repo = pname; 10 + rev = version; 11 + hash = "sha256-iog5Gdcd1F230Nl4JDrKoyYr8JualVgNZQzHLzd4xe8="; 12 + }; 13 + 14 + meta = with lib; { 15 + description = "Python powered Fortran preprocessor"; 16 + homepage = "https://github.com/aradi/fypp"; 17 + license = licenses.gpl3Only; 18 + maintainers = [ maintainers.sheepforce ]; 19 + }; 20 + }
+4
pkgs/top-level/all-packages.nix
··· 22944 22944 22945 22945 toml-f = callPackage ../development/libraries/toml-f { }; 22946 22946 22947 + fypp = python3Packages.callPackage ../development/python-modules/fypp { }; 22948 + 22949 + dbcsr = callPackage ../development/libraries/science/math/dbcsr { }; 22950 + 22947 22951 ## libGL/libGLU/Mesa stuff 22948 22952 22949 22953 # Default libGL implementation, should provide headers and