commit:     2c1c7d7e9717d3eba8abb0395e4a85e2f3268d5e
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  6 12:06:32 2021 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Oct  6 12:08:03 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c1c7d7e
x11-wm/xpra: Version bump to 4.2.3

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 x11-wm/xpra/Manifest                      |   1 +
 x11-wm/xpra/files/xpra-4.2.3-dup-ip.patch |  30 +++++
 x11-wm/xpra/xpra-4.2.3.ebuild             | 199 ++++++++++++++++++++++++++++++
 3 files changed, 230 insertions(+)

diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest
index 9eb5666590e..e38e029bc47 100644
--- a/x11-wm/xpra/Manifest
+++ b/x11-wm/xpra/Manifest
@@ -1,3 +1,4 @@
 DIST xpra-4.2.1.tar.gz 3878766 BLAKE2B 
c537b54b8ea5cc1ad2909eeccf61eba59a518165eb72c7d4984d26f378e4babca997c2f6cf78f5ba947edbc4ad6c4085c86793aad9b01f1fca2b22b1daaabda9
 SHA512 
553d8c11f1a77a2a58cbad7df0d899c611e21eb01dad3516f99f1fb9cc7a4507ba7557807b62ddea7101ca01bab123962a34b9c3369db06d1bb318debd91dc55
 DIST xpra-4.2.2.tar.gz 3894227 BLAKE2B 
a25dde9c3732e31cd8127393f89f2495e01896d18d5212b141b4046c265a9ead029bed68c9610c2330ec0a885af1eeb3f92aef2c16dd102293e34ac208be605a
 SHA512 
3f81b5a2f7abdfc14f7e48ec708524e38142b984e6539e94a27b6aef7b5a5e063ef14e6b7383a7719ecc7687c62f49eeeb5668282c337d90a79194c354dedd24
+DIST xpra-4.2.3.tar.gz 3897648 BLAKE2B 
e9d3b4f07f8fae88ad410201a503bc5c738daae91640843cfce2b70da03e916295709bb74ffbb5e70f8e8ba2dcc3085861bdd9b097d24096ccba332693cc076b
 SHA512 
cebec316a0cbd673907379b54248901743a8bf6b6d25c7b36465794da4e1b19296b5fd465df8ba9d563b2a246fab572fa8db25c24c511da9ddc340a8c95557d5
 DIST xpra-4.2.tar.gz 4057304 BLAKE2B 
17b6a95f7ce24a311c39d09291d9570285c30f25c2d935389cb380c2fce698acd984821e69acaabd66368e76b5beddd01803a68d6a16dd930dd2fa3289532f10
 SHA512 
261d46c04ce70686f41873c5c0c115e462e3b2501c58ab05fb2904f4700454c5fb8124d0faf86fe5e982872f19a4b90b941f8aff4790f7206602d6030c005353

diff --git a/x11-wm/xpra/files/xpra-4.2.3-dup-ip.patch 
b/x11-wm/xpra/files/xpra-4.2.3-dup-ip.patch
new file mode 100644
index 00000000000..337527305ec
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.2.3-dup-ip.patch
@@ -0,0 +1,30 @@
+diff --git a/tests/unittests/unit/net/net_util_test.py 
b/tests/unittests/unit/net/net_util_test.py
+index 5c6e3096c..870801666 100755
+--- a/tests/unittests/unit/net/net_util_test.py
++++ b/tests/unittests/unit/net/net_util_test.py
+@@ -27,11 +27,8 @@ class TestVersionUtilModule(unittest.TestCase):
+         ifaces = get_interfaces()
+         if not ifaces:
+             return
++        ip_ifaces = defaultdict(list)
+         for iface in ifaces:
+-            ipmasks = do_get_bind_ifacemask(iface)
+-            for ip, _ in ipmasks:
+-                assert get_iface(ip)==iface, "expected interface %s for ip %s 
but got %s" % (
+-                    iface, ip, get_iface(ip))
+             if if_nametoindex:
+                 try:
+                     i = if_nametoindex(iface)
+@@ -41,6 +38,12 @@ class TestVersionUtilModule(unittest.TestCase):
+                     if if_indextoname:
+                         assert if_indextoname(i)==iface, "expected interface 
%s for index %i but got %s" % (
+                             iface, i, if_indextoname(i))
++            ipmasks = do_get_bind_ifacemask(iface)
++            for ip, _ in ipmasks:
++                ip_ifaces[ip].append(iface)
++        for ip, ifaces in ip_ifaces.items():
++            assert get_iface(ip) in ifaces, "expected interface for ip %s to 
be one of %s but got %s" % (
++                    ip, ifaces, get_iface(ip))
+         ia = get_interfaces_addresses()
+         assert ia
+         #for iface, address in ia.items():

diff --git a/x11-wm/xpra/xpra-4.2.3.ebuild b/x11-wm/xpra/xpra-4.2.3.ebuild
new file mode 100644
index 00000000000..6280862e546
--- /dev/null
+++ b/x11-wm/xpra/xpra-4.2.3.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+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/";
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="brotli +client +clipboard csc cups dbus doc ffmpeg jpeg html ibus +lz4 
lzo minimal opengl pillow pinentry pulseaudio +server sound systemd test 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 )
+"
+
+TDEPEND="
+       $(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/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,x265] )
+       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}
+       ${TDEPEND}
+       $(python_gen_cond_dep '
+               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}] )
+               )
+               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 )
+"
+DEPEND+="
+       test? ( ${TDEPEND} )
+"
+BDEPEND="
+       $(python_gen_cond_dep '
+               >=dev-python/cython-0.16[${PYTHON_USEDEP}]
+       ')
+       virtual/pkgconfig
+       doc? ( app-text/pandoc )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
+       "${FILESDIR}"/${PN}-4.2-suid-warning.patch
+       "${FILESDIR}"/${PN}-4.2.2-true-false-bin-path.patch
+       "${FILESDIR}"/${PN}-4.2.3-dup-ip.patch
+       "${FILESDIR}"/${PN}-4.2.2-bad-tests.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 
's/^(pam|scripts|xdg_open)_ENABLED.*/\1_ENABLED=False/' \
+                       -i setup.py || die
+       fi
+
+       # Upstream says these tests are currently broken.
+       rm tests/unittests/unit/net/subprocess_wrapper_test.py 
tests/unittests/unit/net/protocol_test.py || die
+}
+
+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 doc docs)
+               $(use_with ffmpeg dec_avcodec2)
+               $(use_with ffmpeg enc_ffmpeg)
+               $(use_with ffmpeg enc_x264)
+               $(use_with ffmpeg 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
+
+       PYTHONPATH=${S}/tests/unittests:${BUILD_DIR}/test/lib \
+       XPRA_SYSTEMD_RUN=$(usex systemd) XPRA_TEST_COVERAGE=0 \
+               "${PYTHON}" tests/unittests/unit/run.py || die
+}
+
+python_install_all() {
+       distutils-r1_python_prepare_all
+
+       # Move udev dir to the right place.
+       local dir=$(get_udevdir)
+       dodir "${dir%/*}"
+       mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die
+}
+
+pkg_postinst() {
+       tmpfiles_process xpra.conf
+       xdg_pkg_postinst
+}

Reply via email to