summaryrefslogtreecommitdiffstats
path: root/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix2
-rw-r--r--pkgs/os-specific/linux/apparmor/2.9/default.nix183
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix8
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix18
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix2
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5_28.nix2
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix2
-rw-r--r--pkgs/os-specific/linux/checksec/default.nix2
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix4
-rw-r--r--pkgs/os-specific/linux/fusionio/util.nix2
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix2
-rw-r--r--pkgs/os-specific/linux/klibc/shrunk.nix6
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix19
-rw-r--r--pkgs/os-specific/linux/libcap/man.nix2
-rw-r--r--pkgs/os-specific/linux/libcap/pam.nix2
-rw-r--r--pkgs/os-specific/linux/libcap/progs.nix5
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix2
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix6
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix2
-rw-r--r--pkgs/os-specific/linux/module-init-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam/default.nix13
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix74
-rw-r--r--pkgs/os-specific/linux/systemd/hwdb-location.diff19
-rw-r--r--pkgs/os-specific/linux/systemd/libudev.nix19
-rw-r--r--pkgs/os-specific/linux/udev/145.nix53
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix19
30 files changed, 407 insertions, 71 deletions
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index abe4aa67b143..d671c7c72303 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
# FIXME: this will give us incorrect man pages for bits of cctools
ln -s ${binutils-raw}/share $out/share
- ln -s ${binutils-raw}/lib $out/lib
+ ln -s ${binutils-raw.out}/lib $out/lib
ln -s ${cctools}/libexec $out/libexec
'';
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index ed72e7011663..8f46bb29c1fb 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
sed -i -e 's/u_int\([0-9]*\)_t/uint\1_t/g' include/pcm.h
'';
+ outputs = [ "dev" "out" ];
+
crossAttrs = {
patchPhase = ''
sed -i s/extern/static/g include/iatomic.h
diff --git a/pkgs/os-specific/linux/apparmor/2.9/default.nix b/pkgs/os-specific/linux/apparmor/2.9/default.nix
new file mode 100644
index 000000000000..5e8ccc756918
--- /dev/null
+++ b/pkgs/os-specific/linux/apparmor/2.9/default.nix
@@ -0,0 +1,183 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, perl, which
+, glibc, flex, bison, python27, swig, dbus, pam
+}:
+
+let
+ apparmor-series = "2.9";
+ apparmor-patchver = "2";
+ apparmor-version = "${apparmor-series}.${apparmor-patchver}";
+
+ apparmor-meta = component: with stdenv.lib; {
+ homepage = http://apparmor.net/;
+ description = "Linux application security system - ${component}";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ phreedom thoughtpolice joachifm ];
+ platforms = platforms.linux;
+ };
+
+ apparmor-sources = fetchurl {
+ url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
+ sha256 = "1mayly7d7w959fya7z8q6kab2x3jcwhqhkpx36jsvpjhxkhmc4fh";
+ };
+
+ prePatchCommon = ''
+ substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
+ substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
+ substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h"
+ substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
+ '';
+
+ libapparmor = stdenv.mkDerivation {
+ name = "libapparmor-${apparmor-version}";
+ src = apparmor-sources;
+
+ buildInputs = [
+ autoconf
+ automake
+ bison
+ flex
+ dbus # requires patch to dbus ...
+ glibc
+ libtool
+ perl
+ pkgconfig
+ python27
+ swig
+ which
+ ];
+
+ prePatch = prePatchCommon + ''
+ substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h"
+ substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h"
+ '';
+
+ buildPhase = ''
+ cd ./libraries/libapparmor
+ ./autogen.sh
+ ./configure --prefix="$out" --with-python --with-perl
+ make
+ '';
+
+ installPhase = ''
+ make install
+ '';
+
+ meta = apparmor-meta "library";
+ };
+
+ apparmor-utils = stdenv.mkDerivation {
+ name = "apparmor-utils-${apparmor-version}";
+ src = apparmor-sources;
+
+ buildInputs = [
+ python27
+ libapparmor
+ which
+ ];
+
+ prePatch = prePatchCommon;
+
+ buildPhase = ''
+ cd ./utils
+ make LANGS=""
+ '';
+
+ installPhase = ''
+ make install LANGS="" DESTDIR="$out" BINDIR="$out/bin" VIM_INSTALL_PATH="$out/share" PYPREFIX=""
+ '';
+
+ meta = apparmor-meta "user-land utilities";
+ };
+
+ apparmor-parser = stdenv.mkDerivation {
+ name = "apparmor-parser-${apparmor-version}";
+ src = apparmor-sources;
+
+ buildInputs = [
+ libapparmor
+ bison
+ flex
+ which
+ ];
+
+ prePatch = prePatchCommon + ''
+ substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
+ substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
+ substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h"
+ ## techdoc.pdf still doesn't build ...
+ substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
+ '';
+
+ buildPhase = ''
+ cd ./parser
+ make LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include
+ '';
+
+ installPhase = ''
+ make install LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include DESTDIR="$out" DISTRO="unknown"
+ '';
+
+ meta = apparmor-meta "rule parser";
+ };
+
+ apparmor-pam = stdenv.mkDerivation {
+ name = "apparmor-pam-${apparmor-version}";
+ src = apparmor-sources;
+
+ buildInputs = [
+ libapparmor
+ pam
+ pkgconfig
+ which
+ ];
+
+ buildPhase = ''
+ cd ./changehat/pam_apparmor
+ make USE_SYSTEM=1
+ '';
+
+ installPhase = ''
+ make install DESTDIR="$out"
+ '';
+
+ meta = apparmor-meta "PAM service";
+ };
+
+ apparmor-profiles = stdenv.mkDerivation {
+ name = "apparmor-profiles-${apparmor-version}";
+ src = apparmor-sources;
+
+ buildInputs = [ which ];
+
+ buildPhase = ''
+ cd ./profiles
+ make
+ '';
+
+ installPhase = ''
+ make install DESTDIR="$out" EXTRAS_DEST="$out/share/apparmor/extra-profiles"
+ '';
+
+ meta = apparmor-meta "profiles";
+ };
+
+ apparmor-kernel-patches = stdenv.mkDerivation {
+ name = "apparmor-kernel-patches-${apparmor-version}";
+ src = apparmor-sources;
+
+ phases = ''unpackPhase installPhase'';
+
+ installPhase = ''
+ mkdir "$out"
+ cp -R ./kernel-patches "$out"
+ '';
+
+ meta = apparmor-meta "kernel patches";
+ };
+
+in
+
+{
+ inherit libapparmor apparmor-utils apparmor-parser apparmor-pam
+ apparmor-profiles apparmor-kernel-patches;
+}
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 64c6f66575b6..49fdbab24caa 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -22,7 +22,7 @@ let
prePatchCommon = ''
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
- substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
+ substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h"
substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
'';
@@ -49,8 +49,8 @@ let
dontDisableStatic = true;
prePatch = prePatchCommon + ''
- substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
- substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
+ substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h"
+ substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h"
'';
postPatch = "cd ./libraries/libapparmor";
@@ -104,7 +104,7 @@ let
prePatch = prePatchCommon + ''
substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
- substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
+ substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h"
## techdoc.pdf still doesn't build ...
substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
'';
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 377297feaf75..78903da1f1a1 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -85,15 +85,17 @@ stdenv.mkDerivation {
inherit glibc /* glibc only used for setting interpreter */;
+ # outputs TODO: probably many fixes are needed;
+ # this in particular would be much better by lib.makeLibraryPath
LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":"
- [ "${xorg.libXrandr}/lib/"
- "${xorg.libXrender}/lib/"
- "${xorg.libXext}/lib/"
- "${xorg.libX11}/lib/"
- "${xorg.libXinerama}/lib/"
- "${xorg.libSM}/lib/"
- "${xorg.libICE}/lib/"
- "${stdenv.cc.cc}/lib/"
+ [ "${xorg.libXrandr.out}/lib/"
+ "${xorg.libXrender.out}/lib/"
+ "${xorg.libXext.out}/lib/"
+ "${xorg.libX11.out}/lib/"
+ "${xorg.libXinerama.out}/lib/"
+ "${xorg.libSM.out}/lib/"
+ "${xorg.libICE.out}/lib/"
+ "${stdenv.cc.cc.out}/lib/"
];
# without this some applications like blender don't start, but they start
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index cc132ddc397e..20fa830e3201 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
[ pythonDBus pygobject pygobject3 recursivePthLoader ];
buildInputs =
- [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython
+ [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython
readline libsndfile udev libical
# Disables GStreamer; not clear what it gains us other than a
# zillion extra dependencies.
diff --git a/pkgs/os-specific/linux/bluez/bluez5_28.nix b/pkgs/os-specific/linux/bluez/bluez5_28.nix
index 7f5a30144c8b..ba3f478ddc22 100644
--- a/pkgs/os-specific/linux/bluez/bluez5_28.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5_28.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
[ pythonDBus pygobject pygobject3 recursivePthLoader ];
buildInputs =
- [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython
+ [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython
readline libsndfile udev libical
# Disables GStreamer; not clear what it gains us other than a
# zillion extra dependencies.
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 23e5171d1780..4f30bc19caf8 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
};
buildInputs =
- [ pkgconfig dbus.libs glib libusb alsaLib python makeWrapper
+ [ pkgconfig dbus glib libusb alsaLib python makeWrapper
readline libsndfile
# Disables GStreamer; not clear what it gains us other than a
# zillion extra dependencies.
diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix
index b423dc3a0862..60468538be24 100644
--- a/pkgs/os-specific/linux/checksec/default.nix
+++ b/pkgs/os-specific/linux/checksec/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
cp checksec.sh $out/bin/checksec
chmod +x $out/bin/checksec
substituteInPlace $out/bin/checksec --replace /bin/bash ${stdenv.shell}
- substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc}/lib/libc.so.6
+ substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc.out}/lib/libc.so.6
substituteInPlace $out/bin/checksec --replace find ${findutils}/bin/find
substituteInPlace $out/bin/checksec --replace "file $" "${file}/bin/file $"
substituteInPlace $out/bin/checksec --replace "xargs file" "xargs ${file}/bin/file"
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 4c945a7fbac7..95c851da30f8 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, flex, udev, perl }:
+{ stdenv, fetchurl, flex, systemd, perl }:
assert stdenv.isLinux;
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
preConfigure =
''
- export PATH=${udev}/sbin:$PATH
+ export PATH=${systemd.udev.bin}/sbin:$PATH
substituteInPlace user/Makefile.in --replace /sbin/ $out/sbin/
substituteInPlace user/legacy/Makefile.in \
--replace /sbin/ $out/sbin/ \
diff --git a/pkgs/os-specific/linux/fusionio/util.nix b/pkgs/os-specific/linux/fusionio/util.nix
index e2f8d423a61d..e77d596dc6f8 100644
--- a/pkgs/os-specific/linux/fusionio/util.nix
+++ b/pkgs/os-specific/linux/fusionio/util.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
cp -r $TMPDIR/{etc,usr/{bin,lib,share}} $out
for BIN in $(find $out/bin -type f); do
echo Patching $BIN
- patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" --set-rpath "${glibc}/lib:${gcc.cc}/lib:${libuuid}/lib:$out/lib" $BIN
+ patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" --set-rpath "${glibc.out}/lib:${gcc.cc}/lib:${libuuid}/lib:$out/lib" $BIN
# Test our binary to see if it was correctly patched
set +e
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index bb2915958f7c..fddaa84a8240 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
# Fix the path to gzip/bzip2.
substituteInPlace src/libkeymap/findfile.c \
--replace gzip ${gzip}/bin/gzip \
- --replace bzip2 ${bzip2}/bin/bzip2 \
+ --replace bzip2 ${bzip2.bin}/bin/bzip2 \
# We get a warning in armv5tel-linux and the fuloong2f, so we
# disable -Werror in it.
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 4a826ff7ae3d..3882638ee954 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -74,7 +74,7 @@ let
installsFirmware = (config.isEnabled "FW_LOADER") &&
(isModular || (config.isDisabled "FIRMWARE_IN_KERNEL"));
- in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // {
+ in (optionalAttrs isModular { outputs = [ "out" "dev" ]; propagatedBuildOutputs = ""; }) // {
passthru = {
inherit version modDirVersion config kernelPatches configfile;
};
diff --git a/pkgs/os-specific/linux/klibc/shrunk.nix b/pkgs/os-specific/linux/klibc/shrunk.nix
index 066b4fcb4e06..2ce833d104fd 100644
--- a/pkgs/os-specific/linux/klibc/shrunk.nix
+++ b/pkgs/os-specific/linux/klibc/shrunk.nix
@@ -8,10 +8,10 @@ stdenv.mkDerivation {
name = "${klibc.name}";
buildCommand = ''
mkdir -p $out/lib
- cp -prd ${klibc}/lib/klibc/bin $out/
- cp -p ${klibc}/lib/*.so $out/lib/
+ cp -prd ${klibc.out}/lib/klibc/bin $out/
+ cp -p ${klibc.out}/lib/*.so $out/lib/
chmod +w $out/*
- old=$(echo ${klibc}/lib/klibc-*.so)
+ old=$(echo ${klibc.out}/lib/klibc-*.so)
new=$(echo $out/lib/klibc-*.so)
for i in $out/bin/*; do
echo $i
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index 8157270d67d7..c8484babcdf8 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -3,12 +3,14 @@
stdenv.mkDerivation rec {
name = "libcap-${version}";
version = "2.24";
-
+
src = fetchurl {
url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${name}.tar.xz";
sha256 = "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f";
};
-
+
+ outputs = [ "dev" "out" ];
+
nativeBuildInputs = [ perl ];
propagatedBuildInputs = [ attr ];
@@ -16,14 +18,11 @@ stdenv.mkDerivation rec {
makeFlags = "lib=lib prefix=$(out)";
- passthru = {
- postinst = n : ''
- mkdir -p $out/share/doc/${n}
- cp ../License $out/share/doc/${n}/License
- '';
- };
-
- postInstall = passthru.postinst name;
+ postInstall = ''
+ rm "$out"/lib/*.a
+ mkdir -p "$dev/share/doc/${name}"
+ cp ../License "$dev/share/doc/${name}/License"
+ '';
meta = {
description = "Library for working with POSIX capabilities";
diff --git a/pkgs/os-specific/linux/libcap/man.nix b/pkgs/os-specific/linux/libcap/man.nix
index 9aac3c4e1f5a..eeb780f095bd 100644
--- a/pkgs/os-specific/linux/libcap/man.nix
+++ b/pkgs/os-specific/linux/libcap/man.nix
@@ -10,6 +10,4 @@ stdenv.mkDerivation rec {
makeFlags = "MANDIR=$(out)/share/man";
preConfigure = "cd doc";
-
- postInstall = libcap.postinst name;
}
diff --git a/pkgs/os-specific/linux/libcap/pam.nix b/pkgs/os-specific/linux/libcap/pam.nix
index b78f32dccbb4..3dd7cd947af2 100644
--- a/pkgs/os-specific/linux/libcap/pam.nix
+++ b/pkgs/os-specific/linux/libcap/pam.nix
@@ -12,6 +12,4 @@ stdenv.mkDerivation rec {
preConfigure = "cd pam_cap";
makeFlags = "${libcap.makeFlags} PAM_CAP=yes";
-
- postInstall = libcap.postinst name;
}
diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix
index ae4446c82e6c..e3871f15f885 100644
--- a/pkgs/os-specific/linux/libcap/progs.nix
+++ b/pkgs/os-specific/linux/libcap/progs.nix
@@ -21,5 +21,8 @@ stdenv.mkDerivation rec {
installFlags = "RAISE_SETFCAP=no";
- postInstall = libcap.postinst name;
+ postInstall = ''
+ mkdir -p "$out/share/doc/${name}"
+ cp ../License "$out/share/doc/${name}/"
+ '';
}
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index afd9695420e3..1e1ed0a6112c 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation {
owner = "thom311";
};
+ outputs = [ "dev" "bin" "out" "man" ];
+
nativeBuildInputs = [ autoreconfHook bison flex pkgconfig ];
meta = {
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 351c2f609814..9147cb813714 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
+{ stdenv, fetchurl, pkgconfig, systemd, libudev, utillinux, coreutils, enable_dmeventd ? false }:
let
version = "2.02.140";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd";
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ udev ];
+ buildInputs = [ libudev ];
preConfigure =
''
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
--replace /usr/bin/tr ${coreutils}/bin/tr
substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
--replace /usr/sbin/lvm $out/sbin/lvm \
- --replace /usr/bin/udevadm ${udev}/bin/udevadm
+ --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm
sed -i /DEFAULT_SYS_DIR/d Makefile.in
sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 465dc58199ed..3fe9d462412c 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
# This is to avoid self-references, which causes the initrd to explode
# in size and in turn prevents mdraid systems from booting.
- allowedReferences = [ stdenv.glibc ];
+ allowedReferences = [ stdenv.glibc.out ];
patches = [ ./no-self-references.patch ];
diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix
index 1302d7b1fef0..2d6875d506a7 100644
--- a/pkgs/os-specific/linux/module-init-tools/default.nix
+++ b/pkgs/os-specific/linux/module-init-tools/default.nix
@@ -20,6 +20,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 ];
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 0dde3bca4e47..504d3790d868 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
"--with-statedir=/var/lib/nfs"
"--with-tirpcinclude=${libtirpc}/include/tirpc"
]
- ++ stdenv.lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc}/bin/rpcgen";
+ ++ stdenv.lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen";
patchPhase =
''
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index f7cadd469d70..d84c6224eebe 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -9,10 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl";
};
+ outputs = [ "out" "doc" "man" /* "modules" */ ];
+
nativeBuildInputs = [ flex ];
buildInputs = [ cracklib ];
+ enableParallelBuilding = true;
+
crossAttrs = {
propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ];
preConfigure = preConfigure + ''
@@ -31,7 +35,14 @@ 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/
+ '';*/
+ # don't move modules, because libpam needs to (be able to) find them,
+ # which is done by dlopening $out/lib/security/pam_foo.so
+ # $out/etc was also missed: pam_env(login:session): Unable to open config file
preConfigure = ''
configureFlags="$configureFlags --includedir=$out/include/security"
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index f928dc8e657c..321e94e3aaf4 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
preBuild = assert glibc != null;
''
- substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd
+ substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc.bin}/bin/nscd
'';
postInstall =
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index d13417ad032b..b164693612df 100644
--- a/