summaryrefslogtreecommitdiff
blob: 4d18143c8aa43c0262b3a9213ea99dbfc831ac8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5

# PyCObject_Check and PyCObject_AsVoidPtr vanished with python 3.3, and setup.py not python3.2 compat
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1 eutils flag-o-matic user

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 ~amd64-linux ~x86-linux"
IUSE="+client +clipboard csc cups dec_av2 libav lz4 lzo opengl pulseaudio server sound vpx webp x264 x265"

REQUIRED_USE="${PYTHON_REQUIRED_USE}
	clipboard? ( || ( server client ) )
	opengl? ( client )
	|| ( client server )"

# x264/old-libav.path situation see bug 459218
COMMON_DEPEND=""${PYTHON_DEPS}"
	dev-python/pygobject:2[${PYTHON_USEDEP}]
	dev-python/pygtk:2[${PYTHON_USEDEP}]
	x11-libs/gtk+:2
	x11-libs/libX11
	x11-libs/libXcomposite
	x11-libs/libXdamage
	x11-libs/libXfixes
	x11-libs/libXrandr
	x11-libs/libXtst
	csc? (
		!libav? ( >=media-video/ffmpeg-1.2.2:0= )
		libav? ( media-video/libav:0= )
	)
	dec_av2? (
		!libav? ( >=media-video/ffmpeg-2:0= )
		libav? ( media-video/libav:0= )
	)
	opengl? ( dev-python/pygtkglext )
	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 virtual/ffmpeg )
	webp? ( media-libs/libwebp )
	x264? ( media-libs/x264
		!libav? ( >=media-video/ffmpeg-1.0.4:0= )
		libav? ( media-video/libav:0= )
	)
	x265? ( media-libs/x265
		!libav? ( >=media-video/ffmpeg-2:0= )
		libav? ( media-video/libav:0= )
	)"

RDEPEND="${COMMON_DEPEND}
	dev-python/dbus-python[${PYTHON_USEDEP}]
	dev-python/ipython[${PYTHON_USEDEP}]
	dev-python/numpy[${PYTHON_USEDEP}]
	dev-python/pillow[${PYTHON_USEDEP}]
	dev-python/rencode[${PYTHON_USEDEP}]
	virtual/ssh
	x11-apps/xmodmap
	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}] )
	)
	server? ( x11-base/xorg-server[-minimal,xvfb]
		x11-drivers/xf86-input-void
		x11-drivers/xf86-video-dummy
	)"
DEPEND="${COMMON_DEPEND}
	virtual/pkgconfig
	>=dev-python/cython-0.16[${PYTHON_USEDEP}]"

pkg_postinst() {
	enewgroup ${PN}
}

python_prepare_all() {
	rm -rf rencode || die

	epatch \
		"${FILESDIR}"/${PN}-0.13.1-ignore-gentoo-no-compile.patch \
		"${FILESDIR}"/${PN}-0.16.2-prefix.patch

	if use libav ; then
		if ! has_version ">=media-video/libav-9" ; then
			epatch patches/old-libav.patch
		fi
	fi

	distutils-r1_python_prepare_all
}

python_configure_all() {
	mydistutilsargs=(
		$(use_with client)
		$(use_with clipboard)
		$(use_with csc csc_swscale)
		$(use_with cups printing)
		$(use_with dec_av2 dec_avcodec2)
		$(use_with opengl)
		$(use_with server shadow)
		$(use_with server)
		$(use_with sound)
		$(use_with vpx)
		$(use_with webp)
		$(use_with x264 enc_x264)
		$(use_with x265 enc_x265)
		--with-Xdummy
		--with-gtk2
		--without-gtk3
		--with-strict
		--with-warn
		--with-x11
		--without-PIC
		--without-debug )

	# see https://www.xpra.org/trac/ticket/1080 
	# and http://trac.cython.org/ticket/395
	append-cflags -fno-strict-aliasing
}