forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / by-name / co / costa / package.nix
blobfcc644edadf436786c9d7f35550c659401b81549
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , cmake
5 , mpi
6 , scalapack
7 , llvmPackages
8 }:
10 stdenv.mkDerivation rec {
11   pname = "COSTA";
12   version = "2.2.2";
14   src = fetchFromGitHub {
15     owner = "eth-cscs";
16     repo = pname;
17     rev = "v${version}";
18     hash = "sha256-jiAyZXC7wiuEnOLsQFFLxhN3AsGXN09q/gHC2Hrb2gg=";
19   };
21   nativeBuildInputs = [ cmake ];
23   buildInputs = [ scalapack ] ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp;
25   propagatedBuildInputs = [ mpi ];
27   cmakeFlags = [
28     "-DCOSTA_SCALAPACK=CUSTOM"
29     "-DSCALAPACK_ROOT=${scalapack}"
30   ];
33   meta = with lib; {
34     description = "Distributed Communication-Optimal Shuffle and Transpose Algorithm";
35     homepage = "https://github.com/eth-cscs/COSTA";
36     license = licenses.bsd3;
37     platforms = platforms.linux;
38     maintainers = [ maintainers.sheepforce ];
39   };