freebsd-ports/net/tigervnc/Makefile
Niclas Zeising 39fc32e828 The FreeBSD x11@ and graphics team proudly presents
a zeising, kwm production, with help from dumbbell, bdrewery:

NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE

This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.

This patch also contains updates of libxcb and related ports, pixman, as well
as some drivers and utilities.

Bump portrevisions for xf86-* ports, as well as virtualbox-ose-additions due
to xserver version change.

Apart from these updates, the way shared libraries are handled has been
changed for all xorg ports, as well as libxml2 and freetype, which means
ltverhack is gone and as a consequence shared libraries have been bumped.
The plan is that this change will make library bumps less likely in the
future.
All affected ports have had their portrevisions bumped as a consequence of
this.

Fix some issues where WITH_NEW_XORG weren't detected properly on CURRENT.

Update instructions, hardware support, and more notes can be found on
https://wiki.freebsd.org/Graphics

Thanks to:	all testers, bdrewery and the FreeBSD x11@ team
exp-run by:	bdrewery [1]
PR:		ports/187602 [1]
Approved by:	portmgr (bdrewery), core (jhb)
2014-04-16 18:28:47 +00:00

154 lines
4.9 KiB
Makefile

# Created by: Koichiro IWAO <meta+ports@vmeta.jp>
# $FreeBSD$
PORTNAME= tigervnc
PORTVERSION= 1.3.1
PORTREVISION= 1
CATEGORIES= net x11-servers
MASTER_SITES= SF:tigervnc
MASTER_SITE_SUBDIR= ${PORTNAME}/${PORTNAME}/${PORTVERSION}/:tigervnc
DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}:tigervnc
MAINTAINER= meta+ports@vmeta.jp
COMMENT= High-performance, platform-neutral implementation of VNC
LICENSE= GPLv2
PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/x11-servers/xorg-server:patch
BUILD_DEPENDS= ${LOCALBASE}/include/GL/internal/dri_interface.h:${PORTSDIR}/graphics/dri \
${LOCALBASE}/libdata/pkgconfig/fontutil.pc:${PORTSDIR}/x11-fonts/font-util \
bash:${PORTSDIR}/shells/bash
# almost equivalent to x11-servers/xorg-server's
RUN_DEPENDS= ${LOCALBASE}/share/X11/xkb/rules/base:${PORTSDIR}/x11/xkeyboard-config \
xkbcomp:${PORTSDIR}/x11/xkbcomp
CONFLICTS= tridiavnc-[0-9]* \
tightvnc-[0-9]* \
vnc-[0-9]*
USES= cmake gmake pkgconfig
USE_GL= gl
USE_AUTOTOOLS+= autoconf:env automake:env libtool:env
USE_PYTHON= yes
USE_LDCONFIG= yes
USE_OPENSSL= yes
USE_XORG+= bigreqsproto compositeproto damageproto fixesproto fontsproto glproto \
inputproto kbproto pixman randrproto renderproto resourceproto \
scrnsaverproto videoproto xau xdmcp xext xkbfile xcmiscproto xextproto \
xfont xproto xrandr xtrans xtst xorg-macros
CFLAGS+= -fPIC
OPTIONS_DEFINE= GNUTLS NLS PAM VIEWER HPJPG
OPTIONS_DEFAULT= GNUTLS NLS PAM VIEWER
VIEWER_DESC= Build vncviewer
HPJPG_DESC= Build with High-Performance JPEG support
.include <bsd.port.options.mk>
CMAKE_ARGS= -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=${STAGE}${PREFIX}
.if ${PORT_OPTIONS:MGNUTLS}
LIB_DEPENDS+= libtasn1.so:${PORTSDIR}/security/libtasn1 \
libgcrypt.so:${PORTSDIR}/security/libgcrypt \
libgpg-error.so:${PORTSDIR}/security/libgpg-error \
libgnutls.so:${PORTSDIR}/security/gnutls
CONFIGURE_ARGS+= --enable-glx-tls
CMAKE_ARGS+= -DENABLE_GNUTLS=1
.else
CMAKE_ARGS+= -DENABLE_GNUTLS=0
.endif
.if ${PORT_OPTIONS:MNLS}
USES+= gettext
CMAKE_ARGS+= -DENABLE_NLS=1
PLIST_SUB+= NLS=""
.else
CMAKE_ARGS+= -DENABLE_NLS=0
PLIST_SUB+= NLS="@comment "
.endif
.if ${PORT_OPTIONS:MPAM}
CMAKE_ARGS+= -DENABLE_PAM=1
.else
CMAKE_ARGS+= -DENABLE_PAM=0
.endif
.if ${PORT_OPTIONS:MVIEWER}
CMAKE_ARGS+= -DBUILD_VIEWER=1
LIB_DEPENDS+= libpng15.so:${PORTSDIR}/graphics/png \
libfltk.so:${PORTSDIR}/x11-toolkits/fltk
# ImageMagick is required to generate icons during build process
BUILD_DEPENDS+= ${LOCALBASE}/bin/convert:${PORTSDIR}/graphics/ImageMagick
USE_XORG+= xcursor xfixes xft xinerama
PLIST_SUB+= VIEWER=""
INSTALLS_ICONS= yes
DESKTOP_ENTRIES= "TigerVNC viewer" "Connect to VNC server and display remote desktop" \
"${PORTNAME}" "vncviewer" "Network;" false
.else
CMAKE_ARGS+= -DBUILD_VIEWER=0
PLIST_SUB+= VIEWER="@comment "
.endif
.if ${PORT_OPTIONS:MHPJPG}
LIB_DEPENDS+= libturbojpeg.so:${PORTSDIR}/graphics/libjpeg-turbo
.else
LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg
.endif
MAKE_ARGS+= TIGERVNC_SRCDIR=${WRKSRC}
CONFIGURE_ARGS+= \
--prefix=${PREFIX} --mandir=${PREFIX}/man/ \
--docdir=${PREFIX}/share/doc/${PORTNAME}/ --with-pic --without-dtrace \
--disable-static --disable-dri \
--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
.ifdef WITH_NEW_XORG
CONFIGURE_ARGS+= --with-fontrootdir=${LOCALBASE}/share/fonts
.else
CONFIGURE_ARGS+= --with-fontdir=${LOCALBASE}/share/fonts
.endif
.include <bsd.port.pre.mk>
.ifdef WITH_NEW_XORG
TIGERVNC_XORG_PATCH_VER= 112
.else
TIGERVNC_XORG_PATCH_VER= 17
.endif
# import from x11-server/xorg-server/Makefile
.ifdef WITH_OPENSSL_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
XORG_WRKDIR= ${MAKE} -C ${PORTSDIR}/x11-servers/xorg-server -VWRKSRC
pre-patch:
@${CP} -R `${XORG_WRKDIR}`/ ${WRKSRC}/unix/xserver/
post-patch:
@cd ${WRKSRC}/unix/xserver/ && ${PATCH} -p1 < ${WRKSRC}/unix/xserver${TIGERVNC_XORG_PATCH_VER}.patch
post-configure:
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ${AUTORECONF} -fiv
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS}
post-build:
@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS} SHELL=${LOCALBASE}/bin/bash
post-install:
@cd ${WRKSRC}/unix/xserver/hw/vnc/ && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS} install
.include <bsd.port.post.mk>