public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-wm/xpra/files/, x11-wm/xpra/
Date: Sun, 17 Apr 2022 12:52:53 +0000 (UTC)	[thread overview]
Message-ID: <1650199959.e1c4f0626f5ab94414b9f35185a71fe33a198a22.chewi@gentoo> (raw)

commit:     e1c4f0626f5ab94414b9f35185a71fe33a198a22
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 17 12:52:00 2022 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 12:52:39 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1c4f062

x11-wm/xpra: Add live ebuild

Strangely, the unit tests often get fixed up after each release, so it helps to
catch and fix these early.

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

 x11-wm/xpra/files/xpra-9999-xdummy.patch |  24 ++++
 x11-wm/xpra/xpra-9999.ebuild             | 202 +++++++++++++++++++++++++++++++
 2 files changed, 226 insertions(+)

diff --git a/x11-wm/xpra/files/xpra-9999-xdummy.patch b/x11-wm/xpra/files/xpra-9999-xdummy.patch
new file mode 100644
index 000000000000..2326e63498ce
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-9999-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/xpra-9999.ebuild b/x11-wm/xpra/xpra-9999.ebuild
new file mode 100644
index 000000000000..59f1f56b88b3
--- /dev/null
+++ b/x11-wm/xpra/xpra-9999.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2022 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
+	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+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 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/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,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.3-no-service.patch
+	"${FILESDIR}"/${PN}-9999-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 's/^(pam|scripts|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)
+		$(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}" "${S}"/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	other threads:[~2022-04-17 12:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-17 12:52 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-27 13:38 [gentoo-commits] repo/gentoo:master commit in: x11-wm/xpra/files/, x11-wm/xpra/ Benda XU
2023-06-12 17:45 Andreas Sturmlechner
2023-05-16 22:16 James Le Cuirot
2023-05-14 14:54 James Le Cuirot
2023-05-14 14:54 James Le Cuirot
2022-05-22 12:41 James Le Cuirot
2022-01-28 13:44 James Le Cuirot
2021-04-07 23:05 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2020-01-27 12:18 Andreas K. Hüttel
2017-03-19 14:41 Michael Weber
2017-02-01 17:33 Michael Weber
2017-01-22 23:23 Michael Weber
2016-07-05  9:41 Michael Weber
2015-09-20 21:28 Michael Weber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1650199959.e1c4f0626f5ab94414b9f35185a71fe33a198a22.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox