[84688] trunk/dports/emulators/virtualbox

royliu at macports.org royliu at macports.org
Thu Sep 29 10:22:48 PDT 2011


Revision: 84688
          http://trac.macports.org/changeset/84688
Author:   royliu at macports.org
Date:     2011-09-29 10:22:47 -0700 (Thu, 29 Sep 2011)
Log Message:
-----------
virtualbox: add VNC and Python binding support and close tickets #31305, #31328

Modified Paths:
--------------
    trunk/dports/emulators/virtualbox/Portfile
    trunk/dports/emulators/virtualbox/files/patch-build.diff

Added Paths:
-----------
    trunk/dports/emulators/virtualbox/files/patch-sdk.diff

Modified: trunk/dports/emulators/virtualbox/Portfile
===================================================================
--- trunk/dports/emulators/virtualbox/Portfile	2011-09-29 17:11:53 UTC (rev 84687)
+++ trunk/dports/emulators/virtualbox/Portfile	2011-09-29 17:22:47 UTC (rev 84688)
@@ -6,7 +6,7 @@
 
 name                virtualbox
 version             4.1.2
-revision            4
+revision            5
 categories          emulators
 maintainers         nomaintainer
 description         open source virtualization technology from Oracle
@@ -51,6 +51,7 @@
                             path:lib/pkgconfig/sdl.pc:libsdl
 
 patchfiles                  patch-build.diff \
+                            patch-sdk.diff \
                             patch-startup.diff
 
 configure.pre_args-delete   --prefix=${prefix}
@@ -67,21 +68,6 @@
 set kext_dir                /Library/Extensions
 set startup_items_dir       /Library/StartupItems
 
-pre-extract {
-
-    set head_path ${applications_dir}
-
-    while {${head_path} != "/"} {
-
-        if {[file attributes ${head_path} -owner] != "root" || [file attributes ${head_path} -group] != "admin"} {
-            error "VirtualBox requires the \"${applications_dir}\" directory and its parent directories to have\
-root:admin ownership."
-        }
-
-        set head_path [file dirname ${head_path}]
-    }
-}
-
 post-patch {
 
     reinplace "s|@APPLICATIONS_DIR@|${applications_dir}|g" \
@@ -104,6 +90,7 @@
 
     xinstall -m 755 -d ${destroot}${applications_dir}
     copy ${release_dir}/VirtualBox.app ${destroot}${applications_dir}
+    copy ${release_dir}/sdk ${destroot}${applications_dir}/VirtualBox.app
 
     # Set the owner and group to root:wheel, which is required for kernel extensions and possibly startup items.
 
@@ -135,6 +122,22 @@
     }
 }
 
+pre-activate {
+
+    set head_path ${applications_dir}
+
+    while {${head_path} != "/"} {
+
+        if {[file attributes ${head_path} -owner] != "root" || [file attributes ${head_path} -group] != "admin"
+            || [expr [file attributes ${head_path} -permissions] & 00002] != 0} {
+            error "VirtualBox requires the \"${applications_dir}\" directory and its parent directories to be\
+root:admin owned and not world writeable."
+        }
+
+        set head_path [file dirname ${head_path}]
+    }
+}
+
 variant vde2 description {Enable support for VDE} {
 
     depends_lib-append      port:vde2
@@ -142,8 +145,13 @@
     configure.args-append   --enable-vde
 }
 
-default_variants            +vde2
+variant vnc description {Enable support for VNC} {
+    depends_lib-append      port:LibVNCServer
+    configure.args-append   --enable-vnc
+}
 
+default_variants            +vde2 +vnc
+
 startupitem.create          yes
 startupitem.name            VirtualBox
 startupitem.start           "${prefix}${startup_items_dir}/VirtualBox/VirtualBox start"

Modified: trunk/dports/emulators/virtualbox/files/patch-build.diff
===================================================================
--- trunk/dports/emulators/virtualbox/files/patch-build.diff	2011-09-29 17:11:53 UTC (rev 84687)
+++ trunk/dports/emulators/virtualbox/files/patch-build.diff	2011-09-29 17:22:47 UTC (rev 84688)
@@ -64,7 +64,7 @@
     VBOX_PATH_QT4          ?= /usr
 --- /dev/null	2011-08-15 19:38:06.000000000 -0500
 +++ LocalConfig.kmk	2011-08-15 19:38:17.000000000 -0500
-@@ -0,0 +1,10 @@
+@@ -0,0 +1,11 @@
 +VBOX_DEF_MACOSX_VERSION_MIN = 10.6
 +VBOX_DARWIN_NO_COMPACT_LINKEDIT =
 +VBOX_MACOS_10_5_WORKAROUND =
