* Turn vim/default.nix into a regular package. We don't need two

configurable VIMs.

svn path=/nixpkgs/trunk/; revision=22784
This commit is contained in:
Eelco Dolstra 2010-07-28 12:52:54 +00:00
parent 6609710409
commit d81ed8201f
3 changed files with 13 additions and 90 deletions

View File

@ -1,86 +1,17 @@
args:
let
defList = [];
#stdenv and fetchurl are added automatically
getVal = (args.lib.getValue args defList);
check = args.lib.checkFlag args;
reqsList = [
["gtkGUI" "glib" "gtk" "pkgconfig" "libXpm" "libXext" "x11Support"]
["athenaGUI" "libXau" "libXt" "libXaw" "libXpm" "libXext" "x11Support"]
["x11Support" "libX11"]
["hugeFeatures"]
["pythonSupport" "python"]
["perlSupport" "perl"]
["tclSupport" "tcl"]
["eclSupport" "ecl" "gmp" "mpfr"]
["luaSupport" "lua"]
{ stdenv, fetchurl, ncurses }:
# Currently causes problems
["mzSchemeSupport" "pltScheme"]
["perlSupport" "perl"]
["rubySupport" "ruby"]
["hangulSupport"]
["sniffSupport"]
["gettextSupport" "gettext"]
["true" "ncurses"]
["false" "libSM"]
];
nameSuffixes = [
"hugeFeatures" "-huge"
"x11Support" "-X11"
"pythonSupport" "-python"
"perlSupport" "-perl"
"tclSupport" "-tcl"
"ximSupport" "-xim"
"eclSupport" "-ecl"
"luaSupport" "-lua"
"perlSupport" "-perl"
"rubySupport" "-ruby"
"mzSchemeSupport" "-mzscheme"
];
configFlags = [
"true" " --enable-multibyte "
"x11Support" " --enable-gui=auto "
"hugeFeatures" "--with-features=huge --enable-cscope --enable-xsmp "
"pythonSupport" " --enable-pythoninterp "
"perlSupport" " --enable-perlinterp "
"tclSupport" " --enable-tclinterp "
"ximSupport" " --enable-xim "
"eclSupport" " --enable-eclinterp "
"hangulSupport" " --enable-hangulinput "
"perlSupport" " --enable-perlinterp "
"luaSupport" " --enable-luainterp --with-lua-prefix=${args.lua} "
"rubySupport" " --enable-rubyinterp "
"sniffSupport" " --enable-sniff "
"mzSchemeSupport" " --enable-mzschemeinterp "
"gettextSupport" " --enable-nls "
];
buildInputsNames = args.lib.filter (x: (null!=getVal x))
(args.lib.uniqList {inputList =
(args.lib.concatLists (map
(x:(if (x==[]) then [] else builtins.tail x))
reqsList));});
in
assert args.lib.checkReqs args defList reqsList;
args.stdenv.mkDerivation {
name = args.lib.condConcat "vim-7.2" nameSuffixes check;
stdenv.mkDerivation rec {
name = "vim-7.2";
src = args.lib.attrByPath ["src"] (args.fetchurl {
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2;
src = fetchurl {
url = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2";
sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci";
}) args;
};
inherit (args) ncurses;
buildInputs = args.lib.filter (x: (x!=null)) (map getVal buildInputsNames);
buildInputs = [ ncurses ];
postInstall = "ln -s $out/bin/vim $out/bin/vi";
preBuild="touch src/auto/link.sed";
configureFlags = args.lib.condConcat "" configFlags check;
NIX_LDFLAGS = "-lpthread -lutil";
meta = {
description = "The most popular clone of the VI editor";
homepage = http://www.vim.org;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ncurses ? null, ... }:
{ stdenv, fetchurl, ncurses ? null }:
stdenv.mkDerivation rec {
name = "util-linux-ng-2.17.2";

View File

@ -2016,6 +2016,7 @@ let
bashReal = makeOverridable (import ../shells/bash) {
inherit fetchurl stdenv bison;
texinfo = null;
};
bashInteractive = appendToName "interactive" (bashReal.override {
@ -7080,6 +7081,7 @@ let
utillinuxng = makeOverridable (import ../os-specific/linux/util-linux-ng) {
inherit fetchurl stdenv;
ncurses = null;
};
utillinuxngCurses = utillinuxng.override {
@ -8988,20 +8990,10 @@ let
};
vim = makeOverridable (import ../applications/editors/vim) {
inherit fetchurl stdenv ncurses lib;
inherit fetchurl stdenv ncurses;
};
vimHugeX = vim.override {
inherit pkgconfig
perl python tcl;
inherit (xlibs) libX11 libXext libSM libXpm
libXt libXaw libXau;
inherit (gtkLibs) glib gtk;
# Looks like python and perl can conflict
flags = ["hugeFeatures" "gtkGUI" "x11Support"
/*"perlSupport"*/ "pythonSupport" "tclSupport"];
};
vimHugeX = vim_configurable;
vim_configurable = import ../applications/editors/vim/configurable.nix {
inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;