summaryrefslogtreecommitdiff
path: root/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-vnc.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
new file mode 100644
index 0000000..b8a2088
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
@@ -0,0 +1,101 @@
+--- configure.orig 2010-11-20 20:35:43.399739771 +0100
++++ configure 2010-11-20 22:04:15.523490599 +0100
+@@ -87,6 +87,7 @@
+ WITH_OPENGL=1
+ WITH_HARDENING=1
+ WITH_VDE=0
++WITH_VNC=0
+ BUILD_LIBXML2=
+ BUILD_LIBXSLT=
+ BUILD_LIBCURL=
+@@ -122,6 +123,8 @@
+ LIBZ="-lz"
+ INCPNG=""
+ LIBPNG="-lpng"
++INCVNCSERVER=""
++LIBVNCSERVER="-lvncserver"
+ CXX_FLAGS=""
+ if [ "$OS" = "freebsd" ]; then
+ INCCURL="-I/usr/local/include"
+@@ -949,6 +952,47 @@
+ }
+
+ #
++# Check for libvncserver, needed for VNC in OSE
++#
++check_vncserver()
++{
++ test_header libvncserver
++ cat > $ODIR.tmp_src.cc <<EOF
++#include <cstdio>
++#include <rfb/rfbconfig.h>
++
++extern "C" int main()
++{
++ const char* v=LIBVNCSERVER_VERSION;
++ unsigned int major = 0, minor = 0, micro = 0;
++
++ for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0';
++
++ printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION);
++ if (major*10000 + minor*100 + micro >= 907)
++ {
++ printf(", OK.\n");
++ return 0;
++ }
++ else
++ {
++ printf(", expected version 0.9.7 or higher\n");
++ return 1;
++ }
++}
++EOF
++ if test_compile "$LIBVNCSERVER $INCVNCSERVER" libvncserver libvncserver; then
++ if test_execute; then
++ cnf_append "VBOX_WITH_VNC" "1"
++ fi
++ fi
++}
++
++#
+ # Check for libcurl, needed by S3
+ #
+ check_curl()
+@@ -2063,6 +2107,7 @@
+ [ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)"
+ [ $WITH_OPENGL -eq 1 ] && echo " --disable-opengl disable OpenGL support (2D & 3D)"
+ [ $WITH_GSOAP -eq 0 ] && echo " --enable-webservice enable the webservice stuff"
++[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server"
+ [ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking"
+ cat << EOF
+ --disable-hardening don't be strict about /dev/vboxdrv access
+@@ -2224,6 +2269,9 @@
+ --enable-webservice)
+ [ $WITH_GSOAP -eq 0 ] && WITH_GSOAP=1
+ ;;
++ --enable-vnc)
++ WITH_VNC=1
++ ;;
+ --disable-hardening)
+ WITH_HARDENING=0
+ ;;
+@@ -2484,6 +2532,15 @@
+ fi
+ fi
+
++# VNC server support
++if [ $OSE -ge 1 ]; then
++ if [ $WITH_VNC = 1 ]; then
++ check_vncserver
++ else
++ cnf_append "VBOX_WITH_VNC" ""
++ fi
++fi
++
+ # success!
+ echo
+ echo "Successfully generated '$CNF' and '$ENV'."