@@ -72,6 +72,7 @@
 +VBOX_PATH_APP_PRIVATE="@APPLICATIONS_DIR@/VirtualBox.app/Contents/MacOS"
 +VBOX_PATH_APP_PRIVATE_ARCH="@APPLICATIONS_DIR@/VirtualBox.app/Contents/MacOS"
 +VBOX_PATH_SHARED_LIBS="@APPLICATIONS_DIR@/VirtualBox.app/Contents/MacOS"
++VBOX_WITH_MULTIVERSION_PYTHON = 1
 +VBOX_WITH_TESTSUITE=
 +VBOX_WITH_TESTCASES=
 +kBuildGlobalDefaults_LD_DEBUG=

Added: trunk/dports/emulators/virtualbox/files/patch-sdk.diff
===================================================================
--- trunk/dports/emulators/virtualbox/files/patch-sdk.diff	                        (rev 0)
+++ trunk/dports/emulators/virtualbox/files/patch-sdk.diff	2011-09-29 17:22:47 UTC (rev 84688)
@@ -0,0 +1,42 @@
+--- src/libs/xpcom18a4/Config.kmk.orig	2011-09-18 13:23:09.000000000 +0200
++++ src/libs/xpcom18a4/Config.kmk	2011-09-18 13:25:01.000000000 +0200
+@@ -251,6 +251,17 @@
+ TEMPLATE_XPCOMOSX106_DEFS.darwin        = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_DEFS)
+ TEMPLATE_XPCOMOSX106_INCS.darwin        = $(VBOX_PATH_MACOSX_SDK_10_6)/Developer/Headers/FlatCarbon
+ 
++# Template for building VBoxPython against the Mac OS X 10.7 SDK.
++# ASSUMES that the SDK bits are in the .darwin properties we're overriding below.
++#
++TEMPLATE_XPCOMOSX107                    = XPCOM libraries (shared) built against the Mac OS X 10.6 SDK
++TEMPLATE_XPCOMOSX107_EXTENDS            = XPCOM
++TEMPLATE_XPCOMOSX107_CXXFLAGS.darwin    = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS)
++TEMPLATE_XPCOMOSX107_CFLAGS.darwin      = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_CFLAGS)
++TEMPLATE_XPCOMOSX107_LDFLAGS.darwin     = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_LDFLAGS)
++TEMPLATE_XPCOMOSX107_DEFS.darwin        = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_DEFS)
++TEMPLATE_XPCOMOSX107_INCS.darwin        = $(VBOX_PATH_MACOSX_SDK_10_7)/Developer/Headers/FlatCarbon
++
+ 
+ #
+ # The list of XPCOM's IDL files.
+--- src/libs/xpcom18a4/python/Makefile.kmk.orig	2011-09-18 12:18:06.000000000 +0200
++++ src/libs/xpcom18a4/python/Makefile.kmk	2011-09-18 13:21:53.000000000 +0200
+@@ -126,7 +126,7 @@
+ VBoxPython2_6_LIBS       = $(VBOX_PYTHON26_LIB)
+ endif
+ 
+-if defined(VBOX_PYTHON27_INC) && "$(KBUILD_TARGET)" != "darwin"
++if defined(VBOX_PYTHON27_INC) && ("$(KBUILD_TARGET)" != "darwin" || "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.7")
+ #
+ # Python 2.7 version
+ #
+--- src/libs/xpcom18a4/python/gen_python_deps.py.orig	2011-09-18 13:04:36.000000000 +0200
++++ src/libs/xpcom18a4/python/gen_python_deps.py	2011-09-18 13:05:02.000000000 +0200
+@@ -74,7 +74,7 @@
+ 
+     if target == 'darwin':
+         ## @todo Pick up the locations from VBOX_PATH_MACOSX_SDK_10_*.
+-        prefixes = ['/Developer/SDKs/MacOSX10.4u.sdk/usr', '/Developer/SDKs/MacOSX10.5.sdk/usr', '/Developer/SDKs/MacOSX10.6.sdk/usr']
++        prefixes = ['/Developer/SDKs/MacOSX10.4u.sdk/usr', '/Developer/SDKs/MacOSX10.5.sdk/usr', '/Developer/SDKs/MacOSX10.6.sdk/usr', '/Developer/SDKs/MacOSX10.7.sdk/usr']
+         dllsuff = '.dylib'
+ 
+     if target == 'solaris' and arch == 'amd64':
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110929/b4e9e22d/attachment-0001.html>


More information about the macports-changes mailing list