Merge pull request #69426 from ttuegel/closure-size/qt

Reduce closure size of Qt applications
This commit is contained in:
Thomas Tuegel 2019-09-26 05:23:26 -05:00 committed by GitHub
commit 02eec3e56a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 33 additions and 21 deletions

View File

@ -15,8 +15,8 @@ mkDerivation {
}; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ libgit2 ]; buildInputs = [
propagatedBuildInputs = [ libgit2
kactivities ki18n kio ktexteditor kwindowsystem plasma-framework kactivities ki18n kio ktexteditor kwindowsystem plasma-framework
qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts
kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver

View File

@ -1,5 +1,5 @@
{ {
mkDerivation, lib, makeWrapper, mkDerivation, lib,
extra-cmake-modules, kdoctools, extra-cmake-modules, kdoctools,
kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications, ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
@ -18,12 +18,7 @@ mkDerivation {
kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support
kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty
kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff
makeWrapper
]; ];
postInstall = ''
wrapProgram $out/bin/konsole --prefix XDG_DATA_DIRS ":" $out/share
'';
propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
} }

View File

@ -13,6 +13,16 @@
with stdenv.lib; 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 { stdenv.mkDerivation rec {
pname = "SDL"; pname = "SDL";
version = "1.2.15"; version = "1.2.15";
@ -31,12 +41,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ] nativeBuildInputs = [ pkgconfig ]
++ optional stdenv.isLinux libcap; ++ optional stdenv.isLinux libcap;
propagatedBuildInputs = [ libiconv ] propagatedBuildInputs = [ libiconv ] ++ extraPropagatedBuildInputs;
++ optionals x11Support [ libXext libICE libXrandr ]
++ optionals openglSupport [ libGL libGLU ]
++ optional alsaSupport alsaLib
++ optional pulseaudioSupport libpulseaudio
++ optional stdenv.isDarwin Cocoa;
buildInputs = [ ] buildInputs = [ ]
++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile ++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile
@ -108,7 +113,7 @@ stdenv.mkDerivation rec {
postFixup = '' postFixup = ''
for lib in $out/lib/*.so* ; do for lib in $out/lib/*.so* ; do
if [[ -L "$lib" ]]; then if [[ -L "$lib" ]]; then
patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
fi fi
done done
''; '';

View File

@ -53,13 +53,12 @@ ecmPostHook() {
} }
postHooks+=(ecmPostHook) postHooks+=(ecmPostHook)
xdgDataSubdirs=( xdgDataSubdirs=( \
"doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \
"kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \ "kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \
"wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \ "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \
) )
ecmHostPathSeen=( ) ecmHostPathSeen=( )
ecmUnseenHostPath() { ecmUnseenHostPath() {
@ -104,5 +103,10 @@ ecmHostPathHook() {
then then
qtWrapperArgs+=(--prefix INFOPATH : "$infoDir") qtWrapperArgs+=(--prefix INFOPATH : "$infoDir")
fi fi
if [ -d "$1/dbus-1" ]
then
propagatedUserEnvPkgs+=" $1"
fi
} }
addEnvHooks "$hostOffset" ecmHostPathHook addEnvHooks "$targetOffset" ecmHostPathHook

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
}; };
buildInputs = []; outputs = [ "out" "dev" ];
propagatedBuildInputs = [audiofile libtiff]; propagatedBuildInputs = [audiofile libtiff];
meta = { meta = {
homepage = http://www.creytiv.com/baresip.html; homepage = http://www.creytiv.com/baresip.html;
@ -18,4 +18,3 @@ stdenv.mkDerivation rec {
updateWalker = true; updateWalker = true;
}; };
} }

View File

@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6"; sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6";
}; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
# libsrtp.pc references -lcrypto -lpcap without -L # libsrtp.pc references -lcrypto -lpcap without -L

View File

@ -9,6 +9,8 @@ stdenv.mkDerivation {
sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq"; sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq";
}; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
propagatedBuildInputs = [ libogg ]; propagatedBuildInputs = [ libogg ];

View File

@ -98,6 +98,8 @@ stdenv.mkDerivation rec {
}) })
]; ];
outputs = [ "out" "dev" ];
postPatch = '' postPatch = ''
echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh
cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make . cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make .

View File

@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
inherit mpi; inherit mpi;
}; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ removeReferencesTo ]; nativeBuildInputs = [ removeReferencesTo ];
buildInputs = [] buildInputs = []
@ -51,6 +53,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
moveToOutput bin/h5cc "''${!outputDev}"
''; '';
meta = { meta = {