mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 09:53:10 +00:00
Merge branch 'kde-propagate'
This commit is contained in:
commit
04ad2ebfb2
@ -170,7 +170,9 @@ in
|
||||
services.xserver.displayManager.sddm = {
|
||||
theme = "breeze";
|
||||
themes = [
|
||||
kde5.extra-cmake-modules # for the setup-hook
|
||||
kde5.plasma-workspace
|
||||
kde5.breeze-icons
|
||||
(kde5.oxygen-icons or kde5.oxygen-icons5)
|
||||
];
|
||||
};
|
||||
|
@ -68,14 +68,19 @@ in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "sddm-${version}";
|
||||
phases = "installPhase";
|
||||
|
||||
nativeBuildInputs = [ lndir makeQtWrapper ];
|
||||
buildInputs = [ unwrapped ] ++ themes;
|
||||
themes = map (pkg: pkg.out or pkg) themes;
|
||||
inherit unwrapped;
|
||||
|
||||
unpackPhase = "true";
|
||||
configurePhase = "runHook preConfigure; runHook postConfigure";
|
||||
buildPhase = "runHook preBuild; runHook postBuild";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm"
|
||||
|
||||
mkdir -p "$out/share/sddm"
|
||||
@ -85,6 +90,8 @@ stdenv.mkDerivation {
|
||||
lndir -silent "$sddmDir" "$out/share/sddm"
|
||||
fi
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
inherit (unwrapped) meta;
|
||||
|
@ -4,29 +4,48 @@ _ecmSetXdgDirs() {
|
||||
addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg"
|
||||
}
|
||||
|
||||
_ecmPropagateSharedData() {
|
||||
local sharedPaths=( \
|
||||
"config.cfg" \
|
||||
"kconf_update" \
|
||||
"kservices5" \
|
||||
"kservicetypes5" \
|
||||
"knotifications5" \
|
||||
"applications" \
|
||||
"desktop-directories" \
|
||||
"mime" \
|
||||
"dbus-1" \
|
||||
"interfaces" \
|
||||
"services" \
|
||||
"system-services" )
|
||||
for dir in ${sharedPaths[@]}; do
|
||||
_ecmSharePaths=( \
|
||||
"config.cfg" \
|
||||
"kconf_update" \
|
||||
"kservices5" \
|
||||
"kservicetypes5" \
|
||||
"knotifications5" \
|
||||
"applications" \
|
||||
"desktop-directories" \
|
||||
"mime" \
|
||||
"dbus-1" \
|
||||
"interfaces" \
|
||||
"services" \
|
||||
"system-services" )
|
||||
|
||||
_ecmPropagateNative() {
|
||||
for dir in ${_ecmSharePaths[@]}; do
|
||||
if [ -d "$1/share/$dir" ]; then
|
||||
addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
|
||||
propagateOnce propagatedUserEnvPkgs "$1"
|
||||
propagateOnce propagatedNativeBuildInputs "$1"
|
||||
if [ -z "$crossConfig" ]; then
|
||||
propagateOnce propagatedUserEnvPkgs "$1"
|
||||
addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
envHooks+=(_ecmSetXdgDirs _ecmPropagate)
|
||||
|
||||
_ecmPropagate() {
|
||||
for dir in ${_ecmSharePaths[@]}; do
|
||||
if [ -d "$1/share/$dir" ]; then
|
||||
propagateOnce propagatedBuildInputs "$1"
|
||||
propagateOnce propagatedUserEnvPkgs "$1"
|
||||
addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
crossEnvHooks+=(_ecmPropagate)
|
||||
|
||||
_ecmConfig() {
|
||||
# Because we need to use absolute paths here, we must set *all* the paths.
|
||||
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
|
||||
@ -70,5 +89,4 @@ _ecmConfig() {
|
||||
cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
|
||||
}
|
||||
|
||||
envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData)
|
||||
preConfigureHooks+=(_ecmConfig)
|
||||
|
@ -24,7 +24,7 @@ propagateOnce() {
|
||||
addToSearchPathOnceWithCustomDelimiter ' ' "$@"
|
||||
}
|
||||
|
||||
_qtPropagateRuntimeDependencies() {
|
||||
_qtPropagate() {
|
||||
for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do
|
||||
if [ -d "$1/$dir" ]; then
|
||||
propagateOnce propagatedBuildInputs "$1"
|
||||
@ -37,7 +37,26 @@ _qtPropagateRuntimeDependencies() {
|
||||
addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml"
|
||||
}
|
||||
|
||||
envHooks+=(_qtPropagateRuntimeDependencies)
|
||||
crossEnvHooks+=(_qtPropagate)
|
||||
|
||||
_qtPropagateNative() {
|
||||
for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do
|
||||
if [ -d "$1/$dir" ]; then
|
||||
propagateOnce propagatedNativeBuildInputs "$1"
|
||||
if [ -z "$crossConfig" ]; then
|
||||
propagateOnce propagatedUserEnvPkgs "$1"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$crossConfig" ]; then
|
||||
addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins"
|
||||
addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports"
|
||||
addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml"
|
||||
fi
|
||||
}
|
||||
|
||||
envHooks+=(_qtPropagateNative)
|
||||
|
||||
_qtMultioutDevs() {
|
||||
# This is necessary whether the package is a Qt module or not
|
||||
|
Loading…
Reference in New Issue
Block a user