···7 freebsd = ["i686-freebsd" "x86_64-freebsd"];
8 openbsd = ["i686-openbsd" "x86_64-openbsd"];
9 netbsd = ["i686-netbsd" "x86_64-netbsd"];
10- cygwin = ["i686-cygwin"];
11 unix = linux ++ darwin ++ freebsd ++ openbsd;
12 all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd;
13 none = [];
···7 freebsd = ["i686-freebsd" "x86_64-freebsd"];
8 openbsd = ["i686-openbsd" "x86_64-openbsd"];
9 netbsd = ["i686-netbsd" "x86_64-netbsd"];
10+ cygwin = ["i686-cygwin" "x86_64-cygwin"];
11 unix = linux ++ darwin ++ freebsd ++ openbsd;
12 all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd;
13 none = [];
+1-7
nixos/doc/manual/configuration/user-mgmt.xml
···1314<programlisting>
15users.extraUsers.alice =
16- { createHome = true;
17 home = "/home/alice";
18 description = "Alice Foobar";
19 extraGroups = [ "wheel" "networkmanager" ];
20- useDefaultShell = true;
21 openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
22 };
23</programlisting>
···5758As with users, the group ID (gid) is optional and will be assigned
59automatically if it’s missing.</para>
60-61-<warning><para>Currently declarative user management is not perfect:
62-<command>nixos-rebuild</command> does not know how to realise certain
63-configuration changes. This includes removing a user or group, and
64-removing group membership from a user.</para></warning>
6566<para>In the imperative style, users and groups are managed by
67commands such as <command>useradd</command>,
···1314<programlisting>
15users.extraUsers.alice =
16+ { isNormalUser = true;
17 home = "/home/alice";
18 description = "Alice Foobar";
19 extraGroups = [ "wheel" "networkmanager" ];
020 openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
21 };
22</programlisting>
···5657As with users, the group ID (gid) is optional and will be assigned
58automatically if it’s missing.</para>
000005960<para>In the imperative style, users and groups are managed by
61commands such as <command>useradd</command>,
···177 if [ "$PRIVATE_NETWORK" = 1 ]; then
178 ip link del dev "ve-$INSTANCE" 2> /dev/null || true
179 fi
00000180 '';
181182 script =
···240 ip route add $LOCAL_ADDRESS dev $ifaceHost
241 fi
242 fi
000000243 '';
244245 preStop =
···177 if [ "$PRIVATE_NETWORK" = 1 ]; then
178 ip link del dev "ve-$INSTANCE" 2> /dev/null || true
179 fi
180+181+182+ if [ "$PRIVATE_NETWORK" = 1 ]; then
183+ ip link del dev "ve-$INSTANCE" 2> /dev/null || true
184+ fi
185 '';
186187 script =
···245 ip route add $LOCAL_ADDRESS dev $ifaceHost
246 fi
247 fi
248+249+ # This blocks until the container-startup-done service
250+ # writes something to this pipe. FIXME: it also hangs
251+ # until the start timeout expires if systemd-nspawn exits.
252+ read x < $root/var/lib/startup-done
253+ rm -f $root/var/lib/startup-done
254 '';
255256 preStop =
···1+--- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200
2++++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200
3+@@ -110,17 +110,11 @@
4+ if dlname is None:
5+ return None
6+7+- # Darwin uses absolute paths where possible; since the libtool files never
8+- # contain absolute paths, use the libdir field
9+- if platform.system() == 'Darwin':
10+- dlbasename = os.path.basename(dlname)
11+- libdir = _extract_libdir_field(la_file)
12+- if libdir is None:
13+- return dlbasename
14+- return libdir + '/' + dlbasename
15+- # From the comments in extract_libtool(), older libtools had
16+- # a path rather than the raw dlname
17+- return os.path.basename(dlname)
18++ dlbasename = os.path.basename(dlname)
19++ libdir = _extract_libdir_field(la_file)
20++ if libdir is None:
21++ return dlbasename
22++ return libdir + '/' + dlbasename
23+24+25+ def extract_libtool(la_file):
···2930 setupHook = ./setup-hook.sh;
310032 meta = with stdenv.lib; {
33 description = "A middleware layer between C libraries and language bindings";
34 homepage = http://live.gnome.org/GObjectIntrospection;
···2930 setupHook = ./setup-hook.sh;
3132+ patches = [ ./absolute_shlib_path.patch ];
33+34 meta = with stdenv.lib; {
35 description = "A middleware layer between C libraries and language bindings";
36 homepage = http://live.gnome.org/GObjectIntrospection;
···8# (icu is a ~30 MB dependency, the rest is very small in comparison)
910stdenv.mkDerivation rec {
11- name = "harfbuzz-0.9.33";
1213 src = fetchurl {
14 url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
15- sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk";
16 };
1718 configureFlags = [
···8# (icu is a ~30 MB dependency, the rest is very small in comparison)
910stdenv.mkDerivation rec {
11+ name = "harfbuzz-0.9.35";
1213 src = fetchurl {
14 url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
15+ sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a";
16 };
1718 configureFlags = [
···5with stdenv.lib;
67stdenv.mkDerivation rec {
8- name = "pcre-8.34";
910 src = fetchurl {
11 url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
12- sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
13 };
1415 # The compiler on Darwin crashes with an internal error while building the
···5with stdenv.lib;
67stdenv.mkDerivation rec {
8+ name = "pcre-8.35";
910 src = fetchurl {
11 url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
12+ sha256 = "0nw66r92dr24vy9k4lw17bkv8x5nlzn6wx9hq4y2dvzgig3w2qd9";
13 };
1415 # The compiler on Darwin crashes with an internal error while building the
···154 || system == "x86_64-kfreebsd-gnu";
155 isSunOS = system == "i686-solaris"
156 || system == "x86_64-solaris";
157- isCygwin = system == "i686-cygwin";
0158 isFreeBSD = system == "i686-freebsd"
159 || system == "x86_64-freebsd";
160 isOpenBSD = system == "i686-openbsd"
···154 || system == "x86_64-kfreebsd-gnu";
155 isSunOS = system == "i686-solaris"
156 || system == "x86_64-solaris";
157+ isCygwin = system == "i686-cygwin"
158+ || system == "x86_64-cygwin";
159 isFreeBSD = system == "i686-freebsd"
160 || system == "x86_64-freebsd";
161 isOpenBSD = system == "i686-openbsd"
+135-153
pkgs/stdenv/linux/default.nix
···35 # The bootstrap process proceeds in several steps.
363738- # 1) Create a standard environment by downloading pre-built binaries
39- # of coreutils, GCC, etc.
404142 # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
···46 builder = bootstrapFiles.sh;
4748 args =
49- if system == "armv5tel-linux" || system == "armv6l-linux"
50 || system == "armv7l-linux"
51 then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
52 else [ ./scripts/unpack-bootstrap-tools.sh ];
···66 };
676869- # This function builds the various standard environments used during
70- # the bootstrap.
71- stdenvBootFun =
72- {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}:
7374- import ../generic {
75- inherit system config;
76- name = "stdenv-linux-boot";
77- preHook =
78- ''
79- # Don't patch #!/interpreter because it leads to retained
80- # dependencies on the bootstrapTools in the final stdenv.
81- dontPatchShebangs=1
82- ${commonPreHook}
83- '';
84- shell = "${bootstrapTools}/bin/sh";
85- initialPath = [bootstrapTools] ++ extraPath;
86- fetchurlBoot = fetchurl;
87- inherit gcc;
88- # Having the proper 'platform' in all the stdenvs allows getting proper
89- # linuxHeaders for example.
90- extraAttrs = extraAttrs // { inherit platform; };
91- overrides = pkgs: (overrides pkgs) // {
92- inherit fetchurl;
93- };
94 };
9596- # Build a dummy stdenv with no GCC or working fetchurl. This is
97- # because we need a stdenv to build the GCC wrapper and fetchurl.
98- stdenvLinuxBoot0 = stdenvBootFun {
99- gcc = "/no-such-path";
100- fetchurl = null;
101- };
10200000103104- fetchurl = import ../../build-support/fetchurl {
105- stdenv = stdenvLinuxBoot0;
106- curl = bootstrapTools;
107- };
1080000000000000000000000109110- # The Glibc include directory cannot have the same prefix as the GCC
111- # include directory, since GCC gets confused otherwise (it will
112- # search the Glibc headers before the GCC headers). So create a
113- # dummy Glibc.
114- bootstrapGlibc = stdenvLinuxBoot0.mkDerivation {
115- name = "bootstrap-glibc";
116- buildCommand = ''
117- mkdir -p $out
118- ln -s ${bootstrapTools}/lib $out/lib
119- ln -s ${bootstrapTools}/include-glibc $out/include
120- '';
121- };
1220123124- # A helper function to call gcc-wrapper.
125- wrapGCC =
126- { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }:
127128- lib.makeOverridable (import ../../build-support/gcc-wrapper) {
129- nativeTools = false;
130- nativeLibc = false;
131- inherit gcc binutils coreutils libc shell name;
132- stdenv = stdenvLinuxBoot0;
00000000000000133 };
0134135136 # Create the first "real" standard environment. This one consists
137 # of bootstrap tools only, and a minimal Glibc to keep the GCC
138 # configure script happy.
139- stdenvLinuxBoot1 = stdenvBootFun {
0000000140 gcc = wrapGCC {
141- libc = bootstrapGlibc;
0142 binutils = bootstrapTools;
143 coreutils = bootstrapTools;
0144 };
145- inherit fetchurl;
146- };
147-148-149- # 2) These are the packages that we can build with the first
150- # stdenv. We only need binutils, because recent Glibcs
151- # require recent Binutils, and those in bootstrap-tools may
152- # be too old.
153- stdenvLinuxBoot1Pkgs = allPackages {
154- inherit system platform;
155- bootStdenv = stdenvLinuxBoot1;
156 };
157158- binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; };
159160-161- # 3) 2nd stdenv that we will use to build only Glibc.
162- stdenvLinuxBoot2 = stdenvBootFun {
163 gcc = wrapGCC {
164- libc = bootstrapGlibc;
165- binutils = binutils1;
0166 coreutils = bootstrapTools;
0167 };
168 overrides = pkgs: {
169- inherit (stdenvLinuxBoot1Pkgs) perl;
0170 };
171- inherit fetchurl;
172 };
173174175- # 4) These are the packages that we can build with the 2nd
176- # stdenv.
177- stdenvLinuxBoot2Pkgs = allPackages {
178- inherit system platform;
179- bootStdenv = stdenvLinuxBoot2;
180- };
181-182-183- # 5) Build Glibc with the bootstrap tools. The result is the full,
184- # dynamically linked, final Glibc.
185- stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc;
186-187-188- # 6) Construct a third stdenv identical to the 2nd, except that this
189- # one uses the Glibc built in step 5. It still uses the recent
190- # binutils and rest of the bootstrap tools, including GCC.
191- stdenvLinuxBoot3 = stdenvBootFun {
192 gcc = wrapGCC {
193- binutils = binutils1;
00194 coreutils = bootstrapTools;
195- libc = stdenvLinuxGlibc;
196 };
197 overrides = pkgs: {
198- glibc = stdenvLinuxGlibc;
199- inherit (stdenvLinuxBoot1Pkgs) perl;
200 # Link GCC statically against GMP etc. This makes sense because
201 # these builds of the libraries are only used by GCC, so it
202 # reduces the size of the stdenv closure.
···208 ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
209 };
210 extraAttrs = {
211- glibc = stdenvLinuxGlibc; # Required by gcc47 build
212 };
213- extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ];
214- inherit fetchurl;
215- };
216-217-218- # 7) The packages that can be built using the third stdenv.
219- stdenvLinuxBoot3Pkgs = allPackages {
220- inherit system platform;
221- bootStdenv = stdenvLinuxBoot3;
222 };
223224225- # 8) Construct a fourth stdenv identical to the second, except that
226- # this one uses the new GCC from step 7. The other tools
227- # (e.g. coreutils) are still from the bootstrap tools.
228- stdenvLinuxBoot4 = stdenvBootFun {
229- gcc = wrapGCC rec {
230- binutils = binutils1;
0231 coreutils = bootstrapTools;
232- libc = stdenvLinuxGlibc;
233- gcc = stdenvLinuxBoot3Pkgs.gcc.gcc;
234 name = "";
235 };
236- extraPath = [ stdenvLinuxBoot3Pkgs.xz ];
237 overrides = pkgs: {
238- inherit (stdenvLinuxBoot1Pkgs) perl;
239- inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp;
000240 };
241- inherit fetchurl;
242 };
243244245- # 9) The packages that can be built using the fourth stdenv.
246- stdenvLinuxBoot4Pkgs = allPackages {
247- inherit system platform;
248- bootStdenv = stdenvLinuxBoot4;
249- };
250-251-252- # 10) Construct the final stdenv. It uses the Glibc and GCC, and
253- # adds in a new binutils that doesn't depend on bootstrap-tools,
254- # as well as dynamically linked versions of all other tools.
255 #
256- # When updating stdenvLinux, make sure that the result has no
257- # dependency (`nix-store -qR') on bootstrapTools or the
258- # first binutils built.
259 stdenvLinux = import ../generic rec {
260 inherit system config;
261···268 '';
269270 initialPath =
271- ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;})
272- ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ];
273274- gcc = wrapGCC rec {
275- inherit (stdenvLinuxBoot4Pkgs) binutils coreutils;
276- libc = stdenvLinuxGlibc;
277- gcc = stdenvLinuxBoot4.gcc.gcc;
278- shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
279- name = "";
280- };
281282- shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
00000283284- fetchurlBoot = fetchurl;
285286 extraAttrs = {
287- inherit (stdenvLinuxBoot3Pkgs) glibc;
288 inherit platform bootstrapTools;
289- shellPackage = stdenvLinuxBoot4Pkgs.bash;
290 };
291292 overrides = pkgs: {
293 inherit gcc;
294- inherit (stdenvLinuxBoot3Pkgs) glibc;
295- inherit (stdenvLinuxBoot4Pkgs) binutils;
296- inherit (stdenvLinuxBoot4Pkgs)
297- gzip bzip2 xz bash coreutils diffutils findutils gawk
298- gnumake gnused gnutar gnugrep gnupatch patchelf
299- attr acl paxctl;
300 };
301 };
302
···35 # The bootstrap process proceeds in several steps.
363738+ # Create a standard environment by downloading pre-built binaries of
39+ # coreutils, GCC, etc.
404142 # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
···46 builder = bootstrapFiles.sh;
4748 args =
49+ if system == "armv5tel-linux" || system == "armv6l-linux"
50 || system == "armv7l-linux"
51 then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
52 else [ ./scripts/unpack-bootstrap-tools.sh ];
···66 };
676869+ # A helper function to call gcc-wrapper.
70+ wrapGCC =
71+ { gcc, libc, binutils, coreutils, name }:
07273+ lib.makeOverridable (import ../../build-support/gcc-wrapper) {
74+ nativeTools = false;
75+ nativeLibc = false;
76+ inherit gcc binutils coreutils libc name;
77+ stdenv = stage0.stdenv;
00000000000000078 };
790000008081+ # This function builds the various standard environments used during
82+ # the bootstrap. In all stages, we build an stdenv and the package
83+ # set that can be built with that stdenv.
84+ stageFun =
85+ {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}:
8687+ let
0008889+ thisStdenv = import ../generic {
90+ inherit system config;
91+ name = "stdenv-linux-boot";
92+ preHook =
93+ ''
94+ # Don't patch #!/interpreter because it leads to retained
95+ # dependencies on the bootstrapTools in the final stdenv.
96+ dontPatchShebangs=1
97+ ${commonPreHook}
98+ '';
99+ shell = "${bootstrapTools}/bin/sh";
100+ initialPath = [bootstrapTools] ++ extraPath;
101+ fetchurlBoot = import ../../build-support/fetchurl {
102+ stdenv = stage0.stdenv;
103+ curl = bootstrapTools;
104+ };
105+ inherit gcc;
106+ # Having the proper 'platform' in all the stdenvs allows getting proper
107+ # linuxHeaders for example.
108+ extraAttrs = extraAttrs // { inherit platform; };
109+ overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
110+ };
111112+ thisPkgs = allPackages {
113+ inherit system platform;
114+ bootStdenv = thisStdenv;
115+ };
00000000116117+ in { stdenv = thisStdenv; pkgs = thisPkgs; };
118000119120+ # Build a dummy stdenv with no GCC or working fetchurl. This is
121+ # because we need a stdenv to build the GCC wrapper and fetchurl.
122+ stage0 = stageFun {
123+ gcc = "/no-such-path";
124+125+ overrides = pkgs: {
126+ # The Glibc include directory cannot have the same prefix as the
127+ # GCC include directory, since GCC gets confused otherwise (it
128+ # will search the Glibc headers before the GCC headers). So
129+ # create a dummy Glibc here, which will be used in the stdenv of
130+ # stage1.
131+ glibc = stage0.stdenv.mkDerivation {
132+ name = "bootstrap-glibc";
133+ buildCommand = ''
134+ mkdir -p $out
135+ ln -s ${bootstrapTools}/lib $out/lib
136+ ln -s ${bootstrapTools}/include-glibc $out/include
137+ '';
138+ };
139 };
140+ };
141142143 # Create the first "real" standard environment. This one consists
144 # of bootstrap tools only, and a minimal Glibc to keep the GCC
145 # configure script happy.
146+ #
147+ # For clarity, we only use the previous stage when specifying these
148+ # stages. So stageN should only ever have references for stage{N-1}.
149+ #
150+ # If we ever need to use a package from more than one stage back, we
151+ # simply re-export those packages in the middle stage(s) using the
152+ # overrides attribute and the inherit syntax.
153+ stage1 = stageFun {
154 gcc = wrapGCC {
155+ gcc = bootstrapTools;
156+ libc = stage0.pkgs.glibc;
157 binutils = bootstrapTools;
158 coreutils = bootstrapTools;
159+ name = "bootstrap-gcc-wrapper";
160 };
161+ # Rebuild binutils to use from stage2 onwards.
162+ overrides = pkgs: {
163+ binutils = pkgs.binutils.override { gold = false; };
164+ inherit (stage0.pkgs) glibc;
165+ };
000000166 };
1670168169+ # 2nd stdenv that contains our own rebuilt binutils and is used for
170+ # compiling our own Glibc.
171+ stage2 = stageFun {
172 gcc = wrapGCC {
173+ gcc = bootstrapTools;
174+ libc = stage1.pkgs.glibc;
175+ binutils = stage1.pkgs.binutils;
176 coreutils = bootstrapTools;
177+ name = "bootstrap-gcc-wrapper";
178 };
179 overrides = pkgs: {
180+ inherit (stage1.pkgs) perl binutils paxctl;
181+ # This also contains the full, dynamically linked, final Glibc.
182 };
0183 };
184185186+ # Construct a third stdenv identical to the 2nd, except that this
187+ # one uses the rebuilt Glibc from stage2. It still uses the recent
188+ # binutils and rest of the bootstrap tools, including GCC.
189+ stage3 = stageFun {
0000000000000190 gcc = wrapGCC {
191+ gcc = bootstrapTools;
192+ libc = stage2.pkgs.glibc;
193+ binutils = stage2.pkgs.binutils;
194 coreutils = bootstrapTools;
195+ name = "bootstrap-gcc-wrapper";
196 };
197 overrides = pkgs: {
198+ inherit (stage2.pkgs) binutils glibc perl;
0199 # Link GCC statically against GMP etc. This makes sense because
200 # these builds of the libraries are only used by GCC, so it
201 # reduces the size of the stdenv closure.
···207 ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
208 };
209 extraAttrs = {
210+ glibc = stage2.pkgs.glibc; # Required by gcc47 build
211 };
212+ extraPath = [ stage2.pkgs.paxctl ];
00000000213 };
214215216+ # Construct a fourth stdenv that uses the new GCC. But coreutils is
217+ # still from the bootstrap tools.
218+ stage4 = stageFun {
219+ gcc = wrapGCC {
220+ gcc = stage3.pkgs.gcc.gcc;
221+ libc = stage3.pkgs.glibc;
222+ binutils = stage3.pkgs.binutils;
223 coreutils = bootstrapTools;
00224 name = "";
225 };
226+ extraPath = [ stage3.pkgs.xz ];
227 overrides = pkgs: {
228+ # Zlib has to be inherited and not rebuilt in this stage,
229+ # because gcc (since JAR support) already depends on zlib, and
230+ # then if we already have a zlib we want to use that for the
231+ # other purposes (binutils and top-level pkgs) too.
232+ inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib;
233 };
0234 };
235236237+ # Construct the final stdenv. It uses the Glibc and GCC, and adds
238+ # in a new binutils that doesn't depend on bootstrap-tools, as well
239+ # as dynamically linked versions of all other tools.
0000000240 #
241+ # When updating stdenvLinux, make sure that the result has no
242+ # dependency (`nix-store -qR') on bootstrapTools or the first
243+ # binutils built.
244 stdenvLinux = import ../generic rec {
245 inherit system config;
246···253 '';
254255 initialPath =
256+ ((import ../common-path.nix) {pkgs = stage4.pkgs;})
257+ ++ [stage4.pkgs.patchelf stage4.pkgs.paxctl ];
258259+ shell = stage4.pkgs.bash + "/bin/bash";
000000260261+ gcc = (wrapGCC rec {
262+ gcc = stage4.stdenv.gcc.gcc;
263+ libc = stage4.pkgs.glibc;
264+ inherit (stage4.pkgs) binutils coreutils;
265+ name = "";
266+ }).override { inherit shell; };
267268+ inherit (stage4.stdenv) fetchurlBoot;
269270 extraAttrs = {
271+ inherit (stage4.pkgs) glibc;
272 inherit platform bootstrapTools;
273+ shellPackage = stage4.pkgs.bash;
274 };
275276 overrides = pkgs: {
277 inherit gcc;
278+ inherit (stage4.pkgs)
279+ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
280+ glibc gnumake gnused gnutar gnugrep gnupatch patchelf
281+ attr acl paxctl zlib;
00282 };
283 };
284
+3
pkgs/tools/compression/xz/default.nix
···1011 doCheck = true;
1200013 meta = {
14 homepage = http://tukaani.org/xz/;
15 description = "XZ, general-purpose data compression software, successor of LZMA";
···1011 doCheck = true;
1213+ # In stdenv-linux, prevent a dependency on bootstrap-tools.
14+ preHook = "unset CONFIG_SHELL";
15+16 meta = {
17 homepage = http://tukaani.org/xz/;
18 description = "XZ, general-purpose data compression software, successor of LZMA";