diff options
-rw-r--r-- | x11-wm/xpra/Manifest | 1 | ||||
-rw-r--r-- | x11-wm/xpra/xpra-4.4.6.ebuild | 220 |
2 files changed, 221 insertions, 0 deletions
diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest index 3e29e19a6741..b2881c697f2b 100644 --- a/x11-wm/xpra/Manifest +++ b/x11-wm/xpra/Manifest @@ -1 +1,2 @@ DIST xpra-4.4.5.tar.gz 4332287 BLAKE2B 64165a18d0f204247f984f616438252e82922447441376e6e46a15509486e67f699e852562cd632591fd2831a86592d5029c5905932fc9d267b16a7e6edd1b5a SHA512 6fb28328efc020969fff17bf747a1e0bf5b21869c9532a8c482e12f979d1dec7989e10e5bf3a9ae7dbfaa9e48c670255b196fdb819200a74dfbdec3ba5ae744f +DIST xpra-4.4.6.tar.gz 4334932 BLAKE2B 0518c6807be85777bb67b0a3283a610c06a97813671bff6edc701533aaa8f26b96e423e56ba56491ede120697277f6935ee26976b49550dfd2d52bbcd2daebd8 SHA512 273ee959647c1281f18c7b1b24d3a5179c4b6ce81515cc34618c698e55bdc2a8e94f0e236d7ab41c7bf29fa7fde0b1a2a1432445b8aaaa0a75cd5a90f4858419 diff --git a/x11-wm/xpra/xpra-4.4.6.ebuild b/x11-wm/xpra/xpra-4.4.6.ebuild new file mode 100644 index 000000000000..45f19d022704 --- /dev/null +++ b/x11-wm/xpra/xpra-4.4.6.ebuild @@ -0,0 +1,220 @@ +# 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 +DISTUTILS_EXT=1 + +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 +trayicon 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-libs/libpulse + 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 ) + trayicon? ( dev-libs/libayatana-appindicator ) + udev? ( virtual/udev ) +" +DEPEND+=" + test? ( ${TEST_DEPEND} ) +" +BDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/cython-0.16[${PYTHON_USEDEP}] + ') + virtual/pkgconfig + doc? ( virtual/pandoc ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${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 + --without-sd_listen + --without-service + $(use_with opengl) + $(use_with server shadow) + $(use_with server) + $(use_with sound) + --without-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 necessary. + if use udev; then + local dir=$(get_udevdir) + if [[ ! ${ED}/usr/lib/udev -ef ${ED}${dir} ]]; then + dodir "${dir%/*}" + mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + fi + else + rm -vr "${ED}"/usr/lib/udev || die + rm -v "${ED}"/usr/libexec/xpra/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 +} |