selectVersion syntax changed to support getConfig out of the box

svn path=/nixpkgs/branches/stdenv-updates/; revision=10439
This commit is contained in:
Yury G. Kudryashov 2008-01-31 17:32:28 +00:00
parent 3c14fa98a4
commit b7ff9b6d22

View File

@ -226,7 +226,15 @@ rec {
# Call a specific version of a Nix expression, that is, # Call a specific version of a Nix expression, that is,
# `selectVersion ./foo {version = "0.1.2"; args...}' evaluates to # `selectVersion ./foo {version = "0.1.2"; args...}' evaluates to
# `import ./foo/0.1.2.nix args'. # `import ./foo/0.1.2.nix args'.
selectVersion = dir: args: import (dir + "/${args.version}.nix") args; selectVersion = dir: defVersion: args:
let
pVersion =
if (args ? version && args.version != "") then
args.version
else
getConfig [ (baseNameOf (toString dir)) "version" ] defVersion;
in
import (dir + "/${pVersion}.nix") (args // { version = pVersion; });
### STANDARD ENVIRONMENT ### STANDARD ENVIRONMENT
@ -463,15 +471,13 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}); });
gdmapFun = lib.sumArgs (selectVersion ../tools/system/gdmap) { gdmapFun = lib.sumArgs (selectVersion ../tools/system/gdmap "0.7.5") {
inherit stdenv fetchurl builderDefs pkgconfig libxml2 inherit stdenv fetchurl builderDefs pkgconfig libxml2
intltool; intltool;
inherit (gtkLibs) gtk; inherit (gtkLibs) gtk;
}; };
gdmap = gdmapFun { gdmap = gdmapFun null;
version = "0.7.5";
} null;
getopt = import ../tools/misc/getopt { getopt = import ../tools/misc/getopt {
inherit fetchurl stdenv; inherit fetchurl stdenv;
@ -564,17 +570,13 @@ rec {
inherit fetchurl stdenv ocaml; inherit fetchurl stdenv ocaml;
}; };
/*hyppocampusFun = lib.sumArgs ( selectVersion ../tools/misc/hyppocampus ) { /*hyppocampusFun = lib.sumArgs ( selectVersion ../tools/misc/hyppocampus "0.3rc1") {
inherit builderDefs stdenv fetchurl libdbi libdbiDrivers fuse inherit builderDefs stdenv fetchurl libdbi libdbiDrivers fuse
pkgconfig perl gettext dbus dbus_glib pcre libscd; pkgconfig perl gettext dbus dbus_glib pcre libscd;
inherit (gtkLibs) glib; inherit (gtkLibs) glib;
bison = bison23; bison = bison23;
flex = flex2533; flex = flex2533;
}; };*/
hyppocampus = hyppocampusFun {
version = "0.3rc1";
} null;*/
jdiskreport = import ../tools/misc/jdiskreport { jdiskreport = import ../tools/misc/jdiskreport {
inherit fetchurl stdenv unzip jdk; inherit fetchurl stdenv unzip jdk;
@ -709,15 +711,13 @@ rec {
zlibSupport = !stdenv ? isDietLibC; zlibSupport = !stdenv ? isDietLibC;
}; };
relfsFun = lib.sumArgs (selectVersion ../tools/misc/relfs) { relfsFun = lib.sumArgs (selectVersion ../tools/misc/relfs "cvs.2007.12.01") {
inherit fetchcvs stdenv ocaml postgresql fuse pcre inherit fetchcvs stdenv ocaml postgresql fuse pcre
builderDefs e2fsprogs pkgconfig; builderDefs e2fsprogs pkgconfig;
inherit (gnome) gnomevfs GConf; inherit (gnome) gnomevfs GConf;
}; };
relfs = relfsFun { relfs = relfsFun null;
version = "cvs.2007.12.01";
} null;
replace = import ../tools/text/replace { replace = import ../tools/text/replace {
inherit fetchurl stdenv; inherit fetchurl stdenv;
@ -730,9 +730,8 @@ rec {
}; };
*/ */
rlwrapFun = lib.sumArgs (selectVersion ../tools/misc/rlwrap) { rlwrapFun = lib.sumArgs (selectVersion ../tools/misc/rlwrap "0.28") {
version = "0.28"; inherit builderDefs readline;
inherit builderDefs readline;
}; };
rlwrap = rlwrapFun null; rlwrap = rlwrapFun null;
@ -757,8 +756,7 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
smbfsFuseFun = lib.sumArgs (selectVersion ../tools/networking/smbfs-fuse) { smbfsFuseFun = lib.sumArgs (selectVersion ../tools/networking/smbfs-fuse "0.8.7") {
version = "0.8.7";
inherit builderDefs samba fuse; inherit builderDefs samba fuse;
}; };
@ -1356,20 +1354,18 @@ rec {
inherit fetchurl stdenv zlib bzip2; inherit fetchurl stdenv zlib bzip2;
}; };
pyrexFun = lib.sumArgs (selectVersion ../development/interpreters/pyrex) { pyrexFun = lib.sumArgs (selectVersion ../development/interpreters/pyrex "0.9.6") {
inherit fetchurl stdenv stringsWithDeps lib builderDefs; inherit fetchurl stdenv stringsWithDeps lib builderDefs;
python = builtins.getAttr "2.5" python_alts; python = builtins.getAttr "2.5" python_alts;
}; };
pyrex = pyrexFun {version = "0.9.6";} null; pyrex = pyrexFun null;
QiFun = lib.sumArgs (selectVersion ../development/compilers/qi) { QiFun = lib.sumArgs (selectVersion ../development/compilers/qi "9.1") {
inherit clisp stdenv fetchurl builderDefs unzip; inherit clisp stdenv fetchurl builderDefs unzip;
}; };
Qi = QiFun { Qi = QiFun null;
version = getConfig ["Qi" "version"] "9.1";
} null;
realPerl = import ../development/interpreters/perl { realPerl = import ../development/interpreters/perl {
inherit fetchurl stdenv; inherit fetchurl stdenv;
@ -1498,13 +1494,11 @@ rec {
}; };
elfutilsFun = lib.sumArgs elfutilsFun = lib.sumArgs
(selectVersion ../development/tools/misc/elfutils) { (selectVersion ../development/tools/misc/elfutils "0.131") {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
elfutils = elfutilsFun { elfutils = elfutilsFun null;
version = "0.131";
} null;
epm = import ../development/tools/misc/epm { epm = import ../development/tools/misc/epm {
inherit fetchurl stdenv rpm; inherit fetchurl stdenv rpm;
@ -1563,13 +1557,11 @@ rec {
inherit fetchurl stdenv perl perlXMLSimple; inherit fetchurl stdenv perl perlXMLSimple;
}; };
indentFun = lib.sumArgs (selectVersion ../development/tools/misc/indent) { indentFun = lib.sumArgs (selectVersion ../development/tools/misc/indent "2.2.9") {
inherit fetchurl stdenv builderDefs; inherit fetchurl stdenv builderDefs;
}; };
indent = indentFun { indent = indentFun null;
version = "2.2.9";
} null;
jikespg = import ../development/tools/parsing/jikespg { jikespg = import ../development/tools/parsing/jikespg {
inherit fetchurl stdenv; inherit fetchurl stdenv;
@ -2117,12 +2109,12 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
intltoolFun = lib.sumArgs (selectVersion ../development/tools/misc/intltool) { intltoolFun = lib.sumArgs (selectVersion ../development/tools/misc/intltool "0.36.2") {
inherit fetchurl stdenv lib builderDefs stringsWithDeps inherit fetchurl stdenv lib builderDefs stringsWithDeps
perl perlXMLParser; perl perlXMLParser;
}; };
intltool = intltoolFun {version = "0.36.2";} null; intltool = intltoolFun null;
jasper = import ../development/libraries/jasper { jasper = import ../development/libraries/jasper {
inherit fetchurl stdenv unzip libjpeg freeglut mesa; inherit fetchurl stdenv unzip libjpeg freeglut mesa;
@ -2172,20 +2164,17 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
libdbiFun = lib.sumArgs (selectVersion ../development/libraries/libdbi) { libdbiFun = lib.sumArgs (selectVersion ../development/libraries/libdbi "0.8.2") {
inherit stdenv fetchurl builderDefs; inherit stdenv fetchurl builderDefs;
}; };
libdbi = libdbiFun { libdbi = libdbiFun null;
version = "0.8.2";
} null;
libdbiDriversFun = lib.sumArgs (selectVersion ../development/libraries/libdbi-drivers) { libdbiDriversFun = lib.sumArgs (selectVersion ../development/libraries/libdbi-drivers "0.8.2-1") {
inherit stdenv fetchurl builderDefs libdbi; inherit stdenv fetchurl builderDefs libdbi;
}; };
libdbiDrivers = libdbiDriversFun { libdbiDrivers = libdbiDriversFun {
version = "0.8.2-1";
inherit sqlite mysql; inherit sqlite mysql;
} null; } null;
@ -2217,14 +2206,12 @@ rec {
inherit fetchurl stdenv gettext; inherit fetchurl stdenv gettext;
}; };
libextractorFun = lib.sumArgs (selectVersion ../development/libraries/libextractor) libextractorFun = lib.sumArgs (selectVersion ../development/libraries/libextractor "0.5.18")
{ {
inherit fetchurl stdenv builderDefs zlib; inherit fetchurl stdenv builderDefs zlib;
}; };
libextractor = libextractorFun { libextractor = libextractorFun null;
version = "0.5.18";
} null;
libgcrypt = import ../development/libraries/libgcrypt { libgcrypt = import ../development/libraries/libgcrypt {
inherit fetchurl stdenv libgpgerror; inherit fetchurl stdenv libgpgerror;
@ -2302,13 +2289,11 @@ rec {
inherit fetchurl stdenv zlib; inherit fetchurl stdenv zlib;
}; };
/*libscdFun = lib.sumArgs (selectVersion ../development/libraries/libscd) { /*libscdFun = lib.sumArgs (selectVersion ../development/libraries/libscd "0.4.2") {
inherit stdenv fetchurl builderDefs libextractor perl pkgconfig; inherit stdenv fetchurl builderDefs libextractor perl pkgconfig;
}; };
libscd = libscdFun { libscd = libscdFun null;*/
version = "0.4.2";
} null;*/
libsigcxx = import ../development/libraries/libsigcxx { libsigcxx = import ../development/libraries/libsigcxx {
inherit fetchurl stdenv pkgconfig; inherit fetchurl stdenv pkgconfig;
@ -3250,14 +3235,11 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
atherosFun = lib.sumArgs (selectVersion ../os-specific/linux/atheros) { atherosFun = lib.sumArgs (selectVersion ../os-specific/linux/atheros "r3122") {
inherit fetchurl stdenv builderDefs; inherit fetchurl stdenv builderDefs;
}; };
atherosVersion = "r3122";
atherosFunCurrent = kernel: atherosFun { atherosFunCurrent = kernel: atherosFun {
version = atherosVersion;
inherit kernel; inherit kernel;
} null; } null;
@ -3286,13 +3268,11 @@ rec {
static = true; static = true;
})); }));
dmidecodeFun = lib.sumArgs (selectVersion ../os-specific/linux/dmidecode) { dmidecodeFun = lib.sumArgs (selectVersion ../os-specific/linux/dmidecode "2.9") {
inherit fetchurl stdenv builderDefs; inherit fetchurl stdenv builderDefs;
}; };
dmidecode = dmidecodeFun { dmidecode = dmidecodeFun null;
version = "2.9";
} null;
dietlibc = import ../os-specific/linux/dietlibc { dietlibc = import ../os-specific/linux/dietlibc {
inherit fetchurl glibc; inherit fetchurl glibc;
@ -3432,13 +3412,12 @@ rec {
configFile = getConfig ["kernel" "configFile"] null; configFile = getConfig ["kernel" "configFile"] null;
}; };
kqemuFun = lib.sumArgs (selectVersion ../os-specific/linux/kqemu) { kqemuFun = lib.sumArgs (selectVersion ../os-specific/linux/kqemu "1.3.0pre11") {
inherit fetchurl stdenv builderDefs; inherit fetchurl stdenv builderDefs;
}; };
# No finished expression is provided - pick your own kernel # No finished expression is provided - pick your own kernel
kqemuFunCurrent = theKernel: (kqemuFun { kqemuFunCurrent = theKernel: (kqemuFun {
version = "1.3.0pre11";
kernel = theKernel; kernel = theKernel;
} null); } null);
@ -3624,13 +3603,11 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
sdparmFun = lib.sumArgs (selectVersion ../os-specific/linux/sdparm) { sdparmFun = lib.sumArgs (selectVersion ../os-specific/linux/sdparm "1.02") {
inherit fetchurl stdenv builderDefs; inherit fetchurl stdenv builderDefs;
}; };
sdparm = sdparmFun { sdparm = sdparmFun null;
version = "1.02";
} null;
shadowutils = import ../os-specific/linux/shadow { shadowutils = import ../os-specific/linux/shadow {
inherit fetchurl stdenv; inherit fetchurl stdenv;
@ -3932,7 +3909,7 @@ rec {
version = "0.6.2"; version = "0.6.2";
}; };
compizFun = lib.sumArgs (assert mesaSupported; selectVersion ../applications/window-managers/compiz) { compizFun = lib.sumArgs (assert mesaSupported; selectVersion ../applications/window-managers/compiz "0.6.2") {
inherit lib builderDefs stringsWithDeps; inherit lib builderDefs stringsWithDeps;
inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt; inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt;
inherit (xorg) libXcomposite libXfixes libXdamage libXrandr inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
@ -3950,7 +3927,6 @@ rec {
}; };
compiz = compizFun { compiz = compizFun {
version = getConfig ["compiz" "version"] "0.6.2";
extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] []; extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
} null; } null;
@ -4020,13 +3996,12 @@ rec {
inherit fetchurl stdenv qt4 djvulibre; inherit fetchurl stdenv qt4 djvulibre;
}; };
dvdplusrwtoolsFun = lib.sumArgs (selectVersion ../os-specific/linux/dvd+rw-tools) { /* TODO: rename to be able to set version */
dvdplusrwtoolsFun = lib.sumArgs (selectVersion ../os-specific/linux/dvd+rw-tools "7.0") {
inherit fetchurl stdenv builderDefs cdrkit m4; inherit fetchurl stdenv builderDefs cdrkit m4;
}; };
dvdplusrwtools = dvdplusrwtoolsFun { dvdplusrwtools = dvdplusrwtoolsFun null;
version = "7.0";
} null;
eclipse = plugins: eclipse = plugins:
import ../applications/editors/eclipse { import ../applications/editors/eclipse {
@ -4078,13 +4053,13 @@ rec {
openexr = openexr_1_6_1; openexr = openexr_1_6_1;
}; };
fbpanelFun = lib.sumArgs (selectVersion ../applications/window-managers/fbpanel) { fbpanelFun = lib.sumArgs (selectVersion ../applications/window-managers/fbpanel "4.12") {
inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg; inherit fetchurl stdenv builderDefs pkgconfig libpng libjpeg libtiff librsvg;
inherit (gtkLibs) gtk; inherit (gtkLibs) gtk;
inherit (xlibs) libX11 libXmu libXpm; inherit (xlibs) libX11 libXmu libXpm;
}; };
fbpanel = fbpanelFun {version="4.12";} null; fbpanel = fbpanelFun null;
fetchmail = import ../applications/misc/fetchmail { fetchmail = import ../applications/misc/fetchmail {
inherit stdenv fetchurl openssl python procmail; inherit stdenv fetchurl openssl python procmail;
@ -4206,11 +4181,11 @@ rec {
inherit (xlibs) libX11 libXext libXi libXmu; inherit (xlibs) libX11 libXext libXi libXmu;
}; };
gocrFun = lib.sumArgs (selectVersion ../applications/graphics/gocr) { gocrFun = lib.sumArgs (selectVersion ../applications/graphics/gocr "0.44") {
inherit builderDefs fetchurl stdenv; inherit builderDefs fetchurl stdenv;
}; };
gocr = gocrFun {version = "0.44";} null; gocr = gocrFun null;
gphoto2 = import ../applications/misc/gphoto2 { gphoto2 = import ../applications/misc/gphoto2 {
inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt readline gettext; inherit fetchurl stdenv pkgconfig libgphoto2 libexif popt readline gettext;
@ -4478,7 +4453,7 @@ rec {
python = builtins.getAttr "2.5" python_alts; python = builtins.getAttr "2.5" python_alts;
}; };
qemuFun = lib.sumArgs (selectVersion ../applications/virtualization/qemu ) { qemuFun = lib.sumArgs (selectVersion ../applications/virtualization/qemu "0.9.0") {
inherit fetchurl; inherit fetchurl;
stdenv = overrideGCC stdenv gcc34; stdenv = overrideGCC stdenv gcc34;
builderDefs = builderDefs { builderDefs = builderDefs {
@ -4487,18 +4462,14 @@ rec {
inherit SDL zlib which; inherit SDL zlib which;
}; };
qemu = qemuFun { qemu = qemuFun null;
version = "0.9.0";
} null;
qemuImageFun = lib.sumArgs qemuImageFun = lib.sumArgs
(selectVersion ../applications/virtualization/qemu/linux-img ) { (selectVersion ../applications/virtualization/qemu/linux-img "0.2") {
inherit builderDefs fetchurl stdenv; inherit builderDefs fetchurl stdenv;
}; };
qemuImage = qemuImageFun { qemuImage = qemuImageFun null;
version = "0.2";
} null;
ratpoison = import ../applications/window-managers/ratpoison { ratpoison = import ../applications/window-managers/ratpoison {
inherit fetchurl stdenv fontconfig readline; inherit fetchurl stdenv fontconfig readline;
@ -4695,16 +4666,14 @@ rec {
flags = [ "X11" ]; # only flag "X11" by now flags = [ "X11" ]; # only flag "X11" by now
}; };
/*virtualboxFun = lib.sumArgs (selectVersion ../applications/virtualization/virtualbox) { /*virtualboxFun = lib.sumArgs (selectVersion ../applications/virtualization/virtualbox "1.5.2") {
inherit stdenv fetchurl builderDefs bridge_utils umlutilities kernelHeaders inherit stdenv fetchurl builderDefs bridge_utils umlutilities kernelHeaders
wine jre libxslt SDL qt3 openssl zlib; wine jre libxslt SDL qt3 openssl zlib;
inherit (xorg) libXcursor; inherit (xorg) libXcursor;
inherit (gnome) libIDL; inherit (gnome) libIDL;
}; };
virtualbox = virtualboxFun { virtualbox = virtualboxFun null;*/
version = "1.5.2";
} null;*/
vlc = import ../applications/video/vlc { vlc = import ../applications/video/vlc {
inherit fetchurl stdenv perl x11 wxGTK inherit fetchurl stdenv perl x11 wxGTK
@ -4794,13 +4763,12 @@ rec {
base14Fonts = "${ghostscript}/share/ghostscript/fonts"; base14Fonts = "${ghostscript}/share/ghostscript/fonts";
}; };
xscreensaverFun = lib.sumArgs (selectVersion ../applications/graphics/xscreensaver) { xscreensaverFun = lib.sumArgs (selectVersion ../applications/graphics/xscreensaver "5.04") {
inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool; inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool;
inherit (xlibs) libX11 libXmu; inherit (xlibs) libX11 libXmu;
}; };
xscreensaver = xscreensaverFun { xscreensaver = xscreensaverFun {
version = "5.04";
flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"]; flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"];
inherit mesa libxml2 libjpeg; inherit mesa libxml2 libjpeg;
inherit (gtkLibs) gtk; inherit (gtkLibs) gtk;
@ -4868,7 +4836,7 @@ rec {
### GAMES ### GAMES
construoFun = lib.sumArgs (selectVersion ../games/construo) { construoFun = lib.sumArgs (selectVersion ../games/construo "0.2.2") {
inherit stdenv fetchurl builderDefs inherit stdenv fetchurl builderDefs
zlib; zlib;
inherit (xlibs) libX11 xproto; inherit (xlibs) libX11 xproto;
@ -4876,7 +4844,6 @@ rec {
construo = construoFun { construo = construoFun {
inherit mesa freeglut; inherit mesa freeglut;
version = "0.2.2";
} null; } null;
exult = import ../games/exult { exult = import ../games/exult {
@ -4928,12 +4895,11 @@ rec {
}; };
# You still can override by passing more arguments. # You still can override by passing more arguments.
spaceOrbitFun = lib.sumArgs (selectVersion ../games/orbit ) { spaceOrbitFun = lib.sumArgs (selectVersion ../games/orbit "1.01") {
inherit fetchurl stdenv builderDefs inherit fetchurl stdenv builderDefs
mesa freeglut; mesa freeglut;
inherit (gnome) esound; inherit (gnome) esound;
inherit (xlibs) libXt libX11 libXmu libXi libXext; inherit (xlibs) libXt libX11 libXmu libXi libXext;
version = "1.01";
}; };
spaceOrbit = spaceOrbitFun null; spaceOrbit = spaceOrbitFun null;