1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-12 07:27:57 +00:00

x11/xpra: resurrect and slightly update port

This commit is contained in:
Steve Wills 2018-12-27 21:27:00 +00:00
parent 05bbbfe2ae
commit e1d1c3432c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=488570
7 changed files with 1551 additions and 0 deletions

131
x11/xpra/Makefile Normal file
View File

@ -0,0 +1,131 @@
# Created by: Steve Wills <swills@FreeBSD.org>
# $FreeBSD$
PORTNAME= xpra
PORTVERSION= 2.3
CATEGORIES= x11
MASTER_SITES= http://xpra.org/src/
MAINTAINER= swills@FreeBSD.org
COMMENT= Xpra gives you persistent remote applications for X
LICENSE= GPLv2
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gtk2>2:x11-toolkits/py-gtk2@${PY_FLAVOR} \
${PYNUMPY}
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libturbojpeg.so:graphics/libjpeg-turbo \
libwebp.so:graphics/webp
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lz4>=0.7.0_1:archivers/py-lz4@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rencode>1:converters/py-rencode@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyinotify>0:devel/py-pyinotify@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xxhash>0:devel/py-xxhash@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>=3.0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}PyOpenGL>=3.1.0:graphics/py-PyOpenGL@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}PyOpenGL-accelerate>=3.1.0:graphics/py-PyOpenGL-accelerate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netifaces>0:net/py-netifaces@${PY_FLAVOR} \
ssh-askpass:security/openssh-askpass \
${PYTHON_PKGNAMEPREFIX}cryptography>1:security/py-cryptography@${PY_FLAVOR} \
setxkbmap:x11/setxkbmap \
xauth:x11/xauth \
xkbcomp:x11/xkbcomp \
${LOCALBASE}/share/X11/xkb/rules/base:x11/xkeyboard-config \
Xvfb:x11-servers/xorg-vfbserver \
${PYTHON_PKGNAMEPREFIX}gtk2>2:x11-toolkits/py-gtk2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gtkglext>1:x11-toolkits/py-gtkglext@${PY_FLAVOR} \
${PYNUMPY}
USES= desktop-file-utils fortran gettext-runtime gnome pkgconfig python:2.7 shared-mime-info shebangfix tar:xz
USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk20 pango
USE_PYTHON= cython distutils
USE_XORG= x11 xcomposite xdamage xext xfixes xi xkbfile xrandr xtst
PLIST_SUB+= PORTVERSION=${PORTVERSION} PYTHON_VER=${PYTHON_VER}
SHEBANG_FILES= cups/xpraforwarder scripts/auth_dialog scripts/xpra_udev_product_version
OPTIONS_DEFINE= AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX WEBCAM X264 X265
OPTIONS_DEFAULT= AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE 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
HTML5_DESC= Install HTML5 client interface
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 (slow)
AVAHI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}avahi>0:net/py-avahi@${PY_FLAVOR}
AVAHI_VARS= XPRA_OPTIONS+=mdns
AVCODEC_VARS= XPRA_OPTIONS+=dec_avcodec2
CUPS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycups>1:print/py-pycups@${PY_FLAVOR}
CUPS_VARS= XPRA_OPTIONS+=printing
FFMPEG_VARS= XPRA_OPTIONS+=enc_ffmpeg
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= GSTREAMER1=flac,lame,mpg123,ogg,opus,vorbis,wavpack
GSTREAMER_VARS= XPRA_OPTIONS+=sound
HTML5_VARS= XPRA_OPTIONS+=html5
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= ${PYTHON_PKGNAMEPREFIX}opencv>2:graphics/py-opencv@${PY_FLAVOR}
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= csc_libyuv csc_swscale
XPRA_OPTIONS_ALL+= dec_avcodec2 enc_ffmpeg enc_x264 enc_x265
XPRA_OPTIONS_ALL+= html5 mdns sound printing vpx webcam
XPRA_OPTIONS_ALL+= ${XPRA_OPTIONS_DISABLED}
XPRA_OPTIONS_DISABLED= Xdummy Xdummy_wrapper minify uinput
.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:MFFMPEG}
LIB_DEPENDS+= libavcodec.so: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|%%GCC_RUNTIME%%|${LOCALBASE}/lib/gcc${_GCC_VER}|' \
${WRKSRC}/scripts/xpra ${WRKSRC}/scripts/xpra_launcher
@${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \
${WRKSRC}/xpra/platform/pycups_printing.py
@${REINPLACE_CMD} -e 's|/usr/sbin|${LOCALBASE}/sbin|' \
${WRKSRC}/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>

3
x11/xpra/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1536269436
SHA256 (xpra-2.3.tar.xz) = 372b05ae06dbbe138c4368d31472753e51fbfa63e9dcd6f9a827237f5755004f
SIZE (xpra-2.3.tar.xz) = 2304968

View File

@ -0,0 +1,14 @@
# preload the correct libgcc_s.so for libgfortran.so,
# which is required for numpy
#
--- scripts/xpra.orig 2017-03-17 07:24:27 UTC
+++ scripts/xpra
@@ -1,5 +1,8 @@
#!/usr/bin/env python
+from ctypes import cdll
+cdll.LoadLibrary("%%GCC_RUNTIME%%/libgcc_s.so")
+
from xpra.platform import init, set_default_name
set_default_name("Xpra")
init()

View File

@ -0,0 +1,14 @@
# preload the correct libgcc_s.so for libgfortran.so,
# which is required for numpy
#
--- scripts/xpra_launcher.orig 2017-03-17 07:24:27 UTC
+++ scripts/xpra_launcher
@@ -1,5 +1,8 @@
#!/usr/bin/env python
+from ctypes import cdll
+cdll.LoadLibrary("%%GCC_RUNTIME%%/libgcc_s.so")
+
import sys
from xpra.platform import program_context

View File

@ -0,0 +1,39 @@
--- setup.py.orig 2018-05-08 17:35:32 UTC
+++ setup.py
@@ -1487,14 +1487,14 @@ else:
if libexec_scripts:
add_data_files("%s/xpra/" % libexec, libexec_scripts)
man_path = "share/man"
- if OPENBSD:
+ if OPENBSD or FREEBSD:
man_path = "man"
add_data_files("%s/man1" % man_path, ["man/xpra.1", "man/xpra_launcher.1", "man/xpra_browser.1"])
add_data_files("share/xpra", ["README", "COPYING"])
add_data_files("share/xpra/icons", glob.glob("icons/*"))
add_data_files("share/applications", ["xdg/xpra-launcher.desktop", "xdg/xpra-browser.desktop", "xdg/xpra.desktop"])
add_data_files("share/mime/packages", ["xdg/application-x-xpraconfig.xml"])
- add_data_files("share/icons", ["xdg/xpra.png", "xdg/xpra-mdns.png"])
+ add_data_files("share/pixmaps", ["xdg/xpra.png", "xdg/xpra-mdns.png"])
add_data_files("share/appdata", ["xdg/xpra.appdata.xml"])
add_data_files('share/xpra/', ["bell.wav"])
add_data_files('share/xpra/http-headers', glob.glob("http-headers/*"))
@@ -1545,7 +1545,7 @@ else:
if printing_ENABLED and POSIX:
#install "/usr/lib/cups/backend" with 0700 permissions:
- copytodir("cups/xpraforwarder", "lib/cups/backend", chmod=0o700)
+ copytodir("cups/xpraforwarder", "libexec/cups/backend", chmod=0o700)
if x11_ENABLED:
#install xpra_Xdummy if we need it:
@@ -1617,8 +1617,8 @@ else:
add_packages("xpra.platform.xposix")
remove_packages("xpra.platform.win32", "xpra.platform.darwin")
#not supported by all distros, but doesn't hurt to install them anyway:
- for x in ("tmpfiles.d", "sysusers.d"):
- add_data_files("lib/%s" % x, ["%s/xpra.conf" % x])
+# for x in ("tmpfiles.d", "sysusers.d"):
+# add_data_files("lib/%s" % x, ["%s/xpra.conf" % x])
if uinput_ENABLED:
add_data_files("lib/udev/rules.d/", ["udev/rules.d/71-xpra-virtual-pointer.rules"])

4
x11/xpra/pkg-descr Normal file
View File

@ -0,0 +1,4 @@
Xpra gives you persistent remote applications for X. So basically it's
screen for remote X apps.
WWW: http://xpra.org/

1346
x11/xpra/pkg-plist Normal file

File diff suppressed because it is too large Load Diff