diff --git a/pkgs/by-name/xp/xpra-html5/package.nix b/pkgs/by-name/xp/xpra-html5/package.nix
new file mode 100644
index 000000000000..3150f3479982
--- /dev/null
+++ b/pkgs/by-name/xp/xpra-html5/package.nix
@@ -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
+ ];
+ };
+})
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 43801251492e..3f2ab18d5fc4 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -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
];
};
}