freebsd-ports/x11/xpra/Makefile
Gleb Popov 38e23c42fc x11/xpra: Update to 4.4.3
Reported by:	portscout!
2022-12-02 09:02:52 +03:00

130 lines
4.9 KiB
Makefile

PORTNAME= xpra
PORTVERSION= 4.4.3
CATEGORIES= x11
MASTER_SITES= https://xpra.org/src/
MAINTAINER= arrowd@FreeBSD.org
COMMENT= Persistent remote applications for X
WWW= https://xpra.org/
LICENSE= GPLv2
BUILD_DEPENDS= pandoc:textproc/hs-pandoc
LIB_DEPENDS= libbrotlidec.so:archivers/brotli \
libharfbuzz.so:print/harfbuzz \
liblz4.so:archivers/liblz4 \
libwebp.so:graphics/webp
RUN_DEPENDS= ${PY_PILLOW} \
${PYTHON_PKGNAMEPREFIX}bencode.py>1:converters/py-bencode.py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}brotli>1:archivers/py-brotli@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cryptography>1:security/py-cryptography@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lz4>=0.7.0_1:archivers/py-lz4@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netifaces>0:net/py-netifaces@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}paramiko>0:security/py-paramiko@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyinotify>0:devel/py-pyinotify@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}PyOpenGL-accelerate>=3.1.0:graphics/py-PyOpenGL-accelerate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}PyOpenGL>=3.1.0:graphics/py-PyOpenGL@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rencode>1:converters/py-rencode@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xdg>0:devel/py-xdg@${PY_FLAVOR} \
setxkbmap:x11/setxkbmap \
ssh-askpass:security/openssh-askpass \
xauth:x11/xauth \
xkbcomp:x11/xkbcomp \
Xvfb:x11-servers/xorg-server@xvfb
USES= desktop-file-utils gettext-runtime gnome localbase pkgconfig \
python:3.6+ shared-mime-info shebangfix tar:xz xorg
USE_GNOME= cairo gdkpixbuf2 gtk30 pygobject3
USE_PYTHON= cython distutils noflavors
USE_XORG= x11 xcomposite xdamage xext xfixes xi xkbfile xrandr xres xtst
PLIST_SUB+= PORTVERSION=${PORTVERSION} \
PYTHON_SUFFIX=${PYTHON_SUFFIX} \
PYTHON_VER=${PYTHON_VER}
SHEBANG_FILES= fs/lib/cups/backend/xpraforwarder fs/libexec/xpra/auth_dialog \
fs/libexec/xpra/xdg-open fs/libexec/xpra/xpra_signal_listener \
fs/libexec/xpra/xpra_udev_product_version
OPTIONS_DEFINE= AVAHI AVCODEC CUPS DOCS FFMPEG GSTREAMER LIBYUV SWSCALE \
WEBCAM X265
OPTIONS_DEFAULT= AVAHI CUPS GSTREAMER X264
OPTIONS_RADIO= CODEC
OPTIONS_RADIO_CODEC= VPX X264
OPTIONS_SUB= yes
AVCODEC_DESC= Enable avcodec2 (FFmpeg) decoder
CUPS_DESC= Enable CUPS for printer forwarding
FFMPEG_DESC= Enable FFmpeg encoder
GSTREAMER_DESC= Enable GStreamer for sound forwarding
LIBYUV_DESC= Enable libyuv CSC module (fastest)
SWSCALE_DESC= Enable swscale (FFmpeg) CSC module
VPX_DESC= Enable VP8 and VP9 codec
WEBCAM_DESC= Enable webcam forwarding (client only)
X264_DESC= Enable X264 encoder
X265_DESC= Enable X265 encoder
AVAHI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}avahi>0:net/py-avahi@${PY_FLAVOR}
AVAHI_VARS= XPRA_OPTIONS+=mdns
AVCODEC_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
AVCODEC_VARS= XPRA_OPTIONS+=dec_avcodec2
CUPS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycups>1:print/py-pycups@${PY_FLAVOR}
CUPS_VARS= XPRA_OPTIONS+=printing
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
FFMPEG_VARS= XPRA_OPTIONS+=enc_ffmpeg
GSTREAMER_USES= gstreamer
GSTREAMER_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer1>1:multimedia/py-gstreamer1@${PY_FLAVOR}
GSTREAMER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer1>1:multimedia/py-gstreamer1@${PY_FLAVOR}
GSTREAMER_USE= GSTREAMER=flac,lame,mpg123,ogg,opus,pulse,vorbis,wavpack
GSTREAMER_VARS= XPRA_OPTIONS+=sound
LIBYUV_LIB_DEPENDS= libyuv.so:graphics/libyuv
LIBYUV_VARS= XPRA_OPTIONS+=csc_libyuv
SWSCALE_LIB_DEPENDS= libswscale.so:multimedia/ffmpeg
SWSCALE_VARS= XPRA_OPTIONS+=csc_swscale
VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
VPX_VARS= XPRA_OPTIONS+=vpx
WEBCAM_RUN_DEPENDS= opencv>2:graphics/opencv
WEBCAM_VARS= XPRA_OPTIONS+=webcam
X264_LIB_DEPENDS= libx264.so:multimedia/libx264
X264_VARS= XPRA_OPTIONS+=enc_x264
X265_LIB_DEPENDS= libx265.so:multimedia/x265
X265_VARS= XPRA_OPTIONS+=enc_x265
PYDISTUTILS_PKGNAME= xpra_all
XPRA_OPTIONS_ALL+= ${XPRA_OPTIONS_DISABLED} csc_libyuv csc_swscale \
dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 \
mdns printing sound vpx webcam
XPRA_OPTIONS_DISABLED= strict uinput Xdummy Xdummy_wrapper
.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
.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
@${REINPLACE_CMD} -e 's|/usr/sbin|${LOCALBASE}/sbin|' \
${WRKSRC}/fs/etc/xpra/conf.d/16_printing.conf.in
post-install:
@${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \
${STAGEDIR}${ETCDIR}/xorg.conf.sample
@${MV} ${STAGEDIR}${ETCDIR}/xpra.conf \
${STAGEDIR}${ETCDIR}/xpra.conf.sample
@${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \
-exec ${STRIP_CMD} {} +
.include <bsd.port.post.mk>