blob: 1fe6bbd7fdd6880de0f9e68577544a4839c64968 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
PORTREVISION= 1
PKGNAMESUFFIX= -server
CATEGORIES= net x11-servers
COMMENT= TigerVNC Server
PATCH_DEPENDS+= ${NONEXISTENT}:x11-servers/xorg-server:patch
BUILD_DEPENDS+= ${LOCALBASE}/include/GL/internal/dri_interface.h:graphics/mesa-dri \
${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util \
bash:shells/bash
LIB_DEPENDS= libxshmfence.so:x11/libxshmfence
# almost equivalent to x11-servers/xorg-server's
RUN_DEPENDS+= ${LOCALBASE}/share/X11/xkb/rules/base:x11/xkeyboard-config \
xkbcomp:x11/xkbcomp
USES+= autoreconf:build compiler:c11 gl jpeg libtool pkgconfig ssl shebangfix xorg
USE_LDCONFIG= yes
USE_GL+= gl
USE_XORG+= ice pixman sm x11 xau xdamage xdmcp xext xfixes xfont2 \
xkbfile xorg-macros xorgproto xrandr xrender xtrans xtst
SHEBANG_LANG= bash
SHEBANG_FILES= unix/vncserver/vncsession-start.in
BINARY_WRAPPERS= gm4
OPTIONS_DEFINE= DOCS GNUTLS PAM
OPTIONS_DEFAULT= GNUTLS PAM
OPTIONS_SUB= yes
GNUTLS_CMAKE_BOOL= ENABLE_GNUTLS
GNUTLS_CONFIGURE_ARGS= --enable-glx-tls
GNUTLS_LIB_DEPENDS= libtasn1.so:security/libtasn1 \
libgcrypt.so:security/libgcrypt \
libgpg-error.so:security/libgpg-error \
libgnutls.so:security/gnutls
PAM_CMAKE_BOOL= ENABLE_PAM
CONFIGURE_ARGS+= \
--prefix=${PREFIX} --mandir=${PREFIX}/man/ \
--docdir=${PREFIX}/share/doc/${PORTNAME}/ --with-pic --without-dtrace \
--disable-static --disable-dri --disable-unit-tests \
--disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \
--disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
--disable-config-dbus --disable-config-hal \
--disable-dri2 --enable-install-libxf86config --enable-glx \
--with-default-font-path="catalogue:${LOCALBASE}/share/fonts,built-ins" \
--with-xkb-path=${LOCALBASE}/share/X11/xkb \
--with-xkb-bin-directory=${LOCALBASE}/bin \
--with-serverconfig-path=${LOCALBASE}/lib/X11 \
--disable-selective-werror \
--disable-xwayland \
--with-fontrootdir=${LOCALBASE}/share/fonts
CFLAGS+= -I${LOCALBASE}/include/libdrm
# This is server port, disabling some features
# - disable vncviewer
# - server is not internationalized
CMAKE_ARGS+= -DBUILD_VIEWER:BOOL=false -DENABLE_NLS:BOOL=false
TIGERVNC_XORG_PATCH_VER= ${MAKE} -C "${.CURDIR}/../../x11-servers/xorg-server" -V PORTVERSION:R:S,\.,,g
XORG_WRKSRC= ${MAKE} -C ${.CURDIR}/../../x11-servers/xorg-server -VWRKSRC
pre-patch:
@${CP} -R $$(${XORG_WRKSRC})/ ${WRKSRC}/unix/xserver/
post-patch:
# do not build tests
@${REINPLACE_CMD} -e 's|add_subdirectory(tests)||' ${WRKSRC}/CMakeLists.txt
@cd ${WRKSRC}/unix/xserver/ && ${PATCH} -p1 < ${WRKSRC}/unix/xserver$$(${TIGERVNC_XORG_PATCH_VER}).patch
post-configure:
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ${AUTORECONF} -fiv
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure ${CONFIGURE_ARGS}
post-build:
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} SHELL=${LOCALBASE}/bin/bash
post-install:
@cd ${WRKSRC}/unix/xserver/hw/vnc/ && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/Xvnc ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/libvnc.so
@${INSTALL_SCRIPT} ${FILESDIR}/vncserver.ports ${STAGEDIR}${PREFIX}/bin/vncserver
.include "${.CURDIR}/Makefile.common.mk"
# import from x11-server/xorg-server/Makefile
.if ${SSL_DEFAULT} == base
# The reason why I use this is cause openssl from base doesn't
# install a .pc file and configure will fail trying to find it.
# Setting both of those variables to a *non-empty* value by-passes
# the pkg-config check.
CONFIGURE_ENV= SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include"
.endif
# keep in sync with all platforms where libunwind is available
.if (${ARCH} == amd64 || ${ARCH} == i386)
LIB_DEPENDS+= libunwind.so:devel/libunwind
.endif
|