* Add callPackage etc.
svn path=/nixpkgs/trunk/; revision=22876
This commit is contained in:
parent
9ef0f1b935
commit
fd268b4852
@ -61,6 +61,31 @@ rec {
|
|||||||
if x ? deepOverride then (x.deepOverride newArgs) else
|
if x ? deepOverride then (x.deepOverride newArgs) else
|
||||||
if x ? override then (x.override newArgs) else
|
if x ? override then (x.override newArgs) else
|
||||||
x) else x;
|
x) else x;
|
||||||
|
|
||||||
|
|
||||||
|
/* Call the package function in the file `fn' with the required
|
||||||
|
arguments automatically. The function is called with the
|
||||||
|
arguments `args', but any missing arguments are obtained from
|
||||||
|
`autoArgs'. This function is intended to be partially
|
||||||
|
parameterised, e.g.,
|
||||||
|
|
||||||
|
callPackage = callPackageWith pkgs;
|
||||||
|
pkgs = {
|
||||||
|
libfoo = callPackage ./foo.nix { };
|
||||||
|
libbar = callPackage ./bar.nix { };
|
||||||
|
};
|
||||||
|
|
||||||
|
If the `libbar' function expects an argument named `libfoo', it is
|
||||||
|
automatically passed as an argument. Overrides or missing
|
||||||
|
arguments can be supplied in `args', e.g.
|
||||||
|
|
||||||
|
libbar = callPackage ./bar.nix {
|
||||||
|
libfoo = null;
|
||||||
|
enableX11 = true;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
callPackageWith = autoArgs: fn: args:
|
||||||
|
let f = import fn; in
|
||||||
|
makeOverridable f ((builtins.intersectAttrs (builtins.functionArgs f) autoArgs) // args);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
args: with args;
|
{ stdenv, fetchurl, kernel, perl }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ndiswrapper-1.53-stable";
|
name = "ndiswrapper-1.53-stable";
|
||||||
|
|
||||||
@ -21,19 +22,19 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
# should we use unstable?
|
# should we use unstable?
|
||||||
src = args.fetchurl {
|
src = fetchurl {
|
||||||
url = http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.53.tar.gz;
|
url = http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.53.tar.gz;
|
||||||
sha256 = "00622nxa3q9n8v7qdz274d0nzz9r13lx77xi27s5bnk0mkila03q";
|
sha256 = "00622nxa3q9n8v7qdz274d0nzz9r13lx77xi27s5bnk0mkila03q";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =[kernel perl];
|
buildInputs = [ kernel perl ];
|
||||||
|
|
||||||
# this is a patch against svn head, not stable version
|
# this is a patch against svn head, not stable version
|
||||||
patches = [./prefix.patch];
|
patches = [./prefix.patch];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Ndis driver wrapper for the Linux kernel";
|
description = "Ndis driver wrapper for the Linux kernel";
|
||||||
homepage = http://sourceforge.net/projects/ndiswrapper;
|
homepage = http://sourceforge.net/projects/ndiswrapper;
|
||||||
license = "GPL";
|
license = "GPL";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -99,6 +99,17 @@ let
|
|||||||
pkgs = pkgsFun __overrides; # the overriden, final packages
|
pkgs = pkgsFun __overrides; # the overriden, final packages
|
||||||
|
|
||||||
|
|
||||||
|
# We use `callPackage' to be able to omit function arguments that
|
||||||
|
# can be obtained from `pkgs' or `pkgs.xorg' (i.e. `defaultScope').
|
||||||
|
# Use `newScope' for sets of packages in `pkgs' (see e.g. `gtkLibs'
|
||||||
|
# below).
|
||||||
|
callPackage = newScope {};
|
||||||
|
|
||||||
|
newScope = extra: lib.callPackageWith (defaultScope // extra);
|
||||||
|
|
||||||
|
defaultScope = pkgs // pkgs.xorg;
|
||||||
|
|
||||||
|
|
||||||
# The package compositions. Yes, this isn't properly indented.
|
# The package compositions. Yes, this isn't properly indented.
|
||||||
pkgsFun = __overrides: with helperFunctions; helperFunctions // rec {
|
pkgsFun = __overrides: with helperFunctions; helperFunctions // rec {
|
||||||
|
|
||||||
@ -1168,33 +1179,31 @@ let
|
|||||||
inherit stdenv fetchgit libuuid lzo zlib acl;
|
inherit stdenv fetchgit libuuid lzo zlib acl;
|
||||||
};
|
};
|
||||||
|
|
||||||
multitran = recurseIntoAttrs (let
|
multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in rec {
|
||||||
inherit fetchurl stdenv help2man;
|
multitrandata = import ../tools/text/multitran/data {
|
||||||
in rec {
|
inherit fetchurl stdenv;
|
||||||
multitrandata = import ../tools/text/multitran/data {
|
};
|
||||||
inherit fetchurl stdenv;
|
|
||||||
};
|
|
||||||
|
|
||||||
libbtree = import ../tools/text/multitran/libbtree {
|
libbtree = import ../tools/text/multitran/libbtree {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
libmtsupport = import ../tools/text/multitran/libmtsupport {
|
libmtsupport = import ../tools/text/multitran/libmtsupport {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
libfacet = import ../tools/text/multitran/libfacet {
|
libfacet = import ../tools/text/multitran/libfacet {
|
||||||
inherit fetchurl stdenv libmtsupport;
|
inherit fetchurl stdenv libmtsupport;
|
||||||
};
|
};
|
||||||
|
|
||||||
libmtquery = import ../tools/text/multitran/libmtquery {
|
libmtquery = import ../tools/text/multitran/libmtquery {
|
||||||
inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
|
inherit fetchurl stdenv libmtsupport libfacet libbtree multitrandata;
|
||||||
};
|
};
|
||||||
|
|
||||||
mtutils = import ../tools/text/multitran/mtutils {
|
mtutils = import ../tools/text/multitran/mtutils {
|
||||||
inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
|
inherit fetchurl stdenv libmtsupport libfacet libbtree libmtquery help2man;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
muscleframework = import ../tools/security/muscleframework {
|
muscleframework = import ../tools/security/muscleframework {
|
||||||
inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
|
inherit fetchurl stdenv libmusclecard pkgconfig pcsclite;
|
||||||
@ -4217,11 +4226,11 @@ let
|
|||||||
inherit (gnome) gtk;
|
inherit (gnome) gtk;
|
||||||
};
|
};
|
||||||
|
|
||||||
gtkLibs = recurseIntoAttrs gtkLibs220;
|
gtkLibs = gtkLibs220;
|
||||||
|
|
||||||
glib = gtkLibs.glib;
|
glib = gtkLibs.glib;
|
||||||
|
|
||||||
gtkLibs1x = rec {
|
gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in rec {
|
||||||
|
|
||||||
glib = import ../development/libraries/glib/1.2.x.nix {
|
glib = import ../development/libraries/glib/1.2.x.nix {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
@ -4231,9 +4240,9 @@ let
|
|||||||
inherit fetchurl stdenv x11 glib;
|
inherit fetchurl stdenv x11 glib;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
});
|
||||||
|
|
||||||
gtkLibs216 = rec {
|
gtkLibs216 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs216; in rec {
|
||||||
|
|
||||||
glib = import ../development/libraries/glib/2.20.x.nix {
|
glib = import ../development/libraries/glib/2.20.x.nix {
|
||||||
inherit fetchurl stdenv pkgconfig gettext perl;
|
inherit fetchurl stdenv pkgconfig gettext perl;
|
||||||
@ -4264,13 +4273,13 @@ let
|
|||||||
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
});
|
||||||
|
|
||||||
gtkLibs218 = rec {
|
gtkLibs218 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs218; in rec {
|
||||||
|
|
||||||
glib = import ../development/libraries/glib/2.22.x.nix {
|
glib = import ../development/libraries/glib/2.22.x.nix {
|
||||||
inherit fetchurl stdenv pkgconfig gettext perl;
|
inherit fetchurl stdenv pkgconfig gettext perl;
|
||||||
libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
|
libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
|
||||||
};
|
};
|
||||||
|
|
||||||
glibmm = import ../development/libraries/glibmm/2.22.x.nix {
|
glibmm = import ../development/libraries/glibmm/2.22.x.nix {
|
||||||
@ -4298,13 +4307,13 @@ let
|
|||||||
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
});
|
||||||
|
|
||||||
gtkLibs220 = rec {
|
gtkLibs220 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs220; in rec {
|
||||||
|
|
||||||
glib = makeOverridable (import ../development/libraries/glib/2.24.x.nix) {
|
glib = makeOverridable (import ../development/libraries/glib/2.24.x.nix) {
|
||||||
inherit fetchurl stdenv pkgconfig gettext perl zlib;
|
inherit fetchurl stdenv pkgconfig gettext perl zlib;
|
||||||
libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
|
libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
|
||||||
};
|
};
|
||||||
|
|
||||||
glibmm = import ../development/libraries/glibmm/2.22.x.nix {
|
glibmm = import ../development/libraries/glibmm/2.22.x.nix {
|
||||||
@ -4332,7 +4341,7 @@ let
|
|||||||
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
inherit fetchurl stdenv pkgconfig gtk atk glibmm cairomm pangomm;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
});
|
||||||
|
|
||||||
gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
|
gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp {
|
||||||
inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
|
inherit fetchurl stdenv mono pkgconfig monoDLLFixer;
|
||||||
@ -6603,7 +6612,7 @@ let
|
|||||||
for a specific kernel. This function can then be called for
|
for a specific kernel. This function can then be called for
|
||||||
whatever kernel you're using. */
|
whatever kernel you're using. */
|
||||||
|
|
||||||
linuxPackagesFor = kernel: rec {
|
linuxPackagesFor = kernel: self: let callPackage = newScope self; in rec {
|
||||||
|
|
||||||
inherit kernel;
|
inherit kernel;
|
||||||
|
|
||||||
@ -6617,6 +6626,14 @@ let
|
|||||||
inherit fetchurl stdenv kernel;
|
inherit fetchurl stdenv kernel;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
aufs2 = import ../os-specific/linux/aufs2 {
|
||||||
|
inherit fetchurl stdenv kernel perl;
|
||||||
|
};
|
||||||
|
|
||||||
|
aufs2_util = import ../os-specific/linux/aufs2-util {
|
||||||
|
inherit fetchurl stdenv kernel aufs2;
|
||||||
|
};
|
||||||
|
|
||||||
blcr = import ../os-specific/linux/blcr/0.8.2.nix {
|
blcr = import ../os-specific/linux/blcr/0.8.2.nix {
|
||||||
inherit fetchurl stdenv kernel perl makeWrapper autoconf automake;
|
inherit fetchurl stdenv kernel perl makeWrapper autoconf automake;
|
||||||
libtool = libtool_1_5; # libtool 2 causes a fork bomb
|
libtool = libtool_1_5; # libtool 2 causes a fork bomb
|
||||||
@ -6722,31 +6739,23 @@ let
|
|||||||
inherit stdenv fetchurl lib patchelf cdrkit kernel;
|
inherit stdenv fetchurl lib patchelf cdrkit kernel;
|
||||||
inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
|
inherit (xlibs) libX11 libXt libXext libXmu libXcomposite libXfixes;
|
||||||
};
|
};
|
||||||
} // (if kernel.features ? aufsBase then rec {
|
};
|
||||||
aufs2 = import ../os-specific/linux/aufs2 {
|
|
||||||
inherit fetchurl stdenv kernel perl;
|
|
||||||
};
|
|
||||||
|
|
||||||
aufs2_util = import ../os-specific/linux/aufs2-util {
|
|
||||||
inherit fetchurl stdenv kernel aufs2;
|
|
||||||
};
|
|
||||||
} else {});
|
|
||||||
|
|
||||||
# Build the kernel modules for the some of the kernels.
|
# Build the kernel modules for the some of the kernels.
|
||||||
linuxPackages_2_6_25 = recurseIntoAttrs (linuxPackagesFor linux_2_6_25);
|
linuxPackages_2_6_25 = recurseIntoAttrs (linuxPackagesFor linux_2_6_25 pkgs.linuxPackages_2_6_25);
|
||||||
linuxPackages_2_6_27 = recurseIntoAttrs (linuxPackagesFor linux_2_6_27);
|
linuxPackages_2_6_27 = recurseIntoAttrs (linuxPackagesFor linux_2_6_27 pkgs.linuxPackages_2_6_27);
|
||||||
linuxPackages_2_6_28 = recurseIntoAttrs (linuxPackagesFor linux_2_6_28);
|
linuxPackages_2_6_28 = recurseIntoAttrs (linuxPackagesFor linux_2_6_28 pkgs.linuxPackages_2_6_28);
|
||||||
linuxPackages_2_6_29 = recurseIntoAttrs (linuxPackagesFor linux_2_6_29);
|
linuxPackages_2_6_29 = recurseIntoAttrs (linuxPackagesFor linux_2_6_29 pkgs.linuxPackages_2_6_29);
|
||||||
linuxPackages_2_6_31 = recurseIntoAttrs (linuxPackagesFor linux_2_6_31);
|
linuxPackages_2_6_31 = recurseIntoAttrs (linuxPackagesFor linux_2_6_31 pkgs.linuxPackages_2_6_31);
|
||||||
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32);
|
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 pkgs.linuxPackages_2_6_32);
|
||||||
linuxPackages_2_6_32_systemtap =
|
linuxPackages_2_6_32_systemtap =
|
||||||
recurseIntoAttrs (linuxPackagesFor linux_2_6_32_systemtap);
|
recurseIntoAttrs (linuxPackagesFor linux_2_6_32_systemtap pkgs.linuxPackages_2_6_32_systemtap);
|
||||||
linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33);
|
linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33 pkgs.linuxPackages_2_6_33);
|
||||||
linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34);
|
linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34 pkgs.linuxPackages_2_6_34);
|
||||||
|
|
||||||
# The current default kernel / kernel modules.
|
# The current default kernel / kernel modules.
|
||||||
linux = linux_2_6_32;
|
linux = linux_2_6_32;
|
||||||
linuxPackages = linuxPackagesFor linux;
|
linuxPackages = linuxPackages_2_6_32;
|
||||||
|
|
||||||
keyutils = import ../os-specific/linux/keyutils {
|
keyutils = import ../os-specific/linux/keyutils {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user