diff options
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r-- | pkgs/os-specific/linux/libcap/default.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/module-init-tools/default.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/pam/default.nix | 9 | ||||
-rw-r--r-- | pkgs/os-specific/linux/systemd/default.nix | 24 | ||||
-rw-r--r-- | pkgs/os-specific/linux/util-linux/default.nix | 4 |
5 files changed, 38 insertions, 7 deletions
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/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 ]; 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/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 2c2ed582083f..4e6c64d4c7b0 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { sha256 = "07gvn3rpski8sh1nz16npjf2bvj0spsjdwc5px9685g2pi6kxcb1"; }; + outputs = [ "out" "man" "libudev" ]; + patches = [ # These are all changes between upstream and # https://github.com/edolstra/systemd/tree/nixos-v203. @@ -49,11 +51,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 src/core/shutdown.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 \ @@ -62,6 +64,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 @@ -111,6 +115,16 @@ 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 ''; # */ enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index d42424e6fc86..84cb42693f13 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0vf3ifb45gr4cd27pmmxk8y5b3r0920mv16fv0vfwz5705xa2qvl"; }; + outputs = [ "dev" "out" "bin" ]; + crossAttrs = { # Work around use of `AC_RUN_IFELSE'. preConfigure = "export scanf_cv_type_modifier=ms"; @@ -29,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 |