wrapQtAppsHook: wrap Qt applications for runtime dependencies

This commit is contained in:
Thomas Tuegel
2019-07-05 10:41:41 -05:00
parent 0daecd2d7a
commit f79fd2e826
16 changed files with 315 additions and 107 deletions
+20 -18
View File
@@ -1,37 +1,39 @@
{
mkDerivation, lib, makeWrapper,
mkDerivation, lib, config,
extra-cmake-modules, kdoctools,
karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, kitemmodels,
khtml, kio, kparts, kpty, kservice, kwidgetsaddons, libarchive,
breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n,
kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons,
libarchive, libzip,
# Archive tools
p7zip, unzip, zip,
p7zip, lrzip,
# Unfree tools
unfreeEnableUnrar ? false, unrar,
}:
let
extraTools = [ p7zip lrzip ] ++ lib.optional unfreeEnableUnrar unrar;
in
mkDerivation {
name = "ark";
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
propagatedBuildInputs = [
karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio kitemmodels
kparts kpty kservice kwidgetsaddons libarchive
];
outputs = [ "out" "dev" ];
postFixup =
let
PATH =
lib.makeBinPath
([ p7zip unzip zip ] ++ lib.optional unfreeEnableUnrar unrar);
in ''
wrapProgram "$out/bin/ark" --prefix PATH : "${PATH}"
'';
meta = {
license = with lib.licenses;
[ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree;
maintainers = [ lib.maintainers.ttuegel ];
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ libarchive libzip ] ++ extraTools;
propagatedBuildInputs = [
breeze-icons karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio
kitemmodels kparts kpty kservice kwidgetsaddons
];
qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ];
}