Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Feb 2013 16:59:52 GMT
From:      Koichiro IWAO <meta+ports@vmeta.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/175801: New port: net/tigervnc 
Message-ID:  <201302031659.r13GxqW0083961@red.freebsd.org>
Resent-Message-ID: <201302031700.r13H00FN073844@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         175801
>Category:       ports
>Synopsis:       New port: net/tigervnc
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 03 17:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Koichiro IWAO
>Release:        9.1-RELEASE
>Organization:
>Environment:
FreeBSD icepick.vmeta.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #2 r244665: Wed Dec 26 03:45:20 JST 2012     root@icepick.vmeta.jp:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
TigerVNC is a high-performance, platform-neutral implementation of VNC.
The aim of the project is to merge enhancements between different VNC
implementations.  The motivation for creating TigerVNC project can be
found in the project announcement.
http://article.gmane.org/gmane.network.tight-vnc.general/8610/
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	tigervnc
#	tigervnc/files
#	tigervnc/files/patch-unix_vncserver
#	tigervnc/files/patch-cmake_BuildPackages.cmake
#	tigervnc/files/patch-CMakeLists.txt
#	tigervnc/files/patch-hw_vnc_Makefile.am
#	tigervnc/pkg-descr
#	tigervnc/pkg-plist
#	tigervnc/distinfo
#	tigervnc/Makefile
#
echo c - tigervnc
mkdir -p tigervnc > /dev/null 2>&1
echo c - tigervnc/files
mkdir -p tigervnc/files > /dev/null 2>&1
echo x - tigervnc/files/patch-unix_vncserver
sed 's/^X//' >tigervnc/files/patch-unix_vncserver << '1d5e920db3b6275c8d114d9f041f3066'
X--- unix/vncserver.orig	2012-05-27 21:16:41.000000000 +0900
X+++ unix/vncserver	2012-05-27 21:17:13.000000000 +0900
X@@ -422,7 +422,7 @@
X 
X     socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
X     eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
X-    if (!bind(S, pack('S n x12', $AF_INET, 6000 + $n))) {
X+    if (!bind(S, sockaddr_in(6000 + $n, &INADDR_ANY))) {
X 	close(S);
X 	return 0;
X     }
X@@ -430,7 +430,7 @@
X 
X     socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
X     eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
X-    if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) {
X+    if (!bind(S, sockaddr_in(5900 + $n, &INADDR_ANY))) {
X 	close(S);
X 	return 0;
X     }
1d5e920db3b6275c8d114d9f041f3066
echo x - tigervnc/files/patch-cmake_BuildPackages.cmake
sed 's/^X//' >tigervnc/files/patch-cmake_BuildPackages.cmake << '5db991593c81ba926024f5bf47b2f1fe'
X--- cmake/BuildPackages.cmake.orig	2012-05-28 00:21:51.000000000 +0900
X+++ cmake/BuildPackages.cmake	2012-05-28 00:22:15.000000000 +0900
X@@ -86,5 +86,5 @@
X # Common
X #
X 
X-install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION doc)
X-install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION doc)
X+install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION share/doc/tigervnc)
X+install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION share/doc/tigervnc)
5db991593c81ba926024f5bf47b2f1fe
echo x - tigervnc/files/patch-CMakeLists.txt
sed 's/^X//' >tigervnc/files/patch-CMakeLists.txt << 'cb316aaa16fa1673f50a88540fdcdf50'
X--- CMakeLists.txt.orig	2012-03-10 05:34:29.000000000 +0900
X+++ CMakeLists.txt	2012-10-25 19:02:36.642061425 +0900
X@@ -237,6 +237,7 @@
X endif()
X 
X # Check for FLTK
X+if(ENABLE_VIEWER)
X set(FLTK_SKIP_FLUID TRUE)
X set(FLTK_SKIP_OPENGL TRUE)
X set(FLTK_SKIP_IMAGES TRUE)
X@@ -282,44 +283,7 @@
X   set(CMAKE_REQUIRED_LIBRARIES)
X endif()
X 
X-option(USE_INCLUDED_FLTK
X-  "Force the use of the FLTK library bundled with the TigerVNC source")
X-if(NOT FLTK_FOUND OR NOT HAVE_FLTK_DEAD_KEYS OR NOT HAVE_FLTK_CLIPBOARD
X-  OR NOT HAVE_FLTK_MEDIAKEYS OR NOT HAVE_FLTK_FULLSCREEN
X-  OR NOT HAVE_FLTK_CURSOR)
X-  set(USE_INCLUDED_FLTK 1)
X-endif()
X-if(USE_INCLUDED_FLTK)
X-  # Check that we have the proper dependencies
X-  if(UNIX AND NOT APPLE)
X-    if(NOT X11_Xft_FOUND)
X-      message(FATAL_ERROR "Xft headers/libraries not found (needed by FLTK.)")
X-    endif()
X-    if(NOT X11_Xinerama_FOUND)
X-      message(FATAL_ERROR "Xinerama headers/libraries not found (needed by FLTK.)")
X-    endif()
X-    if(NOT X11_Xfixes_FOUND)
X-      message(FATAL_ERROR "Xfixes headers/libraries not found (needed by FLTK.)")
X-    endif()
X-    if(NOT X11_Xcursor_FOUND)
X-      message(FATAL_ERROR "Xcursor headers/libraries not found (needed by FLTK.)")
X-    endif()
X-  endif()
X-
X-  set(HAVE_FLTK_DEAD_KEYS 1)
X-  set(HAVE_FLTK_CLIPBOARD 1)
X-  set(HAVE_FLTK_MEDIAKEYS 1)
X-  set(HAVE_FLTK_FULLSCREEN 1)
X-  set(HAVE_FLTK_CURSOR 1)
X-  set(FLTK_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/common/fltk)
X-  set(FLTK_LIBRARIES)
X-  if(APPLE)
X-    set(FLTK_LIBRARIES "-framework Carbon -framework Cocoa -framework ApplicationServices")
X-  elseif(NOT WIN32)
X-    set(FLTK_LIBRARIES "-ldl")
X-  endif()
X-  message(STATUS "Using included FLTK library")
X-endif()
X+endif() # ENABLE_VIEWER
X 
X # Check for GNUTLS library
X option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
X@@ -409,7 +373,10 @@
X if(ENABLE_NLS)
X   add_subdirectory(po)
X endif()
X-add_subdirectory(vncviewer)
X+
X+if(ENABLE_VIEWER)
X+  add_subdirectory(vncviewer)
X+endif()
X 
X include(cmake/BuildPackages.cmake)
X 
cb316aaa16fa1673f50a88540fdcdf50
echo x - tigervnc/files/patch-hw_vnc_Makefile.am
sed 's/^X//' >tigervnc/files/patch-hw_vnc_Makefile.am << 'd8c6d1684e138029fd87d5762e13519a'
X--- unix/xserver/hw/vnc/Makefile.am.orig	2012-04-26 00:10:38.000000000 +0900
X+++ unix/xserver/hw/vnc/Makefile.am	2012-05-27 14:48:07.000000000 +0900
X@@ -67,7 +67,7 @@
X 
X pixman.h:
X 	for i in ${XSERVERLIBS_CFLAGS}; do \
X-		if [[ "$$i" =~ "pixman" ]]; then \
X+		if [ "$$i" = "pixman" ]; then \
X 			PIXMANINCDIR=`echo $$i | sed s/-I//g`; \
X 		fi; \
X 	done; \
d8c6d1684e138029fd87d5762e13519a
echo x - tigervnc/pkg-descr
sed 's/^X//' >tigervnc/pkg-descr << '6c98b58972cb397d4c624ed70459e68c'
XTigerVNC is a high-performance, platform-neutral implementation of VNC,
Xa client/server application that allows users to launch and interact with
Xgraphical applications on remote machines.
X
XWWW: http://tigervnc.org/
6c98b58972cb397d4c624ed70459e68c
echo x - tigervnc/pkg-plist
sed 's/^X//' >tigervnc/pkg-plist << '3492f026112d2761b37b2d7f70b37cb1'
Xbin/Xvnc
Xbin/vncconfig
Xbin/vncpasswd
Xbin/vncserver
X%%VIEWER%%bin/vncviewer
Xbin/x0vncserver
Xlib/xorg/modules/extensions/libvnc.la
Xlib/xorg/modules/extensions/libvnc.so
X%%DOCSDIR%%/LICENCE.TXT
X%%DOCSDIR%%/README.txt
X%%NLS%%share/locale/de/LC_MESSAGES/tigervnc.mo
X%%NLS%%share/locale/fr/LC_MESSAGES/tigervnc.mo
X%%NLS%%share/locale/pl/LC_MESSAGES/tigervnc.mo
X%%NLS%%share/locale/ru/LC_MESSAGES/tigervnc.mo
X%%NLS%%share/locale/sk/LC_MESSAGES/tigervnc.mo
X%%NLS%%share/locale/sv/LC_MESSAGES/tigervnc.mo
X@dirrmtry %%DOCSDIR%%
X@dirrmtry lib/xorg/modules/extensions
X@dirrmtry lib/xorg/modules
X@dirrmtry lib/xorg
3492f026112d2761b37b2d7f70b37cb1
echo x - tigervnc/distinfo
sed 's/^X//' >tigervnc/distinfo << 'b464ce9dd58b876c2231c7b61485280b'
XSHA256 (tigervnc-1.2.0.tar.gz) = 6e0910f1ff1681bc8b52e7ea805e586b88b352c88f66e4c2cc31aa39c4a32f53
XSIZE (tigervnc-1.2.0.tar.gz) = 2487050
XSHA256 (xorg-server-1.10.6.tar.bz2) = c4da5a97b6986688efe74bc9bff6a38795977019ac032dd6d787abad32c50682
XSIZE (xorg-server-1.10.6.tar.bz2) = 5406712
XSHA256 (xorg-server-1.7.7.tar.bz2) = 54c4d32bfeb8852adbea3ddae6981f3bc2eadb330124d9b35226c617c01926ff
XSIZE (xorg-server-1.7.7.tar.bz2) = 4939257
b464ce9dd58b876c2231c7b61485280b
echo x - tigervnc/Makefile
sed 's/^X//' >tigervnc/Makefile << '1305e18e4aa72d0da8c66a0864939611'
X# Created by: Koichiro IWAO <meta+ports@vmeta.jp>
X# $FreeBSD$
X
XPORTNAME=	tigervnc
XPORTVERSION=	1.2.0
XCATEGORIES=	net x11-servers
XMASTER_SITES=	SF:tigervnc
XMASTER_SITE_SUBDIR=	${PORTNAME}/${PORTNAME}/${PORTVERSION}/:tigervnc
XDISTFILES=	${PORTNAME}-${PORTVERSION}.tar.gz:tigervnc
X
XMAINTAINER=	meta+ports@vmeta.jp
XCOMMENT=	TigerVNC is an advanced VNC implementation
X
XPATCH_DEPENDS=	${NONEXISTENT}:${PORTSDIR}/x11-servers/xorg-server:patch
XBUILD_DEPENDS+=	cmake:${PORTSDIR}/devel/cmake \
X		pkgconf:${PORTSDIR}/devel/pkgconf \
X		${LOCALBASE}/share/aclocal/xorg-macros.m4:${PORTSDIR}/devel/xorg-macros \
X		${LOCALBASE}/libdata/pkgconfig/dri.pc:${PORTSDIR}/graphics/dri
X
XCONFLICTS=	tridiavnc-[0-9]* \
X		tightvnc-[0-9]* \
X		vnc-[0-9]*
X
XMAKE_JOBS_UNSAFE=	yes
X
XUSE_PKGCONFIG=	build
XUSE_GMAKE=	yes
XUSE_GL=		gl
XUSE_AUTOTOOLS+=	autoconf:env automake:env libtool:env
XUSE_PYTHON=	yes
XUSE_LDCONFIG=	yes
XUSE_OPENSSL=	yes
X
XUSE_XORG+=	bigreqsproto compositeproto damageproto fixesproto fontsproto glproto \
X		inputproto kbproto pixman randrproto renderproto resourceproto \
X		scrnsaverproto videoproto xau xdmcp xext xkbfile xcmiscproto xextproto \
X		xfont xproto xrandr xtrans xtst
X
XWRKSRC=		${WRKDIR}/tigervnc-${PORTVERSION}/
X
XMAN1+=		vncpasswd.1 \
X		x0vncserver.1 \
X		vncserver.1 \
X		vncconfig.1 \
X		Xvnc.1
X
XOPTIONS_DEFINE=		GNUTLS NLS PAM VIEWER HPJPG
XOPTIONS_DEFAULT=	GNUTLS NLS PAM VIEWER
XGNUTLS_DESC=		Build with TLS support
XPAM_DESC=		PAM authentication support
XVIEWER_DESC=		Build vncviewer
XHPJPG_DESC=		Build with High-Performance JPEG support
X
X.include <bsd.port.options.mk>
X
XCMAKE_ARGS=	-G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=${PREFIX}
X
X.if ${PORT_OPTIONS:MGNUTLS}
XLIB_DEPENDS+=	tasn1:${PORTSDIR}/security/libtasn1 \
X		gcrypt:${PORTSDIR}/security/libgcrypt \
X		gpg-error:${PORTSDIR}/security/libgpg-error \
X		gnutls:${PORTSDIR}/security/gnutls
XCONFIGURE_ARGS+=	--enable-glx-tls
XCMAKE_ARGS+=	-DENABLE_GNUTLS=1
X.else
XCMAKE_ARGS+=	-DENABLE_GNUTLS=0
X.endif
X
X.if ${PORT_OPTIONS:MNLS}
XUSE_GETTEXT=	yes
XCMAKE_ARGS+=	-DENABLE_NLS=1
XPLIST_SUB+=	NLS=""
X.else
XCMAKE_ARGS+=	-DENABLE_NLS=0
XPLIST_SUB+=	NLS="@comment "
X.endif
X
X.if ${PORT_OPTIONS:MPAM}
XCMAKE_ARGS+=	-DENABLE_PAM=1
X.else
XCMAKE_ARGS+=	-DENABLE_PAM=0
X.endif
X
X.if ${PORT_OPTIONS:MVIEWER}
XCMAKE_ARGS+=	-DENABLE_VIEWER=1
XLIB_DEPENDS+=	png15:${PORTSDIR}/graphics/png \
X		fltk:${PORTSDIR}/x11-toolkits/fltk
XUSE_XORG+=	xcursor xfixes xft xinerama
XMAN1+=		vncviewer.1
XPLIST_SUB+=	VIEWER=""
X.else
XPLIST_SUB+=	VIEWER="@comment "
X.endif
X
X.if ${PORT_OPTIONS:MHPJPG}
XBUILD_DEPENDS+=	${LOCALBASE}/lib/libturbojpeg.so:${PORTSDIR}/graphics/libjpeg-turbo
X.else
XBUILD_DEPENDS+=	${LOCALBASE}/lib/libjpeg.so:${PORTSDIR}/graphics/jpeg
X.endif
X
XMAKE_ARGS+=	TIGERVNC_SRCDIR=${WRKSRC}
XCONFIGURE_ARGS+= \
X		--prefix=${PREFIX} --mandir=${PREFIX}/man/ \
X		--docdir=${PREFIX}/share/doc/${PORTNAME}/ --with-pic --without-dtrace \
X		--disable-static --disable-dri \
X		--disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \
X		--disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
X		--disable-config-dbus --disable-config-hal \
X		--disable-dri2 --enable-install-libxf86config --enable-glx \
X		--with-default-font-path="catalogue:${PREFIX}/share/fonts,built-ins" \
X		--with-fontdir=${PREFIX}/share/fonts \
X		--with-xkb-path=${PREFIX}/share/X11/xkb \
X		--with-xkb-output=/var/lib/xkb \
X		--with-xkb-bin-directory=${PREFIX}/bin \
X		--with-serverconfig-path=${PREFIX}/lib/X11 \
X		--with-dri-driver-path=${PREFIX}/lib/dri \
X		--disable-selective-werror
X
X.include <bsd.port.pre.mk>
X
X.if defined(WITH_NEW_XORG)
XXORG_VERSION=	1.10.6
XTIGERVNC_XORG_PATCH_VER=	110
X.else
XXORG_VERSION=	1.7.7
XTIGERVNC_XORG_PATCH_VER=	17
X.endif
X
X# import from x11-server/xorg-server/Makefile
X.if defined(WITH_OPENSSL_BASE)
X# The reason why I use this is cause openssl from base doesn't install a .pc file
X# and configure will fail trying to find it. Setting both of those variables to
X# a *non-empty* value by-passes the pkg-config check.
XCONFIGURE_ENV=	SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include"
X.endif
X
Xpre-patch:
X	${CP} -R ${PORTSDIR}/x11-servers/xorg-server/work/xorg-server-${XORG_VERSION}/*	${WRKSRC}/unix/xserver/
X
Xpost-patch:
X	@cd ${WRKSRC}/unix/xserver/ && ${PATCH} -p1 < ${WRKSRC}/unix/xserver${TIGERVNC_XORG_PATCH_VER}.patch
X
Xdo-configure:
X	@cd ${WRKSRC}               && ${SETENV} ${CONFIGURE_ENV} cmake ${CMAKE_ARGS} .
X	@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ${AUTORECONF} -fiv
X	@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS}
X
Xdo-build:
X	@cd ${WRKSRC}               && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS}
X	@cd ${WRKSRC}/unix/xserver/ && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS}
X
Xpost-install:
X	@cd ${WRKSRC}                      && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS} install
X	@cd ${WRKSRC}/unix/xserver/hw/vnc/ && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS} install
X
X.include <bsd.port.post.mk>
1305e18e4aa72d0da8c66a0864939611
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302031659.r13GxqW0083961>