summaryrefslogtreecommitdiff
path: root/x11-wm/xpra
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/xpra')
-rw-r--r--x11-wm/xpra/Manifest10
-rw-r--r--x11-wm/xpra/files/xpra-3.0.2-dbus.patch29
-rw-r--r--x11-wm/xpra/files/xpra-4.0.6-r28363.patch238
-rw-r--r--x11-wm/xpra/metadata.xml8
-rw-r--r--x11-wm/xpra/xpra-3.0.2-r1.ebuild144
-rw-r--r--x11-wm/xpra/xpra-4.0.6_p28363.ebuild (renamed from x11-wm/xpra/xpra-4.0.4.ebuild)85
6 files changed, 299 insertions, 215 deletions
diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest
index 422d68181ddc..ed9cdbe94977 100644
--- a/x11-wm/xpra/Manifest
+++ b/x11-wm/xpra/Manifest
@@ -1,14 +1,12 @@
AUX xpra-2.0-suid-warning.patch 617 BLAKE2B dc7f1ba0ec9e30e260601f1151edb43855619a1c34bc29c05536c4dea30c8131179ea17ca30ce3ae2c87d7b374f7a02a5afcde89b6bf29921fc0a9de457e3d54 SHA512 f0d69a6e57435d6c9ef1ecb10e9fa6916b2a8b11f5979b7dffcc37c0a8ec387306b651d50ca3fe10a489cb28f6c2384fbe578510bd7f9bc7a51249e66c4d17ab
-AUX xpra-3.0.2-dbus.patch 1128 BLAKE2B c908950df22a16174c7885543e93277902826b8b0273472e8e70ea563d1fe24a0c9ca624e65fe1b312e27d093a7d24acda8db685cd3bdae29bd712a23b5d0d2d SHA512 c2d913ccb82cac41bd16271a878459fc4468620d9f235c2aaab3af7d327a666c8830cea43ba49da7a4faf9b609e6b3b8bbbf02f377399778af01139af4a38c88
AUX xpra-3.0.2-ldconfig.patch 1270 BLAKE2B b4eaa81610899c16a43b43c5f11f93335ca48add1302ed2bc2d6f1d6a1df3c234a65562c42b19b7ad53b0d267d9763606d43ba3ce18cfb6d70565d2f684dbe7c SHA512 09684ac0ac9626d1a441fb17a61919b3b1685520affcc72aa59e64c24ad55ffc7712af57e2ec392710e7dc412039daa6c76456ee6d5464a3e4057fb61d9ad7b1
AUX xpra-3.0.2_ignore-gentoo-no-compile.patch 610 BLAKE2B 963b3b61602f6a7ad7c8247109932d0da7eeef2762eaa8a987a8f10178a13cec3255000661bc7e3344319a555c9f0ed41b6383be7728af543cb5d2e004c377b2 SHA512 ff16637dca766ba2d36351e1aeeb87f2bab02e73e8da8fdb566051727b0c6fec6df1925318eee8d1c87580196ec78f0303da56d3439b4b4bace3105a914251e8
AUX xpra-4.0.3-suid-warning.patch 731 BLAKE2B 6e576c088bc59ee7a52e15a8fbceb9117a47e4bf818b6777ffe977b5db1f9e72077ffeea07570312603f160d5556d2980914887f56d9733b1b6bf49ae385d0e4 SHA512 d3a3c2a2510159e83d6d6bda11f37b5500ce80d4bac059d3bcee8293caa93652a132d074f46a728204b012c61707994ebb87e0e02afd0c4efeab7a705ba5ea69
-DIST xpra-3.0.2.tar.xz 2749196 BLAKE2B 3c8745657a12637704fb88ac7b867ab387ef7ed2250396d9e534aecf81e40f85332a2c51ba49638834012f4a4d85c03bd7e49ee259bb2400aeb60fb06abf8b59 SHA512 115f606ff5886d99a906f318cb1a7a4a86e80ebf23e4336e67938267d92ef624de577cc8fc06c6ce541b7c44a0cef58d930b5928f32e24dfc67c72127c7b623c
+AUX xpra-4.0.6-r28363.patch 10454 BLAKE2B 8385dc347edf9e3464784cf0d9bb8450696b66bb66af3b14e3a3440fb2b6ffea9f1d7c640f1973e8d37084eced58daad451162ac2b6798a7b5e7fb8f6f89b430 SHA512 a75534371a391fe1fbf6cd327e0df9eeb1fc7b65376de734f523984ea124ad95c7782af380735b95500cc63002e065c9684bb92095c5850f2cf42e7b15d661f8
DIST xpra-3.0.5.tar.xz 2752016 BLAKE2B a36d6a4ebb0b14665014da92d510c0d5f978c96db653709ddc09a1015426d6ac6f71f9a221db68ee1114c95eeaca6600f9e49102ce9f936d9b0ee298ac432647 SHA512 3dbc122ebc8c4aa67154acfe92668ac364d8469022b03e28946d763e4d396f8c707690b2a4dbf07b55545259a53b46c9dd94e6e40131289ccc3dce6a88107681
-DIST xpra-4.0.4.tar.xz 2792512 BLAKE2B e16c47e82cf9f8712521c8f9c436b7bb819d9469fc0135ade1f2c9fc6f2a8a0fecf417caae87a1eca9c4b6daec1a82add5d6547208caee1a1d681ebc7b3d3d3b SHA512 91a90cdab775ec2501ef1601188b97ca4aa741e541f8d941add8d509767790a144b67f094177dda7539eff305710f2c834b90a93e9441437dac615677963094c
DIST xpra-4.0.5.tar.xz 2795828 BLAKE2B fed6514d75dbb08f386325e30e375fd2077db1dad91602e575e3955a622a52ade2fc8e0c6c823d8a495684afb3a2f55f27e28abdf8734d0eca25275a3d358193 SHA512 d2aa2b70b6ec702bca5b0c2b06378107d45c4cad79f83ee2a1ed27fd5f66474e2d8e1d28d5111e60417ed089f91bab0b1566b0c9b3dcf6f0cb5e204ff5c42c92
-EBUILD xpra-3.0.2-r1.ebuild 3989 BLAKE2B 32811ece71f24899d5a133946044ba54587fa2817da62205211fb4bf67184b44c51297f7c4c44853d39aee3709d1c75d07cb8376c5dcfbc3981b7e77e49dd2ce SHA512 ceb14272f61547d15def0d22c2440748ea144a832d89e7e9086d0dde8b394dc29041945c32a9a38fdca14d53a3f0545e6b74086c1ba60c771135dfcf4ecf3e9a
+DIST xpra-4.0.6.tar.xz 2797752 BLAKE2B 3f2d4108fec1f1b5c0cd38a26f1a2c41af253fd234427e8e54104ff3742b9f7ae3e1863db837addd76acc6856b6f3cfcbde97edc2bc75314b215d4ca46a816f8 SHA512 e3dc66040898ed40ef12b8cdb89e5f42c2f36edc071afb435334389e727f376ddc116dbee47018468bff24f2cdd7be35750b58bc108ba73c5558bd9eccbd04ea
EBUILD xpra-3.0.5-r2.ebuild 3843 BLAKE2B 9be5685148f89315a8b715034a00a4c83947ce561ea08cf43af02352aa1c6f057fe71aa4000500421a41edac3a6f190179de1d325c50e92c9a19c3752db49ce3 SHA512 15ca9c77547f7e0c0388e3217aa908e000b8a2b3c0360ec32c54c8a2d2a31344f6940c9496b66624c96a2e4328ca0fc281291452f61b6cf9c20c0d63de33d6e4
-EBUILD xpra-4.0.4.ebuild 3664 BLAKE2B ba0a5c10d9ad9333045b4b40d1e0d068386b43645b5aab3b132fe980be7fa41c3f9b20520701d01646dbd53c69c70735afd3fcf2ccef8fc50a5add38f9b4e028 SHA512 3c08b19f7ccd12ccefae3d516132fa079980e9bc18fc7f30562ce2ce9f2fbd324f4cd59638d52c76a48e8cd50d55a1e2fb40c404099f8523eaae87cefa6581cb
EBUILD xpra-4.0.5.ebuild 3797 BLAKE2B 322c682c2ae128daea027289932ef37f31288888f75ee4eda53cf71a4ba71a3ed624234202462e46d8f563ec2c2d56e283dbabf5d0d2e2a4fcd4e747f734338f SHA512 ab99366ab8802d5feb9cbef14f7bfb817524e233db651ce37f87ccf5a55002a6dd4e79931484cb84179ccbe90df294999ad6bf203f0da3a438b396d80e2414cc
-MISC metadata.xml 1245 BLAKE2B afa173eb082c199aae4f79ba9687c1162678a3a80cca8b19f140a210f0d029f3fa3f857e02e6fa1daa96794b586d1e0e9c1f03cddd8a8b10987ac1a96a9f292d SHA512 bcde5f696375a6294e668adae79607c0313414906d8bd647e99a38898a48d360ccdeaf4236da2aba1486e8a3f7783b8bb92c7da5b71fc31906d7ec932820d1bd
+EBUILD xpra-4.0.6_p28363.ebuild 3905 BLAKE2B 1fd2c5d09354373731b479edb58d61e050a59144db78306775724cb7483447f8bc54c3fb4ec8b24cd9d6bb372390af4275c48833d6e7735ef4bca4b130b41ebe SHA512 61b223aed0397ccdd255536e32a8ed382938336dbda1493ccc7ef7fdb9fcebeba39afa47915d9044f08ce463e8612ad6710431c2b5719b2d154f809afd592669
+MISC metadata.xml 1090 BLAKE2B 51b66f86c4858f3c6081e03ee5444b0fd84de0db0355e7538a507ae6290b82f09407acef6e335ac7c5d7dfa2801da5e6b0f0b904daea6fd5c34f19d17492007a SHA512 99dde78c6a33dbbb890b071165c9e0ca57ea3d7a6866abfccda2d976006dcf17b531b2dd464a2c0e312c181d1a3561ba61316a8c5c9c27976281965673aca55d
diff --git a/x11-wm/xpra/files/xpra-3.0.2-dbus.patch b/x11-wm/xpra/files/xpra-3.0.2-dbus.patch
deleted file mode 100644
index e0f14b8ba59d..000000000000
--- a/x11-wm/xpra/files/xpra-3.0.2-dbus.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Remove dbus functionality if USE=dbus is not specified.
-
-Index: xpra-3.0.2/xpra/scripts/server.py
-===================================================================
---- xpra-3.0.2.orig/xpra/scripts/server.py
-+++ xpra-3.0.2/xpra/scripts/server.py
-@@ -748,14 +748,9 @@ def do_run_server(error_cb, opts, mode,
- log("chdir(%s)", opts.chdir)
- os.chdir(opts.chdir)
-
-- dbus_pid, dbus_env = 0, {}
- if not shadowing and POSIX and not OSX and not clobber:
- no_gtk()
- assert starting or starting_desktop or proxying
-- from xpra.server.dbus.dbus_start import start_dbus
-- dbus_pid, dbus_env = start_dbus(opts.dbus_launch)
-- if dbus_env:
-- os.environ.update(dbus_env)
-
- display = None
- if not proxying:
-@@ -835,7 +830,6 @@ def do_run_server(error_cb, opts, mode,
- app.display_name = display_name
- app.init(opts)
- app.init_sockets(sockets)
-- app.init_dbus(dbus_pid, dbus_env)
- if not shadowing and (xvfb_pid or clobber):
- app.init_display_pid(xvfb_pid)
- app.original_desktop_display = desktop_display
diff --git a/x11-wm/xpra/files/xpra-4.0.6-r28363.patch b/x11-wm/xpra/files/xpra-4.0.6-r28363.patch
new file mode 100644
index 000000000000..5187b700c0df
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.0.6-r28363.patch
@@ -0,0 +1,238 @@
+Index: selinux/xpra_socketactivation/xpra_socketactivation.te
+===================================================================
+--- a/selinux/xpra_socketactivation/xpra_socketactivation.te (revision 28285)
++++ b/selinux/xpra_socketactivation/xpra_socketactivation.te (revision 28363)
+@@ -27,6 +27,7 @@
+ type unconfined_t;
+ type bin_t;
+ type avahi_t;
++ type config_home_t;
+
+ attribute can_read_shadow_passwords;
+ }
+@@ -55,6 +56,9 @@
+ allow xpra_t xpra_conf_t:dir { getattr open read search };
+ files_search_etc(xpra_t)
+
++allow xpra_t config_home_t:dir { getattr search };
++allow xpra_t config_home_t:file { getattr ioctl open read };
++
+ type xpra_socket_t;
+ files_type(xpra_socket_t)
+
+Index: setup.py
+===================================================================
+--- a/setup.py (revision 28285)
++++ b/setup.py (revision 28363)
+@@ -1533,8 +1533,9 @@
+ for k,v in subs.items():
+ data = data.replace(k, v)
+ with open(dst_file, "wb") as f:
+- return f.write(data)
++ f.write(data)
+ if chmod:
++ print("chmod(%s, %s)" % (dst_file, oct(chmod)))
+ os.chmod(dst_file, chmod)
+
+ if printing_ENABLED and POSIX:
+Index: unittests/unit/net/crypto_test.py
+===================================================================
+--- a/unittests/unit/net/crypto_test.py (revision 28285)
++++ b/unittests/unit/net/crypto_test.py (revision 28363)
+@@ -88,7 +88,7 @@
+ start = monotonic_time()
+ self.do_test_backend(data, enc_iterations, dec_iterations)
+ end = monotonic_time()
+- elapsed = end-start
++ elapsed = max(0.0001, end-start)
+ speed = (asize*16) * (enc_iterations + dec_iterations) / elapsed
+ iter_time = elapsed*1000/(enc_iterations + dec_iterations)
+ print("%10iKB: %5.1fms: %16iMB/s" % (asize*16//1024, iter_time, speed//1024//1024))
+Index: win32/MINGW_BUILD.sh
+===================================================================
+--- a/win32/MINGW_BUILD.sh (revision 28285)
++++ b/win32/MINGW_BUILD.sh (revision 28363)
+@@ -286,6 +286,8 @@
+ #why is it shipping those files??
+ find lib/ -name "*dll.a" -exec rm {} \;
+ #only keep the actual loaders, not all the other crap cx_Freeze put there:
++#but keep librsvg
++mv lib/gdk-pixbuf-2.0/2.10.0/loaders/librsvg* ./
+ mkdir lib/gdk-pixbuf-2.0/2.10.0/loaders.tmp
+ mv lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-*.dll lib/gdk-pixbuf-2.0/2.10.0/loaders.tmp/
+ rm -fr lib/gdk-pixbuf-2.0/2.10.0/loaders
+@@ -326,6 +328,9 @@
+ #and keep pdfium:
+ mv lib/*pdfium*.dll ./
+ pushd lib > /dev/null
++#cx_Freeze forgets these two!?
++cp $MINGW_PREFIX/bin/libatk-*dll ./
++cp $MINGW_PREFIX/bin/libgtk-*dll ./
+ #remove all the pointless duplication:
+ for x in `ls *dll`; do
+ find ./ -mindepth 2 -name "${x}" -exec rm {} \;
+Index: xpra/client/gtk_base/gtk_client_window_base.py
+===================================================================
+--- a/xpra/client/gtk_base/gtk_client_window_base.py (revision 28285)
++++ b/xpra/client/gtk_base/gtk_client_window_base.py (revision 28363)
+@@ -1806,10 +1806,16 @@
+
+ def _set_backing_size(self, ww, wh):
+ b = self._backing
++ bw = self._client.cx(ww)
++ bh = self._client.cy(wh)
++ if max(ww, wh)>=32000 or min(ww, wh)<0:
++ raise Exception("invalid window size %ix%i" % (ww, wh))
++ if max(bw, bh)>=32000:
++ raise Exception("invalid window backing size %ix%i" % (bw, bh))
+ if b:
+- b.init(ww, wh, self._client.cx(ww), self._client.cy(wh))
++ b.init(ww, wh, bw, bh)
+ else:
+- self.new_backing(self._client.cx(ww), self._client.cy(wh))
++ self.new_backing(bw, bh)
+
+ def resize(self, w, h, resize_counter=0):
+ ww, wh = self.get_size()
+Index: xpra/net/file_transfer.py
+===================================================================
+--- a/xpra/net/file_transfer.py (revision 28285)
++++ b/xpra/net/file_transfer.py (revision 28363)
+@@ -580,6 +580,10 @@
+
+ def _process_open_url(self, packet):
+ url, send_id = packet[1:3]
++ try:
++ url = strtobytes(url).decode("utf8")
++ except UnicodeDecodeError:
++ url = bytestostr(url)
+ if not self.open_url:
+ filelog.warn("Warning: received a request to open URL '%s'", url)
+ filelog.warn(" but opening of URLs is disabled")
+@@ -670,12 +674,12 @@
+ filelog("process send-data-request: send_id=%s, url=%s, printit=%s, openit=%s", s(send_id), url, printit, openit)
+ def cb_answer(accept):
+ filelog("accept%s=%s", (url, printit, openit), accept)
++ self.send("send-data-response", send_id, accept)
+ #filenames and url are always sent encoded as utf8:
+ try:
+ url = strtobytes(url).decode("utf8")
+ except:
+ url = bytestostr(url)
+- self.send("send-data-response", send_id, accept)
+ if dtype==b"file":
+ if not self.file_transfer:
+ cb_answer(False)
+Index: xpra/net/socket_util.py
+===================================================================
+--- a/xpra/net/socket_util.py (revision 28285)
++++ b/xpra/net/socket_util.py (revision 28363)
+@@ -622,7 +622,7 @@
+ log.info(" %s does not exist", dirname)
+ #only show extra information if the socket permissions
+ #would have been accessible by the group:
+- if POSIX and (sperms & 0o40):
++ elif POSIX and (sperms & 0o40):
+ uid = getuid()
+ username = get_username_for_uid(uid)
+ groups = get_groups(username)
+Index: xpra/platform/xposix/paths.py
+===================================================================
+--- a/xpra/platform/xposix/paths.py (revision 28285)
++++ b/xpra/platform/xposix/paths.py (revision 28363)
+@@ -102,12 +102,12 @@
+
+ def do_get_user_conf_dirs(uid):
+ #per-user configuration location:
+- #(but never use /root/.xpra)
++ #(but never use /root/.xpra or /root/.config/xpra)
+ if uid is None:
+ uid = os.getuid()
+ dirs = []
+- dirs += [os.path.join(os.environ.get("XDG_CONFIG_HOME", "~/.config"), "xpra")]
+ if uid>0:
++ dirs += [os.path.join(os.environ.get("XDG_CONFIG_HOME", "~/.config"), "xpra")]
+ dirs.append("~/.xpra")
+ return dirs
+
+Index: xpra/platform/xposix/sd_listen.pyx
+===================================================================
+--- a/xpra/platform/xposix/sd_listen.pyx (revision 28285)
++++ b/xpra/platform/xposix/sd_listen.pyx (revision 28363)
+@@ -52,7 +52,7 @@
+ return sockets
+
+ def get_sd_socket_type(fd):
+- from xpra.net.common import TCP_SOCKTYPES
++ from xpra.net.bytestreams import TCP_SOCKTYPES
+ socktype = os.environ.get("XPRA_SD%i_SOCKET_TYPE" % fd)
+ if not socktype:
+ socktype = os.environ.get("XPRA_SD_SOCKET_TYPE", "tcp")
+Index: xpra/server/mixins/audio_server.py
+===================================================================
+--- a/xpra/server/mixins/audio_server.py (revision 28285)
++++ b/xpra/server/mixins/audio_server.py (revision 28363)
+@@ -121,7 +121,7 @@
+ from xpra.platform.xposix.paths import _get_xpra_runtime_dir, get_runtime_dir
+ rd = osexpand(get_runtime_dir())
+ if not os.path.exists(rd) or not os.path.isdir(rd):
+- log.warn("Warning: the runtime directory '%s' does not exist,")
++ log.warn("Warning: the runtime directory '%s' does not exist,", rd)
+ log.warn(" cannot start a private pulseaudio server")
+ else:
+ xpra_rd = _get_xpra_runtime_dir()
+Index: xpra/server/window/motion.pyx
+===================================================================
+--- a/xpra/server/window/motion.pyx (revision 28285)
++++ b/xpra/server/window/motion.pyx (revision 28363)
+@@ -79,7 +79,7 @@
+ for i,v in enumerate(arr):
+ self.a2[i] = <uint64_t> abs(v)
+
+- def update(self, pixels, int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t rowstride, uint8_t bpp=4):
++ def update(self, pixels, int16_t x, int16_t y, uint16_t width, uint16_t height, uint32_t rowstride, uint8_t bpp=4):
+ """
+ Add a new image to compare with,
+ checksum its rows into a2,
+Index: xpra/server/window/window_video_source.py
+===================================================================
+--- a/xpra/server/window/window_video_source.py (revision 28285)
++++ b/xpra/server/window/window_video_source.py (revision 28363)
+@@ -1785,6 +1785,13 @@
+ scrolllog("no scrolling: detection has already been used on this image")
+ #we've already checked
+ return False
++ x = image.get_target_x()
++ y = image.get_target_y()
++ w = image.get_width()
++ h = image.get_height()
++ if w>=32000 or h>=32000:
++ scrolllog("no scrolling: the image is too large, %ix%i", w, h)
++ return False
+ #don't download the pixels if we have a GPU buffer,
+ #since that means we're likely to be able to compress on the GPU too with NVENC:
+ if not image.has_pixels():
+@@ -1792,10 +1799,6 @@
+ if self.content_type=="video" or not self.non_video_encodings:
+ scrolllog("no scrolling: content is video")
+ return False
+- x = image.get_target_x()
+- y = image.get_target_y()
+- w = image.get_width()
+- h = image.get_height()
+ if w<MIN_SCROLL_IMAGE_SIZE or h<MIN_SCROLL_IMAGE_SIZE:
+ scrolllog("no scrolling: image size %ix%i is too small, minimum is %ix%i",
+ w, h, MIN_SCROLL_IMAGE_SIZE, MIN_SCROLL_IMAGE_SIZE)
+Index: xpra/x11/x11_server_core.py
+===================================================================
+--- a/xpra/x11/x11_server_core.py (revision 28285)
++++ b/xpra/x11/x11_server_core.py (revision 28363)
+@@ -687,7 +687,7 @@
+ #we can use XRRSetScreenSize:
+ try:
+ with xsync:
+- RandR.xrr_set_screen_size(w, h, self.xdpi or self.dpi, self.ydpi or self.dpi)
++ RandR.xrr_set_screen_size(w, h, self.xdpi or self.dpi or 96, self.ydpi or self.dpi or 96)
+ except XError:
+ screenlog("XRRSetScreenSize failed", exc_info=True)
+ screenlog("calling RandR.get_screen_size()")
diff --git a/x11-wm/xpra/metadata.xml b/x11-wm/xpra/metadata.xml
index 349c6f4b186e..ce472786e3ab 100644
--- a/x11-wm/xpra/metadata.xml
+++ b/x11-wm/xpra/metadata.xml
@@ -13,6 +13,10 @@
<email>alexxy@gentoo.org</email>
<name>Alexey Shvetsov</name>
</maintainer>
+<maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+</maintainer>
<upstream>
<bugs-to>https://www.xpra.org/trac/report</bugs-to>
</upstream>
@@ -21,10 +25,6 @@
<flag name="client">Build client-side code</flag>
<flag name="clipboard">Enable clipboard support</flag>
<flag name="csc">Enable csc softscaler support</flag>
- <flag name="dec_avcodec2">Enable avcodec2 decoder support</flag>
- <flag name="enc_ffmpeg">Enable advanced ffmpeg/libav encoder support</flag>
- <flag name="enc_x264">Enable x264 encoder support</flag>
- <flag name="enc_x265">Enable x265 encoder support</flag>
<flag name="pillow">Enable pillow support</flag>
<flag name="server">Build server-side code</flag>
<flag name="vpx">Enable vpx image format support</flag>
diff --git a/x11-wm/xpra/xpra-3.0.2-r1.ebuild b/x11-wm/xpra/xpra-3.0.2-r1.ebuild
deleted file mode 100644
index f518280f02d7..000000000000
--- a/x11-wm/xpra/xpra-3.0.2-r1.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# PyCObject_Check and PyCObject_AsVoidPtr vanished with python 3.3
-PYTHON_COMPAT=( python3_{6,7} )
-inherit xdg distutils-r1 eutils flag-o-matic user tmpfiles prefix
-
-DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
-HOMEPAGE="http://xpra.org/ http://xpra.org/src/"
-SRC_URI="http://xpra.org/src/${P}.tar.xz"
-
-LICENSE="GPL-2 BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+client +clipboard csc cups dbus dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 jpeg +lz4 lzo opengl pillow pulseaudio server sound test vpx webcam webp"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- clipboard? ( || ( server client ) )
- cups? ( dbus )
- opengl? ( client )
- || ( client server )
- client? ( enc_x264? ( dec_avcodec2 ) enc_x265? ( dec_avcodec2 ) )"
-
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxkbfile
- csc? ( >=media-video/ffmpeg-1.2.2:0= )
- dec_avcodec2? ( >=media-video/ffmpeg-2:0=[x264,x265] )
- enc_ffmpeg? ( >=media-video/ffmpeg-3.2.2:0= )
- enc_x264? ( media-libs/x264
- >=media-video/ffmpeg-1.0.4:0=[x264] )
- enc_x265? ( media-libs/x265
- >=media-video/ffmpeg-2:0=[x264] )
- jpeg? ( media-libs/libjpeg-turbo )
- opengl? ( dev-python/pyopengl )
- pulseaudio? ( media-sound/pulseaudio )
- sound? ( media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- dev-python/gst-python:1.0 )
- vpx? ( media-libs/libvpx media-video/ffmpeg )
- webp? ( media-libs/libwebp )"
-
-RDEPEND="${COMMON_DEPEND}
- dev-python/netifaces[${PYTHON_USEDEP}]
- dev-python/rencode[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
- virtual/ssh
- x11-apps/xmodmap
- cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
- dbus? ( dev-python/dbus-python[${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}] )
- )
- server? ( x11-base/xorg-server[-minimal,xvfb]
- x11-drivers/xf86-input-void
- )
- webcam? ( dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/opencv[python]
- dev-python/pyinotify[${PYTHON_USEDEP}] )"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
- >=dev-python/cython-0.16[${PYTHON_USEDEP}]"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
- "${FILESDIR}"/${PN}-2.0-suid-warning.patch
- "${FILESDIR}"/${PN}-3.0.2-ldconfig.patch
-)
-
-pkg_postinst() {
- enewgroup ${PN}
- tmpfiles_process /usr/lib/tmpfiles.d/xpra.conf
-
- xdg_pkg_postinst
-}
-
-python_prepare_all() {
- use dbus || eapply "${FILESDIR}/${PN}-3.0.2-dbus.patch"
-
- hprefixify -w '/os.path/' setup.py
- hprefixify tmpfiles.d/xpra.conf xpra/server/server_util.py \
- xpra/platform{/xposix,}/paths.py xpra/scripts/server.py
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
- -i setup.py || die
-
- mydistutilsargs=(
- --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 dec_avcodec2)
- $(use_with enc_ffmpeg)
- $(use_with enc_x264)
- $(use_with enc_x265)
- --without-gtk2
- --with-gtk3
- --without-html5
- $(use_with jpeg jpeg_encoder)
- $(use_with jpeg jpeg_decoder)
- --without-mdns
- --without-minify
- $(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
- )
-
- # see https://www.xpra.org/trac/ticket/1080
- # and http://trac.cython.org/ticket/395
- append-cflags -fno-strict-aliasing
-
- export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
-}
diff --git a/x11-wm/xpra/xpra-4.0.4.ebuild b/x11-wm/xpra/xpra-4.0.6_p28363.ebuild
index ff3e6b932135..01ec69226daf 100644
--- a/x11-wm/xpra/xpra-4.0.4.ebuild
+++ b/x11-wm/xpra/xpra-4.0.6_p28363.ebuild
@@ -1,20 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9} )
+DISTUTILS_SINGLE_IMPL=yes
DISTUTILS_USE_SETUPTOOLS=no
-inherit xdg distutils-r1 eutils flag-o-matic tmpfiles prefix
+inherit xdg distutils-r1 tmpfiles prefix
+MY_P="${PN}-${PV%_p*}"
DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
-HOMEPAGE="http://xpra.org/ http://xpra.org/src/"
-SRC_URI="http://xpra.org/src/${P}.tar.xz"
+HOMEPAGE="https://xpra.org/"
+SRC_URI="https://xpra.org/src/${MY_P}.tar.xz"
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="brotli +client +clipboard csc cups dbus ffmpeg jpeg +lz4 lzo opengl pillow pulseaudio server sound test vpx webcam webp"
+IUSE="brotli +client +clipboard csc cups dbus ffmpeg jpeg +lz4 lzo minimal opengl pillow pulseaudio server sound test vpx webcam webp"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|| ( client server )
@@ -22,8 +24,13 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
opengl? ( client )
"
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
+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
@@ -36,40 +43,50 @@ COMMON_DEPEND="${PYTHON_DEPS}
csc? ( >=media-video/ffmpeg-1.2.2:0= )
ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264,x265] )
jpeg? ( media-libs/libjpeg-turbo )
- opengl? ( dev-python/pyopengl )
pulseaudio? (
media-sound/pulseaudio
media-plugins/gst-plugins-pulse:1.0
)
- sound? ( media-libs/gstreamer:1.0
+ sound? (
+ media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
- dev-python/gst-python:1.0 )
+ )
vpx? ( media-libs/libvpx media-video/ffmpeg )
webp? ( media-libs/libwebp )
"
-RDEPEND="${COMMON_DEPEND}
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${PYTHON_USEDEP}]
+ dev-python/rencode[${PYTHON_USEDEP}]
+ dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
+ cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
+ dbus? ( dev-python/dbus-python[${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}] )
+ )
+ webcam? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ media-libs/opencv[${PYTHON_USEDEP},python]
+ )
+ ')
acct-group/xpra
- dev-python/netifaces[${PYTHON_USEDEP}]
- dev-python/rencode[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
virtual/ssh
x11-apps/xmodmap
- cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
- dbus? ( dev-python/dbus-python[${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}] )
- )
- server? ( x11-base/xorg-server[-minimal,xvfb]
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
x11-drivers/xf86-input-void
)
- webcam? ( dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/opencv[python]
- dev-python/pyinotify[${PYTHON_USEDEP}] )"
-DEPEND="${COMMON_DEPEND}
+"
+BDEPEND="
virtual/pkgconfig
- >=dev-python/cython-0.16[${PYTHON_USEDEP}]"
+ $(python_gen_cond_dep '
+ >=dev-python/cython-0.16[${PYTHON_USEDEP}]
+ ')
+"
RESTRICT="!test? ( test )"
@@ -77,8 +94,11 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
"${FILESDIR}"/${PN}-3.0.2-ldconfig.patch
"${FILESDIR}"/${PN}-4.0.3-suid-warning.patch
+ "${FILESDIR}"/${PN}-4.0.6-r28363.patch
)
+S="${WORKDIR}/${MY_P}"
+
pkg_postinst() {
tmpfiles_process /usr/lib/tmpfiles.d/xpra.conf
@@ -90,6 +110,11 @@ python_prepare_all() {
hprefixify tmpfiles.d/xpra.conf xpra/server/server_util.py \
xpra/platform{/xposix,}/paths.py xpra/scripts/server.py
+ if use minimal; then
+ sed -r -e 's/^(pam|scripts|xdg_open)_ENABLED.*/\1_ENABLED=False/' \
+ -i setup.py || die
+ fi
+
distutils-r1_python_prepare_all
}
@@ -131,9 +156,5 @@ python_configure_all() {
--with-x11
)
- # see https://www.xpra.org/trac/ticket/1080
- # and http://trac.cython.org/ticket/395
- append-cflags -fno-strict-aliasing
-
export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
}