xpra: html5 + systemd support (#392598)

This commit is contained in:
Gaétan Lepage
2025-03-25 21:42:27 +01:00
committed by GitHub
2 changed files with 68 additions and 16 deletions
+45
View File
@@ -0,0 +1,45 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
python3,
uglify-js,
gitUpdater,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
name = "xpra-html5";
version = "17";
src = fetchFromGitHub {
owner = "Xpra-org";
repo = "xpra-html5";
tag = "v${finalAttrs.version}";
hash = "sha256-SwP7NazsiUyDD4LUziCwN0X9GTQVq0lYM2jXqNaXLEA=";
};
buildInputs = [
python3
uglify-js
];
installPhase = ''
runHook preInstall
python $src/setup.py install $out /share/xpra/www /share/xpra/www
runHook postInstall
'';
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
homepage = "https://xpra.org/";
downloadPage = "https://xpra.org/src/";
description = "HTML5 client for Xpra";
changelog = "https://github.com/Xpra-org/xpra-html5/releases/tag/v${finalAttrs.version}";
platforms = lib.platforms.linux;
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
catern
lucasew
];
};
})
+23 -16
View File
@@ -29,7 +29,7 @@
pam,
pandoc,
pango,
pulseaudio,
pulseaudioFull,
python3,
stdenv,
util-linux,
@@ -46,6 +46,8 @@
xorgserver,
xxHash,
clang,
withHtml ? true,
xpra-html5,
}@args:
let
@@ -94,7 +96,7 @@ buildPythonApplication rec {
src = fetchFromGitHub {
owner = "Xpra-org";
repo = "xpra";
rev = "v${version}";
tag = "v${version}";
hash = "sha256-XY8NZhWCRLjpgq0dOClzftvMR7g/X64b+OYyjOGC/lM=";
};
@@ -245,7 +247,7 @@ buildPythonApplication rec {
xauth
which
util-linux
pulseaudio
pulseaudioFull
]
}
''
@@ -256,16 +258,20 @@ buildPythonApplication rec {
)
'';
postInstall = ''
# append module paths to xorg.conf
cat ${xorgModulePaths} >> $out/etc/xpra/xorg.conf
cat ${xorgModulePaths} >> $out/etc/xpra/xorg-uinput.conf
postInstall =
''
# append module paths to xorg.conf
cat ${xorgModulePaths} >> $out/etc/xpra/xorg.conf
cat ${xorgModulePaths} >> $out/etc/xpra/xorg-uinput.conf
# make application icon visible to desktop environemnts
icon_dir="$out/share/icons/hicolor/64x64/apps"
mkdir -p "$icon_dir"
ln -sr "$out/share/icons/xpra.png" "$icon_dir"
'';
# make application icon visible to desktop environemnts
icon_dir="$out/share/icons/hicolor/64x64/apps"
mkdir -p "$icon_dir"
ln -sr "$out/share/icons/xpra.png" "$icon_dir"
''
+ lib.optionalString withHtml ''
ln -s ${xpra-html5}/share/xpra/www $out/share/xpra/www;
'';
doCheck = false;
@@ -276,17 +282,18 @@ buildPythonApplication rec {
updateScript = ./update.sh;
};
meta = with lib; {
meta = {
homepage = "https://xpra.org/";
downloadPage = "https://xpra.org/src/";
description = "Persistent remote applications for X";
changelog = "https://github.com/Xpra-org/xpra/releases/tag/v${version}";
platforms = platforms.linux;
license = licenses.gpl2Only;
maintainers = with maintainers; [
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
offline
numinit
mvnetbiz
lucasew
];
};
}