From 4edb8ade3d3bf1e4ef7d8284a6a8454a530c14d3 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:06:43 -0500 Subject: [PATCH 01/10] konsole: Remove spurious wrapper --- pkgs/applications/kde/konsole.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix index 004fc1c37ae2..1be5b0b4a894 100644 --- a/pkgs/applications/kde/konsole.nix +++ b/pkgs/applications/kde/konsole.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, makeWrapper, + mkDerivation, lib, extra-cmake-modules, kdoctools, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons, ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications, @@ -18,12 +18,7 @@ mkDerivation { kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff - makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/konsole --prefix XDG_DATA_DIRS ":" $out/share - ''; - propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; } From 2f623ef52798e6b292f11a0a2955235ea85911a6 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:07:09 -0500 Subject: [PATCH 02/10] extra-cmake-modules: Remove doc/ from xdgDataSubdirs --- .../kde-frameworks/extra-cmake-modules/setup-hook.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 4df086ddbf21..7b39a78deee3 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -53,13 +53,12 @@ ecmPostHook() { } postHooks+=(ecmPostHook) -xdgDataSubdirs=( - "doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ +xdgDataSubdirs=( \ + "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ "kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \ "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \ ) - ecmHostPathSeen=( ) ecmUnseenHostPath() { @@ -104,5 +103,10 @@ ecmHostPathHook() { then qtWrapperArgs+=(--prefix INFOPATH : "$infoDir") fi + + if [ -d "$1/dbus-1" ] + then + propagatedUserEnvPkgs+=" $1" + fi } addEnvHooks "$hostOffset" ecmHostPathHook From 459ea150e8176b9b1b81b4873cf9a77a204d5376 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:56:42 -0500 Subject: [PATCH 03/10] extra-cmake-modules: addEnvHooks: Use targetOffset --- .../libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 7b39a78deee3..35982e866284 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -109,4 +109,4 @@ ecmHostPathHook() { propagatedUserEnvPkgs+=" $1" fi } -addEnvHooks "$hostOffset" ecmHostPathHook +addEnvHooks "$targetOffset" ecmHostPathHook From 338742effd9b04af1a5968b18d10ae9aa27bcbe4 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 05:44:15 -0500 Subject: [PATCH 04/10] tremor: Use multiple outputs to reduce closure size --- pkgs/development/libraries/tremor/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/tremor/default.nix b/pkgs/development/libraries/tremor/default.nix index 291336076892..91b6d2cb1674 100644 --- a/pkgs/development/libraries/tremor/default.nix +++ b/pkgs/development/libraries/tremor/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation { sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; propagatedBuildInputs = [ libogg ]; From f012fc8f61bfacd4c04a03511708367c761eb155 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 05:44:52 -0500 Subject: [PATCH 05/10] ibus: Use multiple outputs to reduce closure size --- pkgs/tools/inputmethods/ibus/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix index a6c2404ef347..c2bcc2adfc05 100644 --- a/pkgs/tools/inputmethods/ibus/default.nix +++ b/pkgs/tools/inputmethods/ibus/default.nix @@ -98,6 +98,8 @@ stdenv.mkDerivation rec { }) ]; + outputs = [ "out" "dev" ]; + postPatch = '' echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make . From 0f5769df77e25a5504ec8e0b41608d625315be2a Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:00:38 -0500 Subject: [PATCH 06/10] kate: No propagatedBuildInputs kate does not have a `dev` output, so it should not have `propagatedBuildInputs`, as this propagates other `dev` outputs into the user environment. --- pkgs/applications/kde/kate.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index 95ff6cf198b2..f01a57a55d4d 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -15,8 +15,8 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ libgit2 ]; - propagatedBuildInputs = [ + buildInputs = [ + libgit2 kactivities ki18n kio ktexteditor kwindowsystem plasma-framework qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver From 6cbf0b4bd22017f11f25d4b44e7cfaa02f3029dc Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:13:12 -0500 Subject: [PATCH 07/10] hdf5: Use multiple outputs to reduce closure size --- pkgs/tools/misc/hdf5/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 336010718dda..3296c0a4f928 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { inherit mpi; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ removeReferencesTo ]; buildInputs = [] @@ -51,6 +53,7 @@ stdenv.mkDerivation rec { postInstall = '' find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + + moveToOutput bin/h5cc "''${!outputDev}" ''; meta = { From 9d35ea756e0f3e16adc56d857f32cb42569bde29 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:13:59 -0500 Subject: [PATCH 08/10] spandsp: Use multiple outputs to reduce closure size --- pkgs/development/libraries/spandsp/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index c2dc20cc3927..da73e5ab9315 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; }; - buildInputs = []; + outputs = [ "out" "dev" ]; propagatedBuildInputs = [audiofile libtiff]; meta = { homepage = http://www.creytiv.com/baresip.html; @@ -18,4 +18,3 @@ stdenv.mkDerivation rec { updateWalker = true; }; } - From 315a049f0b96bfc990816fe192de4fe41ac0d5f2 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:57:00 -0500 Subject: [PATCH 09/10] SDL: Do not propagate -dev outputs at runtime --- pkgs/development/libraries/SDL/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 610f1b768f24..61609a90dd02 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -13,6 +13,16 @@ with stdenv.lib; +let + extraPropagatedBuildInputs = [ ] + ++ optionals x11Support [ libXext libICE libXrandr ] + ++ optionals openglSupport [ libGL libGLU ] + ++ optional alsaSupport alsaLib + ++ optional pulseaudioSupport libpulseaudio + ++ optional stdenv.isDarwin Cocoa; + rpath = makeLibraryPath extraPropagatedBuildInputs; +in + stdenv.mkDerivation rec { pname = "SDL"; version = "1.2.15"; @@ -31,12 +41,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isLinux libcap; - propagatedBuildInputs = [ libiconv ] - ++ optionals x11Support [ libXext libICE libXrandr ] - ++ optionals openglSupport [ libGL libGLU ] - ++ optional alsaSupport alsaLib - ++ optional pulseaudioSupport libpulseaudio - ++ optional stdenv.isDarwin Cocoa; + propagatedBuildInputs = [ libiconv ] ++ extraPropagatedBuildInputs; buildInputs = [ ] ++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile @@ -108,7 +113,7 @@ stdenv.mkDerivation rec { postFixup = '' for lib in $out/lib/*.so* ; do if [[ -L "$lib" ]]; then - patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" + patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib" fi done ''; From 75ced8ec93fc410062cc14e1a3777ae73fcd7799 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:58:30 -0500 Subject: [PATCH 10/10] libsrtp: Use multiple outputs to reduce closure size --- pkgs/development/libraries/srtp/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix index 3940faf1d6d1..129d57904d1e 100644 --- a/pkgs/development/libraries/srtp/default.nix +++ b/pkgs/development/libraries/srtp/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ pkgconfig ]; # libsrtp.pc references -lcrypto -lpcap without -L