summaryrefslogtreecommitdiff
path: root/x11-wm/xpra
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/xpra')
-rw-r--r--x11-wm/xpra/Manifest14
-rw-r--r--x11-wm/xpra/files/xpra-4.4-tests.patch100
-rw-r--r--x11-wm/xpra/files/xpra-4.4-xdummy.patch24
-rw-r--r--x11-wm/xpra/files/xpra-4.5-no-service.patch19
-rw-r--r--x11-wm/xpra/files/xpra-9999-tests.patch34
-rw-r--r--x11-wm/xpra/files/xpra-9999-xdummy.patch26
-rw-r--r--x11-wm/xpra/metadata.xml1
-rw-r--r--x11-wm/xpra/xpra-4.3.4-r1.ebuild11
-rw-r--r--x11-wm/xpra/xpra-4.4.4.ebuild215
-rw-r--r--x11-wm/xpra/xpra-9999.ebuild23
10 files changed, 429 insertions, 38 deletions
diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest
index a7fd89422ed3..5f6c5125b29d 100644
--- a/x11-wm/xpra/Manifest
+++ b/x11-wm/xpra/Manifest
@@ -1,8 +1,14 @@
AUX xpra-3.0.2_ignore-gentoo-no-compile.patch 610 BLAKE2B 963b3b61602f6a7ad7c8247109932d0da7eeef2762eaa8a987a8f10178a13cec3255000661bc7e3344319a555c9f0ed41b6383be7728af543cb5d2e004c377b2 SHA512 ff16637dca766ba2d36351e1aeeb87f2bab02e73e8da8fdb566051727b0c6fec6df1925318eee8d1c87580196ec78f0303da56d3439b4b4bace3105a914251e8
AUX xpra-4.3-no-service.patch 779 BLAKE2B 5232b103b47601b4340d6a863d2cd3cc6641a55d6c252702034902a4d5189c7df45b7d6280ae9bf2a3dbe8c96a73847f936032cc9b58c4bdd91025974fa84005 SHA512 d5045da20f4fdcb2b434f280c42b26ee1c8c280e4037a116c3edd0990a97acc5017bf428c4c222a1c38e23a6dd5709789ac80e62187144d334068deecc99d20e
-AUX xpra-9999-xdummy.patch 614 BLAKE2B 9b502fa836caea212f90730e0238adb16c74814a55a2a5b32e062880d29b1fa05247fc3c5e8edddf0acdd1d93620dafb507ec9a14996c3aea248d204510a0e2c SHA512 71efb726f50b85890bb3508bd3943b3bb9e34a8f5d3c92c6fa4f7c2ea6b8c51551243ea0d4d52802f17e5aaed7716b9ee0b462cde1941dae9273651dcc461a9a
+AUX xpra-4.4-tests.patch 3657 BLAKE2B 9121dc5c3f13cbc37a8cf7d88a36224a4a537e2ac22f24b672d11e57f036b6c12ad12b0afc0c1e71cb77448ec62bb9ccf19eb138b2979b7cd0948fef5622a495 SHA512 452085c255716241552d3e41227dbdfd521064cbd89c06a91e0a29a83b14cccc0735539857a284918d2ff5a4cf12d4945343f040df743addff93413df42dd89c
+AUX xpra-4.4-xdummy.patch 614 BLAKE2B 9b502fa836caea212f90730e0238adb16c74814a55a2a5b32e062880d29b1fa05247fc3c5e8edddf0acdd1d93620dafb507ec9a14996c3aea248d204510a0e2c SHA512 71efb726f50b85890bb3508bd3943b3bb9e34a8f5d3c92c6fa4f7c2ea6b8c51551243ea0d4d52802f17e5aaed7716b9ee0b462cde1941dae9273651dcc461a9a
+AUX xpra-4.5-no-service.patch 651 BLAKE2B 6f453a9b8a2d1b561596a71f5ad6ebb168fe0a0cb6f329d521bc4d6d4efecee4371d1af09bfd7a9c8749e96912e7fa8bce9613cfc75a398208cf904495efc604 SHA512 e7b6f7e39e460b2362422b5393662a23865d1277eb37ff209b6717e09026860f20ba7137b80b3595d6cf7c51d2e8dca1b6adbfe68e76a4a16b9bdcac4d3cc941
+AUX xpra-9999-tests.patch 1242 BLAKE2B b4bd59046e3286e6eb22b75eb5c1c5e1045419cf9744803d37fe1675ce0f9e21e98ecc89f76f8895b64bf2a3d15e2ea000b5c5691ad63681323a474d73d9c1c8 SHA512 efe4c89758f9eab01ccf0f1d68e488ee79d187b633af65f41b3a87a16e6d44b14d038a7d375a41121a7743215531ffe9918bbb0fa7eca023ed7d815c7f755aca
+AUX xpra-9999-xdummy.patch 489 BLAKE2B 284d109be06fc68dc6567adab1c8e514a69a316e82041175dac530eb190ed2d42b9572ca8cd722dae1295b9c84f35ec750953a80dc0064d835de0d3cc0bf8447 SHA512 98daab5c16755564af06bf139e3b57e2f88dd2ce3503eb75d79f066f8ed3efab4c668e9dc00988267b3ca0f876a607df332a9fcfe7f00c1d54a0d84c01159c17
DIST xpra-4.3.1-tests.patch 51444 BLAKE2B c645aa52bb06c3872f6c1c7aace099c10a6fd46dd4c386ec1a13f6326e3fc8860a71767510ce9b44375cc8b30cef563e4405b2834670a9d2c555d3359d16e99f SHA512 0c70c33e24980db31e904c91f987a73693bd2349958ea8392138987e1dc1852ea42a4ee7e3b238f01c92adc57dbe196e57f4c4accf27aade6c4ea55c1ff9b40c
DIST xpra-4.3.4.tar.gz 4184031 BLAKE2B e01e338398f86c80a1092ea3155126ed26eb959ca97790add4cfcdb0ec8a1c6391937ff101c889ec78bb00bbf38ac0c42c5b85d60e72804ffccbbe5f446aaa3e SHA512 93855ff248f135c70a2144a0afbc66e4830b8d214c9c2017dff1d3e3c7902dac15b1cb03670cde8018b40d5c404bd7c243625faeaba712130f5d0082f562c60c
-EBUILD xpra-4.3.4-r1.ebuild 5308 BLAKE2B 2857a1824784a46fc81f61424aeeb0677e0c878b27eddd39f7f3d90eccd271cb357b7b9293a20f70e40052d4680b7acf79614542adf8a1bb721274b1b1618d0d SHA512 071304877dc8380e273c41105c783e5c740e94c73f91803c5eaf025739ad442d68ed3c616278640a51fd4240825fb123f467ea5b484febf5c9a6f934267583de
-EBUILD xpra-9999.ebuild 5230 BLAKE2B 8d1e6e8517427347248db164f4115ff30631ffcc97034ebe849b3a1e32fc30c8c0bf583808e814bf2ea67e4f9259c86741be9800cc4b06042d040f17cb7ea5c5 SHA512 3b546176fea9d1853422c2ca38f182f423650f0972a2a9a73ee06a5942cf573ca6064ef842e0388e1203cc06563e14db3179d74f2596eeda70743abf60973eaa
-MISC metadata.xml 1292 BLAKE2B 748b4713831cc4f2d6bbfb4f9c4d073b654772a64cbb3e0d5c52b9afcaaf9f1355d6ab7ab38f72a27cf7290f124e3d458320ad07847f9720568a60603b2abe4a SHA512 ecd2f89e7ae720dd11f3a36ebf90447ec2f4e326a5621618b7f4bf68189771823edc09fedcf197fe997af1aba48b5eaea62ac98d6fedf8bb6dac404da3aef85d
+DIST xpra-4.4.4.tar.gz 4324840 BLAKE2B d39f83b5f6ea960f12170bcc55d3c46d290682bb26424dc57a3ab62f01a4dad513466883287e6197231c96ac81872403d27ff1b65c7c0e520adcda8846766e02 SHA512 807fb3b12b5ecc8dbf73aef9dddf509c3397c97d04db4f397d4672b6f097ff977ce71f6ba00fb585ea7dfaf047a4c68e5cca099436da28bc20f4bc2c229c98c9
+EBUILD xpra-4.3.4-r1.ebuild 5387 BLAKE2B 5034f2967a1ba0beae0e78562d6a31b5993bb81cbe53b3251fff27e3c12692e058a98ecc7702f2edfc1359e74e4c7df6cdb2db65ea4d969bb4a78148e5cb5f13 SHA512 3c47cbb22d4d4dc6f12e4190f3eaa9846a6c4469fc815754f4b6b869ae4c92bd4ed2c1407c33252882d9cd17eafce5fe7b91c967e406606152082e2167f2f9f0
+EBUILD xpra-4.4.4.ebuild 5309 BLAKE2B 1517e8597e862ad03d36400c1551b24be170192affab7f5252277d286ffbe64dc8318878c212006d899c2fa4f2b31807bd8f4eada7ae00e438db46f7a2e26efd SHA512 8e492124a5804db514f22b17c01800e7c6c3f067f9c1c22ceac508957884fbc99c3bad5a188d17ead53123ca6e9bc7f12c7ceb5898326f4b902a00d2d35c4b80
+EBUILD xpra-9999.ebuild 5354 BLAKE2B e95c4c583042f2be7ed8c7c576e318f80ad15177359e6f304edb47e56c0b86edba5ca7280e5bb1be780678527e72f20c3be803f3e6f68029411bfd69933e848a SHA512 924827465b16522e6cb466f93deacc5860b13f235cb6970655722aea43cf5f2ea1f67aef88708a268948c5418f61ba02fefece8c37b1ef40d804f9ddd2cb9469
+MISC metadata.xml 1362 BLAKE2B 45c6814b17e7a45062d196f71ee109bceb16a58c9f7a3dacf58f03274574a149a403d2209af6252d719f0490a199b008e12fa64051a976d0a156e7de88428ef0 SHA512 2a6140a68e883710fc829ad4b25dd3d503c9df68c1be983b6fdfdb793ae8edcff5ea7a30d21f224f8c5aa942811b3b326ff23fe5d557e7de2a7126c3658ed7e2
diff --git a/x11-wm/xpra/files/xpra-4.4-tests.patch b/x11-wm/xpra/files/xpra-4.4-tests.patch
new file mode 100644
index 000000000000..28691606304d
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.4-tests.patch
@@ -0,0 +1,100 @@
+From 5e657b3fbed2f8495272d6b207d1b3c0a660a72f Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 2 Oct 2022 22:59:17 +0100
+Subject: [PATCH 1/3] Fix test_root_window_model by formatting geometry string
+ correctly
+
+You can't use `{geometry:24}` style formatting on a list or tuple. It
+must be converted to a string first.
+---
+ xpra/server/shadow/root_window_model.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xpra/server/shadow/root_window_model.py b/xpra/server/shadow/root_window_model.py
+index cb89466ef..e69949e7d 100644
+--- a/xpra/server/shadow/root_window_model.py
++++ b/xpra/server/shadow/root_window_model.py
+@@ -65,7 +65,7 @@ class RootWindowModel:
+ self.signal_listeners = {}
+
+ def __repr__(self):
+- return f"RootWindowModel({self.capture} : {self.geometry:24})"
++ return f"RootWindowModel({self.capture} : {str(self.geometry):24})"
+
+ def get_info(self) -> dict:
+ info = {}
+--
+2.38.0
+
+
+From 3fe12855383831f10442a1f4451d206dfee2cb92 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 2 Oct 2022 21:51:01 +0100
+Subject: [PATCH 2/3] Fix test_get_version_info when the revision is 0
+
+The 4.4 tarball has revision 0, which causes it to not be included in
+the version info dict. Check for `not None` instead of truthiness.
+---
+ xpra/version_util.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xpra/version_util.py b/xpra/version_util.py
+index 17c0ec27a..5dd38fd3e 100755
+--- a/xpra/version_util.py
++++ b/xpra/version_util.py
+@@ -158,7 +158,7 @@ def get_version_info(full=1) -> dict:
+ "branch" : BRANCH,
+ "commit" : COMMIT,
+ }.items():
+- if v and v!="unknown":
++ if v is not None and v!="unknown":
+ props[k] = v
+ except ImportError as e:
+ warn("missing some source information: %s", e)
+@@ -181,7 +181,7 @@ def get_version_info_full() -> dict:
+ "cython" : "CYTHON_VERSION",
+ }.items():
+ v = getattr(build_info, bk, None)
+- if v:
++ if v is not None:
+ props[k] = v
+ #record library versions:
+ d = dict((k.lstrip("lib_"), getattr(build_info, k)) for k in dir(build_info) if k.startswith("lib_"))
+--
+2.38.0
+
+
+From 79573c7f1241225922bee992f2caaf730cfbe3ac Mon Sep 17 00:00:00 2001
+From: totaam <antoine@xpra.org>
+Date: Sun, 9 Oct 2022 21:37:39 +0700
+Subject: [PATCH 3/3] Revert "don't use GLib directly"
+
+This reverts commit bc8bf26c44d1b151d709232460483f5432f79f5b.
+---
+ xpra/server/mixins/child_command_server.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/xpra/server/mixins/child_command_server.py b/xpra/server/mixins/child_command_server.py
+index 8dea3c1f7..1c2a60e27 100644
+--- a/xpra/server/mixins/child_command_server.py
++++ b/xpra/server/mixins/child_command_server.py
+@@ -11,6 +11,8 @@ import os.path
+ from time import monotonic
+ from subprocess import Popen
+
++from gi.repository import GLib
++
+ from xpra.platform.features import COMMAND_SIGNALS
+ from xpra.child_reaper import getChildReaper, reaper_cleanup
+ from xpra.os_util import (
+@@ -72,7 +74,7 @@ class ChildCommandServer(StubServerMixin):
+ #even if __init__ is called multiple times:
+ if not getattr(self, "late_start_requested", False):
+ self.late_start_requested = True
+- self.idle_add(self.late_start)
++ GLib.idle_add(self.late_start)
+
+ def late_start(self):
+ def do_late_start():
+--
+2.38.0
diff --git a/x11-wm/xpra/files/xpra-4.4-xdummy.patch b/x11-wm/xpra/files/xpra-4.4-xdummy.patch
new file mode 100644
index 000000000000..2326e63498ce
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.4-xdummy.patch
@@ -0,0 +1,24 @@
+From 7c384b517fb391065b84b60fa8f1ec3338ed4fce Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 16 Apr 2022 22:30:11 +0100
+Subject: [PATCH] Avoid Xdummy version detection, assume 0.4.0
+
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 40bfba61c..e4636cb46 100755
+--- a/setup.py
++++ b/setup.py
+@@ -657,6 +657,7 @@ def get_gcc_version():
+ return GCC_VERSION
+
+ def get_dummy_driver_version():
++ return (0, 4)
+ def vernum(s):
+ return tuple(int(v) for v in s.split("-", 1)[0].split("."))
+ #try various rpm names:
+--
+2.34.1
+
diff --git a/x11-wm/xpra/files/xpra-4.5-no-service.patch b/x11-wm/xpra/files/xpra-4.5-no-service.patch
new file mode 100644
index 000000000000..329c492784ac
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.5-no-service.patch
@@ -0,0 +1,19 @@
+Don't install the service files. Auto-detection is used to determine what files
+to install, and where, which can be unpredictable on Gentoo. The init.d script
+is also not suitable for Gentoo.
+
+diff --git a/setup.py b/setup.py
+index 529b591b1..ad23d6ecc 100755
+--- a/setup.py
++++ b/setup.py
+@@ -187,8 +187,8 @@ rfb_ENABLED = DEFAULT
+ quic_ENABLED = DEFAULT
+ ssh_ENABLED = DEFAULT
+ http_ENABLED = DEFAULT
+-service_ENABLED = LINUX and server_ENABLED
+-sd_listen_ENABLED = POSIX and pkg_config_ok("--exists", "libsystemd")
++service_ENABLED = False
++sd_listen_ENABLED = False
+ proxy_ENABLED = DEFAULT
+ client_ENABLED = DEFAULT
+ scripts_ENABLED = not WIN32
diff --git a/x11-wm/xpra/files/xpra-9999-tests.patch b/x11-wm/xpra/files/xpra-9999-tests.patch
new file mode 100644
index 000000000000..746966577dcd
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-9999-tests.patch
@@ -0,0 +1,34 @@
+From 79573c7f1241225922bee992f2caaf730cfbe3ac Mon Sep 17 00:00:00 2001
+From: totaam <antoine@xpra.org>
+Date: Sun, 9 Oct 2022 21:37:39 +0700
+Subject: [PATCH 3/3] Revert "don't use GLib directly"
+
+This reverts commit bc8bf26c44d1b151d709232460483f5432f79f5b.
+---
+ xpra/server/mixins/child_command_server.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/xpra/server/mixins/child_command_server.py b/xpra/server/mixins/child_command_server.py
+index 8dea3c1f7..1c2a60e27 100644
+--- a/xpra/server/mixins/child_command_server.py
++++ b/xpra/server/mixins/child_command_server.py
+@@ -11,6 +11,8 @@ import os.path
+ from time import monotonic
+ from subprocess import Popen
+
++from gi.repository import GLib
++
+ from xpra.platform.features import COMMAND_SIGNALS
+ from xpra.child_reaper import getChildReaper, reaper_cleanup
+ from xpra.os_util import (
+@@ -72,7 +74,7 @@ class ChildCommandServer(StubServerMixin):
+ #even if __init__ is called multiple times:
+ if not getattr(self, "late_start_requested", False):
+ self.late_start_requested = True
+- self.idle_add(self.late_start)
++ GLib.idle_add(self.late_start)
+
+ def late_start(self):
+ def do_late_start():
+--
+2.38.0
diff --git a/x11-wm/xpra/files/xpra-9999-xdummy.patch b/x11-wm/xpra/files/xpra-9999-xdummy.patch
index 2326e63498ce..b86f0dda45fe 100644
--- a/x11-wm/xpra/files/xpra-9999-xdummy.patch
+++ b/x11-wm/xpra/files/xpra-9999-xdummy.patch
@@ -1,24 +1,14 @@
-From 7c384b517fb391065b84b60fa8f1ec3338ed4fce Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Sat, 16 Apr 2022 22:30:11 +0100
-Subject: [PATCH] Avoid Xdummy version detection, assume 0.4.0
-
----
- setup.py | 1 +
- 1 file changed, 1 insertion(+)
+Avoid Xdummy version detection, assume 0.4.1.
diff --git a/setup.py b/setup.py
-index 40bfba61c..e4636cb46 100755
+index 529b591b1..b9431fea8 100755
--- a/setup.py
+++ b/setup.py
-@@ -657,6 +657,7 @@ def get_gcc_version():
- return GCC_VERSION
-
+@@ -793,6 +793,7 @@ def vernum(s):
+ return tuple(int(v) for v in s.split("-", 1)[0].split("."))
+
def get_dummy_driver_version():
-+ return (0, 4)
- def vernum(s):
- return tuple(int(v) for v in s.split("-", 1)[0].split("."))
++ return "0.4.1"
#try various rpm names:
---
-2.34.1
-
+ for rpm_name in ("xorg-x11-drv-dummy", "xf86-video-dummy"):
+ r, out, err = get_status_output(["rpm", "-q", "--queryformat", "%{VERSION}", rpm_name])
diff --git a/x11-wm/xpra/metadata.xml b/x11-wm/xpra/metadata.xml
index 230b35b55f48..308083d50825 100644
--- a/x11-wm/xpra/metadata.xml
+++ b/x11-wm/xpra/metadata.xml
@@ -24,6 +24,7 @@
<flag name="csc">Enable csc softscaler support</flag>
<flag name="html">Install the HTML5 client</flag>
<flag name="ibus">Use ibus input method via <pkg>app-i18n/ibus</pkg></flag>
+ <flag name="oauth">Enable OAuth2 authentication in the server</flag>
<flag name="pillow">Enable pillow support</flag>
<flag name="pinentry">Use <pkg>app-crypt/pinentry</pkg> for password entry</flag>
<flag name="server">Build server-side code</flag>
diff --git a/x11-wm/xpra/xpra-4.3.4-r1.ebuild b/x11-wm/xpra/xpra-4.3.4-r1.ebuild
index 8afbbadd6496..88e345b4b4c5 100644
--- a/x11-wm/xpra/xpra-4.3.4-r1.ebuild
+++ b/x11-wm/xpra/xpra-4.3.4-r1.ebuild
@@ -24,16 +24,16 @@ DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based o
HOMEPAGE="https://xpra.org/"
LICENSE="GPL-2 BSD"
SLOT="0"
-IUSE="brotli +client +clipboard csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama"
+IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( client server )
cups? ( dbus )
opengl? ( client )
- test? ( client clipboard dbus html server sound xdg xinerama )
+ test? ( client clipboard crypt dbus html server sound xdg xinerama )
"
-TDEPEND="
+TEST_DEPEND="
$(python_gen_cond_dep '
dev-python/netifaces[${PYTHON_USEDEP}]
dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
@@ -81,8 +81,9 @@ DEPEND="
"
RDEPEND="
${DEPEND}
- ${TDEPEND}
+ ${TEST_DEPEND}
$(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
lzo? ( >=dev-python/python-lzo-0.7.0[${PYTHON_USEDEP}] )
@@ -104,7 +105,7 @@ RDEPEND="
udev? ( virtual/udev )
"
DEPEND+="
- test? ( ${TDEPEND} )
+ test? ( ${TEST_DEPEND} )
"
BDEPEND="
$(python_gen_cond_dep '
diff --git a/x11-wm/xpra/xpra-4.4.4.ebuild b/x11-wm/xpra/xpra-4.4.4.ebuild
new file mode 100644
index 000000000000..5683ea5b33ce
--- /dev/null
+++ b/x11-wm/xpra/xpra-4.4.4.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Xpra-org/xpra.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_USE_SETUPTOOLS=no
+
+inherit xdg xdg-utils distutils-r1 tmpfiles udev
+
+DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
+HOMEPAGE="https://xpra.org/"
+LICENSE="GPL-2 BSD"
+SLOT="0"
+IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( client server )
+ cups? ( dbus )
+ oauth? ( server )
+ opengl? ( client )
+ test? ( client clipboard crypt dbus html server sound xdg xinerama )
+"
+
+TEST_DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${PYTHON_USEDEP}]
+ dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
+ dev-python/rencode[${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] )
+ ')
+ html? ( www-apps/xpra-html5 )
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
+ x11-drivers/xf86-input-void
+ )
+ xinerama? ( x11-libs/libfakeXinerama )
+"
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP},cairo]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ sound? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ ')
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXres
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ brotli? ( app-arch/brotli )
+ csc? ( >=media-video/ffmpeg-1.2.2:0= )
+ ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] )
+ jpeg? ( media-libs/libjpeg-turbo )
+ pulseaudio? (
+ media-sound/pulseaudio
+ media-plugins/gst-plugins-pulse:1.0
+ )
+ sound? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ vpx? ( media-libs/libvpx media-video/ffmpeg )
+ webp? ( media-libs/libwebp )
+"
+RDEPEND="
+ ${DEPEND}
+ ${TEST_DEPEND}
+ $(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
+ cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
+ lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
+ lzo? ( >=dev-python/python-lzo-0.7.0[${PYTHON_USEDEP}] )
+ oauth? ( dev-python/oauthlib[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl_accelerate[${PYTHON_USEDEP}] )
+ webcam? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ media-libs/opencv[${PYTHON_USEDEP},python]
+ )
+ ')
+ acct-group/xpra
+ virtual/ssh
+ x11-apps/xauth
+ x11-apps/xmodmap
+ ibus? ( app-i18n/ibus )
+ pinentry? ( app-crypt/pinentry )
+ udev? ( virtual/udev )
+"
+DEPEND+="
+ test? ( ${TEST_DEPEND} )
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cython-0.16[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ doc? ( app-text/pandoc )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3-no-service.patch
+ "${FILESDIR}"/${PN}-4.4-xdummy.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # FIXME: There are hardcoded paths all over the place but the following
+ # double-prefixes some files under /etc. Looks tricky to fix. :(
+ #hprefixify $(find -type f \( -name "*.py" -o -name "*.conf" \))
+
+ sed -r -e "/\bdoc_dir =/s:/${PN}\":/${PF}/html\":" \
+ -i setup.py || die
+
+ if use minimal; then
+ sed -r -e '/pam_ENABLED/s/DEFAULT/False/' \
+ -e 's/^(xdg_open)_ENABLED = .*/\1_ENABLED = False/' \
+ -i setup.py || die
+ fi
+}
+
+python_configure_all() {
+ sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
+ -i setup.py || die
+
+ DISTUTILS_ARGS=(
+ --without-PIC
+ --without-Xdummy
+ $(use_with client)
+ $(use_with clipboard)
+ $(use_with csc csc_swscale)
+ --without-csc_libyuv
+ --without-cuda_rebuild
+ --without-cuda_kernels
+ $(use_with cups printing)
+ --without-debug
+ $(use_with dbus)
+ $(use_with doc docs)
+ $(use_with ffmpeg dec_avcodec2)
+ $(use_with ffmpeg enc_ffmpeg)
+ $(use_with ffmpeg enc_x264)
+ --without-enc_x265
+ --with-gtk3
+ $(use_with jpeg jpeg_encoder)
+ $(use_with jpeg jpeg_decoder)
+ --without-mdns
+ $(use_with opengl)
+ $(use_with server shadow)
+ $(use_with server)
+ $(use_with sound)
+ --with-strict
+ $(use_with vpx)
+ --with-warn
+ $(use_with webcam)
+ $(use_with webp)
+ --with-x11
+ )
+
+ export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
+}
+
+python_test() {
+ export XAUTHORITY=${HOME}/.Xauthority
+ touch "${XAUTHORITY}" || die
+
+ distutils_install_for_testing
+ xdg_environment_reset
+
+ env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE \
+ PYTHONPATH="${S}/tests/unittests:${BUILD_DIR}/test/lib" \
+ XPRA_SYSTEMD_RUN=$(usex systemd) XPRA_TEST_COVERAGE=0 \
+ "${PYTHON}" "${S}"/tests/unittests/unit/run.py || die
+}
+
+python_install_all() {
+ distutils-r1_python_prepare_all
+
+ # Move udev dir to the right place.
+ if use udev; then
+ local dir=$(get_udevdir)
+ dodir "${dir%/*}"
+ mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die
+ else
+ rm -vr "${ED}"/usr/lib/udev || die
+ rm -v "${ED}"/usr/bin/xpra_udev_product_version || die
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process xpra.conf
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
diff --git a/x11-wm/xpra/xpra-9999.ebuild b/x11-wm/xpra/xpra-9999.ebuild
index 08e2503c90e1..c4e11b241ef1 100644
--- a/x11-wm/xpra/xpra-9999.ebuild
+++ b/x11-wm/xpra/xpra-9999.ebuild
@@ -21,16 +21,17 @@ DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based o
HOMEPAGE="https://xpra.org/"
LICENSE="GPL-2 BSD"
SLOT="0"
-IUSE="brotli +client +clipboard csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama"
+IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( client server )
cups? ( dbus )
+ oauth? ( server )
opengl? ( client )
- test? ( client clipboard dbus html server sound xdg xinerama )
+ test? ( client clipboard crypt dbus html server sound xdg xinerama )
"
-TDEPEND="
+TEST_DEPEND="
$(python_gen_cond_dep '
dev-python/netifaces[${PYTHON_USEDEP}]
dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
@@ -78,14 +79,14 @@ DEPEND="
"
RDEPEND="
${DEPEND}
- ${TDEPEND}
+ ${TEST_DEPEND}
$(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
lzo? ( >=dev-python/python-lzo-0.7.0[${PYTHON_USEDEP}] )
- opengl? (
- client? ( dev-python/pyopengl_accelerate[${PYTHON_USEDEP}] )
- )
+ oauth? ( dev-python/oauthlib[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl_accelerate[${PYTHON_USEDEP}] )
webcam? (
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pyinotify[${PYTHON_USEDEP}]
@@ -101,7 +102,7 @@ RDEPEND="
udev? ( virtual/udev )
"
DEPEND+="
- test? ( ${TDEPEND} )
+ test? ( ${TEST_DEPEND} )
"
BDEPEND="
$(python_gen_cond_dep '
@@ -114,9 +115,9 @@ BDEPEND="
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
- "${FILESDIR}"/${PN}-4.3-no-service.patch
+ "${FILESDIR}"/${PN}-4.5-no-service.patch
"${FILESDIR}"/${PN}-9999-xdummy.patch
+ "${FILESDIR}"/${PN}-9999-tests.patch
)
python_prepare_all() {
@@ -143,6 +144,7 @@ python_configure_all() {
DISTUTILS_ARGS=(
--without-PIC
--without-Xdummy
+ $(use_with sound audio)
$(use_with client)
$(use_with clipboard)
$(use_with csc csc_swscale)
@@ -164,7 +166,6 @@ python_configure_all() {
$(use_with opengl)
$(use_with server shadow)
$(use_with server)
- $(use_with sound)
--with-strict
$(use_with vpx)
--with-warn