git.iko.soy/typeable/nixpkgs
on master help sign in
* Merged the usability branch (from trunk@4749 to branches/usability@5087).

svn path=/nixpkgs/trunk/; revision=5088

commit09a9cae7153eb4212862c95d90a88994d3383a45 authorEelco Dolstra <eelco.dolstra@logicblox.com> dateFri 24 Mar 2006, 12:25 (21 years ago) parent0b81c9f211f29f
18 files changed+225−149
pkgs/applications/networking/browsers/firefox-wrapper/default.nix+4 pkgs/applications/networking/browsers/firefox/default.nix+3 pkgs/build-support/gcc-cross-wrapper/default.nix+3 pkgs/build-support/gcc-wrapper/default.nix+3 pkgs/development/compilers/blackdown/default.nix+1−1 pkgs/development/compilers/gcc-4.0-cross/default.nix+6 pkgs/development/compilers/gcc-4.0/default.nix+6 pkgs/development/libraries/aterm/aterm-2.4.nix+5 pkgs/stdenv/darwin/default.nix+5 pkgs/system/stdenvs.nix → pkgs/stdenv/default.nix+20−21 pkgs/stdenv/freebsd/default.nix+5 pkgs/stdenv/generic/default.nix+29−8 pkgs/stdenv/linux/default.nix+32−34 pkgs/system/all-packages.nix−18 pkgs/system/i686-linux.nix−1 pkgs/system/powerpc-darwin.nix−1 pkgs/system/all-packages-generic.nix → pkgs/top-level/all-packages.nix+103−62 pkgs/system/populate-cache.nix → pkgs/top-level/build-for-release.nix−3
pkgs/applications/networking/browsers/firefox-wrapper/default.nix+4
@@ -11,4 +11,8 @@ stdenv.mkDerivation {
1111 # Let each plugin tell us (through its `mozillaPlugin') attribute
1212 # where to find the plugin in its tree.
1313 plugins = map (x: x ~ x.mozillaPlugin) plugins;
14+
15+ meta = {
16+ description = firefox.meta.description + " (with various plugins)";
17+ };
1418}
pkgs/applications/networking/browsers/firefox/default.nix+3
@@ -41,4 +41,7 @@ stdenv.mkDerivation {
4141 ]
4242 ++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
4343
44+ meta = {
45+ description = "Mozilla Firefox - the browser, reloaded";
46+ };
4447}
pkgs/build-support/gcc-cross-wrapper/default.nix+3
@@ -27,4 +27,7 @@ stdenv.mkDerivation {
2727 langCC = if nativeTools then true else gcc.langCC;
2828 langF77 = if nativeTools then false else gcc.langF77;
2929 shell = if shell == "" then stdenv.shell else shell;
30+ meta = if gcc != null then gcc.meta else
31+ { description = "System C compiler wrapper";
32+ };
3033}
pkgs/build-support/gcc-wrapper/default.nix+3
@@ -27,4 +27,7 @@ stdenv.mkDerivation {
2727 langCC = if nativeTools then true else gcc.langCC;
2828 langF77 = if nativeTools then false else gcc.langF77;
2929 shell = if shell == "" then stdenv.shell else shell;
30+ meta = if gcc != null then gcc.meta else
31+ { description = "System C compiler wrapper";
32+ };
3033}
pkgs/development/compilers/blackdown/default.nix+1−1
@@ -6,4 +6,4 @@ if stdenv.system == "i686-linux"
66 inherit stdenv fetchurl;
77 }
88 else
9− false
9+ null
pkgs/development/compilers/gcc-4.0-cross/default.nix+6
@@ -26,4 +26,10 @@ stdenv.mkDerivation {
2626 buildInputs = [binutilsCross];
2727 inherit kernelHeadersCross binutilsCross;
2828 platform = cross;
29+
30+ meta = {
31+ homepage = "http://gcc.gnu.org/";
32+ license = "GPL/LGPL";
33+ description = "GNU Compiler Collection, 4.0.x (cross-compiler for " + cross + ")";
34+ };
2935}
pkgs/development/compilers/gcc-4.0/default.nix+6
@@ -15,4 +15,10 @@ stdenv.mkDerivation {
1515 # !!! apply only if noSysDirs is set
1616 patches = [./no-sys-dirs.patch];
1717 inherit noSysDirs langC langCC langF77 profiledCompiler;
18+
19+ meta = {
20+ homepage = "http://gcc.gnu.org/";
21+ license = "GPL/LGPL";
22+ description = "GNU Compiler Collection, 4.0.x";
23+ };
1824}
pkgs/development/libraries/aterm/aterm-2.4.nix+5
@@ -6,4 +6,9 @@ stdenv.mkDerivation {
66 url = http://nix.cs.uu.nl/dist/tarballs/aterm-2.4.2.tar.gz;
77 md5 = "18617081dd112d85e6c4b1b552628114";
88 };
9+ meta = {
10+ homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
11+ license = "LGPL";
12+ description = "Library for manipulation of term data structures in C";
13+ };
914}
pkgs/stdenv/darwin/default.nix+5
@@ -16,4 +16,9 @@ genericStdenv {
1616 };
1717
1818 shell = "/bin/sh";
19+
20+ extraAttrs = {
21+ # Curl should be in /usr/bin or so.
22+ curl = null;
23+ };
1924}
pkgs/system/stdenvs.nix → pkgs/stdenv/default.nixrenamed+20−21
@@ -5,14 +5,16 @@
55# Posix utilities, the GNU C compiler, and so on. On other systems,
66# we use the native C library.
77
8−{system, allPackages}: rec {
8+{system, allPackages}:
9+
10+rec {
911
1012 gccWrapper = import ../build-support/gcc-wrapper;
11− genericStdenv = import ../stdenv/generic;
13+ genericStdenv = import ./generic;
1214
1315
1416 # Trivial environment used for building other environments.
15− stdenvInitial = (import ../stdenv/initial) {
17+ stdenvInitial = (import ./initial) {
1618 name = "stdenv-initial";
1719 inherit system;
1820 };
@@ -23,47 +25,44 @@
2325 # i.e., the stuff in /bin, /usr/bin, etc. This environment should
2426 # be used with care, since many Nix packages will not build properly
2527 # with it (e.g., because they require GNU Make).
26− stdenvNative = (import ../stdenv/native) {
28+ stdenvNative = (import ./native) {
2729 stdenv = stdenvInitial;
2830 inherit genericStdenv gccWrapper;
2931 };
3032
3133 stdenvNativePkgs = allPackages {
32− stdenv = stdenvNative;
33− bootCurl = null;
34+ bootStdenv = stdenvNative;
3435 noSysDirs = false;
3536 };
3637
3738
3839 # The Nix build environment.
39− stdenvNix = (import ../stdenv/nix) {
40+ stdenvNix = (import ./nix) {
4041 stdenv = stdenvNative;
4142 pkgs = stdenvNativePkgs;
4243 inherit genericStdenv gccWrapper;
4344 };
4445
4546 stdenvNixPkgs = allPackages {
46− stdenv = stdenvNix;
47− bootCurl = stdenvNativePkgs.curl;
47+ bootStdenv = stdenvNix;
4848 noSysDirs = false;
4949 };
5050
5151
5252 # Linux standard environment.
53− inherit (import ../stdenv/linux {inherit allPackages;})
53+ inherit (import ./linux {inherit allPackages;})
5454 stdenvLinux stdenvLinuxPkgs;
5555
5656
5757 # Darwin (Mac OS X) standard environment. Very simple for now
5858 # (essentially it's just the native environment).
59− stdenvDarwin = (import ../stdenv/darwin) {
59+ stdenvDarwin = (import ./darwin) {
6060 stdenv = stdenvInitial;
6161 inherit genericStdenv gccWrapper;
6262 };
6363
6464 stdenvDarwinPkgs = allPackages {
65− stdenv = stdenvDarwin;
66− bootCurl = null;
65+ bootStdenv = stdenvDarwin;
6766 noSysDirs = false;
6867 };
6968
@@ -71,21 +70,21 @@
7170 # FreeBSD standard environment. Right now this is more or less the
7271 # same as the native environemnt. Eventually we'll want a pure
7372 # environment similar to stdenvLinux.
74− stdenvFreeBSD = (import ../stdenv/freebsd) {
73+ stdenvFreeBSD = (import ./freebsd) {
7574 stdenv = stdenvInitial;
7675 inherit genericStdenv gccWrapper;
7776 };
7877
7978 stdenvFreeBSDPkgs = allPackages {
80− stdenv = stdenvFreeBSD;
81− bootCurl = null;
79+ bootStdenv = stdenvFreeBSD;
8280 noSysDirs = false;
8381 };
8482
8583
86− stdenvTestPkgs = allPackages {
87− stdenv = (import ../stdenv/nix-linux-static).stdenvInitial;
88− bootCurl = (import ../stdenv/nix-linux-static).curl;
89− noSysDirs = true;
90− };
84+ # Select the appropriate stdenv for the platform `system'.
85+ stdenv =
86+ if system == "i686-linux" then stdenvLinux
87+ else if system == "i686-freebsd" then stdenvFreeBSD
88+ else if system == "powerpc-darwin" then stdenvDarwin
89+ else stdenvNative;
9190}
pkgs/stdenv/freebsd/default.nix+5
@@ -16,4 +16,9 @@ genericStdenv {
1616 };
1717
1818 shell = "/bin/bash";
19+
20+ extraAttrs = {
21+ # Curl should be in /usr/bin or so.
22+ curl = null;
23+ };
1924}
pkgs/stdenv/generic/default.nix+29−8
@@ -1,5 +1,6 @@
11{ stdenv, name, preHook ? null, postHook ? null, initialPath, gcc, shell
22, param1 ? "", param2 ? "", param3 ? "", param4 ? "", param5 ? ""
3+, extraAttrs ? {}
34}:
45
56let {
@@ -24,13 +25,33 @@ let {
2425 # Add a utility function to produce derivations that use this
2526 # stdenv and its shell.
2627 // {
27− mkDerivation = attrs: derivation (attrs // {
28− builder = if attrs ? realBuilder then attrs.realBuilder else shell;
29− args = if attrs ? args then attrs.args else
30− ["-e" (if attrs ? builder then attrs.builder else ./default-builder.sh)];
31− stdenv = body;
32− system = body.system;
33− });
34− };
28+
29+ mkDerivation = attrs:
30+ (derivation (
31+ (removeAttrs attrs ["meta"])
32+ //
33+ {
34+ builder = if attrs ? realBuilder then attrs.realBuilder else shell;
35+ args = if attrs ? args then attrs.args else
36+ ["-e" (if attrs ? builder then attrs.builder else ./default-builder.sh)];
37+ stdenv = body;
38+ system = body.system;
39+ })
40+ )
41+ //
42+ # The meta attribute is passed in the resulting attribute set,
43+ # but it's not part of the actual derivation, i.e., it's not
44+ # passed to the builder and is not a dependency. But since we
45+ # include it in the result, it *is* available to nix-env for
46+ # queries.
47+ { meta = if attrs ? meta then attrs.meta else {}; };
48+
49+ }
50+
51+ # Propagate any extra attributes. For instance, we use this to
52+ # "lift" packages like curl from the final stdenv for Linux to
53+ # all-packages.nix for that platform (meaning that it has a line
54+ # like curl = if stdenv ? curl then stdenv.curl else ...).
55+ // extraAttrs;
3556
3657}
pkgs/stdenv/linux/default.nix+32−34
@@ -114,22 +114,26 @@ rec {
114114
115115 # This function builds the various standard environments used during
116116 # the bootstrap.
117− stdenvBootFun = {glibc, gcc, binutils, staticGlibc}: (import ../generic) {
118− name = "stdenv-linux-boot";
119− param1 = if staticGlibc then "static" else "dynamic";
120− preHook = ./prehook.sh;
121− stdenv = stdenvInitial;
122− shell = ./tools/bash;
123− gcc = (import ../../build-support/gcc-wrapper) {
117+ stdenvBootFun =
118+ {glibc, gcc, binutils, staticGlibc, extraAttrs ? {}}:
119+
120+ import ../generic {
121+ name = "stdenv-linux-boot";
122+ param1 = if staticGlibc then "static" else "dynamic";
123+ preHook = ./prehook.sh;
124124 stdenv = stdenvInitial;
125− nativeTools = false;
126− nativeGlibc = false;
127− inherit gcc glibc binutils;
125+ shell = ./tools/bash;
126+ gcc = (import ../../build-support/gcc-wrapper) {
127+ stdenv = stdenvInitial;
128+ nativeTools = false;
129+ nativeGlibc = false;
130+ inherit gcc glibc binutils;
131+ };
132+ initialPath = [
133+ staticTools
134+ ];
135+ inherit extraAttrs;
128136 };
129− initialPath = [
130− staticTools
131− ];
132− };
133137
134138
135139 # Create the first "real" standard environment. This one consists
@@ -139,13 +143,13 @@ rec {
139143 # Use the statically linked, downloaded glibc/gcc/binutils.
140144 inherit glibc gcc binutils;
141145 staticGlibc = true;
146+ extraAttrs = {inherit curl;};
142147 };
143148
144149 # 2) These are the packages that we can build with the first
145150 # stdenv. We only need Glibc (in step 3).
146151 stdenvLinuxBoot1Pkgs = allPackages {
147− stdenv = stdenvLinuxBoot1;
148− bootCurl = curl;
152+ bootStdenv = stdenvLinuxBoot1;
149153 };
150154
151155 # 3) Build Glibc with the statically linked tools. The result is the
@@ -159,12 +163,12 @@ rec {
159163 glibc = stdenvLinuxGlibc;
160164 staticGlibc = false;
161165 inherit gcc binutils;
166+ extraAttrs = {inherit curl;};
162167 };
163168
164169 # 5) The packages that can be built using the second stdenv.
165170 stdenvLinuxBoot2Pkgs = allPackages {
166− stdenv = stdenvLinuxBoot2;
167− bootCurl = curl;
171+ bootStdenv = stdenvLinuxBoot2;
168172 };
169173
170174 # 6) Construct a third stdenv identical to the second, except that
@@ -174,12 +178,12 @@ rec {
174178 glibc = stdenvLinuxGlibc;
175179 staticGlibc = false;
176180 inherit (stdenvLinuxBoot2Pkgs) gcc binutils;
181+ extraAttrs = {inherit curl;};
177182 };
178183
179184 # 7) The packages that can be built using the third stdenv.
180185 stdenvLinuxBoot3Pkgs = allPackages {
181− stdenv = stdenvLinuxBoot3;
182− bootCurl = curl;
186+ bootStdenv = stdenvLinuxBoot3;
183187 };
184188
185189 # 8) Construct the final stdenv. It uses the Glibc, GCC and
@@ -205,20 +209,14 @@ rec {
205209 };
206210
207211 shell = stdenvLinuxBoot3Pkgs.bash ~ /bin/sh;
212+
213+ extraAttrs = {
214+ curl = stdenvLinuxBoot3Pkgs.realCurl;
215+ inherit (stdenvLinuxBoot2Pkgs) binutils /* gcc */;
216+ inherit (stdenvLinuxBoot3Pkgs)
217+ gzip bzip2 bash coreutils diffutils findutils gawk
218+ gnumake gnused gnutar gnugrep patch patchelf;
219+ };
208220 };
209221
210− # 8) Finally, the set of components built using the Linux stdenv.
211− # Reuse the tools built in the previous steps.
212− stdenvLinuxPkgs =
213− allPackages {
214− stdenv = stdenvLinux;
215− bootCurl = stdenvLinuxBoot3Pkgs.curl;
216− } //
217− {inherit (stdenvLinuxBoot2Pkgs) binutils gcc;} //
218− {inherit (stdenvLinuxBoot3Pkgs)
219− gzip bzip2 bash coreutils diffutils findutils gawk
220− gnumake gnused gnutar gnugrep curl patch patchelf;
221− } //
222− {glibc = stdenvLinuxGlibc;};
223−
224222}
pkgs/system/all-packages.nixdeleted−18
@@ -1,18 +0,0 @@
1−# This file evaluates to a function that, when supplied with a system
2−# identifier, returns the set of all packages provided by the Nix
3−# Package Collection. It does this by supplying
4−# `all-packages-generic.nix' with one of the standard build
5−# environments defined in `stdenvs.nix'.
6−
7−{system ? __currentSystem}: let {
8− allPackages = import ./all-packages-generic.nix;
9−
10− stdenvs = import ./stdenvs.nix {inherit system allPackages;};
11−
12− # Select the right instantiation.
13− body =
14− if system == "i686-linux" then stdenvs.stdenvLinuxPkgs
15− else if system == "i686-freebsd" then stdenvs.stdenvFreeBSDPkgs
16− else if system == "powerpc-darwin" then stdenvs.stdenvDarwinPkgs
17− else stdenvs.stdenvNativePkgs;
18−}
pkgs/system/i686-linux.nixdeleted−1
@@ -1 +0,0 @@
1−(import ./all-packages.nix) {system = "i686-linux";}
pkgs/system/powerpc-darwin.nixdeleted−1
@@ -1 +0,0 @@
1−(import ./all-packages.nix) {system = "powerpc-darwin";}
pkgs/system/all-packages-generic.nix → pkgs/top-level/all-packages.nixrenamed+103−62
@@ -1,16 +1,26 @@
1−# This file evaluates to a function that, when supplied with a system
2−# identifier and a standard build environment, returns the set of all
3−# packages provided by the Nix Package Collection.
1+/* This file composes the Nix Packages collection. That is, it
2+ imports the functions that build the various packages, and calls
3+ them with appropriate arguments. The result is a set of all the
4+ packages in the Nix Packages collection for some particular
5+ platform. */
6+
7+
8+{ # The system for which to build the packages.
9+ system ? __currentSystem
410
5−{ stdenv, bootCurl, noSysDirs ? true
11+, # The standard environment to use. Only used for bootstrapping. If
12+ # null, the default standard environment is used.
13+ bootStdenv ? null
14+
15+ # More flags for the bootstrapping of stdenv.
16+, noSysDirs ? true
617, gccWithCC ? true
718, gccWithProfiling ? true
8−}:
919
10−rec {
20+}:
1121
12− inherit stdenv;
1322
23+rec {
1424
1525 ### Symbolic names.
1626
@@ -25,13 +35,31 @@ rec {
2535 # `xlibs.xlibs' is a wrapper packages that combines libX11 and a bunch
2636 # of other basic X client libraries.
2737 x11 = if useOldXLibs then xlibsOld.xlibs else xlibsWrapper;
28−
38+
39+
40+ ### Helper functions.
41+ useFromStdenv = hasIt: it: alternative: if hasIt then it else alternative;
42+
43+ # Applying this to an attribute set will cause nix-env to look
44+ # inside the set for derivations.
45+ recurseIntoAttrs = attrs: attrs // {recurseForDerivations = true;};
46+
47+
48+ ### STANDARD ENVIRONMENT
49+
50+ stdenv = if bootStdenv == null then defaultStdenv else bootStdenv;
51+
52+ defaultStdenv =
53+ (import ../stdenv {
54+ inherit system;
55+ allPackages = import ./all-packages.nix;
56+ }).stdenv;
57+
2958
3059 ### BUILD SUPPORT
3160
3261 fetchurl = (import ../build-support/fetchurl) {
33− inherit stdenv;
34− curl = bootCurl;
62+ inherit stdenv curl;
3563 };
3664
3765 fetchsvn = (import ../build-support/fetchsvn) {
@@ -53,17 +81,19 @@ rec {
5381 inherit fetchurl stdenv flex;
5482 };
5583
56− coreutils = (import ../tools/misc/coreutils) {
57− inherit fetchurl stdenv;
58− };
84+ coreutils = useFromStdenv (stdenv ? coreutils) stdenv.coreutils
85+ (import ../tools/misc/coreutils {
86+ inherit fetchurl stdenv;
87+ });
5988
6089 coreutilsDiet = (import ../tools/misc/coreutils-diet) {
6190 inherit fetchurl stdenv dietgcc perl;
6291 };
6392
64− findutils = (import ../tools/misc/findutils) {
65− inherit fetchurl stdenv coreutils;
66− };
93+ findutils = useFromStdenv (stdenv ? findutils) stdenv.findutils
94+ (import ../tools/misc/findutils {
95+ inherit fetchurl stdenv coreutils;
96+ });
6797
6898 findutilsWrapper = (import ../tools/misc/findutils-wrapper) {
6999 inherit stdenv findutils;
@@ -98,27 +128,32 @@ rec {
98128 inherit fetchurl stdenv unzip jdk;
99129 };
100130
101− diffutils = (import ../tools/text/diffutils) {
102− inherit fetchurl stdenv coreutils;
103− };
131+ diffutils = useFromStdenv (stdenv ? diffutils) stdenv.diffutils
132+ (import ../tools/text/diffutils {
133+ inherit fetchurl stdenv coreutils;
134+ });
104135
105136 gnupatch = (import ../tools/text/gnupatch) {
106137 inherit fetchurl stdenv;
107138 };
108139
109− patch = if stdenv.system == "powerpc-darwin" then null else gnupatch;
140+ patch = useFromStdenv (stdenv ? patch) stdenv.patch
141+ (if stdenv.system == "powerpc-darwin" then null else gnupatch);
110142
111− gnused = (import ../tools/text/gnused) {
112− inherit fetchurl stdenv;
113− };
143+ gnused = useFromStdenv (stdenv ? gnused) stdenv.gnused
144+ (import ../tools/text/gnused {
145+ inherit fetchurl stdenv;
146+ });
114147
115− gnugrep = (import ../tools/text/gnugrep) {
116− inherit fetchurl stdenv pcre;
117− };
148+ gnugrep = useFromStdenv (stdenv ? gnugrep) stdenv.gnugrep
149+ (import ../tools/text/gnugrep {
150+ inherit fetchurl stdenv pcre;
151+ });
118152
119− gawk = (import ../tools/text/gawk) {
120− inherit fetchurl stdenv;
121− };
153+ gawk = useFromStdenv (stdenv ? gawk) stdenv.gawk
154+ (import ../tools/text/gawk {
155+ inherit fetchurl stdenv;
156+ });
122157
123158 groff = (import ../tools/text/groff) {
124159 inherit fetchurl stdenv;
@@ -158,9 +193,10 @@ rec {
158193 inherit fetchurl stdenv;
159194 };
160195
161− gnutar = (import ../tools/archivers/gnutar) {
162− inherit fetchurl stdenv;
163− };
196+ gnutar = useFromStdenv (stdenv ? gnutar) stdenv.gnutar
197+ (import ../tools/archivers/gnutar {
198+ inherit fetchurl stdenv;
199+ });
164200
165201 gnutarDiet = (import ../tools/archivers/gnutar-diet) {
166202 inherit fetchurl stdenv dietgcc;
@@ -174,13 +210,15 @@ rec {
174210 inherit fetchurl stdenv;
175211 };
176212
177− gzip = (import ../tools/compression/gzip) {
178− inherit fetchurl stdenv;
179− };
213+ gzip = useFromStdenv (stdenv ? gzip) stdenv.gzip
214+ (import ../tools/compression/gzip {
215+ inherit fetchurl stdenv;
216+ });
180217
181− bzip2 = (import ../tools/compression/bzip2) {
182− inherit fetchurl stdenv;
183− };
218+ bzip2 = useFromStdenv (stdenv ? bzip2) stdenv.bzip2
219+ (import ../tools/compression/bzip2 {
220+ inherit fetchurl stdenv;
221+ });
184222
185223 zdelta = (import ../tools/compression/zdelta) {
186224 inherit fetchurl stdenv;
@@ -198,7 +236,9 @@ rec {
198236 inherit fetchurl stdenv;
199237 };
200238
201− curl = (import ../tools/networking/curl) {
239+ curl = if stdenv ? curl then stdenv.curl else (assert false; null);
240+
241+ realCurl = (import ../tools/networking/curl) {
202242 inherit fetchurl stdenv zlib;
203243 };
204244
@@ -308,9 +348,10 @@ rec {
308348
309349 ### SHELLS
310350
311− bash = (import ../shells/bash) {
312− inherit fetchurl stdenv;
313− };
351+ bash = useFromStdenv (stdenv ? bash) stdenv.bash
352+ (import ../shells/bash {
353+ inherit fetchurl stdenv;
354+ });
314355
315356 tcsh = (import ../shells/tcsh) {
316357 inherit fetchurl stdenv ncurses;
@@ -323,9 +364,10 @@ rec {
323364
324365 ### DEVELOPMENT
325366
326− binutils = (import ../development/tools/misc/binutils) {
327− inherit fetchurl stdenv noSysDirs;
328− };
367+ binutils = useFromStdenv (stdenv ? binutils) stdenv.binutils
368+ (import ../development/tools/misc/binutils {
369+ inherit fetchurl stdenv noSysDirs;
370+ });
329371
330372 binutilsMips = (import ../development/tools/misc/binutils-cross) {
331373 inherit fetchurl stdenv noSysDirs;
@@ -342,9 +384,10 @@ rec {
342384 cross = "sparc-linux";
343385 };
344386
345− patchelf = (import ../development/tools/misc/patchelf) {
346− inherit fetchurl stdenv;
347− };
387+ patchelf = useFromStdenv (stdenv ? patchelf) stdenv.patchelf
388+ (import ../development/tools/misc/patchelf {
389+ inherit fetchurl stdenv;
390+ });
348391
349392 patchelfNew = (import ../development/tools/misc/patchelf/new.nix) {
350393 inherit fetchurl stdenv;
@@ -439,9 +482,10 @@ rec {
439482 inherit fetchurl stdenv readline ncurses g77 perl flex;
440483 };
441484
442− gnumake = (import ../development/tools/build-managers/gnumake) {
443− inherit fetchurl stdenv;
444− };
485+ gnumake = useFromStdenv (stdenv ? gnumake) stdenv.gnumake
486+ (import ../development/tools/build-managers/gnumake {
487+ inherit fetchurl stdenv;
488+ });
445489
446490 mk = (import ../development/tools/build-managers/mk) {
447491 inherit fetchurl stdenv;
@@ -1023,7 +1067,7 @@ rec {
10231067 inherit fetchurl stdenv pkgconfig x11 fontconfig freetype zlib libpng;
10241068 };
10251069
1026− gtkLibs = gtkLibs28;
1070+ gtkLibs = recurseIntoAttrs gtkLibs28;
10271071
10281072 gtkLibs28 = import ../development/libraries/gtk-libs-2.8 {
10291073 inherit fetchurl stdenv pkgconfig gettext perl x11
@@ -1114,13 +1158,13 @@ rec {
11141158 inherit fetchurl stdenv;
11151159 };
11161160
1117− gnome = import ../development/libraries/gnome {
1161+ gnome = recurseIntoAttrs (import ../development/libraries/gnome {
11181162 inherit fetchurl stdenv pkgconfig audiofile
11191163 flex bison popt zlib libxml2 libxslt
11201164 perl perlXMLParser docbook_xml_dtd_42 gettext x11
11211165 libtiff libjpeg libpng gtkLibs;
11221166 inherit (xlibs) libXmu;
1123− };
1167+ });
11241168
11251169 wxGTK = wxGTK26;
11261170
@@ -1570,10 +1614,10 @@ rec {
15701614 inherit fetchurl stdenv apacheHttpd python;
15711615 };
15721616
1573− xorg = import ../servers/x11/xorg {
1617+ xorg = recurseIntoAttrs (import ../servers/x11/xorg {
15741618 inherit fetchurl stdenv pkgconfig freetype fontconfig
15751619 expat libdrm libpng zlib perl mesa;
1576− };
1620+ });
15771621
15781622 postgresql = (import ../servers/sql/postgresql) {
15791623 inherit fetchurl stdenv readline ncurses zlib;
@@ -1911,9 +1955,8 @@ rec {
19111955 plugins = [
19121956 MPlayerPlugin
19131957 flashplayer
1914− blackdown
19151958# RealPlayer # disabled by default for legal reasons
1916− ];
1959+ ] ++ (if blackdown != null then [blackdown] else []);
19171960 };
19181961
19191962 firefoxWrapper = wrapFirefox firefox;
@@ -2289,14 +2332,12 @@ rec {
22892332 };
22902333
22912334 #nixStatic = (import ../misc/nix-static) {
2292− # inherit fetchurl stdenv aterm perl;
2293− # curl = bootCurl; /* !!! ugly */
2335+ # inherit fetchurl stdenv aterm perl curl;
22942336 # bdb = db4;
22952337 #};
22962338
22972339 nix = (import ../misc/nix) {
2298− inherit fetchurl stdenv aterm perl;
2299− curl = bootCurl; /* !!! ugly */
2340+ inherit fetchurl stdenv aterm perl curl;
23002341 bdb = db4;
23012342 };
23022343
pkgs/system/populate-cache.nix → pkgs/top-level/build-for-release.nixrenamed−3
@@ -21,7 +21,6 @@ let {
2121 bsdiff
2222 bzip2
2323 callgrind
24− chatzilla
2524 cksfv
2625 coreutils
2726 darcs
@@ -115,7 +114,6 @@ let {
115114 xmms
116115 xorg_sys_opengl
117116 xsel
118− xulrunner
119117 zapping
120118 zdelta
121119 zip
@@ -160,7 +158,6 @@ let {
160158 libxml2
161159 libxslt
162160 nxml
163− pkgconfig
164161 subversion
165162 tetex
166163 unzip