From 8295089e6a08798f9cd733ee76e82d939d09faab Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 5 Sep 2016 12:13:31 +0200 Subject: utillinuxMinimal: Make more minimal This removes locales, bash completion and crap like that. This cuts 6.5 MiB from the NixOS system closure (which unfortunately contains two copies of util-linux, because of the need to break a dependency cycle with systemd). --- pkgs/os-specific/linux/util-linux/default.nix | 16 +++++++++------- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'pkgs') diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 4d4a22fc720d..003dd792966a 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, pkgconfig, zlib, ncurses ? null, perl ? null, pam, systemd }: +{ lib, stdenv, fetchurl, pkgconfig, zlib, ncurses ? null, perl ? null, pam, systemd, minimal ? false }: stdenv.mkDerivation rec { name = "util-linux-${version}"; - version = stdenv.lib.concatStringsSep "." ([ majorVersion ] - ++ stdenv.lib.optional (patchVersion != "") patchVersion); + version = lib.concatStringsSep "." ([ majorVersion ] + ++ lib.optional (patchVersion != "") patchVersion); majorVersion = "2.28"; patchVersion = "1"; @@ -56,17 +56,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ zlib pam ] - ++ stdenv.lib.optional (ncurses != null) ncurses - ++ stdenv.lib.optional (systemd != null) [ systemd pkgconfig ] - ++ stdenv.lib.optional (perl != null) perl; + ++ lib.optional (ncurses != null) ncurses + ++ lib.optional (systemd != null) [ systemd pkgconfig ] + ++ lib.optional (perl != null) perl; postInstall = '' rm "$bin/bin/su" # su should be supplied by the su package (shadow) + '' + lib.optionalString minimal '' + rm -rf $out/share/{locale,doc,bash-completion} ''; enableParallelBuilding = true; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dfe611573512..3aaf9e62f667 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11809,6 +11809,7 @@ in utillinuxCurses = utillinux; utillinuxMinimal = appendToName "minimal" (utillinux.override { + minimal = true; ncurses = null; perl = null; systemd = null; -- cgit 1.4.1