Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / stxxl / default.nix
blob499532092f0261c2984fadfb2c742691256203b9
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , parallelSupport ? (!stdenv.isDarwin)
6 }:
8 let
9   mkFlag = optset: flag: if optset then "-D${flag}=ON" else "-D${flag}=OFF";
12 stdenv.mkDerivation rec {
13   pname = "stxxl";
14   version = "1.4.1";
16   src = fetchFromGitHub {
17     owner = "stxxl";
18     repo = "stxxl";
19     rev = version;
20     sha256 = "sha256-U6DQ5mI83pyTmq5/ga5rI8v0h2/iEnNl8mxhIOpbF1I=";
21   };
23   nativeBuildInputs = [ cmake ];
25   cmakeFlags = [
26     "-DBUILD_SHARED_LIBS=ON"
27     "-DBUILD_STATIC_LIBS=OFF"
28     (mkFlag parallelSupport "USE_GNU_PARALLEL")
29     (mkFlag parallelSupport "USE_OPENMP")
30   ];
32   passthru = {
33     inherit parallelSupport;
34   };
36   meta = with lib; {
37     description = "An implementation of the C++ standard template library STL for external memory (out-of-core) computations";
38     homepage = "https://github.com/stxxl/stxxl";
39     license = licenses.boost;
40     maintainers = with maintainers; [ ];
41     mainProgram = "stxxl_tool";
42     platforms = platforms.all;
43   };