From fcf88305cc8fc198f3c0b372557a4eaffe316a4f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Aug 2012 15:01:00 -0400 Subject: [PATCH 01/69] Split a few libraries into multiple outputs --- pkgs/applications/audio/flac/default.nix | 17 +++++++++++++++++ pkgs/development/libraries/libogg/default.nix | 17 ++++++++++++++++- .../libraries/libsndfile/default.nix | 17 +++++++++++++++++ .../libraries/libvorbis/default.nix | 18 +++++++++++++++++- 4 files changed, 67 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index fa201d20c3fb..3f00d6b834ed 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -18,6 +18,23 @@ stdenv.mkDerivation rec { }) ]; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + + configureFlags = [ "--bindir=$(bin)/bin" "--includedir=$(dev)/include" "--mandir=$(bin)/share/man" ]; + + installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig m4datadir=$(dev)/share/aclocal" ]; + + postInstall = + '' + if [ -e $out/share/doc ]; then + mkdir -p $doc/share/doc + mv $out/share/doc/* $doc/share/doc + rmdir $out/share/doc + fi + ''; # */ + meta = { homepage = http://flac.sourceforge.net; description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index e407b75c8bbe..0b5e4e817415 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "libogg-1.3.0"; - + src = fetchurl { url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz"; sha256 = "0jy79ffkl34vycnwfsj4svqsdg1lwy2l1rr49y8r4d44kh12a5r3"; @@ -10,6 +10,21 @@ stdenv.mkDerivation rec { buildNativeInputs = [ xz ]; + outputs = [ "dev" "doc" "out" ]; + + configureFlags = [ "--includedir=$(dev)/include" ]; + + installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig" ]; + + postInstall = + '' + mkdir -p $doc/share/doc + mv $out/share/doc/* $doc/share/doc + + mkdir -p $dev/nix-support + echo $out > $dev/nix-support/propagated-build-native-inputs + ''; # */ + meta = { homepage = http://xiph.org/ogg/; }; diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index d9b4afbf0ff8..3a9153120be1 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -10,6 +10,23 @@ stdenv.mkDerivation rec { buildInputs = [pkgconfig flac libogg libvorbis]; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + + configureFlags = [ "--bindir=$(bin)/bin" "--includedir=$(dev)/include" "--mandir=$(bin)/share/man" ]; + + installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig m4datadir=$(dev)/share/aclocal" ]; + + postInstall = + '' + if [ -e $out/share/doc ]; then + mkdir -p $doc/share/doc + mv $out/share/doc/* $doc/share/doc + rmdir $out/share/doc + fi + ''; # */ + meta = { description = "Libsndfile, a C library for reading and writing files containing sampled sound"; diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index efb210d65762..945bba3d4ea1 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "libvorbis-1.3.3"; - + src = fetchurl { url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz"; sha256 = "1gby6hapz9njx4l9g0pndyk4q83z5fgrgc30mfwfgx7bllspsk43"; @@ -11,6 +11,22 @@ stdenv.mkDerivation rec { buildNativeInputs = [ xz ]; propagatedBuildInputs = [ libogg ]; + outputs = [ "dev" "out" "doc" ]; + + configureFlags = [ "--includedir=$(dev)/include" ]; + + installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig" ]; + + postInstall = + '' + mkdir -p $doc/share/doc + mv $out/share/doc/* $doc/share/doc + + mkdir -p "$dev/nix-support" + echo "$propagatedBuildNativeInputs $out" > "$dev/nix-support/propagated-build-native-inputs" + propagatedBuildNativeInputs= + ''; # */ + meta = { homepage = http://xiph.org/vorbis/; }; From b96ab17658b1aec5654cc88f8e67adb544900c82 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Aug 2012 15:42:22 -0400 Subject: [PATCH 02/69] Abstract common multiple output handling into a function --- pkgs/applications/audio/flac/default.nix | 17 +------- pkgs/build-support/multiple-outputs.nix | 39 +++++++++++++++++++ pkgs/development/libraries/libogg/default.nix | 17 +------- .../libraries/libsndfile/default.nix | 19 ++------- .../libraries/libvorbis/default.nix | 18 +-------- pkgs/top-level/all-packages.nix | 2 + 6 files changed, 50 insertions(+), 62 deletions(-) create mode 100644 pkgs/build-support/multiple-outputs.nix diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 3f00d6b834ed..21025b27b249 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, libogg }: +{ stdenv, fetchurl, multipleOutputs, libogg }: -stdenv.mkDerivation rec { +multipleOutputs rec { name = "flac-1.2.1"; src = fetchurl { @@ -22,19 +22,6 @@ stdenv.mkDerivation rec { outputs = [ "dev" "out" "bin" "doc" ]; - configureFlags = [ "--bindir=$(bin)/bin" "--includedir=$(dev)/include" "--mandir=$(bin)/share/man" ]; - - installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig m4datadir=$(dev)/share/aclocal" ]; - - postInstall = - '' - if [ -e $out/share/doc ]; then - mkdir -p $doc/share/doc - mv $out/share/doc/* $doc/share/doc - rmdir $out/share/doc - fi - ''; # */ - meta = { homepage = http://flac.sourceforge.net; description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix new file mode 100644 index 000000000000..5b1dc96dfb02 --- /dev/null +++ b/pkgs/build-support/multiple-outputs.nix @@ -0,0 +1,39 @@ +{ stdenv }: + +with stdenv.lib; + +{ outputs, ... } @ args: + +stdenv.mkDerivation (args // { + + configureFlags = + optionals (elem "bin" outputs) + [ "--bindir=$(bin)/bin" "--mandir=$(bin)/share/man" ] + ++ optional (elem "dev" outputs) + "--includedir=$(dev)/include"; + + installFlags = + optionals (elem "dev" outputs) + [ "pkgconfigdir=$(dev)/lib/pkgconfig" "m4datadir=$(dev)/share/aclocal" ]; + + postInstall = + '' + if [ -n "$doc" -a -e $out/share/doc ]; then + mkdir -p $doc/share/doc + mv $out/share/doc/* $doc/share/doc + rmdir $out/share/doc + rmdir --ignore-fail-on-non-empty $out/share + fi + + if [ -n "$dev" ]; then + mkdir -p "$dev/nix-support" + if [ -n "$propagatedBuildInputs" ]; then + echo "$propagatedBuildInputs" > "$dev/nix-support/propagated-build-inputs" + propagatedBuildInputs= + fi + echo "$propagatedBuildNativeInputs $out" > "$dev/nix-support/propagated-build-native-inputs" + propagatedBuildNativeInputs= + fi + ''; # */ + +}) diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index 0b5e4e817415..d3e7ba43b31c 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, xz }: +{ stdenv, fetchurl, multipleOutputs, xz }: -stdenv.mkDerivation rec { +multipleOutputs rec { name = "libogg-1.3.0"; src = fetchurl { @@ -12,19 +12,6 @@ stdenv.mkDerivation rec { outputs = [ "dev" "doc" "out" ]; - configureFlags = [ "--includedir=$(dev)/include" ]; - - installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig" ]; - - postInstall = - '' - mkdir -p $doc/share/doc - mv $out/share/doc/* $doc/share/doc - - mkdir -p $dev/nix-support - echo $out > $dev/nix-support/propagated-build-native-inputs - ''; # */ - meta = { homepage = http://xiph.org/ogg/; }; diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index 3a9153120be1..166e02668f04 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -1,6 +1,6 @@ -{stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }: +{ stdenv, fetchurl, multipleOutputs, flac, libogg, libvorbis, pkgconfig }: -stdenv.mkDerivation rec { +multipleOutputs rec { name = "libsndfile-1.0.23"; src = fetchurl { @@ -8,25 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0k9x4804gfh9d9zd4rm1v2izm8l716rzk4d6jlrjcf45b5sw7jal"; }; - buildInputs = [pkgconfig flac libogg libvorbis]; + buildInputs = [ pkgconfig flac libogg libvorbis ]; enableParallelBuilding = true; outputs = [ "dev" "out" "bin" "doc" ]; - configureFlags = [ "--bindir=$(bin)/bin" "--includedir=$(dev)/include" "--mandir=$(bin)/share/man" ]; - - installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig m4datadir=$(dev)/share/aclocal" ]; - - postInstall = - '' - if [ -e $out/share/doc ]; then - mkdir -p $doc/share/doc - mv $out/share/doc/* $doc/share/doc - rmdir $out/share/doc - fi - ''; # */ - meta = { description = "Libsndfile, a C library for reading and writing files containing sampled sound"; diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index 945bba3d4ea1..dac058372354 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, libogg, xz }: +{ stdenv, fetchurl, multipleOutputs, libogg, xz }: -stdenv.mkDerivation rec { +multipleOutputs rec { name = "libvorbis-1.3.3"; src = fetchurl { @@ -13,20 +13,6 @@ stdenv.mkDerivation rec { outputs = [ "dev" "out" "doc" ]; - configureFlags = [ "--includedir=$(dev)/include" ]; - - installFlags = [ "pkgconfigdir=$(dev)/lib/pkgconfig" ]; - - postInstall = - '' - mkdir -p $doc/share/doc - mv $out/share/doc/* $doc/share/doc - - mkdir -p "$dev/nix-support" - echo "$propagatedBuildNativeInputs $out" > "$dev/nix-support/propagated-build-native-inputs" - propagatedBuildNativeInputs= - ''; # */ - meta = { homepage = http://xiph.org/vorbis/; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2ee6dc66b2d6..53e83ca5798f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -327,6 +327,8 @@ let inherit stdenv perl cpio contents ubootChooser; }; + multipleOutputs = import ../build-support/multiple-outputs.nix { inherit (pkgs) stdenv; }; + makeWrapper = makeSetupHook {} ../build-support/make-wrapper/make-wrapper.sh; makeModulesClosure = {kernel, rootModules, allowMissing ? false}: From 53661fda0bd95f61ce2abc6ce0da02ac2d72d9f1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Aug 2012 16:21:45 -0400 Subject: [PATCH 03/69] Strip/patchelf the bin output --- pkgs/build-support/multiple-outputs.nix | 6 ++++++ pkgs/development/libraries/libsamplerate/default.nix | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index 5b1dc96dfb02..5608c5619d11 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -34,6 +34,12 @@ stdenv.mkDerivation (args // { echo "$propagatedBuildNativeInputs $out" > "$dev/nix-support/propagated-build-native-inputs" propagatedBuildNativeInputs= fi + + if [ -n "$bin" ]; then + prefix="$bin" stripDirs "bin sbin" "${stripDebugFlags:--S}" + prefix="$bin" patchELF + patchShebangs "$bin" + fi ''; # */ }) diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index 17f06e46711c..851a2fcca48e 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, fftw, libsndfile }: +{ stdenv, fetchurl, multipleOutputs, pkgconfig, fftw, libsndfile }: -stdenv.mkDerivation rec { +multipleOutputs rec { name = "libsamplerate-0.1.7"; src = fetchurl { @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { #--disable-fftw disable usage of FFTW #--disable-cpu-clip disable tricky cpu specific clipper + outputs = [ "dev" "bin" "out" ]; + meta = { description = "Sample Rate Converter for audio"; homepage = http://www.mega-nerd.com/SRC/index.html; From 681d659ee46e1048a61ec14d3def81445a5b2c9b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 17:29:26 -0400 Subject: [PATCH 04/69] libsamplerate: Drop dependency on fftw It's only used for examples/tests, so not much point in depending on it. --- pkgs/development/libraries/libsamplerate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index 851a2fcca48e..7aeafeee66ac 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, multipleOutputs, pkgconfig, fftw, libsndfile }: +{ stdenv, fetchurl, multipleOutputs, pkgconfig, libsndfile }: multipleOutputs rec { name = "libsamplerate-0.1.7"; @@ -9,7 +9,7 @@ multipleOutputs rec { }; buildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ fftw libsndfile ]; + propagatedBuildInputs = [ libsndfile ]; # maybe interesting configure flags: #--disable-fftw disable usage of FFTW From 3a35ba350f0153f4f7bb4eb006078c38b5ca94ec Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 20:43:48 -0400 Subject: [PATCH 05/69] Turn multipleOutputs into a stdenv adaptation This way we can merge it into stdenv.mkDerivation later without having to modify any package expressions (except the overrides in all-packages.nix). --- pkgs/applications/audio/flac/default.nix | 4 ++-- pkgs/development/libraries/libogg/default.nix | 4 ++-- .../libraries/libsamplerate/default.nix | 4 ++-- .../libraries/libsndfile/default.nix | 4 ++-- .../libraries/libvorbis/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 24 ++++++++++++++----- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 21025b27b249..dedd3e0139a8 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, multipleOutputs, libogg }: +{ stdenv, fetchurl, libogg }: -multipleOutputs rec { +stdenv.mkDerivation rec { name = "flac-1.2.1"; src = fetchurl { diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index d3e7ba43b31c..e7e9f71eb6be 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, multipleOutputs, xz }: +{ stdenv, fetchurl, xz }: -multipleOutputs rec { +stdenv.mkDerivation rec { name = "libogg-1.3.0"; src = fetchurl { diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index 7aeafeee66ac..0e2f042104d3 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, multipleOutputs, pkgconfig, libsndfile }: +{ stdenv, fetchurl, pkgconfig, libsndfile }: -multipleOutputs rec { +stdenv.mkDerivation rec { name = "libsamplerate-0.1.7"; src = fetchurl { diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index 166e02668f04..7140843a4536 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, multipleOutputs, flac, libogg, libvorbis, pkgconfig }: +{ stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }: -multipleOutputs rec { +stdenv.mkDerivation rec { name = "libsndfile-1.0.23"; src = fetchurl { diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index dac058372354..0a54adcada42 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, multipleOutputs, libogg, xz }: +{ stdenv, fetchurl, libogg, xz }: -multipleOutputs rec { +stdenv.mkDerivation rec { name = "libvorbis-1.3.3"; src = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 53e83ca5798f..deb9c626d5d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -327,7 +327,9 @@ let inherit stdenv perl cpio contents ubootChooser; }; - multipleOutputs = import ../build-support/multiple-outputs.nix { inherit (pkgs) stdenv; }; + stdenvMulti = stdenv // { + mkDerivation = import ../build-support/multiple-outputs.nix { inherit (pkgs) stdenv; }; + }; makeWrapper = makeSetupHook {} ../build-support/make-wrapper/make-wrapper.sh; @@ -4133,7 +4135,9 @@ let libQGLViewer = callPackage ../development/libraries/libqglviewer { }; - libsamplerate = callPackage ../development/libraries/libsamplerate { }; + libsamplerate = callPackage ../development/libraries/libsamplerate { + stdenv = stdenvMulti; + }; libspectre = callPackage ../development/libraries/libspectre { }; @@ -4226,7 +4230,9 @@ let libofx = callPackage ../development/libraries/libofx { }; - libogg = callPackage ../development/libraries/libogg { }; + libogg = callPackage ../development/libraries/libogg { + stdenv = stdenvMulti; + }; liboggz = callPackage ../development/libraries/liboggz { }; @@ -4267,7 +4273,9 @@ let # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5 libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { }; - libsndfile = callPackage ../development/libraries/libsndfile { }; + libsndfile = callPackage ../development/libraries/libsndfile { + stdenv = stdenvMulti; + }; libsoup = callPackage ../development/libraries/libsoup { }; @@ -4330,7 +4338,9 @@ let libvterm = callPackage ../development/libraries/libvterm { }; - libvorbis = callPackage ../development/libraries/libvorbis { }; + libvorbis = callPackage ../development/libraries/libvorbis { + stdenv = stdenvMulti; + }; libwebp = callPackage ../development/libraries/libwebp { }; @@ -6860,7 +6870,9 @@ let firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; }); - flac = callPackage ../applications/audio/flac { }; + flac = callPackage ../applications/audio/flac { + stdenv = stdenvMulti; + }; flashplayer = flashplayer11; From 28ad91098da44ec9841fea5943bef330c7911d92 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 21:23:42 -0400 Subject: [PATCH 06/69] libtool: Separate libltdl from the main package Some packages have a runtime dependency on libltdl, but shouldn't depend on the rest of libtool (which in turn depends on binutils and other stdenv tools). For example, splitting off libltdl cuts about 35 MiB from the closure of PulseAudio. --- pkgs/build-support/multiple-outputs.nix | 22 ++++++++++++------- .../tools/misc/libtool/libtool2.nix | 16 ++++++-------- pkgs/top-level/all-packages.nix | 4 +++- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index 5608c5619d11..a4a53733fa05 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -9,12 +9,16 @@ stdenv.mkDerivation (args // { configureFlags = optionals (elem "bin" outputs) [ "--bindir=$(bin)/bin" "--mandir=$(bin)/share/man" ] + ++ optionals (elem "lib" outputs) + [ "--libdir=$(lib)/lib" ] ++ optional (elem "dev" outputs) - "--includedir=$(dev)/include"; + "--includedir=$(dev)/include" + ++ args.configureFlags or []; installFlags = optionals (elem "dev" outputs) - [ "pkgconfigdir=$(dev)/lib/pkgconfig" "m4datadir=$(dev)/share/aclocal" ]; + [ "pkgconfigdir=$(dev)/lib/pkgconfig" "m4datadir=$(dev)/share/aclocal" "aclocaldir=$(dev)/share/aclocal" ] + ++ args.installFlags or []; postInstall = '' @@ -31,15 +35,17 @@ stdenv.mkDerivation (args // { echo "$propagatedBuildInputs" > "$dev/nix-support/propagated-build-inputs" propagatedBuildInputs= fi - echo "$propagatedBuildNativeInputs $out" > "$dev/nix-support/propagated-build-native-inputs" + echo "$out $lib $propagatedBuildNativeInputs" > "$dev/nix-support/propagated-build-native-inputs" propagatedBuildNativeInputs= + elif [ -n "$out" ]; then + propagatedBuildNativeInputs="$lib $propagatedBuildNativeInputs" fi - if [ -n "$bin" ]; then - prefix="$bin" stripDirs "bin sbin" "${stripDebugFlags:--S}" - prefix="$bin" patchELF - patchShebangs "$bin" - fi + for i in $bin $lib; do + prefix="$i" stripDirs "lib lib64 libexec bin sbin" "${stripDebugFlags:--S}" + prefix="$i" patchELF + patchShebangs "$i" + done ''; # */ }) diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 403381af4851..544434634a53 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, m4, perl, lzma }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libtool-2.4.2"; src = fetchurl { @@ -10,6 +10,8 @@ stdenv.mkDerivation (rec { buildNativeInputs = [ lzma m4 perl ]; + outputs = [ "out" "lib" ]; + # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! dontPatchShebangs = true; @@ -18,6 +20,10 @@ stdenv.mkDerivation (rec { # leads to the failure of a number of tests. doCheck = false; + # Don't run the native `strip' when cross-compiling. This breaks at least + # with `.a' files for MinGW. + dontStrip = stdenv ? cross; + meta = { description = "GNU Libtool, a generic library support script"; @@ -38,11 +44,3 @@ stdenv.mkDerivation (rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } - -// - -# Don't run the native `strip' when cross-compiling. This breaks at least -# with `.a' files for MinGW. -(if (stdenv ? cross) - then { dontStrip = true; } - else { })) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index deb9c626d5d3..7f8e0f0816df 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3111,7 +3111,9 @@ let libtool_1_5 = callPackage ../development/tools/misc/libtool { }; - libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { }; + libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { + stdenv = stdenvMulti; + }; lsof = callPackage ../development/tools/misc/lsof { }; From 7369c443a87788f9afc944b8c21b506b21dd9792 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 22:24:49 -0400 Subject: [PATCH 07/69] openssl: Separate manpages --- pkgs/development/libraries/openssl/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 575b57eb8727..60e59c2b159e 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -29,7 +29,7 @@ let ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch; - + in stdenv.mkDerivation { @@ -45,6 +45,9 @@ stdenv.mkDerivation { patches = patchesCross false; + # TODO: separate lib and bin. + outputs = [ "out" "man" ]; + buildNativeInputs = [ perl ]; # On x86_64-darwin, "./config" misdetects the system as @@ -54,7 +57,7 @@ stdenv.mkDerivation { configureFlags = "shared --libdir=lib"; - makeFlags = "MANDIR=$(out)/share/man"; + makeFlags = "MANDIR=$(man)/share/man"; postInstall = '' From 21b7946878e4154d90d40a539858b6dc9c88a3ee Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 23:14:45 -0400 Subject: [PATCH 08/69] Split some more packages --- pkgs/build-support/multiple-outputs.nix | 14 ++++++++++---- pkgs/development/libraries/acl/default.nix | 2 ++ pkgs/development/libraries/attr/default.nix | 2 ++ pkgs/development/libraries/speex/default.nix | 11 +++++++++-- pkgs/top-level/all-packages.nix | 12 +++++++++--- 5 files changed, 32 insertions(+), 9 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index a4a53733fa05..2a582e681e9a 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -13,15 +13,19 @@ stdenv.mkDerivation (args // { [ "--libdir=$(lib)/lib" ] ++ optional (elem "dev" outputs) "--includedir=$(dev)/include" - ++ args.configureFlags or []; + ++ [ (toString args.configureFlags or []) ]; installFlags = optionals (elem "dev" outputs) [ "pkgconfigdir=$(dev)/lib/pkgconfig" "m4datadir=$(dev)/share/aclocal" "aclocaldir=$(dev)/share/aclocal" ] - ++ args.installFlags or []; + ++ [ (toString args.installFlags or []) ]; - postInstall = + #postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or []; + + preFixup = '' + runHook preFixupOutputs + if [ -n "$doc" -a -e $out/share/doc ]; then mkdir -p $doc/share/doc mv $out/share/doc/* $doc/share/doc @@ -42,10 +46,12 @@ stdenv.mkDerivation (args // { fi for i in $bin $lib; do - prefix="$i" stripDirs "lib lib64 libexec bin sbin" "${stripDebugFlags:--S}" + prefix="$i" stripDirs "lib lib64 libexec bin sbin" "''${stripDebugFlags:--S}" prefix="$i" patchELF patchShebangs "$i" done + + runHook postFixupOutputs ''; # */ }) diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 3ccb56919800..5b8174eaca54 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + buildNativeInputs = [ gettext ]; buildInputs = [ attr ]; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index adc530863068..235410320674 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + buildNativeInputs = [ gettext ]; configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ECHO=echo SED=sed AWK=gawk"; diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 93a01a3d2bcb..6aceef78eea2 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -2,11 +2,18 @@ stdenv.mkDerivation rec { name = "speex-1.2rc1"; - + src = fetchurl { url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; sha256 = "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"; }; - + buildInputs = [ libogg ]; + + outputs = [ "dev" "out" "bin" "doc" ]; + + meta = { + homepage = http://www.speex.org/; + description = "A audio compression codec designed for speech"; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7f8e0f0816df..1ce10d7101b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3234,7 +3234,9 @@ let aalib = callPackage ../development/libraries/aalib { }; - acl = callPackage ../development/libraries/acl { }; + acl = callPackage ../development/libraries/acl { + stdenv = stdenvMulti; + }; adns = callPackage ../development/libraries/adns { }; @@ -3271,7 +3273,9 @@ let attica = callPackage ../development/libraries/attica { }; - attr = callPackage ../development/libraries/attr { }; + attr = callPackage ../development/libraries/attr { + stdenv = stdenvMulti; + }; aqbanking = callPackage ../development/libraries/aqbanking { }; @@ -4783,7 +4787,9 @@ let speech_tools = callPackage ../development/libraries/speech-tools {}; - speex = callPackage ../development/libraries/speex { }; + speex = callPackage ../development/libraries/speex { + stdenv = stdenvMulti; + }; sphinxbase = callPackage ../development/libraries/sphinxbase { }; From 283164779b9671517cfa9155abf57492129c95ad Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Aug 2012 23:42:33 -0400 Subject: [PATCH 09/69] openssl: Separate programs --- pkgs/development/libraries/openssl/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 60e59c2b159e..bb78f5264b3b 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -45,8 +45,8 @@ stdenv.mkDerivation { patches = patchesCross false; - # TODO: separate lib and bin. - outputs = [ "out" "man" ]; + # TODO: separate lib. + outputs = [ "out" "man" "bin" ]; buildNativeInputs = [ perl ]; @@ -66,6 +66,11 @@ stdenv.mkDerivation { if [ -n "$(echo $out/lib/*.so)" ]; then rm $out/lib/*.a fi + + mkdir -p $bin + mv $out/bin $bin/ + + rm -rf $out/ssl/misc ''; # */ crossAttrs = { From c642f848389418bfab6b4de811364d0fe6cae005 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 25 Aug 2012 21:19:26 -0400 Subject: [PATCH 10/69] stdenvMulti: Set the configure/install flags in the pre-hook Flags like $(dev)/include don't always get expanded, e.g. leading to incorrect pkgconfig files. So set them in the pre-hook. --- pkgs/build-support/multiple-outputs.nix | 40 ++++++++++++++----------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index 2a582e681e9a..ab7b65dd1130 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -6,30 +6,34 @@ with stdenv.lib; stdenv.mkDerivation (args // { - configureFlags = - optionals (elem "bin" outputs) - [ "--bindir=$(bin)/bin" "--mandir=$(bin)/share/man" ] - ++ optionals (elem "lib" outputs) - [ "--libdir=$(lib)/lib" ] - ++ optional (elem "dev" outputs) - "--includedir=$(dev)/include" - ++ [ (toString args.configureFlags or []) ]; - - installFlags = - optionals (elem "dev" outputs) - [ "pkgconfigdir=$(dev)/lib/pkgconfig" "m4datadir=$(dev)/share/aclocal" "aclocaldir=$(dev)/share/aclocal" ] - ++ [ (toString args.installFlags or []) ]; - #postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or []; + preHook = + '' + ${optionalString (elem "bin" outputs) '' + configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags" + ''} + ${optionalString (elem "lib" outputs) '' + configureFlags="--libdir=$lib/lib $configureFlags" + ''} + ${optionalString (elem "dev" outputs) '' + configureFlags="--includedir=$dev/include $configureFlags" + installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags" + ''} + ''; + preFixup = '' runHook preFixupOutputs - if [ -n "$doc" -a -e $out/share/doc ]; then - mkdir -p $doc/share/doc - mv $out/share/doc/* $doc/share/doc - rmdir $out/share/doc + if [ -n "$doc" ]; then + for i in share/doc share/gtk-doc; do + if [ -e $out/$i ]; then + mkdir -p $doc/$i + mv $out/$i/* $doc/$i/ + rmdir $out/$i + fi + done rmdir --ignore-fail-on-non-empty $out/share fi From 3d32657782a2971e29823027f01a2333166d834f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 25 Aug 2012 21:20:39 -0400 Subject: [PATCH 11/69] Split glib In particular, moving the bin subdirectory to a separate output ensures that the library proper no longer depends on Python and Perl. The closure of PulseAudio is now down from 325 MiB to 155 MiB. --- pkgs/development/libraries/glib/2.30.x.nix | 11 +++++------ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/glib/2.30.x.nix b/pkgs/development/libraries/glib/2.30.x.nix index 72baf0154d9f..444259ef274a 100644 --- a/pkgs/development/libraries/glib/2.30.x.nix +++ b/pkgs/development/libraries/glib/2.30.x.nix @@ -19,11 +19,12 @@ stdenv.mkDerivation rec { sha256 = "09yxfajynbw78kji48z384lylp67kihfi1g78qrrjif4f5yb5jz6"; }; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + # configure script looks for d-bus but it is only needed for tests - buildInputs = [ pcre ] - ++ (if libiconvOrNull != null - then [ libiconvOrNull ] - else []); + buildInputs = [ pcre ] ++ stdenv.lib.optional (libiconvOrNull != null) libiconvOrNull; buildNativeInputs = [ perl pkgconfig gettext python ]; @@ -33,8 +34,6 @@ stdenv.mkDerivation rec { passthru.gioModuleDir = "lib/gio/modules"; - postInstall = ''rm -rvf $out/share/gtk-doc''; - meta = { description = "GLib, a C library of programming buildings blocks"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1ce10d7101b0..4f63949580cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3791,7 +3791,9 @@ let gtkmm; }; - glib = callPackage ../development/libraries/glib/2.30.x.nix { }; + glib = callPackage ../development/libraries/glib/2.30.x.nix { + stdenv = stdenvMulti; + }; glibmm = callPackage ../development/libraries/glibmm/2.30.x.nix { }; From 61129e1ee9a37d75f2f26c8eb5de1c984766a461 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 26 Aug 2012 22:53:19 -0400 Subject: [PATCH 12/69] Split some GTK/X11-related packages The closure of the Pan newsreader is now down from 344 MiB to 195 MiB. --- pkgs/build-support/multiple-outputs.nix | 7 ++-- pkgs/development/libraries/atk/2.2.x.nix | 6 ++-- pkgs/development/libraries/cairo/default.nix | 11 +++--- .../libraries/freetype/default.nix | 24 +++++++------ .../libraries/gdk-pixbuf/2.24.x.nix | 6 ++-- pkgs/development/libraries/gmime/default.nix | 6 ++-- pkgs/development/libraries/gtk+/2.24.x.nix | 8 ++--- .../development/libraries/libtiff/default.nix | 8 +++-- pkgs/development/libraries/pango/1.29.x.nix | 6 ++-- pkgs/misc/cups/default.nix | 5 ++- pkgs/os-specific/linux/util-linux/default.nix | 2 ++ pkgs/servers/x11/xorg/builder.sh | 6 +--- pkgs/servers/x11/xorg/default.nix | 36 ++++++++++++------- pkgs/top-level/all-packages.nix | 36 ++++++++++++++----- 14 files changed, 107 insertions(+), 60 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index ab7b65dd1130..79bd3fd80d41 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -2,13 +2,16 @@ with stdenv.lib; -{ outputs, ... } @ args: +{ outputs ? [ "out" ], ... } @ args: stdenv.mkDerivation (args // { #postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or []; preHook = + optionalString (elem "man" outputs) '' + configureFlags="--mandir=$man/share/man $configureFlags" + '' + '' ${optionalString (elem "bin" outputs) '' configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags" @@ -43,7 +46,7 @@ stdenv.mkDerivation (args // { echo "$propagatedBuildInputs" > "$dev/nix-support/propagated-build-inputs" propagatedBuildInputs= fi - echo "$out $lib $propagatedBuildNativeInputs" > "$dev/nix-support/propagated-build-native-inputs" + echo "$out $lib $bin $propagatedBuildNativeInputs" > "$dev/nix-support/propagated-build-native-inputs" propagatedBuildNativeInputs= elif [ -n "$out" ]; then propagatedBuildNativeInputs="$lib $propagatedBuildNativeInputs" diff --git a/pkgs/development/libraries/atk/2.2.x.nix b/pkgs/development/libraries/atk/2.2.x.nix index d0f7e1097953..715d8eb1ee23 100644 --- a/pkgs/development/libraries/atk/2.2.x.nix +++ b/pkgs/development/libraries/atk/2.2.x.nix @@ -8,12 +8,14 @@ stdenv.mkDerivation rec { sha256 = "17bkqg89l9hxbkgc76cxlin1bwczk7m6ikbccx677lrxh3kz08lb"; }; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "doc" ]; + buildNativeInputs = [ pkgconfig perl ]; propagatedBuildInputs = [ glib ]; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "ATK, the accessibility toolkit"; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index fe3fe1e251ca..34c8b929f55a 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -14,12 +14,16 @@ assert xcbSupport -> libxcb != null && xcbutil != null; stdenv.mkDerivation rec { name = "cairo-1.10.2"; - + src = fetchurl { url = "http://cairographics.org/releases/${name}.tar.gz"; sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e"; }; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + buildInputs = [ pkgconfig x11 fontconfig xlibs.libXrender ] ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] @@ -32,7 +36,7 @@ stdenv.mkDerivation rec { stdenv.lib.optional gobjectSupport glib ++ stdenv.lib.optional postscriptSupport zlib ++ stdenv.lib.optional pngSupport libpng; - + configureFlags = [ "--enable-tee" ] ++ stdenv.lib.optional xcbSupport "--enable-xcb" @@ -45,9 +49,6 @@ stdenv.mkDerivation rec { -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g' ''; - # The default `--disable-gtk-doc' is ignored. - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "A 2D graphics library with support for multiple output devices"; diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix index e53a3c297ff1..8d4e769060a0 100644 --- a/pkgs/development/libraries/freetype/default.nix +++ b/pkgs/development/libraries/freetype/default.nix @@ -5,15 +5,20 @@ useEncumberedCode ? false }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "freetype-2.4.4"; - + src = fetchurl { url = "mirror://sourceforge/freetype/${name}.tar.bz2"; sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb"; }; - configureFlags = "--disable-static"; + outputs = [ "dev" "out" ]; + + configureFlags = "--disable-static --bindir=$(dev)/bin"; + + # FreeType requires GNU Make, which is not part of stdenv on FreeBSD. + buildInputs = stdenv.lib.optional (stdenv.system == "i686-freebsd") gnumake; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString useEncumberedCode "-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1"; @@ -21,16 +26,15 @@ stdenv.mkDerivation (rec { # The asm for armel is written with the 'asm' keyword. CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99"; + postInstall = + '' + mkdir $dev/lib + mv $out/lib/pkgconfig $dev/lib/ + ''; + meta = { description = "A font rendering engine"; homepage = http://www.freetype.org/; license = "GPLv2+"; # or the FreeType License (BSD + advertising clause) }; } - -// - -# FreeType requires GNU Make, which is not part of stdenv on FreeBSD. -(if stdenv.system == "i686-freebsd" - then { buildInputs = [ gnumake ]; } - else {})) diff --git a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix b/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix index 5c0860196d39..80cc3f36f006 100644 --- a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix +++ b/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation { sha256 = "1qdywh1r75lalb7z6s9pm6pmqx82chrrxqb8cdqi629nvc03yyns"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + + enableParallelBuilding = true; + # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. buildInputs = [ libX11 ]; @@ -18,8 +22,6 @@ stdenv.mkDerivation { configureFlags = "--with-libjasper --with-x11"; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "A library for image loading and manipulation"; diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix index 02145d08c289..693a8b883404 100644 --- a/pkgs/development/libraries/gmime/default.nix +++ b/pkgs/development/libraries/gmime/default.nix @@ -2,12 +2,14 @@ stdenv.mkDerivation rec { name = "gmime-2.4.24"; - + src = fetchurl { url = "mirror://gnome/sources/gmime/2.4/${name}.tar.gz"; sha256 = "2f538d68e215f075d16575a6da9acb87983db9e2df0d7d403858048881a0dd15"; }; - + + outputs = [ "dev" "out" "bin" "doc" ]; + buildInputs = [ pkgconfig glib zlib ]; meta = { diff --git a/pkgs/development/libraries/gtk+/2.24.x.nix b/pkgs/development/libraries/gtk+/2.24.x.nix index 12b270d637b0..4b32c80df780 100644 --- a/pkgs/development/libraries/gtk+/2.24.x.nix +++ b/pkgs/development/libraries/gtk+/2.24.x.nix @@ -21,10 +21,12 @@ stdenv.mkDerivation { ./old-icons.patch ]; + outputs = [ "dev" "out" "bin" "doc" ]; + enableParallelBuilding = true; - + buildNativeInputs = [ perl pkgconfig ]; - + propagatedBuildInputs = [ xlibs.xlibs glib atk pango gdk_pixbuf cairo xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi @@ -34,8 +36,6 @@ stdenv.mkDerivation { configureFlags = "--with-xinput=yes"; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "A multi-platform toolkit for creating graphical user interfaces"; diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index d170c2fd2314..0657dc303698 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { name = "libtiff-3.9.4"; - + src = fetchurl { urls = [ ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.tar.gz @@ -10,7 +10,11 @@ stdenv.mkDerivation { ]; sha256 = "19hxd773yxcs4lxlc3zfdkz5aiv705vj2jvy5srpqkxpbw3nvdv7"; }; - + + outputs = [ "dev" "out" "bin" "doc" ]; + + enableParallelBuilding = true; + propagatedBuildInputs = [ zlib libjpeg ]; meta = { diff --git a/pkgs/development/libraries/pango/1.29.x.nix b/pkgs/development/libraries/pango/1.29.x.nix index 6c5d0f4cebcc..af46998114c2 100644 --- a/pkgs/development/libraries/pango/1.29.x.nix +++ b/pkgs/development/libraries/pango/1.29.x.nix @@ -8,14 +8,16 @@ stdenv.mkDerivation rec { sha256 = "0zqjq6ccv6mbah74rcvb03ksq1jwan21z37mdmqa56307sax3s3s"; }; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + buildInputs = stdenv.lib.optional stdenv.isDarwin gettext; buildNativeInputs = [ pkgconfig ]; propagatedBuildInputs = [ x11 glib cairo libpng ]; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "A library for laying out and rendering of text, with an emphasis on internationalization"; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index bf4e4d1d7e51..9ba33b07b38d 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -1,9 +1,8 @@ { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl , dbus, libusb, acl }: -let - version = "1.5.2"; -in +let version = "1.5.2"; in + stdenv.mkDerivation { name = "cups-${version}"; diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index ae5727568f2d..75a117961f0e 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "1q5vjcvw4f067c63vj2n3xggvk5prm11571x6vnqiav47vdbqvni"; }; + outputs = [ "dev" "out" "bin" ]; + patches = [ ./linux-specific-header.patch ]; crossAttrs = { diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index bb776a5051bd..156f4e79e422 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -9,7 +9,7 @@ postInstall() { if test -n "$origPostInstall"; then eval "$origPostInstall"; fi local r p requires - requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \ + requires=$(grep "Requires:" ${dev:-$out}/lib/pkgconfig/*.pc | \ sed "s/Requires://" | sed "s/,/ /g") echo "propagating requisites $requires" @@ -31,10 +31,6 @@ postInstall() { done fi done - - mkdir -p "$out/nix-support" - echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" - echo "$propagatedBuildNativeInputs" > "$out/nix-support/propagated-build-native-inputs" } diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 4fbc6fbdfda8..3edc58325434 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -577,13 +577,14 @@ let buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ]; })) // {inherit windowswmproto libX11 libXext xextproto ;}; - libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { + libX11 = (stdenvMulti.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { name = "libX11-1.4.1"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2; sha256 = "1qiwyqaf9vfn52nwp7nxlbixld3r9jyzsarnkwk0ynk4k3vy1x3h"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; @@ -597,13 +598,14 @@ let buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ]; })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; - libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { + libXau = (stdenvMulti.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { name = "libXau-1.0.6"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2; sha256 = "1z3h07wj2kg2hnzj4gd9pc3rkj4n0mfw6f9skg9w1hfwzrgl317f"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; @@ -617,13 +619,14 @@ let buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; - libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { + libXcomposite = (stdenvMulti.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { name = "libXcomposite-0.4.3"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2; sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; })) // {inherit compositeproto libX11 libXfixes xproto ;}; @@ -647,33 +650,36 @@ let buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; - libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { + libXdmcp = (stdenvMulti.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { name = "libXdmcp-1.1.0"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2; sha256 = "0wh0q4ih9p3nsxsjjj9a3d03nhiyjggpl7gbavdzsfia36iyk85q"; }; + outputs = [ "dev" "out" "doc" ]; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; - libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { + libXext = (stdenvMulti.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { name = "libXext-1.2.0"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2; sha256 = "1xvgvrbg9lc812zi44hsyr461hiiwy05alckq847ki213qhkxvaa"; }; + outputs = [ "dev" "out" "man" "doc" ]; buildInputs = [pkgconfig libX11 xextproto xproto ]; })) // {inherit libX11 xextproto xproto ;}; - libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { + libXfixes = (stdenvMulti.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { name = "libXfixes-4.0.5"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2; sha256 = "0x4drdxrslxf4vgcfyba0f0fbxg98c8x5dfrl7azakhf8qhd0v1f"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ]; })) // {inherit fixesproto libX11 xextproto xproto ;}; @@ -687,33 +693,36 @@ let buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; - libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { + libXft = (stdenvMulti.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { name = "libXft-2.2.0"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2; sha256 = "1cprbz7xnxkb7axblw8sdaw9ibkngmz60d0ypk1drhd0dpjmls68"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fontconfig freetype xproto libXrender ]; })) // {inherit fontconfig freetype xproto libXrender ;}; - libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { + libXi = (stdenvMulti.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { name = "libXi-1.4.1"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2; sha256 = "19i92if8anv5pg2mwyy93jcllk1mgxx5gchi8zkjlk7r604ir7sr"; }; + outputs = [ "dev" "out" "man" "doc" ]; buildInputs = [pkgconfig inputproto libX11 libXext xextproto xproto ]; })) // {inherit inputproto libX11 libXext xextproto xproto ;}; - libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { + libXinerama = (stdenvMulti.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { name = "libXinerama-1.1.1"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2; sha256 = "17vpsscracg1hza0avrczm9fc7xx3229qhicy101mw6cx2hb9qmv"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ]; })) // {inherit libX11 libXext xextproto xineramaproto ;}; @@ -747,23 +756,25 @@ let buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; - libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { + libXrandr = (stdenvMulti.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { name = "libXrandr-1.3.1"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2; sha256 = "0qf6aywqk2mgd5hw0nr24xxp5k015aa11sax5yycn14wch4agfv2"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; - libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { + libXrender = (stdenvMulti.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { name = "libXrender-0.9.6"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2; sha256 = "0s567qgys8m6782lbrpvpscm8fkk2jm2717g7s3hm7hhcgib2n3z"; }; + outputs = [ "dev" "out" "doc" ]; buildInputs = [pkgconfig renderproto libX11 xproto ]; })) // {inherit renderproto libX11 xproto ;}; @@ -887,13 +898,14 @@ let buildInputs = [pkgconfig ]; })) // {inherit ;}; - libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { + libxcb = (stdenvMulti.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { name = "libxcb-1.7"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2; sha256 = "1pr40wa3i1f0iwx83c8alcycy9sfzd2y1qlc63kr8q56w8sxqxp7"; }; + outputs = [ "dev" "out" "doc" ]; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f63949580cc..34bdb2ba5421 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3516,7 +3516,9 @@ let freeglut = callPackage ../development/libraries/freeglut { }; - freetype = callPackage ../development/libraries/freetype { }; + freetype = callPackage ../development/libraries/freetype { + stdenv = stdenvMulti; + }; fribidi = callPackage ../development/libraries/fribidi { }; @@ -3681,7 +3683,9 @@ let glpk = callPackage ../development/libraries/glpk { }; - gmime = callPackage ../development/libraries/gmime { }; + gmime = callPackage ../development/libraries/gmime { + stdenv = stdenvMulti; + }; gmm = callPackage ../development/libraries/gmm { }; @@ -3799,19 +3803,29 @@ let glib_networking = callPackage ../development/libraries/glib-networking {}; - atk = callPackage ../development/libraries/atk/2.2.x.nix { }; + atk = callPackage ../development/libraries/atk/2.2.x.nix { + stdenv = stdenvMulti; + }; atkmm = callPackage ../development/libraries/atkmm/2.22.x.nix { }; - cairo = callPackage ../development/libraries/cairo { }; + cairo = callPackage ../development/libraries/cairo { + stdenv = stdenvMulti; + }; - pango = callPackage ../development/libraries/pango/1.29.x.nix { }; + pango = callPackage ../development/libraries/pango/1.29.x.nix { + stdenv = stdenvMulti; + }; pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { }; - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { }; + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { + stdenv = stdenvMulti; + }; - gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix { }; + gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix { + stdenv = stdenvMulti; + }; gtk = pkgs.gtk2; @@ -4297,7 +4311,9 @@ let libtheora = callPackage ../development/libraries/libtheora { }; - libtiff = callPackage ../development/libraries/libtiff { }; + libtiff = callPackage ../development/libraries/libtiff { + stdenv = stdenvMulti; + }; libtiger = callPackage ../development/libraries/libtiger { }; @@ -5432,7 +5448,7 @@ let xinetd = callPackage ../servers/xinetd { }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { - inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig + inherit fetchurl fetchsvn stdenv stdenvMulti pkgconfig freetype fontconfig libxslt expat libdrm libpng zlib perl mesa xkeyboard_config dbus libuuid openssl gperf m4 autoconf libtool xmlto asciidoc udev flex bison python; @@ -6174,10 +6190,12 @@ let utillinux = lowPrio (callPackage ../os-specific/linux/util-linux { ncurses = null; perl = null; + stdenv = stdenvMulti; }); utillinuxCurses = utillinux.override { inherit ncurses perl; + stdenv = stdenvMulti; }; v4l_utils = callPackage ../os-specific/linux/v4l-utils { From a5fb18473e4178221e6a7a2264308678bd8234e3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 12:39:32 +0200 Subject: [PATCH 13/69] openssl: Fix removal of the ssl/misc scripts This drops the dependency of $out on Perl. --- pkgs/development/libraries/openssl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 7aabceacd966..148856cc7d72 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation { mkdir -p $bin mv $out/bin $bin/ - rm -rf $out/ssl/misc + rm -rf $out/etc/ssl/misc ''; # */ crossAttrs = { From 32d02132c2d12b6ac75b61d001c7b48241fe2d2b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 13:26:27 +0200 Subject: [PATCH 14/69] libxcb: Put docs/manpages in separate outputs --- pkgs/servers/x11/xorg/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index cb7ecf9ed16b..1d8ff6d19a84 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -905,7 +905,7 @@ let url = mirror://xorg/individual/xcb/libxcb-1.9.tar.bz2; sha256 = "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8"; }; - outputs = [ "dev" "out" "doc" ]; + outputs = [ "dev" "out" "doc" "man" ]; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; From 1a0e87b19fd8bc720d5505ffc171e3941aaa9dd4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 13:26:46 +0200 Subject: [PATCH 15/69] pam: Split off the PAM modules Clients of PAM can find the modules via /etc/pam.d. --- pkgs/os-specific/linux/pam/default.nix | 9 +++++++++ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index 43300425c004..5545b5c16d69 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -8,10 +8,14 @@ stdenv.mkDerivation rec { sha256 = "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s"; }; + outputs = [ "out" "doc" "man" "modules" ]; + nativeBuildInputs = [ flex ]; buildInputs = [ cracklib ]; + enableParallelBuilding = true; + crossAttrs = { propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ]; preConfigure = preConfigure + '' @@ -30,6 +34,11 @@ stdenv.mkDerivation rec { postInstall = '' mv -v $out/sbin/unix_chkpwd{,.orig} ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd + + rm -rf $out/etc + + mkdir -p $modules/lib + mv $out/lib/security $modules/lib/ ''; preConfigure = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85a95e3ba880..e6d6f3901ecb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6393,7 +6393,9 @@ let nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; - pam = callPackage ../os-specific/linux/pam { }; + pam = callPackage ../os-specific/linux/pam { + stdenv = stdenvMulti; + }; # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) From cb3fc2c9022d8763e709d4918a3f9f2676c99e58 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 13:41:33 +0200 Subject: [PATCH 16/69] libjpeg, jasper: Split into multiple outputs --- pkgs/development/libraries/jasper/default.nix | 6 +++++- pkgs/development/libraries/libjpeg/default.nix | 8 +++++--- pkgs/top-level/all-packages.nix | 8 ++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index 4046c05f79e5..f6777dc3bb9c 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -12,7 +12,11 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libjpeg ]; configureFlags = "--enable-shared"; - + + outputs = [ "dev" "out" "man" "bin" ]; + + enableParallelBuilding = true; + meta = { homepage = http://www.ece.uvic.ca/~mdadams/jasper/; description = "JasPer JPEG2000 Library"; diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix index 63d698dda18f..166f399dc251 100644 --- a/pkgs/development/libraries/libjpeg/default.nix +++ b/pkgs/development/libraries/libjpeg/default.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl }: stdenv.mkDerivation { name = "libjpeg-8d"; - + src = fetchurl { url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz; sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"; }; - + + outputs = [ "dev" "out" "man" "bin" ]; + meta = { homepage = http://www.ijg.org/; description = "A library that implements the JPEG image file format"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6d6f3901ecb..4b3d47a9ed57 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4217,7 +4217,9 @@ let inherit mesa SDL SDL_image SDL_mixer; }; - jasper = callPackage ../development/libraries/jasper { }; + jasper = callPackage ../development/libraries/jasper { + stdenv = stdenvMulti; + }; jama = callPackage ../development/libraries/jama { }; @@ -4513,7 +4515,9 @@ let libiptcdata = callPackage ../development/libraries/libiptcdata { }; - libjpeg = callPackage ../development/libraries/libjpeg { }; + libjpeg = callPackage ../development/libraries/libjpeg { + stdenv = stdenvMulti; + }; libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; From 39dc112bc13126cd0ff28a5e83d158bdd7c0e4e3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 13:54:16 +0200 Subject: [PATCH 17/69] multiple-outputs.nix: Allow not setting configure flags Not everything is Autoconf... --- pkgs/build-support/multiple-outputs.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index 5d9dab76968a..e72bc7fd3dbf 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -2,28 +2,28 @@ with stdenv.lib; -{ outputs ? [ "out" ], ... } @ args: +{ outputs ? [ "out" ], setOutputConfigureFlags ? true, ... } @ args: stdenv.mkDerivation (args // { #postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or []; preHook = - optionalString (elem "man" outputs) '' - configureFlags="--mandir=$man/share/man $configureFlags" - '' + - '' - ${optionalString (elem "bin" outputs) '' + if setOutputConfigureFlags then + optionalString (elem "man" outputs) '' + configureFlags="--mandir=$man/share/man $configureFlags" + '' + + optionalString (elem "bin" outputs) '' configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags" - ''} - ${optionalString (elem "lib" outputs) '' + '' + + optionalString (elem "lib" outputs) '' configureFlags="--libdir=$lib/lib $configureFlags" - ''} - ${optionalString (elem "dev" outputs) '' + '' + + optionalString (elem "dev" outputs) '' configureFlags="--includedir=$dev/include $configureFlags" installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags" - ''} - ''; + '' + else null; preFixup = '' From 2c9fa335218e34a12fdb92d58f58975fd83e5b60 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 14:28:49 +0200 Subject: [PATCH 18/69] openssl: Split header files from the libraries --- pkgs/development/libraries/openssl/default.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 148856cc7d72..8ba7e41425b8 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -46,8 +46,9 @@ stdenv.mkDerivation { patches = patchesCross false; - # TODO: separate lib. - outputs = [ "out" "man" "bin" ]; + outputs = [ "dev" "out" "man" "bin" ]; + + setOutputConfigureFlags = false; buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders; @@ -78,6 +79,9 @@ stdenv.mkDerivation { mv $out/bin $bin/ rm -rf $out/etc/ssl/misc + + mkdir $dev + mv $out/include $dev/ ''; # */ crossAttrs = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4b3d47a9ed57..b1993376fc40 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4941,6 +4941,7 @@ let openscenegraph = callPackage ../development/libraries/openscenegraph {}; openssl = callPackage ../development/libraries/openssl { + stdenv = stdenvMulti; fetchurl = fetchurlBoot; cryptodevHeaders = linuxPackages.cryptodev.override { fetchurl = fetchurlBoot; From 5787ac63649e4e3f11b70f44fa66c7b304956c86 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 14:52:36 +0200 Subject: [PATCH 19/69] cups: Split into multiple outputs However, splitting off the client library from the server-side stuff still remains to be done. --- pkgs/misc/cups/default.nix | 9 +++++++++ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 6cc13aa3013a..d479e6e69718 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation { md5 = "de3006e5cf1ee78a9c6145ce62c4e982"; }; + # FIXME: Split off the cups client library. + outputs = [ "dev" "out" "doc" "man" ]; + buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb1 ] ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus acl ] ; @@ -38,6 +41,12 @@ stdenv.mkDerivation { "CUPS_PRIMARY_SYSTEM_GROUP=root" ]; + postInstall = + '' + mkdir $dev/bin + mv $out/bin/cups-config $dev/bin/ + ''; + meta = { homepage = "http://www.cups.org/"; description = "A standards-based printing system for UNIX"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b1993376fc40..153504507c2e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9185,7 +9185,9 @@ let auctex = callPackage ../tools/typesetting/tex/auctex { }; - cups = callPackage ../misc/cups { }; + cups = callPackage ../misc/cups { + stdenv = stdenvMulti; + }; cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; From afebababacee7b75f7a13e3438d8583936569ba9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 15:28:30 +0200 Subject: [PATCH 20/69] pcre: Split into multiple outputs --- pkgs/development/libraries/pcre/default.nix | 8 ++++++++ pkgs/stdenv/linux/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index e59c249348a8..d7d13c6de4c9 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "5778a02535473c7ee7838ea598c19f451e63cf5eec0bf0307a688301c9078c3c"; }; + outputs = [ "dev" "out" "bin" "doc" "man" ]; + # The compiler on Darwin crashes with an internal error while building the # C++ interface. Disabling optimizations on that platform remedies the # problem. In case we ever update the Darwin GCC version, the exception for @@ -19,6 +21,12 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isCygwin; # XXX: test failure on Cygwin + postInstall = + '' + mkdir $dev/bin + mv $bin/bin/pcre-config $dev/bin/ + ''; + meta = { homepage = "http://www.pcre.org/"; description = "A library for Perl Compatible Regular Expressions"; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 84af23a263cd..44f5ff6ab309 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -286,7 +286,7 @@ rec { extraAttrs = { inherit (stdenvLinuxBoot3Pkgs) glibc; inherit platform bootstrapTools; - shellPackage = stdenvLinuxBoot4Pkgs.bash; + shellPackage = stdenvLinuxBoot4Pkgs.bash; }; overrides = pkgs: { @@ -295,7 +295,7 @@ rec { inherit (stdenvLinuxBoot4Pkgs) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf - attr acl; + attr acl pcre; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 153504507c2e..d9475684a25e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4960,6 +4960,7 @@ let }; pcre = callPackage ../development/libraries/pcre { + stdenv = stdenvMulti; unicodeSupport = config.pcre.unicode or true; }; From baba3cbb0af2df51921abe4f329af4ab133654b2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 15:50:21 +0200 Subject: [PATCH 21/69] Remove tabs --- .../libraries/glibc/2.17/builder.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/glibc/2.17/builder.sh b/pkgs/development/libraries/glibc/2.17/builder.sh index e68e13f9beca..b01977a33dec 100644 --- a/pkgs/development/libraries/glibc/2.17/builder.sh +++ b/pkgs/development/libraries/glibc/2.17/builder.sh @@ -19,7 +19,7 @@ postInstall() { if test -n "$installLocales"; then make -j${NIX_BUILD_CORES:-1} -l${NIX_BUILD_CORES:-1} localedata/install-locales fi - + test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been @@ -27,19 +27,19 @@ postInstall() { if test -z "$hurdHeaders"; then # Include the Linux kernel headers in Glibc, except the `scsi' # subdirectory, which Glibc provides itself. - (cd $out/include && \ - ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .) + (cd $out/include && \ + ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .) fi if test -f "$out/lib/libhurduser.so"; then - # libc.so, libhurduser.so, and libmachuser.so depend on each - # other, so add them to libc.so (a RUNPATH on libc.so.0.3 - # would be ignored by the cross-linker.) - echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..." - sed -i "$out/lib/libc.so" \ - -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g" + # libc.so, libhurduser.so, and libmachuser.so depend on each + # other, so add them to libc.so (a RUNPATH on libc.so.0.3 + # would be ignored by the cross-linker.) + echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..." + sed -i "$out/lib/libc.so" \ + -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g" fi - + # Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink # "lib64" to "lib". if test -n "$is64bit"; then From b9049bff6dae594faf5dff17b21587532693848b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 18:02:07 +0200 Subject: [PATCH 22/69] perl: Split off the manpages (7 MiB) --- pkgs/build-support/multiple-outputs.nix | 31 ++++++++++++++++--- .../interpreters/perl/5.16/default.nix | 6 +++- pkgs/top-level/all-packages.nix | 1 + 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index e72bc7fd3dbf..edf24a12511e 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (args // { configureFlags="--mandir=$man/share/man $configureFlags" '' + optionalString (elem "bin" outputs) '' - configureFlags="--bindir=$bin/bin --mandir=$bin/share/man $configureFlags" + configureFlags="--bindir=$bin/bin --sbindir=$bin/sbin --mandir=$bin/share/man $configureFlags" '' + optionalString (elem "lib" outputs) '' configureFlags="--libdir=$lib/lib $configureFlags" @@ -52,10 +52,31 @@ stdenv.mkDerivation (args // { propagatedNativeBuildInputs="$lib $propagatedNativeBuildsInputs" fi - for i in $bin $lib; do - prefix="$i" stripDirs "lib lib64 libexec bin sbin" "''${stripDebugFlags:--S}" - prefix="$i" patchELF - patchShebangs "$i" + for i in $bin $lib $man $static; do + if [ -z "$dontStrip" ]; then + prefix="$i" stripDirs "lib lib64 libexec bin sbin" "''${stripDebugFlags:--S}" + fi + if [ "$havePatchELF" = 1 -a -z "$dontPatchELF" ]; then + prefix="$i" patchELF + fi + if [ -z "$dontPatchShebangs" ]; then + patchShebangs "$i" + fi + + # Cut&paste... + if [ -z "$dontGzipMan" ]; then + GLOBIGNORE=.:..:*.gz:*.bz2 + for f in $i/share/man/*/* $i/share/man/*/*/*; do + if [ -f $f ]; then + if gzip -c $f > $f.gz; then + rm $f + else + rm $f.gz + fi + fi + done + unset GLOBIGNORE + fi done runHook postFixupOutputs diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index 288de63b4ae8..f53641c4137a 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { sha256 = "03nh8bqnjsdd5izjv3n2yfcxw4ck0llwww36jpbjbjgixwpqpy4f"; }; + outputs = [ "out" "man" ]; + + setOutputConfigureFlags = false; + patches = [ # Do not look in /usr etc. for dependencies. ./no-sys-dirs.patch @@ -44,7 +48,7 @@ stdenv.mkDerivation rec { preConfigure = '' - configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" + configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$man/share/man/man1 -Dman3dir=$man/share/man/man3" ${stdenv.lib.optionalString stdenv.isArm '' configureFlagsArray=(-Dldflags="-lm -lrt") diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d9475684a25e..cc7477950f6e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2969,6 +2969,7 @@ let perl514 = callPackage ../development/interpreters/perl/5.14 { }; perl516 = callPackage ../development/interpreters/perl/5.16 { + stdenv = stdenvMulti; fetchurl = fetchurlBoot; }; From d8231a66ebb199fd5a1876ee0a9b3e3bf64dafc0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 18:39:23 +0200 Subject: [PATCH 23/69] glibc: Split into multiple outputs This reduces the size of closures a lot by getting rid of Glibc's header files, static libraries and utilities. For instance, the closure of GNU Hello went from 41 MiB to 22 MiB. TODO: We may want to merge back in parts of Glibc that we previously split off (such as the info files). --- pkgs/build-support/gcc-wrapper/builder.sh | 5 +++-- pkgs/build-support/gcc-wrapper/default.nix | 2 ++ pkgs/build-support/gcc-wrapper/setup-hook.sh | 2 +- .../development/libraries/glibc/2.17/builder.sh | 17 +++++++++++++++-- .../libraries/glibc/2.17/default.nix | 4 +++- pkgs/development/libraries/libelf/default.nix | 16 ++++++---------- pkgs/stdenv/linux/default.nix | 2 +- pkgs/top-level/all-packages.nix | 1 + 8 files changed, 32 insertions(+), 17 deletions(-) diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh index ed7ad0a50b73..c15fd1da9c03 100644 --- a/pkgs/build-support/gcc-wrapper/builder.sh +++ b/pkgs/build-support/gcc-wrapper/builder.sh @@ -24,7 +24,7 @@ if test -z "$nativeLibc"; then # compile, because it uses "#include_next " to find the # limits.h file in ../includes-fixed. To remedy the problem, # another -idirafter is necessary to add that directory again. - echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags + echo "-B$libc/lib/ -idirafter $libc_dev/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags echo "-L$libc/lib" > $out/nix-support/libc-ldflags @@ -85,6 +85,7 @@ doSubstitute() { -e "s^@binutils@^$binutils^g" \ -e "s^@coreutils@^$coreutils^g" \ -e "s^@libc@^$libc^g" \ + -e "s^@libc_bin@^$libc_bin^g" \ -e "s^@ld@^$ldPath/ld^g" \ < "$src" > "$dst" } @@ -191,5 +192,5 @@ cp -p $utils $out/nix-support/utils.sh # tools like gcov, the manpages, etc. as well (including for binutils # and Glibc). if test -z "$nativeTools"; then - echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages + echo $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages fi diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 992c0f9af371..82167cddf2e3 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -41,6 +41,8 @@ stdenv.mkDerivation { inherit nativeTools nativeLibc nativePrefix gcc; libc = if nativeLibc then null else libc; + libc_dev = if nativeLibc then null else libc.dev or libc; + libc_bin = if nativeLibc then null else libc.bin or libc; binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; diff --git a/pkgs/build-support/gcc-wrapper/setup-hook.sh b/pkgs/build-support/gcc-wrapper/setup-hook.sh index 513ab8053a7e..26a722bac9bb 100644 --- a/pkgs/build-support/gcc-wrapper/setup-hook.sh +++ b/pkgs/build-support/gcc-wrapper/setup-hook.sh @@ -25,7 +25,7 @@ if test -n "@binutils@"; then fi if test -n "@libc@"; then - addToSearchPath PATH @libc@/bin + addToSearchPath PATH @libc_bin@/bin fi if test -n "@coreutils@"; then diff --git a/pkgs/development/libraries/glibc/2.17/builder.sh b/pkgs/development/libraries/glibc/2.17/builder.sh index b01977a33dec..f9e491868ef3 100644 --- a/pkgs/development/libraries/glibc/2.17/builder.sh +++ b/pkgs/development/libraries/glibc/2.17/builder.sh @@ -12,8 +12,10 @@ postConfigure() { export NIX_DONT_SET_RPATH=1 unset CFLAGS -} + # Apparently --bindir is not respected. + makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin") +} postInstall() { if test -n "$installLocales"; then @@ -27,7 +29,7 @@ postInstall() { if test -z "$hurdHeaders"; then # Include the Linux kernel headers in Glibc, except the `scsi' # subdirectory, which Glibc provides itself. - (cd $out/include && \ + (cd $dev/include && \ ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .) fi @@ -49,6 +51,17 @@ postInstall() { # This file, that should not remain in the glibc derivation, # may have not been created during the preInstall rm -f $out/lib/libgcc_s.so.1 + + # Put libraries for static linking in a separate output. Note + # that libc_nonshared.a and libpthread_nonshared.a are required + # for dynamically-linked applications. + mkdir -p $static/lib + mv $out/lib/*.a $static/lib + mv $static/lib/lib*_nonshared.a $out/lib + + # Work around a Nix bug: hard links across outputs cause a build failure. + cp $bin/bin/getconf $bin/bin/getconf_ + mv $bin/bin/getconf_ $bin/bin/getconf } genericBuild diff --git a/pkgs/development/libraries/glibc/2.17/default.nix b/pkgs/development/libraries/glibc/2.17/default.nix index b6d91c932db8..da2ddc7a7971 100644 --- a/pkgs/development/libraries/glibc/2.17/default.nix +++ b/pkgs/development/libraries/glibc/2.17/default.nix @@ -23,6 +23,8 @@ in builder = ./builder.sh; + outputs = [ "out" "dev" "bin" "static" ]; + # When building glibc from bootstrap-tools, we need libgcc_s at RPATH for # any program we run, because the gcc will have been placed at a new # store path than that determined when built (as a source for the @@ -93,7 +95,7 @@ in # To avoid a dependency on the build system 'bash'. preFixup = '' - rm $out/bin/{ldd,tzselect,catchsegv,xtrace} + rm $bin/bin/{ldd,tzselect,catchsegv,xtrace} ''; } else {})) diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index 40eb2a10faf5..b37bf593c033 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, gettext }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libelf-0.8.13"; src = fetchurl { @@ -10,6 +10,11 @@ stdenv.mkDerivation (rec { doCheck = true; + # Libelf's custom NLS macros fail to determine the catalog file extension on + # Darwin, so disable NLS for now. + # FIXME: Eventually make Gettext a build input on all platforms. + configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-nls"; + meta = { description = "Libelf, an ELF object file access library"; @@ -21,12 +26,3 @@ stdenv.mkDerivation (rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } - -// - -# Libelf's custom NLS macros fail to determine the catalog file extension on -# Darwin, so disable NLS for now. -# FIXME: Eventually make Gettext a build input on all platforms. -(if stdenv.isDarwin - then { configureFlags = [ "--disable-nls" ]; } - else { })) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 44f5ff6ab309..a20adb6aba2f 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -7,7 +7,7 @@ # The function defaults are for easy testing. { system ? builtins.currentSystem , allPackages ? import ../../top-level/all-packages.nix -, platform ? null, config }: +, platform ? null, config ? {} }: rec { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cc7477950f6e..0bbb81745a46 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3902,6 +3902,7 @@ let })); glibc217 = callPackage ../development/libraries/glibc/2.17 { + stdenv = stdenvMulti; kernelHeaders = linuxHeaders; installLocales = config.glibc.locales or false; machHeaders = null; From 85bdb463708b93453dac9baac88171649d91ce88 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 21:00:13 +0200 Subject: [PATCH 24/69] gcc: Fix building against the split Glibc --- pkgs/development/compilers/gcc/4.6/builder.sh | 5 ++--- pkgs/development/compilers/gcc/4.6/default.nix | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh index bdf15be5a996..e3f185296a05 100644 --- a/pkgs/development/compilers/gcc/4.6/builder.sh +++ b/pkgs/development/compilers/gcc/4.6/builder.sh @@ -29,7 +29,7 @@ if test "$noSysDirs" = "1"; then # Use *real* header files, otherwise a limits.h is generated # that does not include Glibc's limits.h (notably missing # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + export NIX_FIXINC_DUMMY=$libc_dev/include # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" @@ -170,9 +170,8 @@ preConfigure() { # Patch the configure script so it finds glibc headers. It's # important for example in order not to get libssp built, # because its functionality is in glibc already. - glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include" sed -i \ - -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ + -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$libc_dev/include", \ gcc/configure fi diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix index 6713dd12b3cd..af6e9ab0ee19 100644 --- a/pkgs/development/compilers/gcc/4.6/default.nix +++ b/pkgs/development/compilers/gcc/4.6/default.nix @@ -175,7 +175,7 @@ let version = "4.6.3"; "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; in @@ -187,13 +187,15 @@ stdenv.mkDerivation ({ builder = ./builder.sh; - src = (import ./sources.nix) { + srcs = (import ./sources.nix) { inherit fetchurl optional version; inherit langC langCC langFortran langJava langAda langGo; }; inherit patches enableMultilib; + libc_dev = stdenv.gcc.libc_dev; + postPatch = if (stdenv.isGNU || (libcCross != null # e.g., building `gcc.crossDrv' From 42c2be4c30b275a91f6be49755bb1bbe9bd98a0a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 11 Jun 2013 21:55:37 +0200 Subject: [PATCH 25/69] gcc: Get rid of a unnecessary reference to glibc-dev --- pkgs/development/compilers/gcc/4.6/builder.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh index e3f185296a05..19dfb9c1bae6 100644 --- a/pkgs/development/compilers/gcc/4.6/builder.sh +++ b/pkgs/development/compilers/gcc/4.6/builder.sh @@ -224,7 +224,7 @@ postInstall() { done # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root + rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. for i in $out/bin/*-gcc*; do From c3cbe0452a8ce4d909a8325a5abaa404a21f53f5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 14:59:39 +0200 Subject: [PATCH 26/69] patchelf: Enable "make check" --- pkgs/development/tools/misc/patchelf/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 857aa1cabcf9..65edd1a51871 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "fc7e7fa95f282fc37a591a802629e0e1ed07bc2a8bf162228d9a69dd76127c01"; }; + doCheck = true; + meta = { homepage = http://nixos.org/patchelf.html; license = "GPL"; From 2cfeca153cd9418d91c301e182caee1d3f6262e7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 16:10:54 +0200 Subject: [PATCH 27/69] openssl, cups: Fix stripping libraries --- pkgs/development/libraries/openssl/default.nix | 12 ++++-------- pkgs/misc/cups/default.nix | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 8ba7e41425b8..6a3beee80de4 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -82,6 +82,10 @@ stdenv.mkDerivation { mkdir $dev mv $out/include $dev/ + + # OpenSSL installs readonly files, which otherwise we can't strip. + # FIXME: Can remove this after the next stdenv merge. + chmod -R +w $out ''; # */ crossAttrs = { @@ -92,14 +96,6 @@ stdenv.mkDerivation { export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}" ''; - postInstall = '' - # Openssl installs readonly files, which otherwise we can't strip. - # This could at some stdenv hash change be put out of crossAttrs, too - chmod -R +w $out - - # Remove references to perl, to avoid depending on it at runtime - rm $out/bin/c_rehash $out/ssl/misc/CA.pl $out/ssl/misc/tsget - ''; configureScript = "./Configure"; }; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index d479e6e69718..be442fd22a61 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -45,6 +45,8 @@ stdenv.mkDerivation { '' mkdir $dev/bin mv $out/bin/cups-config $dev/bin/ + + chmod -R +w $out ''; meta = { From dbe432e6f4502fc7b4e290d1b3356083bd93b099 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 16:11:14 +0200 Subject: [PATCH 28/69] gcc: Put runtime libraries in a separate output GCC provides a number of libraries that are used by programs built by GCC, in particular libgcc_s.so and libstdc++.so. This caused programs that used these libraries to have a runtime dependency on all of GCC (~77 MiB). Now they only depend on the "lib" output of GCC (~1.6 MiB). With this and previous multiple-output improvements, closure sizes are reduced a lot: hello: 41 MiB -> 22 MiB patchelf: 118 MiB -> 23 MiB pan: 364 MiB -> 90 MiB --- pkgs/build-support/gcc-wrapper/builder.sh | 4 ++-- pkgs/build-support/gcc-wrapper/default.nix | 1 + pkgs/development/compilers/gcc/4.6/builder.sh | 18 ++++++++++++------ pkgs/development/compilers/gcc/4.6/default.nix | 4 ++++ pkgs/stdenv/linux/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 1 + 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh index c15fd1da9c03..b499aa612f8c 100644 --- a/pkgs/build-support/gcc-wrapper/builder.sh +++ b/pkgs/build-support/gcc-wrapper/builder.sh @@ -39,9 +39,9 @@ if test -n "$nativeTools"; then ldPath="$nativePrefix/bin" else if test -e "$gcc/lib64"; then - gccLDFlags="$gccLDFlags -L$gcc/lib64" + gccLDFlags="$gccLDFlags -L$gcc_lib/lib64" fi - gccLDFlags="$gccLDFlags -L$gcc/lib" + gccLDFlags="$gccLDFlags -L$gcc_lib/lib" if [ -n "$langVhdl" ]; then gccLDFlags="$gccLDFlags -L$zlib/lib" fi diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 82167cddf2e3..d4ba45b26f4a 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -40,6 +40,7 @@ stdenv.mkDerivation { addFlags = ./add-flags; inherit nativeTools nativeLibc nativePrefix gcc; + gcc_lib = gcc.lib or gcc; libc = if nativeLibc then null else libc; libc_dev = if nativeLibc then null else libc.dev or libc; libc_bin = if nativeLibc then null else libc.bin or libc; diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh index 19dfb9c1bae6..e207b21f4a8c 100644 --- a/pkgs/development/compilers/gcc/4.6/builder.sh +++ b/pkgs/development/compilers/gcc/4.6/builder.sh @@ -8,9 +8,10 @@ mkdir $NIX_FIXINC_DUMMY if test "$staticCompiler" = "1"; then EXTRA_LDFLAGS="-static" else - EXTRA_LDFLAGS="" + EXTRA_LDFLAGS="-Wl,-rpath,$lib/lib" fi + # GCC interprets empty paths as ".", which we don't want. if test -z "$CPATH"; then unset CPATH; fi if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi @@ -33,7 +34,7 @@ if test "$noSysDirs" = "1"; then # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" - + else # Hack: support impure environments. extraFlags="-isystem /usr/include" @@ -50,10 +51,10 @@ if test "$noSysDirs" = "1"; then # bootstrap compiler are optimized and (optionally) contain # debugging information (info "(gccinstall) Building"). if test -n "$dontStrip"; then - extraFlags="-O2 -g $extraFlags" + extraFlags="-O2 -g $extraFlags" else - # Don't pass `-g' at all; this saves space while building. - extraFlags="-O2 $extraFlags" + # Don't pass `-g' at all; this saves space while building. + extraFlags="-O2 $extraFlags" fi EXTRA_FLAGS="$extraFlags" @@ -205,6 +206,10 @@ preInstall() { postInstall() { + # Move runtime libraries to $lib. + mkdir -p $lib/lib + mv -v $out/lib/lib*.so $out/lib/lib*.so.*[0-9] $lib/lib/ + # Remove precompiled headers for now. They are very big and # probably not very useful yet. find $out/include -name "*.gch" -exec rm -rf {} \; -prune @@ -213,9 +218,10 @@ postInstall() { # previous gcc. rm -rf $out/libexec/gcc/*/*/install-tools rm -rf $out/lib/gcc/*/*/install-tools - + # More dependencies with the previous gcc or some libs (gccbug stores the build command line) rm -rf $out/bin/gccbug + # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out for i in $out/libexec/gcc/*/*/*; do if PREV_RPATH=`patchelf --print-rpath $i`; then diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix index af6e9ab0ee19..476ddaa84091 100644 --- a/pkgs/development/compilers/gcc/4.6/default.nix +++ b/pkgs/development/compilers/gcc/4.6/default.nix @@ -192,6 +192,10 @@ stdenv.mkDerivation ({ inherit langC langCC langFortran langJava langAda langGo; }; + outputs = [ "out" "lib" ]; + + setOutputConfigureFlags = false; + inherit patches enableMultilib; libc_dev = stdenv.gcc.libc_dev; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index a20adb6aba2f..8714afa0358c 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -193,9 +193,9 @@ rec { stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc; - # 6) Construct a third stdenv identical to the 2nd, except that - # this one uses the Glibc built in step 3. It still uses - # the recent binutils and rest of the bootstrap tools, including GCC. + # 6) Construct a third stdenv identical to the 2nd, except that this + # one uses the Glibc built in step 3. It still uses the recent + # binutils and the rest of the bootstrap tools, including GCC. stdenvLinuxBoot3 = stdenvBootFun { gcc = wrapGCC { binutils = stdenvLinuxBoot1Pkgs.binutils; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0bbb81745a46..1896bbcb1363 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2254,6 +2254,7 @@ let })); gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { + stdenv = stdenvMulti; inherit noSysDirs; # bootstrapping a profiled compiler does not work in the sheevaplug: From cc8db5709731eb4a253574356506805bdbf6be65 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 17:12:30 +0200 Subject: [PATCH 29/69] util-linux: Install all binaries in $bin --- pkgs/os-specific/linux/util-linux/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 8b9a87d0e6f5..84cb42693f13 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -31,6 +31,8 @@ stdenv.mkDerivation rec { ${if ncurses == null then "--without-ncurses" else ""} ''; + makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin"; + buildInputs = [ zlib pam ] ++ stdenv.lib.optional (ncurses != null) ncurses From a4a2b88f292bc7bf8cd7ed65c3842ec301b17ab1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 17:12:44 +0200 Subject: [PATCH 30/69] systemd: Use the right path to util-linux binaries --- pkgs/os-specific/linux/systemd/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 2482f808cac8..2a34600529dc 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -52,11 +52,11 @@ stdenv.mkDerivation rec { for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c; do test -e $i substituteInPlace $i \ - --replace /bin/mount ${utillinux}/bin/mount \ - --replace /bin/umount ${utillinux}/bin/umount \ - --replace /sbin/swapon ${utillinux}/sbin/swapon \ - --replace /sbin/swapoff ${utillinux}/sbin/swapoff \ - --replace /sbin/fsck ${utillinux}/sbin/fsck \ + --replace /bin/mount ${utillinux.bin}/bin/mount \ + --replace /bin/umount ${utillinux.bin}/bin/umount \ + --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \ + --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \ + --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \ --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ --replace /sbin/sulogin ${sysvtools}/sbin/sulogin From 8a1d96ec4d7177a1a68a9d68fa4f37781d791370 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 17:16:51 +0200 Subject: [PATCH 31/69] Put info files in the man output --- pkgs/build-support/multiple-outputs.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/multiple-outputs.nix b/pkgs/build-support/multiple-outputs.nix index edf24a12511e..016558c1e739 100644 --- a/pkgs/build-support/multiple-outputs.nix +++ b/pkgs/build-support/multiple-outputs.nix @@ -11,10 +11,10 @@ stdenv.mkDerivation (args // { preHook = if setOutputConfigureFlags then optionalString (elem "man" outputs) '' - configureFlags="--mandir=$man/share/man $configureFlags" + configureFlags="--mandir=$man/share/man --infodir=$man/share/info $configureFlags" '' + optionalString (elem "bin" outputs) '' - configureFlags="--bindir=$bin/bin --sbindir=$bin/sbin --mandir=$bin/share/man $configureFlags" + configureFlags="--bindir=$bin/bin --sbindir=$bin/sbin --mandir=$bin/share/man --infodir=$man/share/info $configureFlags" '' + optionalString (elem "lib" outputs) '' configureFlags="--libdir=$lib/lib $configureFlags" From f9523bf1e859fc595d4f2800696786df8ea20ee4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 12 Jun 2013 21:03:21 +0200 Subject: [PATCH 32/69] gcc: Put *.la files in $lib/lib as well Otherwise libtool gets confused. --- pkgs/development/compilers/gcc/4.6/builder.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh index e207b21f4a8c..6aa0ae440c8b 100644 --- a/pkgs/development/compilers/gcc/4.6/builder.sh +++ b/pkgs/development/compilers/gcc/4.6/builder.sh @@ -208,7 +208,11 @@ preInstall() { postInstall() { # Move runtime libraries to $lib. mkdir -p $lib/lib - mv -v $out/lib/lib*.so $out/lib/lib*.so.*[0-9] $lib/lib/ + ln -s lib $lib/lib64 + mv -v $out/lib/lib*.so $out/lib/lib*.so.*[0-9] $out/lib/*.la $lib/lib/ + for i in $lib/lib/*.la; do + substituteInPlace $i --replace $out $lib + done # Remove precompiled headers for now. They are very big and # probably not very useful yet. From edff23e5916561898e09414cc8787fc639327f50 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 11:32:55 +0200 Subject: [PATCH 33/69] apr: Split into multiple outputs This is important because apr stores a copy of libtool, which in turn contains a reference to GCC. --- pkgs/development/libraries/apr-util/default.nix | 4 +++- pkgs/development/libraries/apr/default.nix | 16 ++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix index 5f6291127e93..de5c64a06a16 100644 --- a/pkgs/development/libraries/apr-util/default.nix +++ b/pkgs/development/libraries/apr-util/default.nix @@ -19,11 +19,13 @@ stdenv.mkDerivation rec { configureFlags = '' --with-apr=${apr} --with-expat=${expat} --with-crypto - ${stdenv.lib.optionalString sslSupport "--with-openssl=${openssl}"} + ${stdenv.lib.optionalString sslSupport "--with-openssl"} ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db4}"} ${stdenv.lib.optionalString ldapSupport "--with-ldap"} ''; + buildInputs = stdenv.lib.optional sslSupport openssl; + propagatedBuildInputs = stdenv.lib.optional ldapSupport openldap; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix index 07a565596bbc..0a83741635e8 100644 --- a/pkgs/development/libraries/apr/default.nix +++ b/pkgs/development/libraries/apr/default.nix @@ -14,6 +14,13 @@ stdenv.mkDerivation rec { patches = optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ]; + outputs = [ "dev" "out" ]; + + preConfigure = + '' + configureFlagsArray+=("--with-installbuilddir=$dev/share/build") + ''; + configureFlags = # Don't use accept4 because it's only supported on Linux >= 2.6.28. [ "apr_cv_accept4=no" ] @@ -21,6 +28,15 @@ stdenv.mkDerivation rec { # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 ++ stdenv.lib.optional (stdenv.system == "i686-cygwin") "ac_cv_header_windows_h=no"; + enableParallelBuilding = true; + + postInstall = + '' + mkdir $dev/bin $dev/lib + mv $out/bin/apr-1-config $dev/bin + mv $out/lib/pkgconfig $dev/lib + ''; + meta = { homepage = http://apr.apache.org/; description = "The Apache Portable Runtime library"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1896bbcb1363..5ef4d6761ea8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3544,7 +3544,9 @@ let amrwb = callPackage ../development/libraries/amrwb { }; - apr = callPackage ../development/libraries/apr { }; + apr = callPackage ../development/libraries/apr { + stdenv = stdenvMulti; + }; aprutil = callPackage ../development/libraries/apr-util { bdbSupport = true; From cc61d31902d67b94333f53a5ab5772330bbc21cc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 11:57:17 +0200 Subject: [PATCH 34/69] apache-httpd: Use multiple outputs --- pkgs/servers/http/apache-httpd/2.2.nix | 14 ++++++++++++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index ba0bde633584..a904cae56b19 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { sha1 = "f73bce14832ec40c1aae68f4f8c367cab2266241"; }; + outputs = [ "dev" "out" "doc" ]; + buildInputs = [perl apr aprutil pcre] ++ stdenv.lib.optional sslSupport openssl; @@ -42,11 +44,19 @@ stdenv.mkDerivation rec { --with-mpm=${mpm} ''; + preConfigure = + '' + makeFlagsArray+=("installbuilddir=$dev/share/build") + ''; + enableParallelBuilding = true; + stripDebugList = "lib modules bin"; + postInstall = '' - echo "removing manual" - rm -rf $out/manual + mkdir -p $doc/share/doc/httpd + mv $out/manual $doc/share/doc/httpd + mkdir -p $out/share # FIXME, hack ''; passthru = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ef4d6761ea8..86c5c63a0ccb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5621,6 +5621,7 @@ let apacheHttpd = pkgs.apacheHttpd_2_2; apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { + stdenv = stdenvMulti; sslSupport = true; }; From 15bd0f4beb1eb6e609bd365893289d3a163a4ef2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Jun 2013 13:34:55 +0200 Subject: [PATCH 35/69] systemd: Put libudev in a separate output This way, packages that need libudev (like Mesa) don't pull in all of systemd as a runtime dependency. --- pkgs/os-specific/linux/systemd/default.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index e7184aa27b96..05257aa3e0a9 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "07gvn3rpski8sh1nz16npjf2bvj0spsjdwc5px9685g2pi6kxcb1"; }; + outputs = [ "out" "man" "libudev" ]; + patches = [ ./0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch ./0002-Ignore-duplicate-paths-in-systemctl-start.patch @@ -65,6 +67,8 @@ stdenv.mkDerivation rec { substituteInPlace src/journal/catalog.c \ --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ + + export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib" ''; PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python @@ -114,6 +118,20 @@ stdenv.mkDerivation rec { done rm -rf $out/etc/rpm + + # Move libudev to a separate output. + mkdir -p $libudev/lib/pkgconfig $libudev/include + mv $out/lib/libudev* $libudev/lib/ + mv $out/lib/pkgconfig/libudev*.pc $libudev/lib/pkgconfig/ + mv $out/include/libudev.h $libudev/include/ + + for i in $libudev/lib/*.la $libudev/lib/pkgconfig/*.pc; do + substituteInPlace $i --replace $out $libudev + done + + # FIXME: move into stdenv + prefix="$libudev" patchELF + prefix="$libudev" stripDirs "lib" "''${stripDebugFlags:--S}" ''; # */ enableParallelBuilding = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da5334935202..ad02fbf77ae9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6637,7 +6637,9 @@ let sysstat = callPackage ../os-specific/linux/sysstat { }; - systemd = callPackage ../os-specific/linux/systemd { }; + systemd = callPackage ../os-specific/linux/systemd { + stdenv = stdenvMulti; + }; sysvinit = callPackage ../os-specific/linux/sysvinit { }; @@ -6679,7 +6681,8 @@ let }); udev145 = callPackage ../os-specific/linux/udev/145.nix { }; - udev = pkgs.systemd; + + udev = pkgs.systemd.libudev; udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { }; From b2ef0fe15587c18667b9101408e081c4643975ee Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Jun 2013 14:26:36 +0200 Subject: [PATCH 36/69] mesa: Don't propagate build inputs It's generally undesirable because it causes unnecessary runtime dependencies. --- pkgs/development/libraries/mesa/default.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index de130d465c2e..537f4dc61555 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -81,17 +81,13 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig python makedepend file flex bison ]; - propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ] - ++ - stdenv.lib.optionals stdenv.isLinux [libdrm] - ; - buildInputs = with xorg; [ - autoconf automake libtool intltool expat libxml2Python llvm - libXfixes glproto dri2proto libX11 libXext libxcb libXt - libffi wayland - ] ++ stdenv.lib.optionals enableExtraFeatures [ /*libXvMC*/ libvdpau ] - ++ stdenv.lib.optional stdenv.isLinux [udev] - ; + buildInputs = with xorg; + [ autoconf automake libtool intltool expat libxml2Python llvm + libXfixes glproto dri2proto libX11 libXext libxcb libXt libXdamage libXxf86vm + libffi wayland + ] + ++ stdenv.lib.optionals enableExtraFeatures [ /*libXvMC*/ libvdpau ] + ++ stdenv.lib.optional stdenv.isLinux [ libdrm udev ]; enableParallelBuilding = true; doCheck = true; From cab211de88a977aff9f84528f9629473b3660c53 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Jun 2013 14:27:12 +0200 Subject: [PATCH 37/69] xorg: Split some more packages --- pkgs/servers/x11/xorg/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 18a24100851c..1cf16ffa7dcd 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -632,23 +632,25 @@ let buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; })) // {inherit compositeproto libX11 libXfixes xproto ;}; - libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { + libXcursor = (stdenvMulti.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { name = "libXcursor-1.1.14"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2; sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; - libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { + libXdamage = (stdenvMulti.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { name = "libXdamage-1.1.3"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2; sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw"; }; + outputs = [ "dev" "out" ]; buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; @@ -850,13 +852,14 @@ let buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ]; })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; - libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { + libXxf86vm = (stdenvMulti.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { name = "libXxf86vm-1.1.3"; builder = ./builder.sh; src = fetchurl { url = mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2; sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns"; }; + outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ]; })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; From bb990d8ad7958861276335d51f40c184874b8a1a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Jun 2013 14:46:53 +0200 Subject: [PATCH 38/69] libjpeg-turbo: Split --- pkgs/development/libraries/libjpeg-turbo/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index a4aa1cf44b41..e745aaefcf4c 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -8,8 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0d0jwdmj3h89bxdxlwrys2mw18mqcj4rzgb5l2ndpah8zj600mr6"; }; + outputs = [ "dev" "out" "doc" "bin" ]; + buildInputs = [ nasm ]; + enableParallelBuilding = true; + doCheck = true; checkTarget = "test"; From 9555f3ba068f2deeb433ac7989775f8e2c3494a1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Jun 2013 15:00:51 +0200 Subject: [PATCH 39/69] Fix Hydra evaluation --- pkgs/top-level/release-small.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 7743f4d0d27c..3d69fc25ee09 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -9,7 +9,7 @@ nixpkgs "{outPath = ./}" .... release.nix Hydra can be installed with "nix-env -i hydra". */ -with (import ./release-lib.nix); +with import ./release-lib.nix { supportedSystems = [ "x86_64-linux" ]; }; { From 10de0529b40016b1532522080a7c1071fab04281 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 21 Aug 2013 17:10:39 +0200 Subject: [PATCH 40/69] Oops --- pkgs/misc/cups/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 92207bd46bc7..471fbcdc4645 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl -, dbus, libusb, acl }: +, dbus, libusb1, acl }: let version = "1.5.4"; in From b002fd9cf39733a0b8c11e6f7f866570df76ce08 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 15 Jun 2013 08:08:50 +0200 Subject: [PATCH 41/69] module_init_tools: fix "insmod.static cannot find -lc" :multiple-outputs: --- pkgs/os-specific/linux/module-init-tools/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix index 240150b09ddb..66bd2dc30aaf 100644 --- a/pkgs/os-specific/linux/module-init-tools/default.nix +++ b/pkgs/os-specific/linux/module-init-tools/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { }) ]; + buildInputs = [ stdenv.glibc.dev stdenv.glibc.static ]; + SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat"; patches = [ ./module-dir.patch ./docbook2man.patch ]; From 1f7ddbdb82ad98b11408e47c0fe8225223b85c5c Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 15 Jun 2013 18:41:16 +0200 Subject: [PATCH 42/69] glibc-locales: setup prefix-path differently :multiple-outputs: --- pkgs/development/libraries/glibc/2.17/locales.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glibc/2.17/locales.nix b/pkgs/development/libraries/glibc/2.17/locales.nix index b7eae50ca385..a0d3d6dbee41 100644 --- a/pkgs/development/libraries/glibc/2.17/locales.nix +++ b/pkgs/development/libraries/glibc/2.17/locales.nix @@ -25,7 +25,7 @@ in # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive. buildPhase = '' - mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale" + mkdir -p $TMPDIR/"${stdenv.gcc.libc}/lib/locale" # Hack to allow building of the locales (needed since glibc-2.12) sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \ From 73688ec63b91014ca01bb2a1ec7886cc560fb4d1 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 15 Jun 2013 19:36:16 +0200 Subject: [PATCH 43/69] glib doesn't produce doc output (check later) --- pkgs/development/libraries/glib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 1c08bef1413d..ded7174a3066 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { sha256 = "090bw5par3dfy5m6dhq393pmy92zpw3d7rgbzqjc14jfg637bqvx"; }; - outputs = [ "dev" "out" "bin" "doc" ]; + outputs = [ "dev" "out" "bin" ]; # configure script looks for d-bus but it is only needed for tests buildInputs = [ libelf ] ++ libintlOrEmpty; From 13cae540c838adbc0df331349d25c62a5cd77ce4 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 15 Jun 2013 07:46:44 +0200 Subject: [PATCH 44/69] perl/ssleay: fix openssl prefix This is quite ugly, but I found no other way. :multiple-outputs: --- pkgs/top-level/perl-packages.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f7d316a75148..c26c6f6fbc79 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5231,8 +5231,14 @@ rec { sha256 = "1fkpdlpg99rdq2vlm6bgmqc8iazhcrfzvbpwxnn20k0viwpy7v28"; }; buildInputs = [ pkgs.openssl ]; - OPENSSL_PREFIX = pkgs.openssl; doCheck = false; # Test performs network access. + preConfigure = '' + mkdir openssl + ln -s ${pkgs.openssl.out}/lib openssl + ln -s ${pkgs.openssl.bin}/bin openssl + ln -s ${pkgs.openssl.dev}/include openssl + export OPENSSL_PREFIX=$(realpath openssl) + ''; meta = { description = "Perl extension for using OpenSSL"; license = "SSLeay"; From 4b6d254ed76df1224aab55c7095676445edf1e2a Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 15 Jun 2013 23:59:48 +0200 Subject: [PATCH 45/69] nodejs: explicitly put openssl in buildInputs the linker won't find it otherwise :multiple-outputs: --- pkgs/development/web/nodejs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 6660cccc6fbf..0c51ca22b64a 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -42,9 +42,9 @@ in stdenv.mkDerivation { (cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch}) '' else null; - buildInputs = [ python ] + buildInputs = [ python openssl ] ++ (optional stdenv.isLinux utillinux) - ++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ]; + ++ optionals stdenv.isDarwin [ pkgconfig dtrace ]; setupHook = ./setup-hook.sh; meta = { From 34bd1110b17752cb7015d46fd9d55248ab303680 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sun, 16 Jun 2013 00:35:36 +0200 Subject: [PATCH 46/69] ppp: fix purity patch on :multiple-outputs: --- pkgs/tools/networking/ppp/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix index 6f6f2a0da554..8f1cf29e5195 100644 --- a/pkgs/tools/networking/ppp/default.nix +++ b/pkgs/tools/networking/ppp/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { [ ( substituteAll { src = ./nix-purity.patch; inherit libpcap; - glibc = stdenv.gcc.libc; + glibc = stdenv.gcc.libc.dev; }) ./nonpriv.patch ]; From e930c3a660dad491630dd9e970f21f6041637cee Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sun, 16 Jun 2013 01:31:34 +0200 Subject: [PATCH 47/69] texlive: fix dependency on libX11 (perhaps fix libX11?) --- pkgs/tools/typesetting/tex/texlive/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index aac8da784b3d..fc987d3946ab 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -84,7 +84,7 @@ rec { '') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"]; buildInputs = [ - zlib bzip2 ncurses libpng flex bison libX11 libICE + zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext xextproto perl libSM ruby expat curl libjpeg python fontconfig xz From 32d823d3d0b1b06765d288fb7da8402956052509 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 21 Aug 2013 17:44:43 +0200 Subject: [PATCH 48/69] Revert "glib doesn't produce doc output (check later)" This reverts commit 73688ec63b91014ca01bb2a1ec7886cc560fb4d1 since glib does have doc output. --- pkgs/development/libraries/glib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index ded7174a3066..1c08bef1413d 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { sha256 = "090bw5par3dfy5m6dhq393pmy92zpw3d7rgbzqjc14jfg637bqvx"; }; - outputs = [ "dev" "out" "bin" ]; + outputs = [ "dev" "out" "bin" "doc" ]; # configure script looks for d-bus but it is only needed for tests buildInputs = [ libelf ] ++ libintlOrEmpty; From 6ced9298c75b3f06350ab9a14109238ca3d1447f Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Thu, 22 Aug 2013 08:24:13 +0200 Subject: [PATCH 49/69] cups: keep versioning in all-packages.nix, as it is in master --- pkgs/misc/cups/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 471fbcdc4645..922c59f37c04 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl -, dbus, libusb1, acl }: +, dbus, libusb, acl }: let version = "1.5.4"; in @@ -16,7 +16,7 @@ stdenv.mkDerivation { # FIXME: Split off the cups client library. outputs = [ "dev" "out" "doc" "man" ]; - buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb1 ] + buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ] ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ; propagatedBuildInputs = [ openssl ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1ad8731a7c1f..d8ea5a963bbd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9630,6 +9630,7 @@ let cups = callPackage ../misc/cups { stdenv = stdenvMulti; + libusb = libusb1; }; cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; From 423705080e0233e0e1411373423bc7ac27953a3f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 11:50:44 +0200 Subject: [PATCH 50/69] Integrate multiple output support into stdenv's setup.sh Also, apply certain fixup actions (such as stripping) to all outputs rather than just $out. This is done in the new function fixupPrefix. --- pkgs/stdenv/generic/setup.sh | 108 +++++++++++++++++++++++++++-------- 1 file changed, 84 insertions(+), 24 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index a474b6a8eaf1..9800e1fc28f9 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -576,6 +576,32 @@ configurePhase() { fi if [ -z "$dontAddPrefix" ]; then + local _man="$man" + + # Put programs in the "bin" output. + if [ -n "$bin" ]; then + configureFlags="--bindir=$bin/bin --sbindir=$bin/sbin $configureFlags" + _man="${_man:-$bin}" + fi + + # Put man and info pages in the "man" output if it exists, + # otherwise in the "bin" output. + if [ -n "$_man" ]; then + configureFlags="--mandir=$_man/share/man --infodir=$_man/share/info $configureFlags" + fi + + # Put libraries in the "lib" output. + if [ -n "$lib" ]; then + configureFlags="--libdir=$lib/lib $configureFlags" + fi + + # Put development stuff (headers, pkg-config files, etc.) in + # the "dev" output. + if [ -n "$dev" ]; then + configureFlags="--includedir=$dev/include $configureFlags" + installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags" + fi + configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" fi @@ -687,7 +713,63 @@ installPhase() { fixupPhase() { runHook preFixup - # Put man/doc/info under $out/share. + # Move $out/share{doc,gtk-doc} to the "doc" output, if defined. + if [ -n "$doc" -a "${autoMoveDocs-1}" ]; then + for i in share/doc share/gtk-doc; do + if [ -e $out/$i ]; then + mkdir -p $doc/$i + mv $out/$i/* $doc/$i/ + rmdir $out/$i + fi + done + [ -d $out/share ] && rmdir --ignore-fail-on-non-empty $out/share + fi + + # Apply fixup to each output. + local output + for output in $outputs; do + fixupPrefix ${!output} + done + + # If we have a "dev" output, propagate the other default outputs + # from it. That way, including a "dev" output in buildInputs also + # gets you the other outputs. + if [ -n "$dev" ]; then + propagatedNativeBuildInputs="$(echo $out $lib $bin $propagatedNativeBuildInputs)" + fi + + # Write the propagated build inputs to "dev" if it exists, "out" + # otherwise. + local _dev="${dev:-$out}" + + if [ -n "$propagatedBuildInputs" ]; then + mkdir -p "$_dev/nix-support" + echo "$propagatedBuildInputs" > "$_dev/nix-support/propagated-build-inputs" + fi + + if [ -n "$propagatedNativeBuildInputs" ]; then + mkdir -p "$_dev/nix-support" + echo "$propagatedNativeBuildInputs" > "$_dev/nix-support/propagated-native-build-inputs" + fi + + if [ -n "$propagatedUserEnvPkgs" ]; then + mkdir -p "$out/nix-support" + echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages" + fi + + if [ -n "$setupHook" ]; then + mkdir -p "$out/nix-support" + substituteAll "$setupHook" "$out/nix-support/setup-hook" + fi + + runHook postFixup +} + + +fixupPrefix() { + local prefix="$1" + + # Put man/doc/info under share/. forceShare=${forceShare:=man doc info} if [ -n "$forceShare" ]; then for d in $forceShare; do @@ -708,7 +790,7 @@ fixupPhase() { if [ -z "$dontGzipMan" ]; then GLOBIGNORE=.:..:*.gz:*.bz2 - for f in $out/share/man/*/* $out/share/man/*/*/*; do + for f in $prefix/share/man/*/* $prefix/share/man/*/*/*; do if [ -f $f ]; then if gzip -c $f > $f.gz; then rm $f @@ -740,28 +822,6 @@ fixupPhase() { if [ -z "$dontPatchShebangs" ]; then patchShebangs "$prefix" fi - - if [ -n "$propagatedBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" - fi - - if [ -n "$propagatedNativeBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" - fi - - if [ -n "$propagatedUserEnvPkgs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages" - fi - - if [ -n "$setupHook" ]; then - mkdir -p "$out/nix-support" - substituteAll "$setupHook" "$out/nix-support/setup-hook" - fi - - runHook postFixup } From bfa20c96ccae60a8b1c1f622cc85fbfe66b2b33f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 11:55:29 +0200 Subject: [PATCH 51/69] Put setup hooks in the dev output if it exists --- pkgs/stdenv/generic/setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 9800e1fc28f9..cee63ae8fa88 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -758,8 +758,8 @@ fixupPhase() { fi if [ -n "$setupHook" ]; then - mkdir -p "$out/nix-support" - substituteAll "$setupHook" "$out/nix-support/setup-hook" + mkdir -p "$_dev/nix-support" + substituteAll "$setupHook" "$_dev/nix-support/setup-hook" fi runHook postFixup From b40a562c9c0b7898aab393d50c51a16769bb1f68 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 16:18:45 +0200 Subject: [PATCH 52/69] Provide a function "stripDir" to strip a single directory tree --- pkgs/stdenv/generic/setup.sh | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index cee63ae8fa88..331ec8dc5dcd 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -275,26 +275,31 @@ export NIX_BUILD_CORES # Misc. helper functions. -stripDirs() { - local dirs="$1" +stripDir() { + local dir="$1" local stripFlags="$2" - local dirsNew= - for d in ${dirs}; do - if [ -d "$prefix/$d" ]; then - dirsNew="${dirsNew} $prefix/$d " - fi - done - dirs=${dirsNew} - - if [ -n "${dirs}" ]; then - header "stripping (with flags $stripFlags) in $dirs" - find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true + if [ -e "$dir" ]; then + header "stripping (with flags $stripFlags) in $dir" + find "$dir" -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true stopNest fi } +stripDirs() { + local prefix="$1" + local subdirs="$2" + local stripFlags="$3" + + for d in $subdirs; do + if [ -d "$prefix/$d" ]; then + stripDir "$prefix/$d" "$stripFlags" + fi + done +} + + ###################################################################### # Textual substitution functions. @@ -806,12 +811,12 @@ fixupPrefix() { if [ -z "$dontStrip" ]; then stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin} if [ -n "$stripDebugList" ]; then - stripDirs "$stripDebugList" "${stripDebugFlags:--S}" + stripDirs "$prefix" "$stripDebugList" "${stripDebugFlags:--S}" fi stripAllList=${stripAllList:-} if [ -n "$stripAllList" ]; then - stripDirs "$stripAllList" "${stripAllFlags:--s}" + stripDirs "$prefix" "$stripAllList" "${stripAllFlags:--s}" fi fi From ae6af5c03c79cd8f707d61e0b33c60fa3713c907 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 16:19:16 +0200 Subject: [PATCH 53/69] fixupPrefix: Ignore missing outputs --- pkgs/stdenv/generic/setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 331ec8dc5dcd..deb18ed93213 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -774,6 +774,8 @@ fixupPhase() { fixupPrefix() { local prefix="$1" + if ! [ -d "$prefix" ]; then return; fi + # Put man/doc/info under share/. forceShare=${forceShare:=man doc info} if [ -n "$forceShare" ]; then From 1d11c1dc48a3849f447350681ebba9d8cb97b979 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 16:19:28 +0200 Subject: [PATCH 54/69] fixupPrefix: Make the prefix writable first This ensures that strip and other commands work correctly (since sometimes the install phase will make the installed files read-only). --- pkgs/stdenv/generic/setup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index deb18ed93213..27c1d37df25f 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -776,6 +776,9 @@ fixupPrefix() { if ! [ -d "$prefix" ]; then return; fi + # Make sure everything is writable so "strip" et al. work. + chmod -R u+w "$prefix" + # Put man/doc/info under share/. forceShare=${forceShare:=man doc info} if [ -n "$forceShare" ]; then From 0c8372d9c7374eafc035718749d81b8e8317f62e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 16:54:26 +0200 Subject: [PATCH 55/69] Respect the setOutputConfigureFlags attribute If this attribute is set to true (default), then setup.sh will add configure flags for multiple output support, such as --includedir. --- pkgs/stdenv/generic/setup.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 27c1d37df25f..0c1e3e736800 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -580,7 +580,7 @@ configurePhase() { done fi - if [ -z "$dontAddPrefix" ]; then + if [ -n "${setOutputConfigureFlags-1}" ]; then local _man="$man" # Put programs in the "bin" output. @@ -606,7 +606,9 @@ configurePhase() { configureFlags="--includedir=$dev/include $configureFlags" installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags" fi + fi + if [ -z "$dontAddPrefix" ]; then configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" fi From 719f100491711d39fb805f5a7c410a84753f6e14 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 18:02:19 +0200 Subject: [PATCH 56/69] Don't assume that there is an "out" output --- pkgs/stdenv/generic/setup.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 0c1e3e736800..c2475d06013e 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -236,11 +236,11 @@ export TZ=UTC # for instance if we just want to perform a test build/install to a # temporary location and write a build report to $out. if [ -z "$prefix" ]; then - prefix="$out"; + prefix="$out" fi if [ "$useTempPrefix" = 1 ]; then - prefix="$NIX_BUILD_TOP/tmp_prefix"; + prefix="$NIX_BUILD_TOP/tmp_prefix" fi @@ -608,7 +608,7 @@ configurePhase() { fi fi - if [ -z "$dontAddPrefix" ]; then + if [ -z "$dontAddPrefix" -a -n "$prefix" ]; then configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" fi @@ -702,7 +702,9 @@ patchShebangs() { installPhase() { runHook preInstall - mkdir -p "$prefix" + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi installTargets=${installTargets:-install} echo "install flags: $installTargets $makeFlags ${makeFlagsArray[@]} $installFlags ${installFlagsArray[@]}" @@ -721,7 +723,7 @@ fixupPhase() { runHook preFixup # Move $out/share{doc,gtk-doc} to the "doc" output, if defined. - if [ -n "$doc" -a "${autoMoveDocs-1}" ]; then + if [ -n "$doc" -a -n "$out" -a "${autoMoveDocs-1}" ]; then for i in share/doc share/gtk-doc; do if [ -e $out/$i ]; then mkdir -p $doc/$i From 45a74943b1d039a672cc2cae65393d4073a52ad1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 18:07:16 +0200 Subject: [PATCH 57/69] patchELF: Accept a directory argument --- pkgs/stdenv/generic/setup.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index c2475d06013e..672d8dce9970 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -666,14 +666,15 @@ checkPhase() { patchELF() { # Patch all ELF executables and shared libraries. - header "patching ELF executables and libraries" - if [ -e "$prefix" ]; then - find "$prefix" \( \ + local dir="$1" + if [ -e "$dir" ]; then + header "patching ELF executables and libraries in $dir" + find "$dir" \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm +0100 \) \ \) -print -exec patchelf --shrink-rpath {} \; + stopNest fi - stopNest } @@ -682,8 +683,8 @@ patchShebangs() { # specified directory tree to paths found in $PATH. E.g., # /bin/sh will be rewritten to /nix/store/-some-bash/bin/sh. # Interpreters that are already in the store are left untouched. - header "patching script interpreter paths" local dir="$1" + header "patching script interpreter paths in $dir" local f for f in $(find "$dir" -type f -perm +0100); do local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f") From 39ca48fb9a800542889dbd85c84c24ecd4bb294f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 18:08:11 +0200 Subject: [PATCH 58/69] Remove redundant "building /nix/store/..." message Nix already says that, so no need to repeat it. --- pkgs/stdenv/generic/setup.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 672d8dce9970..57f2d6081a16 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -888,8 +888,6 @@ showPhaseHeader() { genericBuild() { - header "building $out" - if [ -n "$buildCommand" ]; then eval "$buildCommand" return @@ -933,8 +931,6 @@ genericBuild() { stopNest done - - stopNest } From f851584ea6016d089ddc7124c2e20d6f37cb4534 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Aug 2013 21:13:55 +0200 Subject: [PATCH 59/69] fixupPhase: Handle the case where "outputs" is not set --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 57f2d6081a16..30ca0e125a38 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -737,7 +737,7 @@ fixupPhase() { # Apply fixup to each output. local output - for output in $outputs; do + for output in ${outputs:-out}; do fixupPrefix ${!output} done From 4a3ababb7415d219c41dd6445582611663da1677 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 23 Aug 2013 09:54:18 +0200 Subject: [PATCH 60/69] libdrm: Use multiple outputs --- pkgs/development/libraries/libdrm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index e411e599dc54..20de41af68bb 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1qbnpi64hyqzd650hj6jki1d50pzypdhj3rw9m3whwbqly110rz0"; }; + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libpthreadstubs libpciaccess ] ++ stdenv.lib.optional stdenv.isLinux udev; From c64a1332ec5f8eef9c443701900d367e4587919e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 23 Aug 2013 09:54:38 +0200 Subject: [PATCH 61/69] libpng: Use multiple outputs --- pkgs/development/libraries/libpng/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index c537ce55cf27..f40028f89c0d 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -9,7 +9,7 @@ let whenPatched = stdenv.lib.optionalString apngSupport; sha256 = "0fy7p197ilr9phwqqk9h91s1mc28r6gj0w2ilrw5liagi71z75j1"; }; -in stdenv.mkDerivation (rec { +in stdenv.mkDerivation rec { name = "libpng" + whenPatched "-apng" + "-${version}"; src = fetchurl { @@ -17,6 +17,14 @@ in stdenv.mkDerivation (rec { sha256 = "1pljkqjqgyz8c32w8fipd9f0v2gcyhah2ypp0h7ya1r1q85sk5qw"; }; + outputs = [ "dev" "out" "man" ]; + + preConfigure = "export bin=$dev"; + + postPatch = stdenv.lib.optionalString apngSupport '' + gunzip < ${patch_src} | patch -Np1 + ''; + propagatedBuildInputs = [ zlib ]; doCheck = true; @@ -29,10 +37,4 @@ in stdenv.mkDerivation (rec { license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt platforms = stdenv.lib.platforms.all; }; -} // stdenv.lib.optionalAttrs apngSupport { - - postPatch = '' - gunzip < ${patch_src} | patch -Np1 - ''; - -}) +} \ No newline at end of file From 7c8518c194af83d9245b259984fea45e39f05e41 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 23 Aug 2013 09:55:51 +0200 Subject: [PATCH 62/69] Cleanup --- .../tools/build-managers/cmake/default.nix | 2 +- pkgs/misc/cups/default.nix | 2 - pkgs/os-specific/linux/libcap/default.nix | 6 +- pkgs/os-specific/linux/systemd/default.nix | 4 - pkgs/servers/x11/xorg/default.nix | 30 ++--- pkgs/top-level/all-packages.nix | 106 ++++-------------- 6 files changed, 43 insertions(+), 107 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index d66149a95096..640aa6c2d67d 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ++ optional useQt4 qt4; CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; - + configureFlags = "--docdir=/share/doc/${name} --mandir=/share/man --system-libs" + stdenv.lib.optionalString useQt4 " --qt-gui"; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 922c59f37c04..db6acb4cd0d7 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -45,8 +45,6 @@ stdenv.mkDerivation { '' mkdir $dev/bin mv $out/bin/cups-config $dev/bin/ - - chmod -R +w $out ''; meta = { diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix index 92f15c1ade3d..e82214df634a 100644 --- a/pkgs/os-specific/linux/libcap/default.nix +++ b/pkgs/os-specific/linux/libcap/default.nix @@ -5,12 +5,14 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { name = "libcap-${version}"; version = "2.22"; - + src = fetchurl { url = "mirror://gentoo/distfiles/${name}.tar.bz2"; sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk"; }; - + + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ perl ]; propagatedBuildInputs = [ attr ]; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 05257aa3e0a9..4f0157e48ca5 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -128,10 +128,6 @@ stdenv.mkDerivation rec { for i in $libudev/lib/*.la $libudev/lib/pkgconfig/*.pc; do substituteInPlace $i --replace $out $libudev done - - # FIXME: move into stdenv - prefix="$libudev" patchELF - prefix="$libudev" stripDirs "lib" "''${stripDebugFlags:--S}" ''; # */ enableParallelBuilding = true; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 1cf16ffa7dcd..d3cb02f704ef 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -579,7 +579,7 @@ let buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ]; })) // {inherit windowswmproto libX11 libXext xextproto ;}; - libX11 = (stdenvMulti.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { + libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { name = "libX11-1.6.0"; builder = ./builder.sh; src = fetchurl { @@ -600,7 +600,7 @@ let buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ]; })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; - libXau = (stdenvMulti.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { + libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { name = "libXau-1.0.7"; builder = ./builder.sh; src = fetchurl { @@ -621,7 +621,7 @@ let buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; - libXcomposite = (stdenvMulti.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { + libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { name = "libXcomposite-0.4.3"; builder = ./builder.sh; src = fetchurl { @@ -632,7 +632,7 @@ let buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; })) // {inherit compositeproto libX11 libXfixes xproto ;}; - libXcursor = (stdenvMulti.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { + libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { name = "libXcursor-1.1.14"; builder = ./builder.sh; src = fetchurl { @@ -643,7 +643,7 @@ let buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; - libXdamage = (stdenvMulti.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { + libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { name = "libXdamage-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -654,7 +654,7 @@ let buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; - libXdmcp = (stdenvMulti.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { + libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { name = "libXdmcp-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -665,7 +665,7 @@ let buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; - libXext = (stdenvMulti.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { + libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { name = "libXext-1.3.2"; builder = ./builder.sh; src = fetchurl { @@ -676,7 +676,7 @@ let buildInputs = [pkgconfig libX11 xextproto xproto ]; })) // {inherit libX11 xextproto xproto ;}; - libXfixes = (stdenvMulti.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { + libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { name = "libXfixes-5.0.1"; builder = ./builder.sh; src = fetchurl { @@ -697,7 +697,7 @@ let buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; - libXft = (stdenvMulti.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { + libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { name = "libXft-2.3.1"; builder = ./builder.sh; src = fetchurl { @@ -708,7 +708,7 @@ let buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ]; })) // {inherit fontconfig freetype libX11 xproto libXrender ;}; - libXi = (stdenvMulti.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { + libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { name = "libXi-1.7.1"; builder = ./builder.sh; src = fetchurl { @@ -719,7 +719,7 @@ let buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ]; })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; - libXinerama = (stdenvMulti.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { + libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { name = "libXinerama-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -760,7 +760,7 @@ let buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; - libXrandr = (stdenvMulti.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { + libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { name = "libXrandr-1.4.1"; builder = ./builder.sh; src = fetchurl { @@ -771,7 +771,7 @@ let buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; - libXrender = (stdenvMulti.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { + libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { name = "libXrender-0.9.8"; builder = ./builder.sh; src = fetchurl { @@ -852,7 +852,7 @@ let buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ]; })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; - libXxf86vm = (stdenvMulti.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { + libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { name = "libXxf86vm-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -903,7 +903,7 @@ let buildInputs = [pkgconfig ]; })) // {inherit ;}; - libxcb = (stdenvMulti.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { + libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { name = "libxcb-1.9.1"; builder = ./builder.sh; src = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d8ea5a963bbd..24e91593695e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -346,10 +346,6 @@ let inherit stdenv perl cpio contents ubootChooser compressor; }; - stdenvMulti = stdenv // { - mkDerivation = import ../build-support/multiple-outputs.nix { inherit (pkgs) stdenv; }; - }; - makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; makeModulesClosure = { kernel, rootModules, allowMissing ? false }: @@ -2353,7 +2349,6 @@ let })); gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { - stdenv = stdenvMulti; inherit noSysDirs; # bootstrapping a profiled compiler does not work in the sheevaplug: @@ -3112,7 +3107,6 @@ let perl514 = callPackage ../development/interpreters/perl/5.14 { }; perl516 = callPackage ../development/interpreters/perl/5.16 { - stdenv = stdenvMulti; fetchurl = fetchurlBoot; }; @@ -3564,9 +3558,7 @@ let libtool_1_5 = callPackage ../development/tools/misc/libtool { }; - libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { - stdenv = stdenvMulti; - }; + libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { }; lsof = callPackage ../development/tools/misc/lsof { }; @@ -3723,9 +3715,7 @@ let aalib = callPackage ../development/libraries/aalib { }; - acl = callPackage ../development/libraries/acl { - stdenv = stdenvMulti; - }; + acl = callPackage ../development/libraries/acl { }; activemq = callPackage ../development/libraries/apache-activemq { }; @@ -3742,9 +3732,7 @@ let amrwb = callPackage ../development/libraries/amrwb { }; - apr = callPackage ../development/libraries/apr { - stdenv = stdenvMulti; - }; + apr = callPackage ../development/libraries/apr { }; aprutil = callPackage ../development/libraries/apr-util { bdbSupport = true; @@ -3766,9 +3754,7 @@ let attica = callPackage ../development/libraries/attica { }; - attr = callPackage ../development/libraries/attr { - stdenv = stdenvMulti; - }; + attr = callPackage ../development/libraries/attr { }; aqbanking = callPackage ../development/libraries/aqbanking { }; @@ -4026,9 +4012,7 @@ let freeglut = if stdenv.isDarwin then darwinX11AndOpenGL else callPackage ../development/libraries/freeglut { }; - freetype = callPackage ../development/libraries/freetype { - stdenv = stdenvMulti; - }; + freetype = callPackage ../development/libraries/freetype { }; fribidi = callPackage ../development/libraries/fribidi { }; @@ -4108,7 +4092,6 @@ let })); glibc = callPackage ../development/libraries/glibc/2.17 { - stdenv = stdenvMulti; kernelHeaders = linuxHeaders; installLocales = config.glibc.locales or false; machHeaders = null; @@ -4184,9 +4167,7 @@ let libpng = libpng12; }; - gmime = callPackage ../development/libraries/gmime { - stdenv = stdenvMulti; - }; + gmime = callPackage ../development/libraries/gmime { }; gmm = callPackage ../development/libraries/gmm { }; @@ -4296,25 +4277,20 @@ let }; glib = callPackage ../development/libraries/glib { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenvMulti; + stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv; }; glibmm = callPackage ../development/libraries/glibmm { }; glib_networking = callPackage ../development/libraries/glib-networking {}; - atk = callPackage ../development/libraries/atk { - stdenv = stdenvMulti; - }; + atk = callPackage ../development/libraries/atk { }; atkmm = callPackage ../development/libraries/atkmm { }; pixman = callPackage ../development/libraries/pixman { }; cairo = callPackage ../development/libraries/cairo { - stdenv = stdenvMulti; glSupport = config.cairo.gl or (stdenv.isLinux && !stdenv.isArm && !stdenv.isMips); }; @@ -4323,9 +4299,7 @@ let cairomm = callPackage ../development/libraries/cairomm { }; - pango = callPackage ../development/libraries/pango { - stdenv = stdenvMulti; - }; + pango = callPackage ../development/libraries/pango { }; pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { cairo = cairo_1_12_2; @@ -4333,12 +4307,9 @@ let pangox_compat = callPackage ../development/libraries/pangox-compat { }; - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { - stdenv = stdenvMulti; - }; + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { }; gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { - stdenv = stdenvMulti; cupsSupport = config.gtk2.cups or stdenv.isLinux; }; @@ -4451,9 +4422,7 @@ let inherit mesa SDL SDL_image SDL_mixer; }; - jasper = callPackage ../development/libraries/jasper { - stdenv = stdenvMulti; - }; + jasper = callPackage ../development/libraries/jasper { }; jama = callPackage ../development/libraries/jama { }; @@ -4589,7 +4558,6 @@ let libdnet = callPackage ../development/libraries/libdnet { }; libdrm = callPackage ../development/libraries/libdrm { - inherit fetchurl stdenv pkgconfig; inherit (xorg) libpthreadstubs; }; @@ -4724,9 +4692,7 @@ let librem = callPackage ../development/libraries/librem {}; libsamplerate = callPackage ../development/libraries/libsamplerate { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenvMulti; + stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv; }; libspectre = callPackage ../development/libraries/libspectre { }; @@ -4759,13 +4725,9 @@ let libiptcdata = callPackage ../development/libraries/libiptcdata { }; - libjpeg_original = callPackage ../development/libraries/libjpeg { - stdenv = stdenvMulti; - }; + libjpeg_original = callPackage ../development/libraries/libjpeg { }; - libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { - stdenv = stdenvMulti; - }; + libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; libjpeg = if stdenv.isLinux then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin @@ -4840,9 +4802,7 @@ let libofx = callPackage ../development/libraries/libofx { }; - libogg = callPackage ../development/libraries/libogg { - stdenv = stdenvMulti; - }; + libogg = callPackage ../development/libraries/libogg { }; liboggz = callPackage ../development/libraries/liboggz { }; @@ -4895,9 +4855,7 @@ let libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { }; libsndfile = callPackage ../development/libraries/libsndfile { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenvMulti; + stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv; }; libsoup = callPackage ../development/libraries/libsoup { }; @@ -4916,9 +4874,7 @@ let libtheora = callPackage ../development/libraries/libtheora { }; - libtiff = callPackage ../development/libraries/libtiff { - stdenv = stdenvMulti; - }; + libtiff = callPackage ../development/libraries/libtiff { }; libtiger = callPackage ../development/libraries/libtiger { }; @@ -4985,9 +4941,7 @@ let libvterm = callPackage ../development/libraries/libvterm { }; - libvorbis = callPackage ../development/libraries/libvorbis { - stdenv = stdenvMulti; - }; + libvorbis = callPackage ../development/libraries/libvorbis { }; libwebp = callPackage ../development/libraries/libwebp { }; @@ -5243,7 +5197,6 @@ let openscenegraph = callPackage ../development/libraries/openscenegraph {}; openssl = callPackage ../development/libraries/openssl { - stdenv = stdenvMulti; fetchurl = fetchurlBoot; cryptodevHeaders = linuxPackages.cryptodev.override { fetchurl = fetchurlBoot; @@ -5264,7 +5217,6 @@ let }; pcre = callPackage ../development/libraries/pcre { - stdenv = stdenvMulti; unicodeSupport = config.pcre.unicode or true; }; @@ -5479,9 +5431,7 @@ let speech_tools = callPackage ../development/libraries/speech-tools {}; - speex = callPackage ../development/libraries/speex { - stdenv = stdenvMulti; - }; + speex = callPackage ../development/libraries/speex { }; sphinxbase = callPackage ../development/libraries/sphinxbase { }; @@ -5952,7 +5902,6 @@ let apacheHttpd = pkgs.apacheHttpd_2_2; apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { - stdenv = stdenvMulti; sslSupport = true; }; @@ -6214,7 +6163,7 @@ let xinetd = callPackage ../servers/xinetd { }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { - inherit fetchurl fetchgit stdenv stdenvMulti pkgconfig intltool freetype fontconfig + inherit fetchurl fetchgit stdenv pkgconfig intltool freetype fontconfig libxslt expat libdrm libpng zlib perl mesa_drivers xkeyboard_config dbus libuuid openssl gperf m4 autoconf libtool xmlto asciidoc udev flex bison python mtdev pixman; @@ -6725,9 +6674,7 @@ let nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; - pam = callPackage ../os-specific/linux/pam { - stdenv = stdenvMulti; - }; + pam = callPackage ../os-specific/linux/pam { }; # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) @@ -6812,9 +6759,7 @@ let sysstat = callPackage ../os-specific/linux/sysstat { }; - systemd = callPackage ../os-specific/linux/systemd { - stdenv = stdenvMulti; - }; + systemd = callPackage ../os-specific/linux/systemd { }; sysvinit = callPackage ../os-specific/linux/sysvinit { }; @@ -6874,12 +6819,10 @@ let utillinux = lowPrio (callPackage ../os-specific/linux/util-linux { ncurses = null; perl = null; - stdenv = stdenvMulti; }); utillinuxCurses = utillinux.override { inherit ncurses perl; - stdenv = stdenvMulti; }; v4l_utils = callPackage ../os-specific/linux/v4l-utils { @@ -7632,9 +7575,7 @@ let firefoxWrapper = wrapFirefox { browser = firefoxPkgs.firefox; }; - flac = callPackage ../applications/audio/flac { - stdenv = stdenvMulti; - }; + flac = callPackage ../applications/audio/flac { }; flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 { debug = config.flashplayer.debug or false; @@ -9629,7 +9570,6 @@ let auctex = callPackage ../tools/typesetting/tex/auctex { }; cups = callPackage ../misc/cups { - stdenv = stdenvMulti; libusb = libusb1; }; From 5a7f19a02b1c52adc3f077529f54eed315165712 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 26 Aug 2013 12:04:07 +0200 Subject: [PATCH 63/69] perl: Remove dependencies in $out on glibc-dev and $man --- pkgs/development/interpreters/perl/5.16/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index 752f0d49885b..dc8bc34665de 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { sha256 = "1dpd9lhc4723wmsn4dsn4m320qlqgyw28bvcbhnfqp2nl3f0ikv9"; }; + # TODO: Add a "dev" output containing the header files. outputs = [ "out" "man" ]; setOutputConfigureFlags = false; @@ -61,6 +62,17 @@ stdenv.mkDerivation rec { substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" ''; + postInstall = + '' + # Remove dependency between "out" and "man" outputs. + rm $out/lib/perl5/*/*/.packlist + + # Remove dependencies on glibc.dev and coreutils. + substituteInPlace $out/lib/perl5/*/*/Config_heavy.pl \ + --replace ${stdenv.glibc.dev or "/blabla"} /no-such-path \ + --replace $man /no-such-path + ''; # */ + setupHook = ./setup-hook.sh; passthru.libPrefix = "lib/perl5/site_perl"; From 977a1df79a70a699718d90f1c086eec7c3ad9f00 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 26 Aug 2013 12:04:19 +0200 Subject: [PATCH 64/69] boehm-gc: Split into multiple outputs --- pkgs/development/libraries/boehm-gc/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index 3b2670d988ae..d24354199412 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"; }; + outputs = [ "dev" "out" "doc" ]; + configureFlags = "--enable-cplusplus"; doCheck = true; @@ -15,6 +17,12 @@ stdenv.mkDerivation rec { # Don't run the native `strip' when cross-compiling. dontStrip = stdenv ? cross; + postInstall = + '' + mkdir -p $out/share/doc + mv $out/share/gc $out/share/doc/gc + ''; + meta = { description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++"; From a7b1aa429e2629703de5dbb604796152951921fa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 26 Aug 2013 12:04:56 +0200 Subject: [PATCH 65/69] Perl generic builder: Put man pages in a separate output --- pkgs/development/perl-modules/generic/builder.sh | 7 +++++++ pkgs/development/perl-modules/generic/default.nix | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index 7c51bf1b5917..d657a6ccc988 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -28,6 +28,13 @@ preConfigure() { perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags } +preFixup() { + if [ -n "$man" ]; then + mkdir -p $man/share + if [ -d $out/man ]; then mv $out/man $man/share/; fi + fi +} + postFixup() { # If a user installs a Perl package, she probably also wants its # dependencies in the user environment (since Perl modules don't diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 96094ab4e538..121581d83979 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -1,13 +1,15 @@ perl: -{ buildInputs ? [], ... } @ attrs: +{ buildInputs ? [], name, ... } @ attrs: perl.stdenv.mkDerivation ( { + outputs = [ "out" "man" ]; + doCheck = true; - + checkTarget = "test"; - + # Prevent CPAN downloads. PERL_AUTOINSTALL = "--skipdeps"; @@ -20,7 +22,7 @@ perl.stdenv.mkDerivation ( attrs // { - name = "perl-" + attrs.name; + name = "perl-" + name; builder = ./builder.sh; buildInputs = buildInputs ++ [ perl ]; } From 2d405ed4d54ba4d924b5146cea4a39ae65343d59 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 26 Aug 2013 12:05:16 +0200 Subject: [PATCH 66/69] xz: Split into multiple outputs --- pkgs/tools/compression/xz/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 26c1597f2aa8..52e0c61d3c1c 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "14nf55b47335aakswqk0kqv1qsh4269rnb757dmkkbd1sdhb1naw"; }; + outputs = [ "out" "dev" "man" "doc" ]; + doCheck = true; meta = { From 8c8197dfb3f22c62da68454790d9b0ab6b991c9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 23 Aug 2014 16:14:37 +0200 Subject: [PATCH 67/69] xorg: stop using the new nix syntax Partial revert of 5ea8497933da0dbee5fa5a31c97843e2c6baac17. --- pkgs/servers/x11/xorg/default.nix | 849 +++++++++--------- .../x11/xorg/generate-expr-from-tarballs.pl | 9 +- 2 files changed, 424 insertions(+), 434 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 519ea6a2f7a1..81988e45db07 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -3,18 +3,13 @@ args: with args; let - mkDerivation = name: attrs: - let newAttrs = (overrides."${name}" or (x: x)) attrs; - stdenv = newAttrs.stdenv or args.stdenv; - in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]); - overrides = import ./overrides.nix {inherit args xorg;}; xorg = rec { inherit pixman; - applewmproto = (mkDerivation "applewmproto" { + applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) { name = "applewmproto-1.4.2"; builder = ./builder.sh; src = fetchurl { @@ -22,9 +17,9 @@ let sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - bdftopcf = (mkDerivation "bdftopcf" { + bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) { name = "bdftopcf-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -32,9 +27,9 @@ let sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"; }; buildInputs = [pkgconfig libXfont ]; - }) // {inherit libXfont ;}; + })) // {inherit libXfont ;}; - bigreqsproto = (mkDerivation "bigreqsproto" { + bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) { name = "bigreqsproto-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -42,9 +37,9 @@ let sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - compositeproto = (mkDerivation "compositeproto" { + compositeproto = (stdenv.mkDerivation ((if overrides ? compositeproto then overrides.compositeproto else x: x) { name = "compositeproto-0.4.2"; builder = ./builder.sh; src = fetchurl { @@ -52,9 +47,9 @@ let sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - damageproto = (mkDerivation "damageproto" { + damageproto = (stdenv.mkDerivation ((if overrides ? damageproto then overrides.damageproto else x: x) { name = "damageproto-1.2.1"; builder = ./builder.sh; src = fetchurl { @@ -62,9 +57,9 @@ let sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - dmxproto = (mkDerivation "dmxproto" { + dmxproto = (stdenv.mkDerivation ((if overrides ? dmxproto then overrides.dmxproto else x: x) { name = "dmxproto-2.3.1"; builder = ./builder.sh; src = fetchurl { @@ -72,9 +67,9 @@ let sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - dri2proto = (mkDerivation "dri2proto" { + dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) { name = "dri2proto-2.8"; builder = ./builder.sh; src = fetchurl { @@ -82,9 +77,9 @@ let sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - dri3proto = (mkDerivation "dri3proto" { + dri3proto = (stdenv.mkDerivation ((if overrides ? dri3proto then overrides.dri3proto else x: x) { name = "dri3proto-1.0"; builder = ./builder.sh; src = fetchurl { @@ -92,9 +87,9 @@ let sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - encodings = (mkDerivation "encodings" { + encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) { name = "encodings-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -102,9 +97,9 @@ let sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - fixesproto = (mkDerivation "fixesproto" { + fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) { name = "fixesproto-5.0"; builder = ./builder.sh; src = fetchurl { @@ -112,9 +107,9 @@ let sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs"; }; buildInputs = [pkgconfig xextproto ]; - }) // {inherit xextproto ;}; + })) // {inherit xextproto ;}; - fontadobe100dpi = (mkDerivation "fontadobe100dpi" { + fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) { name = "font-adobe-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -122,9 +117,9 @@ let sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontadobe75dpi = (mkDerivation "fontadobe75dpi" { + fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) { name = "font-adobe-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -132,9 +127,9 @@ let sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" { + fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) { name = "font-adobe-utopia-100dpi-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -142,9 +137,9 @@ let sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" { + fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) { name = "font-adobe-utopia-75dpi-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -152,9 +147,9 @@ let sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" { + fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) { name = "font-adobe-utopia-type1-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -162,9 +157,9 @@ let sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontalias = (mkDerivation "fontalias" { + fontalias = (stdenv.mkDerivation ((if overrides ? fontalias then overrides.fontalias else x: x) { name = "font-alias-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -172,9 +167,9 @@ let sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - fontarabicmisc = (mkDerivation "fontarabicmisc" { + fontarabicmisc = (stdenv.mkDerivation ((if overrides ? fontarabicmisc then overrides.fontarabicmisc else x: x) { name = "font-arabic-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -182,9 +177,9 @@ let sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontbh100dpi = (mkDerivation "fontbh100dpi" { + fontbh100dpi = (stdenv.mkDerivation ((if overrides ? fontbh100dpi then overrides.fontbh100dpi else x: x) { name = "font-bh-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -192,9 +187,9 @@ let sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontbh75dpi = (mkDerivation "fontbh75dpi" { + fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) { name = "font-bh-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -202,9 +197,9 @@ let sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" { + fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) { name = "font-bh-lucidatypewriter-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -212,9 +207,9 @@ let sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" { + fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) { name = "font-bh-lucidatypewriter-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -222,9 +217,9 @@ let sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontbhttf = (mkDerivation "fontbhttf" { + fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) { name = "font-bh-ttf-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -232,9 +227,9 @@ let sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontbhtype1 = (mkDerivation "fontbhtype1" { + fontbhtype1 = (stdenv.mkDerivation ((if overrides ? fontbhtype1 then overrides.fontbhtype1 else x: x) { name = "font-bh-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -242,9 +237,9 @@ let sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" { + fontbitstream100dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream100dpi then overrides.fontbitstream100dpi else x: x) { name = "font-bitstream-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -252,9 +247,9 @@ let sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" { + fontbitstream75dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream75dpi then overrides.fontbitstream75dpi else x: x) { name = "font-bitstream-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -262,9 +257,9 @@ let sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" { + fontbitstreamtype1 = (stdenv.mkDerivation ((if overrides ? fontbitstreamtype1 then overrides.fontbitstreamtype1 else x: x) { name = "font-bitstream-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -272,9 +267,9 @@ let sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" { + fontcronyxcyrillic = (stdenv.mkDerivation ((if overrides ? fontcronyxcyrillic then overrides.fontcronyxcyrillic else x: x) { name = "font-cronyx-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -282,9 +277,9 @@ let sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontcursormisc = (mkDerivation "fontcursormisc" { + fontcursormisc = (stdenv.mkDerivation ((if overrides ? fontcursormisc then overrides.fontcursormisc else x: x) { name = "font-cursor-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -292,9 +287,9 @@ let sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontdaewoomisc = (mkDerivation "fontdaewoomisc" { + fontdaewoomisc = (stdenv.mkDerivation ((if overrides ? fontdaewoomisc then overrides.fontdaewoomisc else x: x) { name = "font-daewoo-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -302,9 +297,9 @@ let sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontdecmisc = (mkDerivation "fontdecmisc" { + fontdecmisc = (stdenv.mkDerivation ((if overrides ? fontdecmisc then overrides.fontdecmisc else x: x) { name = "font-dec-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -312,9 +307,9 @@ let sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontibmtype1 = (mkDerivation "fontibmtype1" { + fontibmtype1 = (stdenv.mkDerivation ((if overrides ? fontibmtype1 then overrides.fontibmtype1 else x: x) { name = "font-ibm-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -322,9 +317,9 @@ let sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontisasmisc = (mkDerivation "fontisasmisc" { + fontisasmisc = (stdenv.mkDerivation ((if overrides ? fontisasmisc then overrides.fontisasmisc else x: x) { name = "font-isas-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -332,9 +327,9 @@ let sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontjismisc = (mkDerivation "fontjismisc" { + fontjismisc = (stdenv.mkDerivation ((if overrides ? fontjismisc then overrides.fontjismisc else x: x) { name = "font-jis-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -342,9 +337,9 @@ let sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontmicromisc = (mkDerivation "fontmicromisc" { + fontmicromisc = (stdenv.mkDerivation ((if overrides ? fontmicromisc then overrides.fontmicromisc else x: x) { name = "font-micro-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -352,9 +347,9 @@ let sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontmisccyrillic = (mkDerivation "fontmisccyrillic" { + fontmisccyrillic = (stdenv.mkDerivation ((if overrides ? fontmisccyrillic then overrides.fontmisccyrillic else x: x) { name = "font-misc-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -362,9 +357,9 @@ let sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontmiscethiopic = (mkDerivation "fontmiscethiopic" { + fontmiscethiopic = (stdenv.mkDerivation ((if overrides ? fontmiscethiopic then overrides.fontmiscethiopic else x: x) { name = "font-misc-ethiopic-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -372,9 +367,9 @@ let sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontmiscmeltho = (mkDerivation "fontmiscmeltho" { + fontmiscmeltho = (stdenv.mkDerivation ((if overrides ? fontmiscmeltho then overrides.fontmiscmeltho else x: x) { name = "font-misc-meltho-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -382,9 +377,9 @@ let sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - fontmiscmisc = (mkDerivation "fontmiscmisc" { + fontmiscmisc = (stdenv.mkDerivation ((if overrides ? fontmiscmisc then overrides.fontmiscmisc else x: x) { name = "font-misc-misc-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -392,9 +387,9 @@ let sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontmuttmisc = (mkDerivation "fontmuttmisc" { + fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) { name = "font-mutt-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -402,9 +397,9 @@ let sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontschumachermisc = (mkDerivation "fontschumachermisc" { + fontschumachermisc = (stdenv.mkDerivation ((if overrides ? fontschumachermisc then overrides.fontschumachermisc else x: x) { name = "font-schumacher-misc-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -412,9 +407,9 @@ let sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74"; }; buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; - fontscreencyrillic = (mkDerivation "fontscreencyrillic" { + fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) { name = "font-screen-cyrillic-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -422,9 +417,9 @@ let sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontsonymisc = (mkDerivation "fontsonymisc" { + fontsonymisc = (stdenv.mkDerivation ((if overrides ? fontsonymisc then overrides.fontsonymisc else x: x) { name = "font-sony-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -432,9 +427,9 @@ let sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontsproto = (mkDerivation "fontsproto" { + fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) { name = "fontsproto-2.1.2"; builder = ./builder.sh; src = fetchurl { @@ -442,9 +437,9 @@ let sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - fontsunmisc = (mkDerivation "fontsunmisc" { + fontsunmisc = (stdenv.mkDerivation ((if overrides ? fontsunmisc then overrides.fontsunmisc else x: x) { name = "font-sun-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -452,9 +447,9 @@ let sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontutil = (mkDerivation "fontutil" { + fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) { name = "font-util-1.3.0"; builder = ./builder.sh; src = fetchurl { @@ -462,9 +457,9 @@ let sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" { + fontwinitzkicyrillic = (stdenv.mkDerivation ((if overrides ? fontwinitzkicyrillic then overrides.fontwinitzkicyrillic else x: x) { name = "font-winitzki-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -472,9 +467,9 @@ let sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit bdftopcf mkfontdir ;}; + })) // {inherit bdftopcf mkfontdir ;}; - fontxfree86type1 = (mkDerivation "fontxfree86type1" { + fontxfree86type1 = (stdenv.mkDerivation ((if overrides ? fontxfree86type1 then overrides.fontxfree86type1 else x: x) { name = "font-xfree86-type1-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -482,9 +477,9 @@ let sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - }) // {inherit mkfontdir mkfontscale ;}; + })) // {inherit mkfontdir mkfontscale ;}; - gccmakedep = (mkDerivation "gccmakedep" { + gccmakedep = (stdenv.mkDerivation ((if overrides ? gccmakedep then overrides.gccmakedep else x: x) { name = "gccmakedep-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -492,9 +487,9 @@ let sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - glamoregl = (mkDerivation "glamoregl" { + glamoregl = (stdenv.mkDerivation ((if overrides ? glamoregl then overrides.glamoregl else x: x) { name = "glamor-egl-0.6.0"; builder = ./builder.sh; src = fetchurl { @@ -502,9 +497,9 @@ let sha256 = "1jg5clihklb9drh1jd7nhhdsszla6nv7xmbvm8yvakh5wrb1nlv6"; }; buildInputs = [pkgconfig dri2proto xorgserver ]; - }) // {inherit dri2proto xorgserver ;}; + })) // {inherit dri2proto xorgserver ;}; - glproto = (mkDerivation "glproto" { + glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) { name = "glproto-1.4.17"; builder = ./builder.sh; src = fetchurl { @@ -512,9 +507,9 @@ let sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - iceauth = (mkDerivation "iceauth" { + iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) { name = "iceauth-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -522,9 +517,9 @@ let sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"; }; buildInputs = [pkgconfig libICE xproto ]; - }) // {inherit libICE xproto ;}; + })) // {inherit libICE xproto ;}; - imake = (mkDerivation "imake" { + imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) { name = "imake-1.0.7"; builder = ./builder.sh; src = fetchurl { @@ -532,9 +527,9 @@ let sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339"; }; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - inputproto = (mkDerivation "inputproto" { + inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) { name = "inputproto-2.3.1"; builder = ./builder.sh; src = fetchurl { @@ -542,9 +537,9 @@ let sha256 = "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - kbproto = (mkDerivation "kbproto" { + kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) { name = "kbproto-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -552,9 +547,9 @@ let sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - libAppleWM = (mkDerivation "libAppleWM" { + libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) { name = "libAppleWM-1.4.1"; builder = ./builder.sh; src = fetchurl { @@ -562,9 +557,9 @@ let sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y"; }; buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ]; - }) // {inherit applewmproto libX11 libXext xextproto ;}; + })) // {inherit applewmproto libX11 libXext xextproto ;}; - libFS = (mkDerivation "libFS" { + libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) { name = "libFS-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -572,9 +567,9 @@ let sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh"; }; buildInputs = [pkgconfig fontsproto xproto xtrans ]; - }) // {inherit fontsproto xproto xtrans ;}; + })) // {inherit fontsproto xproto xtrans ;}; - libICE = (mkDerivation "libICE" { + libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) { name = "libICE-1.0.9"; builder = ./builder.sh; src = fetchurl { @@ -582,9 +577,9 @@ let sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g"; }; buildInputs = [pkgconfig xproto xtrans ]; - }) // {inherit xproto xtrans ;}; + })) // {inherit xproto xtrans ;}; - libSM = (mkDerivation "libSM" { + libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) { name = "libSM-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -592,9 +587,9 @@ let sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b"; }; buildInputs = [pkgconfig libICE libuuid xproto xtrans ]; - }) // {inherit libICE libuuid xproto xtrans ;}; + })) // {inherit libICE libuuid xproto xtrans ;}; - libWindowsWM = (mkDerivation "libWindowsWM" { + libWindowsWM = (stdenv.mkDerivation ((if overrides ? libWindowsWM then overrides.libWindowsWM else x: x) { name = "libWindowsWM-1.0.1"; builder = ./builder.sh; src = fetchurl { @@ -602,9 +597,9 @@ let sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15"; }; buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ]; - }) // {inherit windowswmproto libX11 libXext xextproto ;}; + })) // {inherit windowswmproto libX11 libXext xextproto ;}; - libX11 = (mkDerivation "libX11" { + libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { name = "libX11-1.6.2"; builder = ./builder.sh; src = fetchurl { @@ -613,9 +608,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; - }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; + })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; - libXScrnSaver = (mkDerivation "libXScrnSaver" { + libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) { name = "libXScrnSaver-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -623,9 +618,9 @@ let sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg"; }; buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ]; - }) // {inherit scrnsaverproto libX11 libXext xextproto ;}; + })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; - libXau = (mkDerivation "libXau" { + libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { name = "libXau-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -634,9 +629,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - libXaw = (mkDerivation "libXaw" { + libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) { name = "libXaw-1.0.12"; builder = ./builder.sh; src = fetchurl { @@ -644,9 +639,9 @@ let sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n"; }; buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; - }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; + })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; - libXcomposite = (mkDerivation "libXcomposite" { + libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { name = "libXcomposite-0.4.4"; builder = ./builder.sh; src = fetchurl { @@ -655,9 +650,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; - }) // {inherit compositeproto libX11 libXfixes xproto ;}; + })) // {inherit compositeproto libX11 libXfixes xproto ;}; - libXcursor = (mkDerivation "libXcursor" { + libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { name = "libXcursor-1.1.14"; builder = ./builder.sh; src = fetchurl { @@ -666,9 +661,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; - }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; + })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; - libXdamage = (mkDerivation "libXdamage" { + libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { name = "libXdamage-1.1.4"; builder = ./builder.sh; src = fetchurl { @@ -677,9 +672,9 @@ let }; outputs = [ "dev" "out" ]; buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; - }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; + })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; - libXdmcp = (mkDerivation "libXdmcp" { + libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { name = "libXdmcp-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -688,9 +683,9 @@ let }; outputs = [ "dev" "out" "doc" ]; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - libXext = (mkDerivation "libXext" { + libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { name = "libXext-1.3.3"; builder = ./builder.sh; src = fetchurl { @@ -699,9 +694,9 @@ let }; outputs = [ "dev" "out" "man" "doc" ]; buildInputs = [pkgconfig libX11 xextproto xproto ]; - }) // {inherit libX11 xextproto xproto ;}; + })) // {inherit libX11 xextproto xproto ;}; - libXfixes = (mkDerivation "libXfixes" { + libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { name = "libXfixes-5.0.1"; builder = ./builder.sh; src = fetchurl { @@ -710,9 +705,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ]; - }) // {inherit fixesproto libX11 xextproto xproto ;}; + })) // {inherit fixesproto libX11 xextproto xproto ;}; - libXfont = (mkDerivation "libXfont" { + libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) { name = "libXfont-1.4.8"; builder = ./builder.sh; src = fetchurl { @@ -720,9 +715,9 @@ let sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m"; }; buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; - }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; + })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; - libXft = (mkDerivation "libXft" { + libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { name = "libXft-2.3.2"; builder = ./builder.sh; src = fetchurl { @@ -731,9 +726,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ]; - }) // {inherit fontconfig freetype libX11 xproto libXrender ;}; + })) // {inherit fontconfig freetype libX11 xproto libXrender ;}; - libXi = (mkDerivation "libXi" { + libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { name = "libXi-1.7.4"; builder = ./builder.sh; src = fetchurl { @@ -742,9 +737,9 @@ let }; outputs = [ "dev" "out" "man" "doc" ]; buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ]; - }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; + })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; - libXinerama = (mkDerivation "libXinerama" { + libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { name = "libXinerama-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -753,9 +748,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ]; - }) // {inherit libX11 libXext xextproto xineramaproto ;}; + })) // {inherit libX11 libXext xextproto xineramaproto ;}; - libXmu = (mkDerivation "libXmu" { + libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) { name = "libXmu-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -763,9 +758,9 @@ let sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; - }) // {inherit libX11 libXext xextproto xproto libXt ;}; + })) // {inherit libX11 libXext xextproto xproto libXt ;}; - libXp = (mkDerivation "libXp" { + libXp = (stdenv.mkDerivation ((if overrides ? libXp then overrides.libXp else x: x) { name = "libXp-1.0.2"; builder = ./builder.sh; src = fetchurl { @@ -773,9 +768,9 @@ let sha256 = "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm"; }; buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ]; - }) // {inherit printproto libX11 libXau libXext xextproto ;}; + })) // {inherit printproto libX11 libXau libXext xextproto ;}; - libXpm = (mkDerivation "libXpm" { + libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) { name = "libXpm-3.5.11"; builder = ./builder.sh; src = fetchurl { @@ -783,9 +778,9 @@ let sha256 = "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; - }) // {inherit libX11 libXext xextproto xproto libXt ;}; + })) // {inherit libX11 libXext xextproto xproto libXt ;}; - libXrandr = (mkDerivation "libXrandr" { + libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { name = "libXrandr-1.4.2"; builder = ./builder.sh; src = fetchurl { @@ -794,9 +789,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; - }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; + })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; - libXrender = (mkDerivation "libXrender" { + libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { name = "libXrender-0.9.8"; builder = ./builder.sh; src = fetchurl { @@ -805,9 +800,9 @@ let }; outputs = [ "dev" "out" "doc" ]; buildInputs = [pkgconfig renderproto libX11 xproto ]; - }) // {inherit renderproto libX11 xproto ;}; + })) // {inherit renderproto libX11 xproto ;}; - libXres = (mkDerivation "libXres" { + libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) { name = "libXres-1.0.7"; builder = ./builder.sh; src = fetchurl { @@ -815,9 +810,9 @@ let sha256 = "1rd0bzn67cpb2qkc946gch2183r4bdjfhs6cpqbipy47m9a91296"; }; buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ]; - }) // {inherit resourceproto libX11 libXext xextproto xproto ;}; + })) // {inherit resourceproto libX11 libXext xextproto xproto ;}; - libXt = (mkDerivation "libXt" { + libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) { name = "libXt-1.1.4"; builder = ./builder.sh; src = fetchurl { @@ -825,9 +820,9 @@ let sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4"; }; buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ]; - }) // {inherit libICE kbproto libSM libX11 xproto ;}; + })) // {inherit libICE kbproto libSM libX11 xproto ;}; - libXtst = (mkDerivation "libXtst" { + libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) { name = "libXtst-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -835,9 +830,9 @@ let sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg"; }; buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ]; - }) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; + })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; - libXv = (mkDerivation "libXv" { + libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) { name = "libXv-1.0.10"; builder = ./builder.sh; src = fetchurl { @@ -845,9 +840,9 @@ let sha256 = "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm"; }; buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ]; - }) // {inherit videoproto libX11 libXext xextproto xproto ;}; + })) // {inherit videoproto libX11 libXext xextproto xproto ;}; - libXvMC = (mkDerivation "libXvMC" { + libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) { name = "libXvMC-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -855,9 +850,9 @@ let sha256 = "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy"; }; buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ]; - }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;}; + })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;}; - libXxf86dga = (mkDerivation "libXxf86dga" { + libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) { name = "libXxf86dga-1.1.4"; builder = ./builder.sh; src = fetchurl { @@ -865,9 +860,9 @@ let sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f"; }; buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ]; - }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;}; + })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;}; - libXxf86misc = (mkDerivation "libXxf86misc" { + libXxf86misc = (stdenv.mkDerivation ((if overrides ? libXxf86misc then overrides.libXxf86misc else x: x) { name = "libXxf86misc-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -875,9 +870,9 @@ let sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn"; }; buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ]; - }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; + })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; - libXxf86vm = (mkDerivation "libXxf86vm" { + libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { name = "libXxf86vm-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -886,9 +881,9 @@ let }; outputs = [ "dev" "out" "man" ]; buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ]; - }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; + })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; - libdmx = (mkDerivation "libdmx" { + libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) { name = "libdmx-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -896,9 +891,9 @@ let sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"; }; buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ]; - }) // {inherit dmxproto libX11 libXext xextproto ;}; + })) // {inherit dmxproto libX11 libXext xextproto ;}; - libfontenc = (mkDerivation "libfontenc" { + libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) { name = "libfontenc-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -906,9 +901,9 @@ let sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959"; }; buildInputs = [pkgconfig xproto zlib ]; - }) // {inherit xproto zlib ;}; + })) // {inherit xproto zlib ;}; - libpciaccess = (mkDerivation "libpciaccess" { + libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) { name = "libpciaccess-0.13.2"; builder = ./builder.sh; src = fetchurl { @@ -916,9 +911,9 @@ let sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb"; }; buildInputs = [pkgconfig zlib ]; - }) // {inherit zlib ;}; + })) // {inherit zlib ;}; - libpthreadstubs = (mkDerivation "libpthreadstubs" { + libpthreadstubs = (stdenv.mkDerivation ((if overrides ? libpthreadstubs then overrides.libpthreadstubs else x: x) { name = "libpthread-stubs-0.3"; builder = ./builder.sh; src = fetchurl { @@ -926,9 +921,9 @@ let sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - libxcb = (mkDerivation "libxcb" { + libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { name = "libxcb-1.11"; builder = ./builder.sh; src = fetchurl { @@ -937,9 +932,9 @@ let }; outputs = [ "dev" "out" "doc" "man" ]; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; - }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; + })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; - libxkbfile = (mkDerivation "libxkbfile" { + libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) { name = "libxkbfile-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -947,9 +942,9 @@ let sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca"; }; buildInputs = [pkgconfig kbproto libX11 ]; - }) // {inherit kbproto libX11 ;}; + })) // {inherit kbproto libX11 ;}; - libxshmfence = (mkDerivation "libxshmfence" { + libxshmfence = (stdenv.mkDerivation ((if overrides ? libxshmfence then overrides.libxshmfence else x: x) { name = "libxshmfence-1.1"; builder = ./builder.sh; src = fetchurl { @@ -957,9 +952,9 @@ let sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"; }; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - lndir = (mkDerivation "lndir" { + lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) { name = "lndir-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -967,9 +962,9 @@ let sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"; }; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - luit = (mkDerivation "luit" { + luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) { name = "luit-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -977,9 +972,9 @@ let sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h"; }; buildInputs = [pkgconfig libfontenc ]; - }) // {inherit libfontenc ;}; + })) // {inherit libfontenc ;}; - makedepend = (mkDerivation "makedepend" { + makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) { name = "makedepend-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -987,9 +982,9 @@ let sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p"; }; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - mkfontdir = (mkDerivation "mkfontdir" { + mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) { name = "mkfontdir-1.0.7"; builder = ./builder.sh; src = fetchurl { @@ -997,9 +992,9 @@ let sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - mkfontscale = (mkDerivation "mkfontscale" { + mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) { name = "mkfontscale-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -1007,9 +1002,9 @@ let sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"; }; buildInputs = [pkgconfig libfontenc freetype xproto zlib ]; - }) // {inherit libfontenc freetype xproto zlib ;}; + })) // {inherit libfontenc freetype xproto zlib ;}; - presentproto = (mkDerivation "presentproto" { + presentproto = (stdenv.mkDerivation ((if overrides ? presentproto then overrides.presentproto else x: x) { name = "presentproto-1.0"; builder = ./builder.sh; src = fetchurl { @@ -1017,9 +1012,9 @@ let sha256 = "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - printproto = (mkDerivation "printproto" { + printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) { name = "printproto-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -1027,9 +1022,9 @@ let sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j"; }; buildInputs = [pkgconfig libXau ]; - }) // {inherit libXau ;}; + })) // {inherit libXau ;}; - randrproto = (mkDerivation "randrproto" { + randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) { name = "randrproto-1.4.0"; builder = ./builder.sh; src = fetchurl { @@ -1037,9 +1032,9 @@ let sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - recordproto = (mkDerivation "recordproto" { + recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) { name = "recordproto-1.14.2"; builder = ./builder.sh; src = fetchurl { @@ -1047,9 +1042,9 @@ let sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - renderproto = (mkDerivation "renderproto" { + renderproto = (stdenv.mkDerivation ((if overrides ? renderproto then overrides.renderproto else x: x) { name = "renderproto-0.11.1"; builder = ./builder.sh; src = fetchurl { @@ -1057,9 +1052,9 @@ let sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - resourceproto = (mkDerivation "resourceproto" { + resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) { name = "resourceproto-1.2.0"; builder = ./builder.sh; src = fetchurl { @@ -1067,9 +1062,9 @@ let sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - scrnsaverproto = (mkDerivation "scrnsaverproto" { + scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) { name = "scrnsaverproto-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -1077,9 +1072,9 @@ let sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - sessreg = (mkDerivation "sessreg" { + sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) { name = "sessreg-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -1087,9 +1082,9 @@ let sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"; }; buildInputs = [pkgconfig xproto ]; - }) // {inherit xproto ;}; + })) // {inherit xproto ;}; - setxkbmap = (mkDerivation "setxkbmap" { + setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) { name = "setxkbmap-1.3.0"; builder = ./builder.sh; src = fetchurl { @@ -1097,9 +1092,9 @@ let sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x"; }; buildInputs = [pkgconfig libX11 libxkbfile ]; - }) // {inherit libX11 libxkbfile ;}; + })) // {inherit libX11 libxkbfile ;}; - smproxy = (mkDerivation "smproxy" { + smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) { name = "smproxy-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -1107,9 +1102,9 @@ let sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67"; }; buildInputs = [pkgconfig libICE libSM libXmu libXt ]; - }) // {inherit libICE libSM libXmu libXt ;}; + })) // {inherit libICE libSM libXmu libXt ;}; - twm = (mkDerivation "twm" { + twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) { name = "twm-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -1117,9 +1112,9 @@ let sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n"; }; buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ]; - }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; + })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; - utilmacros = (mkDerivation "utilmacros" { + utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) { name = "util-macros-1.19.0"; builder = ./builder.sh; src = fetchurl { @@ -1127,9 +1122,9 @@ let sha256 = "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - videoproto = (mkDerivation "videoproto" { + videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) { name = "videoproto-2.3.2"; builder = ./builder.sh; src = fetchurl { @@ -1137,9 +1132,9 @@ let sha256 = "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - windowswmproto = (mkDerivation "windowswmproto" { + windowswmproto = (stdenv.mkDerivation ((if overrides ? windowswmproto then overrides.windowswmproto else x: x) { name = "windowswmproto-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1147,9 +1142,9 @@ let sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - x11perf = (mkDerivation "x11perf" { + x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) { name = "x11perf-1.5.4"; builder = ./builder.sh; src = fetchurl { @@ -1157,9 +1152,9 @@ let sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4"; }; buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ]; - }) // {inherit libX11 libXext libXft libXmu libXrender ;}; + })) // {inherit libX11 libXext libXft libXmu libXrender ;}; - xauth = (mkDerivation "xauth" { + xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) { name = "xauth-1.0.9"; builder = ./builder.sh; src = fetchurl { @@ -1167,9 +1162,9 @@ let sha256 = "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn"; }; buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ]; - }) // {inherit libX11 libXau libXext libXmu xproto ;}; + })) // {inherit libX11 libXau libXext libXmu xproto ;}; - xbacklight = (mkDerivation "xbacklight" { + xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) { name = "xbacklight-1.2.1"; builder = ./builder.sh; src = fetchurl { @@ -1177,9 +1172,9 @@ let sha256 = "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp"; }; buildInputs = [pkgconfig libxcb xcbutil ]; - }) // {inherit libxcb xcbutil ;}; + })) // {inherit libxcb xcbutil ;}; - xbitmaps = (mkDerivation "xbitmaps" { + xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) { name = "xbitmaps-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -1187,9 +1182,9 @@ let sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xcbproto = (mkDerivation "xcbproto" { + xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) { name = "xcb-proto-1.11"; builder = ./builder.sh; src = fetchurl { @@ -1197,9 +1192,9 @@ let sha256 = "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l"; }; buildInputs = [pkgconfig python ]; - }) // {inherit python ;}; + })) // {inherit python ;}; - xcbutil = (mkDerivation "xcbutil" { + xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) { name = "xcb-util-0.3.9"; builder = ./builder.sh; src = fetchurl { @@ -1207,9 +1202,9 @@ let sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; - }) // {inherit gperf m4 libxcb xproto ;}; + })) // {inherit gperf m4 libxcb xproto ;}; - xcbutilimage = (mkDerivation "xcbutilimage" { + xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) { name = "xcb-util-image-0.3.9"; builder = ./builder.sh; src = fetchurl { @@ -1217,9 +1212,9 @@ let sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk"; }; buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ]; - }) // {inherit gperf m4 libxcb xcbutil xproto ;}; + })) // {inherit gperf m4 libxcb xcbutil xproto ;}; - xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" { + xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) { name = "xcb-util-keysyms-0.3.9"; builder = ./builder.sh; src = fetchurl { @@ -1227,9 +1222,9 @@ let sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; - }) // {inherit gperf m4 libxcb xproto ;}; + })) // {inherit gperf m4 libxcb xproto ;}; - xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" { + xcbutilrenderutil = (stdenv.mkDerivation ((if overrides ? xcbutilrenderutil then overrides.xcbutilrenderutil else x: x) { name = "xcb-util-renderutil-0.3.9"; builder = ./builder.sh; src = fetchurl { @@ -1237,9 +1232,9 @@ let sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; - }) // {inherit gperf m4 libxcb xproto ;}; + })) // {inherit gperf m4 libxcb xproto ;}; - xcbutilwm = (mkDerivation "xcbutilwm" { + xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) { name = "xcb-util-wm-0.4.1"; builder = ./builder.sh; src = fetchurl { @@ -1247,9 +1242,9 @@ let sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; - }) // {inherit gperf m4 libxcb xproto ;}; + })) // {inherit gperf m4 libxcb xproto ;}; - xclock = (mkDerivation "xclock" { + xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) { name = "xclock-1.0.7"; builder = ./builder.sh; src = fetchurl { @@ -1257,9 +1252,9 @@ let sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3"; }; buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ]; - }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;}; + })) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;}; - xcmiscproto = (mkDerivation "xcmiscproto" { + xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) { name = "xcmiscproto-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -1267,9 +1262,9 @@ let sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xcmsdb = (mkDerivation "xcmsdb" { + xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) { name = "xcmsdb-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1277,9 +1272,9 @@ let sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74"; }; buildInputs = [pkgconfig libX11 ]; - }) // {inherit libX11 ;}; + })) // {inherit libX11 ;}; - xcursorgen = (mkDerivation "xcursorgen" { + xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) { name = "xcursorgen-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -1287,9 +1282,9 @@ let sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i"; }; buildInputs = [pkgconfig libpng libX11 libXcursor ]; - }) // {inherit libpng libX11 libXcursor ;}; + })) // {inherit libpng libX11 libXcursor ;}; - xcursorthemes = (mkDerivation "xcursorthemes" { + xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) { name = "xcursor-themes-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1297,9 +1292,9 @@ let sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3"; }; buildInputs = [pkgconfig libXcursor ]; - }) // {inherit libXcursor ;}; + })) // {inherit libXcursor ;}; - xdm = (mkDerivation "xdm" { + xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) { name = "xdm-1.1.11"; builder = ./builder.sh; src = fetchurl { @@ -1307,9 +1302,9 @@ let sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl"; }; buildInputs = [pkgconfig libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ]; - }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; + })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; - xdpyinfo = (mkDerivation "xdpyinfo" { + xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) { name = "xdpyinfo-1.3.1"; builder = ./builder.sh; src = fetchurl { @@ -1317,9 +1312,9 @@ let sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf"; }; buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; - }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; + })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; - xdriinfo = (mkDerivation "xdriinfo" { + xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) { name = "xdriinfo-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1327,9 +1322,9 @@ let sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim"; }; buildInputs = [pkgconfig glproto libX11 ]; - }) // {inherit glproto libX11 ;}; + })) // {inherit glproto libX11 ;}; - xev = (mkDerivation "xev" { + xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) { name = "xev-1.2.1"; builder = ./builder.sh; src = fetchurl { @@ -1337,9 +1332,9 @@ let sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i"; }; buildInputs = [pkgconfig libX11 xproto libXrandr ]; - }) // {inherit libX11 xproto libXrandr ;}; + })) // {inherit libX11 xproto libXrandr ;}; - xextproto = (mkDerivation "xextproto" { + xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) { name = "xextproto-7.3.0"; builder = ./builder.sh; src = fetchurl { @@ -1347,9 +1342,9 @@ let sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xeyes = (mkDerivation "xeyes" { + xeyes = (stdenv.mkDerivation ((if overrides ? xeyes then overrides.xeyes else x: x) { name = "xeyes-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -1357,9 +1352,9 @@ let sha256 = "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp"; }; buildInputs = [pkgconfig libX11 libXext libXmu libXrender libXt ]; - }) // {inherit libX11 libXext libXmu libXrender libXt ;}; + })) // {inherit libX11 libXext libXmu libXrender libXt ;}; - xf86bigfontproto = (mkDerivation "xf86bigfontproto" { + xf86bigfontproto = (stdenv.mkDerivation ((if overrides ? xf86bigfontproto then overrides.xf86bigfontproto else x: x) { name = "xf86bigfontproto-1.2.0"; builder = ./builder.sh; src = fetchurl { @@ -1367,9 +1362,9 @@ let sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xf86dgaproto = (mkDerivation "xf86dgaproto" { + xf86dgaproto = (stdenv.mkDerivation ((if overrides ? xf86dgaproto then overrides.xf86dgaproto else x: x) { name = "xf86dgaproto-2.1"; builder = ./builder.sh; src = fetchurl { @@ -1377,9 +1372,9 @@ let sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xf86driproto = (mkDerivation "xf86driproto" { + xf86driproto = (stdenv.mkDerivation ((if overrides ? xf86driproto then overrides.xf86driproto else x: x) { name = "xf86driproto-2.1.1"; builder = ./builder.sh; src = fetchurl { @@ -1387,9 +1382,9 @@ let sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xf86inputevdev = (mkDerivation "xf86inputevdev" { + xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) { name = "xf86-input-evdev-2.8.4"; builder = ./builder.sh; src = fetchurl { @@ -1397,9 +1392,9 @@ let sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; - }) // {inherit inputproto udev xorgserver xproto ;}; + })) // {inherit inputproto udev xorgserver xproto ;}; - xf86inputjoystick = (mkDerivation "xf86inputjoystick" { + xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) { name = "xf86-input-joystick-1.6.2"; builder = ./builder.sh; src = fetchurl { @@ -1407,9 +1402,9 @@ let sha256 = "038mfqairyyqvz02rk7v3i070sab1wr0k6fkxvyvxdgkfbnqcfzf"; }; buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ]; - }) // {inherit inputproto kbproto xorgserver xproto ;}; + })) // {inherit inputproto kbproto xorgserver xproto ;}; - xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" { + xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) { name = "xf86-input-keyboard-1.8.0"; builder = ./builder.sh; src = fetchurl { @@ -1417,9 +1412,9 @@ let sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; - }) // {inherit inputproto xorgserver xproto ;}; + })) // {inherit inputproto xorgserver xproto ;}; - xf86inputmouse = (mkDerivation "xf86inputmouse" { + xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) { name = "xf86-input-mouse-1.9.1"; builder = ./builder.sh; src = fetchurl { @@ -1427,9 +1422,9 @@ let sha256 = "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; - }) // {inherit inputproto xorgserver xproto ;}; + })) // {inherit inputproto xorgserver xproto ;}; - xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" { + xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { name = "xf86-input-synaptics-1.7.6"; builder = ./builder.sh; src = fetchurl { @@ -1437,9 +1432,9 @@ let sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm"; }; buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; - }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; + })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; - xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" { + xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) { name = "xf86-input-vmmouse-13.0.0"; builder = ./builder.sh; src = fetchurl { @@ -1447,9 +1442,9 @@ let sha256 = "0b31ap9wp7nwpnihz8m7bz3p0hhaipxxhl652nw4v380cq1vdkq4"; }; buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ]; - }) // {inherit inputproto randrproto xorgserver xproto ;}; + })) // {inherit inputproto randrproto xorgserver xproto ;}; - xf86inputvoid = (mkDerivation "xf86inputvoid" { + xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) { name = "xf86-input-void-1.4.0"; builder = ./builder.sh; src = fetchurl { @@ -1457,9 +1452,9 @@ let sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a"; }; buildInputs = [pkgconfig xorgserver xproto ]; - }) // {inherit xorgserver xproto ;}; + })) // {inherit xorgserver xproto ;}; - xf86miscproto = (mkDerivation "xf86miscproto" { + xf86miscproto = (stdenv.mkDerivation ((if overrides ? xf86miscproto then overrides.xf86miscproto else x: x) { name = "xf86miscproto-0.9.3"; builder = ./builder.sh; src = fetchurl { @@ -1467,9 +1462,9 @@ let sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xf86videoark = (mkDerivation "xf86videoark" { + xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) { name = "xf86-video-ark-0.7.5"; builder = ./builder.sh; src = fetchurl { @@ -1477,9 +1472,9 @@ let sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466"; }; buildInputs = [pkgconfig fontsproto libpciaccess xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;}; - xf86videoast = (mkDerivation "xf86videoast" { + xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) { name = "xf86-video-ast-0.98.0"; builder = ./builder.sh; src = fetchurl { @@ -1487,9 +1482,9 @@ let sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videoati = (mkDerivation "xf86videoati" { + xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) { name = "xf86-video-ati-7.4.0"; builder = ./builder.sh; src = fetchurl { @@ -1497,9 +1492,9 @@ let sha256 = "1nbnvxlyn75bcf23m39p7yw80kilgdxmjdvzgcs3walshnlhq8wn"; }; buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + })) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videocirrus = (mkDerivation "xf86videocirrus" { + xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) { name = "xf86-video-cirrus-1.5.2"; builder = ./builder.sh; src = fetchurl { @@ -1507,9 +1502,9 @@ let sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videodummy = (mkDerivation "xf86videodummy" { + xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) { name = "xf86-video-dummy-0.3.7"; builder = ./builder.sh; src = fetchurl { @@ -1517,9 +1512,9 @@ let sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; - }) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; + })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; - xf86videofbdev = (mkDerivation "xf86videofbdev" { + xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) { name = "xf86-video-fbdev-0.4.4"; builder = ./builder.sh; src = fetchurl { @@ -1527,9 +1522,9 @@ let sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; - xf86videogeode = (mkDerivation "xf86videogeode" { + xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) { name = "xf86-video-geode-2.11.16"; builder = ./builder.sh; src = fetchurl { @@ -1537,9 +1532,9 @@ let sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videoglide = (mkDerivation "xf86videoglide" { + xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) { name = "xf86-video-glide-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -1547,9 +1542,9 @@ let sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y"; }; buildInputs = [pkgconfig xextproto xorgserver xproto ]; - }) // {inherit xextproto xorgserver xproto ;}; + })) // {inherit xextproto xorgserver xproto ;}; - xf86videoglint = (mkDerivation "xf86videoglint" { + xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) { name = "xf86-video-glint-1.2.8"; builder = ./builder.sh; src = fetchurl { @@ -1557,9 +1552,9 @@ let sha256 = "08a2aark2yn9irws9c78d9q44dichr03i9zbk61jgr54ncxqhzv5"; }; buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ]; - }) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;}; + })) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;}; - xf86videoi128 = (mkDerivation "xf86videoi128" { + xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) { name = "xf86-video-i128-1.3.6"; builder = ./builder.sh; src = fetchurl { @@ -1567,9 +1562,9 @@ let sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videointel = (mkDerivation "xf86videointel" { + xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) { name = "xf86-video-intel-2.21.15"; builder = ./builder.sh; src = fetchurl { @@ -1577,9 +1572,9 @@ let sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx"; }; buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ]; - }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; + })) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; - xf86videomach64 = (mkDerivation "xf86videomach64" { + xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) { name = "xf86-video-mach64-6.9.4"; builder = ./builder.sh; src = fetchurl { @@ -1587,9 +1582,9 @@ let sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videomga = (mkDerivation "xf86videomga" { + xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) { name = "xf86-video-mga-1.6.3"; builder = ./builder.sh; src = fetchurl { @@ -1597,9 +1592,9 @@ let sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videomodesetting = (mkDerivation "xf86videomodesetting" { + xf86videomodesetting = (stdenv.mkDerivation ((if overrides ? xf86videomodesetting then overrides.xf86videomodesetting else x: x) { name = "xf86-video-modesetting-0.9.0"; builder = ./builder.sh; src = fetchurl { @@ -1607,9 +1602,9 @@ let sha256 = "0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh"; }; buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; - xf86videoneomagic = (mkDerivation "xf86videoneomagic" { + xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { name = "xf86-video-neomagic-1.2.8"; builder = ./builder.sh; src = fetchurl { @@ -1617,9 +1612,9 @@ let sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash"; }; buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess xorgserver xproto ;}; - xf86videonewport = (mkDerivation "xf86videonewport" { + xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) { name = "xf86-video-newport-0.2.4"; builder = ./builder.sh; src = fetchurl { @@ -1627,9 +1622,9 @@ let sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ]; - }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; + })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; - xf86videonouveau = (mkDerivation "xf86videonouveau" { + xf86videonouveau = (stdenv.mkDerivation ((if overrides ? xf86videonouveau then overrides.xf86videonouveau else x: x) { name = "xf86-video-nouveau-1.0.10"; builder = ./builder.sh; src = fetchurl { @@ -1637,9 +1632,9 @@ let sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1"; }; buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videonv = (mkDerivation "xf86videonv" { + xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) { name = "xf86-video-nv-2.1.20"; builder = ./builder.sh; src = fetchurl { @@ -1647,9 +1642,9 @@ let sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" { + xf86videoopenchrome = (stdenv.mkDerivation ((if overrides ? xf86videoopenchrome then overrides.xf86videoopenchrome else x: x) { name = "xf86-video-openchrome-0.3.3"; builder = ./builder.sh; src = fetchurl { @@ -1657,9 +1652,9 @@ let sha256 = "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4"; }; buildInputs = [pkgconfig fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ]; - }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; + })) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; - xf86videor128 = (mkDerivation "xf86videor128" { + xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) { name = "xf86-video-r128-6.9.2"; builder = ./builder.sh; src = fetchurl { @@ -1667,9 +1662,9 @@ let sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; - xf86videosavage = (mkDerivation "xf86videosavage" { + xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) { name = "xf86-video-savage-2.3.7"; builder = ./builder.sh; src = fetchurl { @@ -1677,9 +1672,9 @@ let sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" { + xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) { name = "xf86-video-siliconmotion-1.7.7"; builder = ./builder.sh; src = fetchurl { @@ -1687,9 +1682,9 @@ let sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47"; }; buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;}; - xf86videosis = (mkDerivation "xf86videosis" { + xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) { name = "xf86-video-sis-0.10.7"; builder = ./builder.sh; src = fetchurl { @@ -1697,9 +1692,9 @@ let sha256 = "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;}; - xf86videosuncg6 = (mkDerivation "xf86videosuncg6" { + xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) { name = "xf86-video-suncg6-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -1707,9 +1702,9 @@ let sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; - }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; + })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; - xf86videosunffb = (mkDerivation "xf86videosunffb" { + xf86videosunffb = (stdenv.mkDerivation ((if overrides ? xf86videosunffb then overrides.xf86videosunffb else x: x) { name = "xf86-video-sunffb-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -1717,9 +1712,9 @@ let sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;}; - xf86videotdfx = (mkDerivation "xf86videotdfx" { + xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) { name = "xf86-video-tdfx-1.4.5"; builder = ./builder.sh; src = fetchurl { @@ -1727,9 +1722,9 @@ let sha256 = "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videotga = (mkDerivation "xf86videotga" { + xf86videotga = (stdenv.mkDerivation ((if overrides ? xf86videotga then overrides.xf86videotga else x: x) { name = "xf86-video-tga-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -1737,9 +1732,9 @@ let sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; - xf86videotrident = (mkDerivation "xf86videotrident" { + xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) { name = "xf86-video-trident-1.3.6"; builder = ./builder.sh; src = fetchurl { @@ -1747,9 +1742,9 @@ let sha256 = "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; - xf86videov4l = (mkDerivation "xf86videov4l" { + xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) { name = "xf86-video-v4l-0.2.0"; builder = ./builder.sh; src = fetchurl { @@ -1757,9 +1752,9 @@ let sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb"; }; buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ]; - }) // {inherit randrproto videoproto xorgserver xproto ;}; + })) // {inherit randrproto videoproto xorgserver xproto ;}; - xf86videovesa = (mkDerivation "xf86videovesa" { + xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) { name = "xf86-video-vesa-2.3.3"; builder = ./builder.sh; src = fetchurl { @@ -1767,9 +1762,9 @@ let sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; - xf86videovmware = (mkDerivation "xf86videovmware" { + xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) { name = "xf86-video-vmware-13.0.2"; builder = ./builder.sh; src = fetchurl { @@ -1777,9 +1772,9 @@ let sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; - xf86videovoodoo = (mkDerivation "xf86videovoodoo" { + xf86videovoodoo = (stdenv.mkDerivation ((if overrides ? xf86videovoodoo then overrides.xf86videovoodoo else x: x) { name = "xf86-video-voodoo-1.2.5"; builder = ./builder.sh; src = fetchurl { @@ -1787,9 +1782,9 @@ let sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ]; - }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;}; + })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;}; - xf86videowsfb = (mkDerivation "xf86videowsfb" { + xf86videowsfb = (stdenv.mkDerivation ((if overrides ? xf86videowsfb then overrides.xf86videowsfb else x: x) { name = "xf86-video-wsfb-0.4.0"; builder = ./builder.sh; src = fetchurl { @@ -1797,9 +1792,9 @@ let sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p"; }; buildInputs = [pkgconfig xorgserver xproto ]; - }) // {inherit xorgserver xproto ;}; + })) // {inherit xorgserver xproto ;}; - xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" { + xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) { name = "xf86vidmodeproto-2.3.1"; builder = ./builder.sh; src = fetchurl { @@ -1807,9 +1802,9 @@ let sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xfs = (mkDerivation "xfs" { + xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) { name = "xfs-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -1817,9 +1812,9 @@ let sha256 = "1dwnf5gncpnjsbh9bdrc665kfnclhzzcpwpfnprvrnq4mlr4mx3v"; }; buildInputs = [pkgconfig libXfont xproto xtrans ]; - }) // {inherit libXfont xproto xtrans ;}; + })) // {inherit libXfont xproto xtrans ;}; - xgamma = (mkDerivation "xgamma" { + xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) { name = "xgamma-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -1827,9 +1822,9 @@ let sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3"; }; buildInputs = [pkgconfig libX11 libXxf86vm ]; - }) // {inherit libX11 libXxf86vm ;}; + })) // {inherit libX11 libXxf86vm ;}; - xhost = (mkDerivation "xhost" { + xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) { name = "xhost-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -1837,9 +1832,9 @@ let sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6"; }; buildInputs = [pkgconfig libX11 libXau libXmu xproto ]; - }) // {inherit libX11 libXau libXmu xproto ;}; + })) // {inherit libX11 libXau libXmu xproto ;}; - xineramaproto = (mkDerivation "xineramaproto" { + xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) { name = "xineramaproto-1.2.1"; builder = ./builder.sh; src = fetchurl { @@ -1847,9 +1842,9 @@ let sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xinit = (mkDerivation "xinit" { + xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) { name = "xinit-1.3.3"; builder = ./builder.sh; src = fetchurl { @@ -1857,9 +1852,9 @@ let sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xinput = (mkDerivation "xinput" { + xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) { name = "xinput-1.6.1"; builder = ./builder.sh; src = fetchurl { @@ -1867,9 +1862,9 @@ let sha256 = "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp"; }; buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ]; - }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; + })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; - xkbcomp = (mkDerivation "xkbcomp" { + xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) { name = "xkbcomp-1.2.4"; builder = ./builder.sh; src = fetchurl { @@ -1877,9 +1872,9 @@ let sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i"; }; buildInputs = [pkgconfig libX11 libxkbfile xproto ]; - }) // {inherit libX11 libxkbfile xproto ;}; + })) // {inherit libX11 libxkbfile xproto ;}; - xkbevd = (mkDerivation "xkbevd" { + xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) { name = "xkbevd-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -1887,9 +1882,9 @@ let sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm"; }; buildInputs = [pkgconfig libX11 libxkbfile ]; - }) // {inherit libX11 libxkbfile ;}; + })) // {inherit libX11 libxkbfile ;}; - xkbprint = (mkDerivation "xkbprint" { + xkbprint = (stdenv.mkDerivation ((if overrides ? xkbprint then overrides.xkbprint else x: x) { name = "xkbprint-1.0.3"; builder = ./builder.sh; src = fetchurl { @@ -1897,9 +1892,9 @@ let sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s"; }; buildInputs = [pkgconfig libX11 libxkbfile ]; - }) // {inherit libX11 libxkbfile ;}; + })) // {inherit libX11 libxkbfile ;}; - xkbutils = (mkDerivation "xkbutils" { + xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) { name = "xkbutils-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1907,9 +1902,9 @@ let sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"; }; buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ]; - }) // {inherit inputproto libX11 libXaw xproto libXt ;}; + })) // {inherit inputproto libX11 libXaw xproto libXt ;}; - xkeyboardconfig = (mkDerivation "xkeyboardconfig" { + xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) { name = "xkeyboard-config-2.11"; builder = ./builder.sh; src = fetchurl { @@ -1917,9 +1912,9 @@ let sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xkill = (mkDerivation "xkill" { + xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) { name = "xkill-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1927,9 +1922,9 @@ let sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8"; }; buildInputs = [pkgconfig libX11 libXmu xproto ]; - }) // {inherit libX11 libXmu xproto ;}; + })) // {inherit libX11 libXmu xproto ;}; - xlsatoms = (mkDerivation "xlsatoms" { + xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) { name = "xlsatoms-1.1.1"; builder = ./builder.sh; src = fetchurl { @@ -1937,9 +1932,9 @@ let sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv"; }; buildInputs = [pkgconfig libxcb ]; - }) // {inherit libxcb ;}; + })) // {inherit libxcb ;}; - xlsclients = (mkDerivation "xlsclients" { + xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) { name = "xlsclients-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -1947,9 +1942,9 @@ let sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx"; }; buildInputs = [pkgconfig libxcb ]; - }) // {inherit libxcb ;}; + })) // {inherit libxcb ;}; - xmessage = (mkDerivation "xmessage" { + xmessage = (stdenv.mkDerivation ((if overrides ? xmessage then overrides.xmessage else x: x) { name = "xmessage-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -1957,9 +1952,9 @@ let sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw"; }; buildInputs = [pkgconfig libXaw libXt ]; - }) // {inherit libXaw libXt ;}; + })) // {inherit libXaw libXt ;}; - xmodmap = (mkDerivation "xmodmap" { + xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) { name = "xmodmap-1.0.8"; builder = ./builder.sh; src = fetchurl { @@ -1967,9 +1962,9 @@ let sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xorgcffiles = (mkDerivation "xorgcffiles" { + xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) { name = "xorg-cf-files-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -1977,9 +1972,9 @@ let sha256 = "1m3ypq0xcy46ghxc0svl1rbhpy3zvgmy0aa2mn7w7v7d8d8bh8zd"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xorgdocs = (mkDerivation "xorgdocs" { + xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) { name = "xorg-docs-1.7"; builder = ./builder.sh; src = fetchurl { @@ -1987,9 +1982,9 @@ let sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xorgserver = (mkDerivation "xorgserver" { + xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) { name = "xorg-server-1.14.7"; builder = ./builder.sh; src = fetchurl { @@ -1997,9 +1992,9 @@ let sha256 = "07s54g9q1bry1050dsa7x6hy55yjvq9sxs6ks89pc8l6mnk6zxpw"; }; buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; - }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; + })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; - xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" { + xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) { name = "xorg-sgml-doctools-1.11"; builder = ./builder.sh; src = fetchurl { @@ -2007,9 +2002,9 @@ let sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xpr = (mkDerivation "xpr" { + xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) { name = "xpr-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -2017,9 +2012,9 @@ let sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy"; }; buildInputs = [pkgconfig libX11 libXmu xproto ]; - }) // {inherit libX11 libXmu xproto ;}; + })) // {inherit libX11 libXmu xproto ;}; - xprop = (mkDerivation "xprop" { + xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) { name = "xprop-1.2.2"; builder = ./builder.sh; src = fetchurl { @@ -2027,9 +2022,9 @@ let sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xproto = (mkDerivation "xproto" { + xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) { name = "xproto-7.0.26"; builder = ./builder.sh; src = fetchurl { @@ -2037,9 +2032,9 @@ let sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xrandr = (mkDerivation "xrandr" { + xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) { name = "xrandr-1.4.3"; builder = ./builder.sh; src = fetchurl { @@ -2047,9 +2042,9 @@ let sha256 = "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i"; }; buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ]; - }) // {inherit libX11 xproto libXrandr libXrender ;}; + })) // {inherit libX11 xproto libXrandr libXrender ;}; - xrdb = (mkDerivation "xrdb" { + xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) { name = "xrdb-1.1.0"; builder = ./builder.sh; src = fetchurl { @@ -2057,9 +2052,9 @@ let sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk"; }; buildInputs = [pkgconfig libX11 libXmu xproto ]; - }) // {inherit libX11 libXmu xproto ;}; + })) // {inherit libX11 libXmu xproto ;}; - xrefresh = (mkDerivation "xrefresh" { + xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) { name = "xrefresh-1.0.5"; builder = ./builder.sh; src = fetchurl { @@ -2067,9 +2062,9 @@ let sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xset = (mkDerivation "xset" { + xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) { name = "xset-1.2.3"; builder = ./builder.sh; src = fetchurl { @@ -2077,9 +2072,9 @@ let sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3"; }; buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ]; - }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; + })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; - xsetroot = (mkDerivation "xsetroot" { + xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) { name = "xsetroot-1.1.0"; builder = ./builder.sh; src = fetchurl { @@ -2087,9 +2082,9 @@ let sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8"; }; buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ]; - }) // {inherit libX11 xbitmaps libXcursor libXmu ;}; + })) // {inherit libX11 xbitmaps libXcursor libXmu ;}; - xtrans = (mkDerivation "xtrans" { + xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) { name = "xtrans-1.3.4"; builder = ./builder.sh; src = fetchurl { @@ -2097,9 +2092,9 @@ let sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85"; }; buildInputs = [pkgconfig ]; - }) // {inherit ;}; + })) // {inherit ;}; - xvinfo = (mkDerivation "xvinfo" { + xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) { name = "xvinfo-1.1.2"; builder = ./builder.sh; src = fetchurl { @@ -2107,9 +2102,9 @@ let sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf"; }; buildInputs = [pkgconfig libX11 xproto libXv ]; - }) // {inherit libX11 xproto libXv ;}; + })) // {inherit libX11 xproto libXv ;}; - xwd = (mkDerivation "xwd" { + xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) { name = "xwd-1.0.6"; builder = ./builder.sh; src = fetchurl { @@ -2117,9 +2112,9 @@ let sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; - xwininfo = (mkDerivation "xwininfo" { + xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) { name = "xwininfo-1.1.3"; builder = ./builder.sh; src = fetchurl { @@ -2127,9 +2122,9 @@ let sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1"; }; buildInputs = [pkgconfig libX11 libxcb xproto ]; - }) // {inherit libX11 libxcb xproto ;}; + })) // {inherit libX11 libxcb xproto ;}; - xwud = (mkDerivation "xwud" { + xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) { name = "xwud-1.0.4"; builder = ./builder.sh; src = fetchurl { @@ -2137,6 +2132,6 @@ let sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn"; }; buildInputs = [pkgconfig libX11 xproto ]; - }) // {inherit libX11 xproto ;}; + })) // {inherit libX11 xproto ;}; }; in xorg diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 9c6618d3b105..04ee5f109611 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -230,11 +230,6 @@ args: with args; let - mkDerivation = name: attrs: - let newAttrs = (overrides."\${name}" or (x: x)) attrs; - stdenv = newAttrs.stdenv or args.stdenv; - in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]); - overrides = import ./overrides.nix {inherit args xorg;}; xorg = rec { @@ -266,7 +261,7 @@ foreach my $pkg (sort (keys %pkgURLs)) { $extraAttrs = "" unless defined $extraAttrs; print OUT < Date: Sat, 23 Aug 2014 17:02:39 +0200 Subject: [PATCH 68/69] merge fixup --- pkgs/development/libraries/glibc/2.19/builder.sh | 16 +++++++++++++++- .../development/libraries/glibc/2.19/locales.nix | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glibc/2.19/builder.sh b/pkgs/development/libraries/glibc/2.19/builder.sh index 3b077cbb3fd5..7db93dc3bcf6 100644 --- a/pkgs/development/libraries/glibc/2.19/builder.sh +++ b/pkgs/development/libraries/glibc/2.19/builder.sh @@ -12,6 +12,9 @@ postConfigure() { export NIX_DONT_SET_RPATH=1 unset CFLAGS + + # Apparently --bindir is not respected. + makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin") } @@ -27,7 +30,7 @@ postInstall() { if test -z "$hurdHeaders"; then # Include the Linux kernel headers in Glibc, except the `scsi' # subdirectory, which Glibc provides itself. - (cd $out/include && \ + (cd $dev/include && \ ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .) fi @@ -52,6 +55,17 @@ postInstall() { # Get rid of more unnecessary stuff. rm -rf $out/var $out/sbin/sln + + # Put libraries for static linking in a separate output. Note + # that libc_nonshared.a and libpthread_nonshared.a are required + # for dynamically-linked applications. + mkdir -p $static/lib + mv $out/lib/*.a $static/lib + mv $static/lib/lib*_nonshared.a $out/lib + + # Work around a Nix bug: hard links across outputs cause a build failure. + cp $bin/bin/getconf $bin/bin/getconf_ + mv $bin/bin/getconf_ $bin/bin/getconf } genericBuild diff --git a/pkgs/development/libraries/glibc/2.19/locales.nix b/pkgs/development/libraries/glibc/2.19/locales.nix index 9f9fb86a396d..08c791b41316 100644 --- a/pkgs/development/libraries/glibc/2.19/locales.nix +++ b/pkgs/development/libraries/glibc/2.19/locales.nix @@ -25,7 +25,7 @@ build null { # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive. buildPhase = '' - mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale" + mkdir -p $TMPDIR/"${stdenv.gcc.libc}/lib/locale" # Hack to allow building of the locales (needed since glibc-2.12) sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \ From a835b282fec0875bb2dc599866a806d282eb3809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 23 Aug 2014 18:42:33 +0200 Subject: [PATCH 69/69] another fixup: stripFlags --- pkgs/stdenv/generic/setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 25113bc91bb3..325a5cb9d13e 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -283,7 +283,7 @@ stripDir() { if [ -e "$dir" ]; then header "stripping (with flags $stripFlags) in $dir" - find "$dir" -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true + find "$dir" -type f -print0 | xargs -0 ${xargsFlags:--r} strip "$commonStripFlags" "$stripFlags" || true stopNest fi } @@ -296,7 +296,7 @@ stripDirs() { for d in $subdirs; do if [ -d "$prefix/$d" ]; then - stripDir "$prefix/$d" "$commonStripFlags" "$stripFlags" + stripDir "$prefix/$d" "$stripFlags" fi done }