diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index c38d34eb94ae..be1abfb0b15c 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { #outputs = [ "dev" "out" "bin" ]; # ToDo: no idea what's wrong! docs? - #setupHook = ./setup-hook.sh; + setupHook = ./setup-hook.sh; buildInputs = [ /*stdenv.hookLib.multiout*/ libelf ] ++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ]; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index 35d7d9d8fbe9..91411e68dd21 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -15,3 +15,18 @@ glibPreFixupPhase() { } preFixupPhases+=(glibPreFixupPhase) + + +preFixupHooks+=(_multioutGtkDocs) + +# Move documentation to the desired outputs. +_multioutGtkDocs() { + if [ "$outputs" = "out" ]; then return; fi; + _moveToOutput share/gtk-doc "${!outputDoc}" + + # Remove empty share directory. + if [ -d "$out/share" ]; then + rmdir "$out/share" 2> /dev/null || true + fi +} + diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 4b7ec1f41163..5fdd88ff0b1d 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln"; }; + outputs = [ "dev" "out" "doc" ]; + buildInputs = [ flex bison glib pkgconfig python ] ++ libintlOrEmpty ++ stdenv.lib.optional stdenv.isDarwin otool; @@ -25,8 +27,6 @@ stdenv.mkDerivation rec { # other dependencies). configureFlags = [ "--disable-tests" ]; - postInstall = "rm -rf $out/share/gtk-doc"; - setupHook = ./setup-hook.sh; patches = [ ./absolute_shlib_path.patch ]; diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index f6777dc3bb9c..c369a36eb9ac 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, unzip, xlibs, libjpeg}: +{ stdenv, fetchurl, autoreconfHook, unzip, xlibs, libjpeg }: stdenv.mkDerivation rec { name = "jasper-1.900.1"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b"; }; - nativeBuildInputs = [unzip]; + nativeBuildInputs = [ unzip autoreconfHook ]; propagatedBuildInputs = [ libjpeg ]; configureFlags = "--enable-shared"; diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 951a19cde90c..a81c3b155343 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive +{ stdenv, fetchurl, fetchpatch, replace, pkgconfig, curl, expat, zlib, bzip2, libarchive , useNcurses ? false, ncurses, useQt4 ? false, qt4 }: @@ -39,12 +39,15 @@ stdenv.mkDerivation rec { sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv"; }); - buildInputs = [ curl expat zlib bzip2 libarchive ] + buildInputs = [ pkgconfig curl expat zlib bzip2 libarchive ] ++ optional useNcurses ncurses ++ optional useQt4 qt4; CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; + # no idea why the auto-added NIX_LDFLAGS to the same path is not enough + NIX_CFLAGS_COMPILE = "-L${zlib.out}/lib"; + configureFlags = "--docdir=/share/doc/${name} --mandir=/share/man --system-libs" + stdenv.lib.optionalString useQt4 " --qt-gui"; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 9942218be6cf..34fcf4fe595c 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5"; }; - outputs = [ "out" "man" "libudev" ]; + outputs = [ "dev" "out" "libudev" "doc" ]; patches = [ # These are all changes between upstream and @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { autoreconfHook ] ++ stdenv.lib.optionals pythonSupport [pythonPackages.python pythonPackages.lxml]; + configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" @@ -102,6 +103,8 @@ stdenv.mkDerivation rec { # /var is mounted. makeFlags = "hwdb_bin=/var/lib/udev/hwdb.bin"; + enableParallelBuilding = true; + installFlags = [ "localstatedir=$(TMPDIR)/var" "sysconfdir=$(out)/etc" @@ -112,9 +115,9 @@ stdenv.mkDerivation rec { # Get rid of configuration-specific data. postInstall = '' - mkdir -p $out/example/systemd - mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example - mv $out/lib/systemd/{system,user} $out/example/systemd + mkdir -p $doc/example/systemd + mv $doc/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $doc/example + mv $doc/lib/systemd/{system,user} $doc/example/systemd rm -rf $out/etc/systemd/system @@ -143,7 +146,12 @@ stdenv.mkDerivation rec { done ''; # */ - enableParallelBuilding = true; + postPhases = "postPostFixup"; + + postPostFixup = '' + ls -l "$dev"/nix-support/ + echo -n " $libudev" >> "$dev"/nix-support/propagated-*build-inputs + ''; # The interface version prevents NixOS from switching to an # incompatible systemd at runtime. (Switching across reboots is diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 03b4f2a894a5..7b4ac6d04d45 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }: stdenv.mkDerivation rec { - name = "util-linux-2.24.2"; + name = "util-linux-2.25"; src = fetchurl { - url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.24/${name}.tar.xz"; - sha256 = "1w0g8q5aj5pjdf8l52g0mxyvlk62f4dch51q9jm3hnqwgz0dchqj"; + url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.25/${name}.tar.xz"; + sha256 = "02lqww6ck4p47wzc883zdjb1gnwm59hsay4hd5i55mfdv25mmfj7"; }; - outputs = [ "dev" "out" "bin" ]; + outputs = [ "dev" "out" "bin" ]; # ToDo: problems with e2fsprogs crossAttrs = { # Work around use of `AC_RUN_IFELSE'. @@ -37,13 +37,17 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (perl != null) perl; postInstall = '' - rm $out/bin/su # su should be supplied by the su package (shadow) + sed "s,$out$out,$out,g" -i "$dev"/lib/pkgconfig/*.pc + rm "$bin/bin/su" # su should be supplied by the su package (shadow) ''; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.kernel.org/pub/linux/utils/util-linux/; description = "A set of system utilities for Linux"; + license = licenses.gpl2; # also contains parts under more permissive licenses + platforms = platforms.all; }; } + diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index dcbf7235e49c..0e61e1474e88 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,14 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, libuuid }: +{ stdenv, fetchurl, autoreconfHook, gettext, pkgconfig, libuuid }: stdenv.mkDerivation rec { - name = "e2fsprogs-1.42.9"; + name = "e2fsprogs-1.42.12"; src = fetchurl { url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; - sha256 = "00i83w22sbyq849as9vmaf2xcx1d06npvriyv8m0z81gx43ar4ig"; + sha256 = "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71"; }; - buildInputs = [ pkgconfig libuuid ]; + outputs = [ "dev" "out" "bin" "man" ]; + + buildInputs = [ pkgconfig /*libuuid*/ ]; crossAttrs = { preConfigure = '' @@ -17,7 +19,8 @@ stdenv.mkDerivation rec { }; # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency). - configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck --enable-symlink-install"; + # ToDo: failed with shared uuid and blkid + configureFlags = "--enable-elf-shlibs --disable-fsck --enable-symlink-install"; enableParallelBuilding = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94f773f77d4c..23df773d2291 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7221,7 +7221,7 @@ let }); }) else if stdenv.isLinux - then utillinux + then e2fsprogs else null; e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; @@ -7808,7 +7808,7 @@ let udev145 = callPackage ../os-specific/linux/udev/145.nix { }; - udev = pkgs.systemd.libudev; + udev = pkgs.systemd; # headers are not in the libudev output udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { };