azure-storage-azcopy: 10.27.1 -> 10.28.0 (#377459)
[NixPkgs.git] / pkgs / by-name / mo / mongoose / package.nix
blob8679c07c1a44bce52b26554f1564fdb70b4047f5
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   blas,
7   llvmPackages,
8 }:
10 let
11   suitesparseVersion = "7.8.3";
13 stdenv.mkDerivation {
14   pname = "mongoose";
15   version = "3.3.4";
17   outputs = [
18     "bin"
19     "out"
20     "dev"
21   ];
23   src = fetchFromGitHub {
24     owner = "DrTimothyAldenDavis";
25     repo = "SuiteSparse";
26     rev = "v${suitesparseVersion}";
27     hash = "sha256-ai3Xne1ByP2hcM9L236pUyVsVohW6k0BX0DRXPq/jhw=";
28   };
30   nativeBuildInputs = [
31     cmake
32   ];
34   buildInputs =
35     [
36       blas
37     ]
38     ++ lib.optionals stdenv.cc.isClang [
39       llvmPackages.openmp
40     ];
42   dontUseCmakeConfigure = true;
44   cmakeFlags = [
45     "-DBLAS_LIBRARIES=${blas}"
46     "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON"
47   ];
49   buildPhase = ''
50     runHook preConfigure
52     for f in SuiteSparse_config Mongoose; do
53       (cd $f && cmakeConfigurePhase && make -j$NIX_BUILD_CORES)
54     done
56     runHook postConfigure
57   '';
59   installPhase = ''
60     runHook preInstall
62     for f in SuiteSparse_config Mongoose; do
63       (cd $f/build && make install -j$NIX_BUILD_CORES)
64     done
66     runHook postInstall
67   '';
69   meta = with lib; {
70     description = "Graph Coarsening and Partitioning Library";
71     mainProgram = "suitesparse_mongoose";
72     homepage = "https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/Mongoose";
73     license = licenses.gpl3Only;
74     maintainers = with maintainers; [ wegank ];
75     platforms = with platforms; unix;
76   };