diff -ur virtualbox.orig//virtualbox-4.1.6-r1.ebuild virtualbox/virtualbox-4.1.6-r1.ebuild
--- virtualbox.orig//virtualbox-4.1.6-r1.ebuild	2011-12-13 02:25:46.940000009 +0800
+++ virtualbox/virtualbox-4.1.6-r1.ebuild	2011-12-13 04:45:39.367000009 +0800
@@ -4,7 +4,7 @@
 
 EAPI=4
 
-inherit eutils fdo-mime flag-o-matic linux-info pax-utils python qt4-r2 toolchain-funcs java-pkg-opt-2
+inherit eutils fdo-mime flag-o-matic linux-info pax-utils distutils qt4-r2 toolchain-funcs java-pkg-opt-2
 
 if [[ ${PV} == "9999" ]] ; then
 	# XXX: should finish merging the -9999 ebuild into this one ...
@@ -23,6 +23,7 @@
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="+additions alsa doc extensions headless java pam pulseaudio +opengl python +qt4 +sdk vboxwebsrv vnc"
+PYTHON_MODNAME="xpcom"
 
 RDEPEND="!app-emulation/virtualbox-bin
 	~app-emulation/virtualbox-modules-${PV}
@@ -215,6 +216,12 @@
 src_compile() {
 	source ./env.sh
 
+        if use python; then
+		cd src/libs/libxml2-2.6.30/python
+                distutils_src_compile
+		cd ${S}
+        fi
+
 	# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
 	# and strip all flags
 	# strip-flags
@@ -346,6 +353,13 @@
 		java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
 		java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so"
 	fi
+
+	if use python; then
+		cd ${S}/src/libs/libxml2-2.6.30/python
+		distutils_src_install
+		cp -r ${S}/src/VBox/Frontends/VBoxShell/vboxshell.py ${ED}/usr/bin/ || die
+		cd ${S}
+	fi
 }
 
 pkg_postinst() {