Changeset View
Changeset View
Standalone View
Standalone View
net/xrdp/Makefile
# Created by: alepulver | # Created by: alepulver | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= xrdp | PORTNAME= xrdp | ||||
PORTVERSION= 0.6.2 | PORTVERSION= 0.9.6 | ||||
DISTVERSIONPREFIX= v | DISTVERSIONPREFIX= v | ||||
PORTEPOCH= 1 | PORTEPOCH= 1 | ||||
CATEGORIES= net | CATEGORIES= net | ||||
DIST_SUBDIR= ${PORTNAME} | DIST_SUBDIR?= ${PORTNAME} | ||||
MAINTAINER= meta@FreeBSD.org | MAINTAINER= meta@FreeBSD.org | ||||
COMMENT= Open source Remote Desktop Protocol (RDP) server | COMMENT= Open source Remote Desktop Protocol (RDP) server | ||||
LICENSE= GPLv2 | LICENSE= APACHE20 | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
# pulseaudio's configured source is required for audio redirection | |||||
BUILD_DEPENDS= ${NONEXISTENT}:audio/pulseaudio:configure \ | |||||
${LOCALBASE}/bin/nasm:devel/nasm | |||||
RUN_DEPENDS= ${LOCALBASE}/lib/xorg/modules/libxorgxrdp.so:x11-drivers/xorgxrdp | |||||
USES= autoreconf:build jpeg localbase libtool pkgconfig ssl | |||||
USE_XORG= ice pixman sm x11 xfixes xrandr | |||||
GNU_CONFIGURE= yes | GNU_CONFIGURE= yes | ||||
USES= autoreconf:build libtool pkgconfig ssl | |||||
USE_LDCONFIG= ${PREFIX}/lib/xrdp | USE_LDCONFIG= ${PREFIX}/lib/xrdp | ||||
USE_RC_SUBR= xrdp | |||||
USE_XORG= x11 xfixes | |||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_ACCOUNT= neutrinolabs | GH_ACCOUNT= neutrinolabs | ||||
GH_PROJECT= xrdp librfxcodec:librfxcodec libpainter:libpainter | |||||
GH_TAGNAME= v0.1.4:librfxcodec v0.1.1:libpainter | |||||
CONFIGURE_ARGS= --localstatedir=/var | CONFIGURE_ARGS= --localstatedir=/var --enable-strict-locations \ | ||||
CPPFLAGS+= -I${LOCALBASE}/include | --with-pkgconfigdir=${LOCALBASE}/libdata/pkgconfig \ | ||||
LIBS+= -L${LOCALBASE}/lib | --enable-jpeg --enable-pixman --enable-rfxcodec --enable-painter | ||||
SUB_FILES= pkg-message | LDFLAGS+= -lssl | ||||
CONFLICTS= xrdp-devel[0-9]* | |||||
INSTALL_TARGET= install-strip | |||||
SUB_FILES= pkg-install pkg-message | |||||
SUB_LIST= OPENSSLBASE=${OPENSSLBASE} | |||||
OPTIONS_DEFINE= DEBUG | OPTIONS_DEFINE= DEBUG FUSE IPV6 | ||||
OPTIONS_DEFAULT= JP106 X11RDP | OPTIONS_DEFAULT= FDKAAC MP3LAME OPUS | ||||
OPTIONS_GROUP= KEYMAP XSERVER | OPTIONS_GROUP= AUDIO_CODEC | ||||
OPTIONS_GROUP_KEYMAP= JP106 | OPTIONS_GROUP_AUDIO_CODEC= FDKAAC MP3LAME OPUS | ||||
OPTIONS_GROUP_XSERVER= X11RDP | FDKAAC_DESC= Enable Fraunhofer FDK AAC for audio redirection | ||||
OPTIONS_RADIO= XVNC | FUSE_DESC= Enable drive redirection via FUSE (experimental) | ||||
OPTIONS_RADIO_XVNC= TIGERVNC TIGHTVNC TRIDIAVNC | MP3LAME_DESC= Enable MP3 Lame for audio redirection | ||||
TIGERVNC_DESC= Use TigerVNC (recommended) | OPUS_DESC= Enable Opus for audio redirection | ||||
TIGHTVNC_DESC= Use TightVNC | |||||
TRIDIAVNC_DESC= Use TridiaVNC | |||||
X11RDP_DESC= Use X11rdp (most recommended) | |||||
JP106_DESC= Install Japanese JP106 keymap | |||||
# Debug | |||||
DEBUG_CONFIGURE_ENABLE= xrdpdebug | DEBUG_CONFIGURE_ENABLE= xrdpdebug | ||||
# Xvnc | FDKAAC_CONFIGURE_ENABLE= fdkaac | ||||
TIGERVNC_RUN_DEPENDS= Xvnc:net/tigervnc | FDKAAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac | ||||
TIGHTVNC_RUN_DEPENDS= Xvnc:net/tightvnc | FUSE_CONFIGURE_ENABLE= fuse | ||||
TRIDIAVNC_RUN_DEPENDS= Xvnc:net/tridiavnc | FUSE_USES= fuse | ||||
# X11rdp | IPV6_CONFIGURE_ENABLE= ipv6 | ||||
X11RDP_RUN_DEPENDS= X11rdp:x11-servers/x11rdp | MP3LAME_CONFIGURE_ENABLE= mp3lame | ||||
X11RDP_EXTRA_PATCHES= ${FILESDIR}/extra-patch-x11rdp_xrdp.ini | MP3LAME_LIB_DEPENDS= libmp3lame.so:audio/lame | ||||
# JP106 keymap | OPUS_CONFIGURE_ENABLE= opus | ||||
JP106_PLIST_SUB= JP106="" | OPUS_LIB_DEPENDS= libopus.so:audio/opus | ||||
JP106_PLIST_SUB_OFF= JP106="@comment " | |||||
.include <bsd.port.options.mk> | # don't forget to increase PORTREVISION after pulseaudio update | ||||
PULSE_VERSION= ${MAKE} -C ${PORTSDIR}/audio/pulseaudio -VPORTVERSION | |||||
PULSE_WRKSRC= ${MAKE} -C ${PORTSDIR}/audio/pulseaudio -VWRKSRC | |||||
.if ${PORT_OPTIONS:MJP106} | post-extract: | ||||
KEYMAP_FILES+= km-0411.ini km-e0010411.ini \ | # librfxcodec is provided as git submodule | ||||
km-e0200411.ini km-e0210411.ini | @${CP} -r ${WRKSRC_librfxcodec}/ ${WRKSRC}/librfxcodec/ | ||||
.endif | @${CP} -r ${WRKSRC_libpainter}/ ${WRKSRC}/libpainter/ | ||||
post-patch: | post-patch: | ||||
.for f in sesman/sesman.ini sesman/startwm.sh xrdp/rsakeys.ini xrdp/xrdp.ini | @${REINPLACE_CMD} \ | ||||
@${MV} ${WRKSRC}/$f ${WRKSRC}/$f.sample | -e "s|^PULSE_DIR = .*|PULSE_DIR = `${PULSE_WRKSRC}`|" \ | ||||
.endfor | -e "s|-Wall -O2|-Wall -O2 -I${LOCALBASE}/include|" \ | ||||
${WRKSRC}/sesman/chansrv/pulse/Makefile | |||||
pre-configure: | pre-configure: | ||||
@cd ${WRKSRC} && ./bootstrap | @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./bootstrap | ||||
post-build: | |||||
# build pulseaudio module | |||||
@${CP} -r "`${PULSE_WRKSRC}`" ${WRKDIR} | |||||
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} -C sesman/chansrv/pulse | |||||
post-install: | post-install: | ||||
.for f in ${KEYMAP_FILES} | # install pulseaudio module | ||||
${INSTALL_DATA} ${FILESDIR}/$f ${STAGEDIR}${PREFIX}/etc/xrdp | ${MKDIR} "${STAGEDIR}${PREFIX}/lib/pulse-`${PULSE_VERSION}`/modules/" | ||||
.for f in module-xrdp-sink.so module-xrdp-source.so | |||||
${INSTALL_LIB} -m 0755 ${WRKSRC}/sesman/chansrv/pulse/$f \ | |||||
"${STAGEDIR}${PREFIX}/lib/pulse-`${PULSE_VERSION}`/modules/" | |||||
.endfor | |||||
# substitute pkg-plist not using PLIST_SUB | |||||
${REINPLACE_CMD} -e "s|%%PULSE_VERSION%%|`${PULSE_VERSION}`|g" ${TMPPLIST} | |||||
post-stage: | |||||
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/rsakeys.ini | |||||
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/cert.pem | |||||
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/key.pem | |||||
.for f in sesman.ini startwm.sh reconnectwm.sh xrdp.ini xrdp_keyboard.ini | |||||
@${MV} ${STAGEDIR}${PREFIX}/etc/xrdp/$f ${STAGEDIR}${PREFIX}/etc/xrdp/$f.sample | |||||
.endfor | .endfor | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |