diff options
Diffstat (limited to 'pkgs/development/libraries/wiredtiger/default.nix')
-rw-r--r-- | pkgs/development/libraries/wiredtiger/default.nix | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/pkgs/development/libraries/wiredtiger/default.nix b/pkgs/development/libraries/wiredtiger/default.nix index 514dcd5972a..da4dc9d6bbc 100644 --- a/pkgs/development/libraries/wiredtiger/default.nix +++ b/pkgs/development/libraries/wiredtiger/default.nix @@ -5,8 +5,17 @@ , gperftools ? null, leveldb ? null }: -with stdenv; +with stdenv.lib; let + mkFlag = trueStr: falseStr: cond: name: val: + if cond == null then null else + "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}"; + mkEnable = mkFlag "enable-" "disable-"; + mkWith = mkFlag "with-" "without-"; + mkOther = mkFlag "" "" true; + + shouldUsePkg = pkg: if pkg != null && any (x: x == stdenv.system) pkg.meta.platforms then pkg else null; + optLz4 = shouldUsePkg lz4; optSnappy = shouldUsePkg snappy; optZlib = shouldUsePkg zlib; @@ -15,7 +24,6 @@ let optGperftools = shouldUsePkg gperftools; optLeveldb = shouldUsePkg leveldb; in -with stdenv.lib; stdenv.mkDerivation rec { name = "wiredtiger-${version}"; version = "2.6.0"; |