85 lines
2.3 KiB
Nix
85 lines
2.3 KiB
Nix
|
{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, dde-qt-dbus-factory,
|
||
|
dde-session-ui, deepin, deepin-desktop-schemas, deepin-wallpapers,
|
||
|
dtkcore, dtkwidget, gsettings-qt, qtsvg, qttools, qtx11extras,
|
||
|
which, xdg_utils, wrapGAppsHook, glib }:
|
||
|
|
||
|
mkDerivation rec {
|
||
|
pname = "dde-launcher";
|
||
|
version = "5.0.0";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "linuxdeepin";
|
||
|
repo = pname;
|
||
|
rev = version;
|
||
|
sha256 = "0zh6bb0r3pgjrnw9rba46ghdzza1ka1mv7r1znf8gw24wsjgjcpn";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
cmake
|
||
|
pkgconfig
|
||
|
qttools
|
||
|
wrapGAppsHook
|
||
|
deepin.setupHook
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
dde-qt-dbus-factory
|
||
|
dde-session-ui
|
||
|
deepin-desktop-schemas
|
||
|
deepin-wallpapers
|
||
|
dtkcore
|
||
|
dtkwidget
|
||
|
glib
|
||
|
gsettings-qt
|
||
|
qtsvg
|
||
|
qtx11extras
|
||
|
which
|
||
|
xdg_utils
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
# debugging
|
||
|
searchHardCodedPaths
|
||
|
|
||
|
substituteInPlace CMakeLists.txt --replace "/usr/share" "$out/share"
|
||
|
|
||
|
substituteInPlace src/dbusservices/com.deepin.dde.Launcher.service --replace "/usr" "$out"
|
||
|
|
||
|
substituteInPlace src/historywidget.cpp --replace "xdg-open" "${xdg_utils}/bin/xdg-open"
|
||
|
substituteInPlace src/widgets/miniframebottombar.cpp --replace "dde-shutdown" "${dde-session-ui}/bin/dde-shutdown"
|
||
|
substituteInPlace src/widgets/miniframerightbar.cpp --replace "which" "${which}/bin/which"
|
||
|
|
||
|
# Uncomment (and remove space after $) after packaging deepin-manual
|
||
|
#substituteInPlace src/sharedeventfilter.cpp --replace "dman" "$ {deepin-manual}/bin/dman"
|
||
|
|
||
|
for f in src/boxframe/*.cpp; do
|
||
|
substituteInPlace $f --replace "/usr/share/backgrounds/default_background.jpg" "${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg"
|
||
|
done
|
||
|
|
||
|
# note: `dbus-send` path does not need to be hard coded because it is not used for dtkcore >= 2.0.8.0
|
||
|
'';
|
||
|
|
||
|
dontWrapQtApps = true;
|
||
|
|
||
|
preFixup = ''
|
||
|
gappsWrapperArgs+=(
|
||
|
"''${qtWrapperArgs[@]}"
|
||
|
)
|
||
|
'';
|
||
|
|
||
|
postFixup = ''
|
||
|
# debugging
|
||
|
searchHardCodedPaths $out
|
||
|
'';
|
||
|
|
||
|
passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
description = "Deepin Desktop Environment launcher module";
|
||
|
homepage = "https://github.com/linuxdeepin/dde-launcher";
|
||
|
license = licenses.gpl3;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = with maintainers; [ romildo ];
|
||
|
};
|
||
|
}
|