x11/xpra: restore port and update to 3.0.
While here, reformat and pass maintainership to submitter Submitted by: arrowd Differential Revision: https://reviews.freebsd.org/D23743
This commit is contained in:
parent
2c35ef824d
commit
746dd3e3d0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=529212
1
MOVED
1
MOVED
@ -14459,7 +14459,6 @@ textproc/rubygem-actionpack-xml_parser52|textproc/rubygem-actionpack-xml_parser-
|
||||
x11-toolkits/py-kivy||2020-03-02|Has expired: Old, uses EOLed python27
|
||||
lang/gcc6|lang/gcc|2020-03-07|Has expired: Unsupported by upstream. Use GCC 9 or newer instead.
|
||||
www/pycarddav|deskutils/py-khard|2020-03-07|Has expired: Deprecated by upstream, please migrate to deskutils/py-khard
|
||||
x11/xpra||2020-03-07|Has expired: Old, uses EOLed python27
|
||||
x11-wm/ccsm||2020-03-07|Has expired: Old, uses EOLed python27
|
||||
x11-toolkits/py-gtkglext||2020-03-07|Has expired: Old, uses EOLed python27
|
||||
deskutils/syncthing-gtk||2020-03-07|Has expired: Old, uses EOLed python27
|
||||
|
@ -469,6 +469,7 @@
|
||||
SUBDIR += xorg-minimal
|
||||
SUBDIR += xorgproto
|
||||
SUBDIR += xpr
|
||||
SUBDIR += xpra
|
||||
SUBDIR += xprintidle
|
||||
SUBDIR += xprompt
|
||||
SUBDIR += xprop
|
||||
|
127
x11/xpra/Makefile
Normal file
127
x11/xpra/Makefile
Normal file
@ -0,0 +1,127 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= xpra
|
||||
PORTVERSION= 3.0.6
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= http://xpra.org/src/
|
||||
|
||||
MAINTAINER= arrowd@FreeBSD.org
|
||||
COMMENT= Xpra gives you persistent remote applications for X
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
LIB_DEPENDS= 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} \
|
||||
setxkbmap:x11/setxkbmap \
|
||||
ssh-askpass:security/openssh-askpass \
|
||||
xauth:x11/xauth \
|
||||
xkbcomp:x11/xkbcomp \
|
||||
Xvfb:x11-servers/xorg-vfbserver
|
||||
|
||||
USES= desktop-file-utils fortran gettext-runtime gnome pkgconfig \
|
||||
python:3.6+ shared-mime-info shebangfix tar:xz xorg
|
||||
|
||||
USE_GNOME= cairo gdkpixbuf2 gtk30 pygobject3
|
||||
USE_PYTHON= cython distutils
|
||||
USE_XORG= x11 xcomposite xdamage xext xfixes xi xkbfile xrandr xtst
|
||||
PLIST_SUB+= PORTVERSION=${PORTVERSION} \
|
||||
PYTHON_SUFFIX=${PYTHON_SUFFIX} \
|
||||
PYTHON_VER=${PYTHON_VER}
|
||||
SHEBANG_FILES= cups/xpraforwarder scripts/auth_dialog scripts/xdg-open \
|
||||
scripts/xpra_udev_product_version
|
||||
MAKE_ENV= XPRA_USE_PROCESS_POLLING=1
|
||||
|
||||
OPTIONS_DEFINE= AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX \
|
||||
WEBCAM X264 X265
|
||||
OPTIONS_DEFAULT= AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX \
|
||||
X264 X265
|
||||
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
|
||||
|
||||
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+= ${XPRA_OPTIONS_DISABLED} csc_libyuv csc_swscale \
|
||||
dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 html5 \
|
||||
printing sound vpx webcam
|
||||
XPRA_OPTIONS_DISABLED= gtk2 mdns minify netdev 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
|
||||
|
||||
.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
3
x11/xpra/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1581160018
|
||||
SHA256 (xpra-3.0.6.tar.xz) = 0854503added465d745c7b079bd4784c42926c9e768a056fc8df2c78e3285557
|
||||
SIZE (xpra-3.0.6.tar.xz) = 2754452
|
11
x11/xpra/files/patch-scripts_xpra
Normal file
11
x11/xpra/files/patch-scripts_xpra
Normal file
@ -0,0 +1,11 @@
|
||||
--- scripts/xpra.orig 2019-03-19 15:05:07 UTC
|
||||
+++ scripts/xpra
|
||||
@@ -17,6 +17,8 @@ except ImportError as e:
|
||||
sys.stderr.write(" retrying with %s\n" % py_exe)
|
||||
os.execvpe(py_exe, argv, env)
|
||||
sys.exit(1)
|
||||
+from ctypes import cdll
|
||||
+cdll.LoadLibrary("%%GCC_RUNTIME%%/libgcc_s.so")
|
||||
|
||||
from xpra.platform import init, set_default_name
|
||||
set_default_name("Xpra")
|
15
x11/xpra/files/patch-scripts_xpra__launcher
Normal file
15
x11/xpra/files/patch-scripts_xpra__launcher
Normal file
@ -0,0 +1,15 @@
|
||||
# preload the correct libgcc_s.so for libgfortran.so,
|
||||
# which is required for numpy
|
||||
#
|
||||
--- scripts/xpra_launcher.orig 2019-03-19 15:05:07 UTC
|
||||
+++ scripts/xpra_launcher
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
+from ctypes import cdll
|
||||
+cdll.LoadLibrary("%%GCC_RUNTIME%%/libgcc_s.so")
|
||||
+
|
||||
import sys
|
||||
try:
|
||||
import xpra
|
60
x11/xpra/files/patch-setup.py
Normal file
60
x11/xpra/files/patch-setup.py
Normal file
@ -0,0 +1,60 @@
|
||||
--- setup.py.orig 2020-02-07 11:19:08 UTC
|
||||
+++ setup.py
|
||||
@@ -165,7 +165,7 @@ html5_brotli_ENABLED = DEFAULT
|
||||
minify_ENABLED = html5_ENABLED
|
||||
pam_ENABLED = DEFAULT and (server_ENABLED or proxy_ENABLED) and POSIX and not OSX and (os.path.exists("/usr/include/pam/pam_misc.h") or os.path.exists("/usr/include/security/pam_misc.h"))
|
||||
|
||||
-xdg_open_ENABLED = LINUX and DEFAULT
|
||||
+xdg_open_ENABLED = (LINUX or FREEBSD) and DEFAULT
|
||||
netdev_ENABLED = LINUX and DEFAULT
|
||||
vsock_ENABLED = LINUX and os.path.exists("/usr/include/linux/vm_sockets.h")
|
||||
bencode_ENABLED = DEFAULT
|
||||
@@ -1481,11 +1481,11 @@ if WIN32:
|
||||
#*******************************************************************************
|
||||
else:
|
||||
#OSX and *nix:
|
||||
- if LINUX:
|
||||
+ if LINUX or FREEBSD:
|
||||
if scripts_ENABLED:
|
||||
scripts += ["scripts/xpra_udev_product_version", "scripts/xpra_signal_listener"]
|
||||
libexec_scripts = []
|
||||
- if is_Fedora() or is_CentOS() or is_RedHat():
|
||||
+ if is_Fedora() or is_CentOS() or is_RedHat() or FREEBSD:
|
||||
libexec = "libexec"
|
||||
else:
|
||||
libexec = "lib"
|
||||
@@ -1497,12 +1497,12 @@ else:
|
||||
add_data_files("%s/xpra/" % libexec, libexec_scripts)
|
||||
if data_ENABLED:
|
||||
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"])
|
||||
add_data_files("share/applications", glob.glob("xdg/*.desktop"))
|
||||
add_data_files("share/mime/packages", ["xdg/application-x-xpraconfig.xml"])
|
||||
- add_data_files("share/icons", ["xdg/xpra.png", "xdg/xpra-mdns.png", "xdg/xpra-shadow.png"])
|
||||
+ add_data_files("share/pixmaps", ["xdg/xpra.png", "xdg/xpra-mdns.png", "xdg/xpra-shadow.png"])
|
||||
add_data_files("share/metainfo", ["xdg/xpra.appdata.xml"])
|
||||
|
||||
#here, we override build and install so we can
|
||||
@@ -1551,7 +1551,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:
|
||||
@@ -1624,8 +1624,8 @@ else:
|
||||
remove_packages("xpra.platform.win32", "xpra.platform.darwin")
|
||||
if data_ENABLED:
|
||||
#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"])
|
||||
|
10
x11/xpra/files/patch-xpra_scripts_config.py
Normal file
10
x11/xpra/files/patch-xpra_scripts_config.py
Normal file
@ -0,0 +1,10 @@
|
||||
--- xpra/scripts/config.py.orig 2020-02-07 11:19:09 UTC
|
||||
+++ xpra/scripts/config.py
|
||||
@@ -130,7 +130,6 @@ def detect_xvfb_command(conf_dir="/etc/xpra/", bin_dir
|
||||
if OSX:
|
||||
return get_Xvfb_command()
|
||||
if sys.platform.find("bsd")>=0 and Xdummy_ENABLED is None:
|
||||
- warn("Warning: sorry, no support for Xdummy on %s" % sys.platform)
|
||||
return get_Xvfb_command()
|
||||
|
||||
xorg_bin = get_xorg_bin()
|
4
x11/xpra/pkg-descr
Normal file
4
x11/xpra/pkg-descr
Normal 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/
|
1469
x11/xpra/pkg-plist
Normal file
1469
x11/xpra/pkg-plist
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user