aboutsummaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-kmod/Makefile
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2009-06-15 18:01:41 +0000
committerMartin Wilke <miwi@FreeBSD.org>2009-06-15 18:01:41 +0000
commitafbf09cc33941f6e8015ea2a99665add0df3b03a (patch)
tree20f102f5b020555aa5c69e63988fe71abbce0db2 /emulators/virtualbox-ose-kmod/Makefile
parent8c5e953c6b4d36f7573fd16f62045dd40985342c (diff)
downloadports-afbf09cc33941f6e8015ea2a99665add0df3b03a.tar.gz
ports-afbf09cc33941f6e8015ea2a99665add0df3b03a.zip
Notes
Diffstat (limited to 'emulators/virtualbox-ose-kmod/Makefile')
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile193
1 files changed, 193 insertions, 0 deletions
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>