about summary refs log tree commit diff
path: root/pkgs/applications/editors/vim/configurable.nix
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-12-20 01:20:35 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-12-20 01:20:35 +0000
commite996113be7f41f067aaefac881c540b5ceb8d2d4 (patch)
tree177f16552ca2d05020c3d45a0b45502556a09502 /pkgs/applications/editors/vim/configurable.nix
parent5ab6464edb9bbc2a9aa15122ffc02b57ad236bb7 (diff)
removed mkDerivationByConfiguration, using composableDerivation instead
qgis, vim_configurable both work now

svn path=/nixpkgs/trunk/; revision=13661
Diffstat (limited to 'pkgs/applications/editors/vim/configurable.nix')
-rw-r--r--pkgs/applications/editors/vim/configurable.nix130
1 files changed, 68 insertions, 62 deletions
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index b27bb157f75ad..0eac7ea5979f4 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -1,72 +1,78 @@
 # TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
 # but I have gvim with python support now :) - Marc
-args:
-let edf = args.lib.enableDisableFeature; in
-( args.mkDerivationByConfiguration {
-    # most interpreters aren't tested yet.. (see python for example how to do it)
-    flagConfig = { 
-      mandatory = { cfgOption = "--enable-gui=auto --with-features=${args.features}"; 
-                    buildInputs = ["ncurses" "pkgconfig"];
-                  };
-      X11 = { buildInputs = [ "libX11" "libXext" "libSM" "libXpm" "libXt" "libXaw" "libXau" "libXmu" ]; };
+args: with args;
+let inherit (args.composableDerivation) composableDerivation edf; in
+composableDerivation {
+  initial = {
 
-    } // edf "darwin" "darwin" { } #Disable Darwin (Mac OS X) support.
-      // edf "xsmp" "xsmp" { } #Disable XSMP session management
-      // edf "xsmp_interact" "xsmp_interact" {  } #Disable XSMP interaction
-      // edf "mzscheme" "mzschemeinterp" { } #Include MzScheme interpreter.
-      // edf "perl" "perlinterp" { } #Include Perl interpreter.
-      // edf "python" "pythoninterp" { pass = "python"; } #Include Python interpreter.
-      // edf "tcl" "tclinterp" { } #Include Tcl interpreter.
-      // edf "ruby" "rubyinterp" { } #Include Ruby interpreter.
-      // edf "cscope" "cscope" { } #Include cscope interface.
-      // edf "workshop" "workshop" { } #Include Sun Visual Workshop support.
-      // edf "netbeans" "netbeans" { } #Disable NetBeans integration support.
-      // edf "sniff" "sniff" { } #Include Sniff interface.
-      // edf "multibyte" "multibyte" { } #Include multibyte editing support.
-      // edf "hangulinput" "hangulinput" { } #Include Hangul input support.
-      // edf "xim" "xim" { pass = "xim"; } #Include XIM input support.
-      // edf "fontset" "fontset" { } #Include X fontset output support.
+      name = "vim_configurable-7.1";
 
-  #--enable-gui=OPTS     X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
-    /*
-      // edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
-      // edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
-      // edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
-      // edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
-      // edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
-      // edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
-      // edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
-      // edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
-    */
-      // edf "acl" "acl" { } #Don't check for ACL support.
-      // edf "gpm" "gpm" { } #Don't use gpm (Linux mouse daemon).
-      // edf "nls" "nls" { } #Don't support NLS (gettext()).
-    ; 
+      src = args.fetchurl {
+        url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2;
+        sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci";
+      };
 
-  optionals = ["python"];
+      cfgOption = "--enable-gui=auto --with-features=${args.features}";
 
-  extraAttrs = co : {
-    name = "vim_configurable-7.1";
+      buildInputs = [ncurses pkgconfig]
+        ++ [ libX11 libXext libSM libXpm libXt libXaw libXau libXmu ];
 
-  src = args.fetchurl {
-    url = ftp://ftp.nluug.nl/pub/editors/vim/unix/vim-7.1.tar.bz2;
-    sha256 = "0w6gy49gdbw7hby5rjkjpa7cdvc0z5iajsm4j1h8108rvfam22kz";
-  };
+      # most interpreters aren't tested yet.. (see python for example how to do it)
+      flags = {}
+        // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
+        // edf { name = "xsmp"; } #Disable XSMP session management
+        // edf { name = "xsmp_interact"; } #Disable XSMP interaction
+        // edf { name = "mzscheme"; } #Include MzScheme interpreter.
+        // edf { name = "perl"; } #Include Perl interpreter.
+        // edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter.
+        // edf { name = "tcl"; } #Include Tcl interpreter.
+        // edf { name = "ruby"; } #Include Ruby interpreter.
+        // edf { name = "cscope"; } #Include cscope interface.
+        // edf { name = "workshop"; } #Include Sun Visual Workshop support.
+        // edf { name = "netbeans"; } #Disable NetBeans integration support.
+        // edf { name = "sniff"; } #Include Sniff interface.
+        // edf { name = "multibyte"; } #Include multibyte editing support.
+        // edf { name = "hangulinput"; } #Include Hangul input support.
+        # // edf { name = "xim"; enable = { buildInputs = [xim]; }; } #Include XIM input support.
+        // edf { name = "fontset"; } #Include X fontset output support.
+        // edf { name = "acl"; } #Don't check for ACL support.
+        // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
+        // edf { name = "nls"; } #Don't support NLS (gettext()).
+        ;
+
+    cfg = {
+      pythonSupport = true;
+    };
+
+    #--enable-gui=OPTS     X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
+      /*
+        // edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
+        // edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
+        // edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
+        // edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
+        // edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
+        // edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
+        // edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
+        // edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
+      */
 
-  postInstall = "
-    rpath=`patchelf --print-rpath \$out/bin/vim`;
-    for i in $\buildInputs; do
-      echo adding \$i/lib
-      rpath=\$rpath:\$i/lib
-    done
-    echo \$buildInputs
-    echo \$rpath
-    patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
-  ";
+    postInstall = "
+      rpath=`patchelf --print-rpath \$out/bin/vim`;
+      for i in $\buildInputs; do
+        echo adding \$i/lib
+        rpath=\$rpath:\$i/lib
+      done
+      echo \$buildInputs
+      echo \$rpath
+      patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
+    ";
+    dontStrip =1;
+
+    meta = {
+      description = "The most popular clone of the VI editor";
+      homepage = "www.vim.org";
+    };
 
-  meta = {
-    description = "The most popular clone of the VI editor";
-    homepage = "www.vim.org";
   };
-};
-} ) args
+
+}