summary refs log tree commit diff
path: root/pkgs/development/libraries/ncurses/default.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-01 20:52:03 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-04 14:54:48 +0200
commit3096d03435bb177af8c4868a8efa637b393f2715 (patch)
treeb5353e40eb18bba0e86b04a176879f3e635f48e7 /pkgs/development/libraries/ncurses/default.nix
parent4f60156afbb8d61d8d28db8ab594ec9328946d71 (diff)
downloadnixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar.gz
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar.bz2
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar.lz
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar.xz
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.tar.zst
nixlib-3096d03435bb177af8c4868a8efa637b393f2715.zip
Revert "Refactor mkFlag / shouldUsePkg into the nixpkgs libraries"
This reverts commit 25a148fa196b944b3f134527da87e43d88c066f9.
Diffstat (limited to 'pkgs/development/libraries/ncurses/default.nix')
-rw-r--r--pkgs/development/libraries/ncurses/default.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index f0519fa981df..bea4754a1f53 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -8,11 +8,23 @@
 , unicode ? true
 }:
 
-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_: let
+    pkg = (builtins.tryEval pkg_).value;
+  in if stdenv.lib.any (x: x == stdenv.system) (pkg.meta.platforms or [])
+    then pkg
+    else null;
+
   buildShared = !stdenv.isDarwin;
 
-  optGpm = stdenv.shouldUsePkg gpm;
+  optGpm = shouldUsePkg gpm;
 in
 stdenv.mkDerivation rec {
   name = "ncurses-5.9";
@@ -124,7 +136,7 @@ stdenv.mkDerivation rec {
     ln -svf libncurses.so $out/lib/libcurses.so
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Free software emulation of curses in SVR4 and more";
 
     longDescription = ''