1 # Created by: Steve Wills <swills@FreeBSD.org>
8 MASTER_SITES= http://xpra.org/src/
10 MAINTAINER= matthew@reztek.cz
11 COMMENT= Xpra gives you persistent remote applications for X
15 BUILD_DEPENDS= cython:lang/cython \
16 ${PYTHON_SITELIBDIR}/gtk-2.0/gtk/__init__.py:x11-toolkits/py-gtk2
17 RUN_DEPENDS= py${PYTHON_SUFFIX}-lz4>=0.7.0_1:archivers/py-lz4 \
18 ${PYTHON_SITELIBDIR}/rencode/__init__.py:converters/py-rencode \
19 ${PYTHON_SITELIBDIR}/dbus/__init__.py:devel/py-dbus \
20 ${PYTHON_SITELIBDIR}/OpenGL/__init__.py:graphics/py-PyOpenGL \
21 ${PYTHON_SITELIBDIR}/OpenGL_accelerate/__init__.py:graphics/py-PyOpenGL-accelerate \
22 ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow \
23 ${PYTHON_SITELIBDIR}/netifaces.so:net/py-netifaces \
24 ssh-askpass:security/openssh-askpass \
25 setxkbmap:x11/setxkbmap \
28 ${LOCALBASE}/share/X11/xkb/rules/base:x11/xkeyboard-config \
29 Xvfb:x11-servers/xorg-vfbserver \
30 ${PYTHON_SITELIBDIR}/gtk-2.0/gtk/__init__.py:x11-toolkits/py-gtk2 \
31 ${PYTHON_SITELIBDIR}/gtk-2.0/gtk/gtkgl/__init__.py:x11-toolkits/py-gtkglext
33 USES= desktop-file-utils pkgconfig python shared-mime-info tar:xz
34 USE_GSTREAMER= good python
36 USE_XORG= x11 xcomposite xdamage xfixes xkbfile xrandr xtst
37 PLIST_SUB+= PORTVERSION=${PORTVERSION} PYTHON_VER=${PYTHON_VER}
39 OPTIONS_DEFINE= AVAHI AVCODEC CUPS OPENCL SWSCALE VPX WEBP X264 X265
40 OPTIONS_DEFAULT= AVAHI AVCODEC CUPS SWSCALE VPX WEBP X264 X265
43 AVCODEC_DESC= Enable avcodec2 decoder
44 OPENCL_DESC= Enable OpenCL CSC module
45 SWSCALE_DESC= Enable swscale CSC module
46 VPX_DESC= Enable VP8 and VP9 encoder
47 WEBP_DESC= Enable WebP encoder
48 X264_DESC= Enable X264 encoder
49 X265_DESC= Enable X265 encoder
51 AVAHI_RUN_DEPENDS= ${PYTHON_SITELIBDIR}/avahi/__init__.py:net/py-avahi
52 AVCODEC_VARS= XPRA_OPTIONS+=dec_avcodec2
53 CUPS_RUN_DEPENDS= ${PYTHON_SITELIBDIR}/cups.so:print/py-pycups
54 OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd
55 OPENCL_RUN_DEPENDS= ${PYTHON_SITELIBDIR}/pyopencl/__init__.py:devel/py-pyopencl
56 OPENCL_VARS= XPRA_OPTIONS+=csc_opencl
57 SWSCALE_VARS= XPRA_OPTIONS+=csc_swscale
58 VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
59 VPX_VARS= XPRA_OPTIONS+=vpx
60 WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
61 WEBP_VARS= XPRA_OPTIONS+=webp
62 X264_LIB_DEPENDS= libx264.so:multimedia/libx264
63 X264_VARS= XPRA_OPTIONS+=enc_x264
64 X265_LIB_DEPENDS= libx265.so:multimedia/x265
65 X265_VARS= XPRA_OPTIONS+=enc_x265
67 PYDISTUTILS_PKGNAME= xpra_all
68 XPRA_OPTIONS_ALL= csc_opencl csc_swscale dec_avcodec2
69 XPRA_OPTIONS_ALL+= enc_x264 enc_x265 vpx webp
70 XPRA_OPTIONS_ALL+= ${XPRA_OPTIONS_DISABLED}
71 XPRA_OPTIONS_DISABLED= Xdummy Xdummy_wrapper
72 XPRA_OPTIONS_DISABLED+= nvenc3 nvenc4 nvenc5
74 .include <bsd.port.options.mk>
76 .for opt in ${XPRA_OPTIONS_ALL}
77 .if empty(XPRA_OPTIONS:M${opt})
78 PYDISTUTILS_ARGS+= --without-${opt}
80 PYDISTUTILS_ARGS+= --with-${opt}
84 .if ${PORT_OPTIONS:MAVCODEC} || ${PORT_OPTIONS:MSWSCALE}
85 LIB_DEPENDS+= libavcodec.so:multimedia/ffmpeg
88 .include <bsd.port.pre.mk>
90 PYDISTUTILS_BUILDARGS+= ${PYDISTUTILS_ARGS}
91 PYDISTUTILS_CONFIGUREARGS+= ${PYDISTUTILS_ARGS}
92 PYDISTUTILS_INSTALLARGS+= ${PYDISTUTILS_ARGS}
95 ${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \
96 ${WRKSRC}/xpra/platform/pycups_printing.py
99 ${RM} ${STAGEDIR}${ETCDIR}/xpra.conf
100 ${INSTALL_DATA} ${WRKSRC}/build/etc/xpra/xpra.conf \
101 ${STAGEDIR}${ETCDIR}/xpra.conf.sample
102 ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \
103 -exec ${STRIP_CMD} {} \;
105 .include <bsd.port.post.mk>