summaryrefslogtreecommitdiff
path: root/x11/xpra/Makefile
blob: 718682ee8cafeccf0198530c60ef8eb9d48e4987 (plain) (blame)
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
# Created by: Steve Wills <swills@FreeBSD.org>
# $FreeBSD$

PORTNAME=	xpra
PORTVERSION=	0.15.10
PORTREVISION=	2
CATEGORIES=	x11
MASTER_SITES=	http://xpra.org/src/

MAINTAINER=	matthew@reztek.cz
COMMENT=	Xpra gives you persistent remote applications for X

LICENSE=	GPLv2

BUILD_DEPENDS=	cython:${PORTSDIR}/lang/cython \
		${PYTHON_SITELIBDIR}/gtk-2.0/gtk/__init__.py:${PORTSDIR}/x11-toolkits/py-gtk2
RUN_DEPENDS=	py${PYTHON_SUFFIX}-lz4>=0.7.0_1:${PORTSDIR}/archivers/py-lz4 \
		${PYTHON_SITELIBDIR}/rencode/__init__.py:${PORTSDIR}/converters/py-rencode \
		${PYTHON_SITELIBDIR}/dbus/__init__.py:${PORTSDIR}/devel/py-dbus \
		${PYTHON_SITELIBDIR}/OpenGL/__init__.py:${PORTSDIR}/graphics/py-opengl \
		${PYTHON_SITELIBDIR}/OpenGL_accelerate/__init__.py:${PORTSDIR}/graphics/py-opengl-accelerate \
		${PYTHON_PKGNAMEPREFIX}pillow>0:${PORTSDIR}/graphics/py-pillow \
		${PYTHON_SITELIBDIR}/netifaces.so:${PORTSDIR}/net/py-netifaces \
		ssh-askpass:${PORTSDIR}/security/openssh-askpass \
		setxkbmap:${PORTSDIR}/x11/setxkbmap \
		xauth:${PORTSDIR}/x11/xauth \
		xkbcomp:${PORTSDIR}/x11/xkbcomp \
		${LOCALBASE}/share/X11/xkb/rules/base:${PORTSDIR}/x11/xkeyboard-config \
		Xvfb:${PORTSDIR}/x11-servers/xorg-vfbserver \
		${PYTHON_SITELIBDIR}/gtk-2.0/gtk/__init__.py:${PORTSDIR}/x11-toolkits/py-gtk2 \
		${PYTHON_SITELIBDIR}/gtk-2.0/gtk/gtkgl/__init__.py:${PORTSDIR}/x11-toolkits/py-gtkglext

USES=		desktop-file-utils pkgconfig python shared-mime-info tar:xz
USE_GSTREAMER=	good python
USE_PYTHON=	distutils
USE_XORG=	x11 xcomposite xdamage xfixes xkbfile xrandr xtst
PLIST_SUB+=	PORTVERSION=${PORTVERSION} PYTHON_VER=${PYTHON_VER}

OPTIONS_DEFINE=		AVAHI AVCODEC CUPS OPENCL SWSCALE VPX WEBP X264 X265
OPTIONS_DEFAULT=	AVAHI AVCODEC CUPS SWSCALE VPX WEBP X264 X265
OPTIONS_SUB=		yes

AVCODEC_DESC=	Enable avcodec2 decoder
OPENCL_DESC=	Enable OpenCL CSC module
SWSCALE_DESC=	Enable swscale CSC module
VPX_DESC=	Enable VP8 and VP9 encoder
WEBP_DESC=	Enable WebP encoder
X264_DESC=	Enable X264 encoder
X265_DESC=	Enable X265 encoder

AVAHI_RUN_DEPENDS=	${PYTHON_SITELIBDIR}/avahi/__init__.py:${PORTSDIR}/net/py-avahi
AVCODEC_VARS=		XPRA_OPTIONS+=dec_avcodec2
CUPS_RUN_DEPENDS=	${PYTHON_SITELIBDIR}/cups.so:${PORTSDIR}/print/py-pycups
OPENCL_LIB_DEPENDS=	libOpenCL.so:${PORTSDIR}/devel/ocl-icd
OPENCL_RUN_DEPENDS=	${PYTHON_SITELIBDIR}/pyopencl/__init__.py:${PORTSDIR}/devel/py-pyopencl
OPENCL_VARS=		XPRA_OPTIONS+=csc_opencl
SWSCALE_VARS=		XPRA_OPTIONS+=csc_swscale
VPX_LIB_DEPENDS=	libvpx.so:${PORTSDIR}/multimedia/libvpx
VPX_VARS=		XPRA_OPTIONS+=vpx
WEBP_LIB_DEPENDS=	libwebp.so:${PORTSDIR}/graphics/webp
WEBP_VARS=		XPRA_OPTIONS+=webp
X264_LIB_DEPENDS=	libx264.so:${PORTSDIR}/multimedia/libx264
X264_VARS=		XPRA_OPTIONS+=enc_x264
X265_LIB_DEPENDS=	libx265.so:${PORTSDIR}/multimedia/x265
X265_VARS=		XPRA_OPTIONS+=enc_x265

PYDISTUTILS_PKGNAME=	xpra_all
XPRA_OPTIONS_ALL=	csc_opencl csc_swscale dec_avcodec2
XPRA_OPTIONS_ALL+=	enc_x264 enc_x265 vpx webp
XPRA_OPTIONS_ALL+=	${XPRA_OPTIONS_DISABLED}
XPRA_OPTIONS_DISABLED=	Xdummy Xdummy_wrapper
XPRA_OPTIONS_DISABLED+=	nvenc3 nvenc4 nvenc5

.include <bsd.port.options.mk>

.for opt in ${XPRA_OPTIONS_ALL}
.if empty(XPRA_OPTIONS:M${opt})
PYDISTUTILS_ARGS+=	--without-${opt}
.else
PYDISTUTILS_ARGS+=	--with-${opt}
.endif
.endfor

.if ${PORT_OPTIONS:MAVCODEC} || ${PORT_OPTIONS:MSWSCALE}
LIB_DEPENDS+=	libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
.endif

.include <bsd.port.pre.mk>

PYDISTUTILS_BUILDARGS+=		${PYDISTUTILS_ARGS}
PYDISTUTILS_CONFIGUREARGS+=	${PYDISTUTILS_ARGS}
PYDISTUTILS_INSTALLARGS+=	${PYDISTUTILS_ARGS}

post-patch:
	${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \
	    ${WRKSRC}/xpra/platform/pycups_printing.py

post-install:
	${RM} ${STAGEDIR}${ETCDIR}/xpra.conf
	${INSTALL_DATA} ${WRKSRC}/build/etc/xpra/xpra.conf \
	    ${STAGEDIR}${ETCDIR}/xpra.conf.sample
	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \
	    -exec ${STRIP_CMD} {} \;

.include <bsd.port.post.mk>