stxxl: refactor

This commit is contained in:
codyopel 2015-05-07 06:04:20 -04:00
parent 874fa4d8a3
commit e9b093bc98

View file

@ -1,24 +1,38 @@
{stdenv, fetchurl, cmake, parallel ? true }:
{ stdenv, fetchurl, cmake
, parallel ? true
}:
let
mkFlag = optset: flag: if optset then "-D${flag}=ON" else "-D${flag}=OFF";
in
stdenv.mkDerivation rec {
name = "stxxl-1.4.1";
name = "stxxl-${version}";
version = "1.4.1";
src = fetchurl {
url = "https://github.com/stxxl/stxxl/archive/1.4.1.tar.gz";
url = "https://github.com/stxxl/stxxl/archive/${version}.tar.gz";
sha256 = "54006a5fccd1435abc2f3ec201997a4d7dacddb984d2717f62191798e5372f6c";
};
buildInputs = [ cmake ];
nativeBuildInputs = [ cmake ];
cmakeFlags = let parallel_str = if parallel then "ON" else "OFF"; in "-DUSE_GNU_PARALLEL=${parallel_str}";
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_STATIC_LIBS=OFF"
"-DCMAKE_BUILD_TYPE=Release"
(mkFlag parallel "USE_GNU_PARALLEL")
];
passthru = {
inherit parallel;
};
meta = {
homepage = https://github.com/stxxl/stxxl;
meta = with stdenv.lib; {
description = "An implementation of the C++ standard template library STL for external memory (out-of-core) computations";
license = stdenv.lib.licenses.boost;
homepage = https://github.com/stxxl/stxxl;
license = licenses.boost;
maintainers = with maintainers; [ ];
platforms = platforms.all;
};
}