void-packages/srcpkgs/virtualbox-ose/template

101 lines
3.7 KiB
Text

# Template file for 'virtualbox-ose'
pkgname=virtualbox-ose
_vbox_distver=4.1.16
version=${_vbox_distver}
wrksrc="VirtualBox-${version}"
patch_args="-Np1"
distfiles="http://download.virtualbox.org/virtualbox/$version/VirtualBox-$version.tar.bz2"
depends="virtualbox-ose-dkms>=4.1.16 hicolor-icon-theme desktop-file-utils"
makedepends="which openssl-devel libcurl-devel libpng-devel SDL-devel qt-devel libXext-devel libXcursor-devel libXinerama-devel libXrandr-devel libXcomposite-devel MesaLib-devel libIDL-devel glib-devel pam-devel pulseaudio-devel libxslt-devel libcap-devel xorg-server-devel docbook-xsl acpica-utils kernel-headers dev86 yasm"
if [ "${XBPS_MACHINE}" = "x86_64" ]; then
makedepends="${makedepends} gcc-c++-multilib"
fi
system_groups="vboxusers"
gtk_iconcache_dirs="/usr/share/icons/hicolor"
subpackages="${pkgname}-dkms ${pkgname}-guest ${pkgname}-guest-dkms"
systemd_services="virtualbox.service on"
short_desc="General-purpose full virtualizer for x86 hardware"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://virtualbox.org"
license="GPL-2, MPL-1.1, CDDL"
checksum=b670499804c718a8ebbc7c2ddee37f70e98771a151391a597b5808f4310f824e
long_desc="
VirtualBox is a free x86 virtualization solution allowing a wide range of x86
operating systems such as Windows, DOS, BSD or Linux to run on a Linux system."
do_build() {
local _khdrver=$($XBPS_PKGDB_CMD version kernel-headers)
cp ${FILESDIR}/LocalConfig.kmk .
./configure --disable-docs --disable-java --enable-vde \
--disable-python --disable-kmods \
--nofatal --with-linux=/usr/src/kernel-headers-${_khdrver}
sed -i "s|/bin/pwd|/usr/bin/pwd|g" kBuild/env.sh
source ./env.sh
kmk ${makejobs} all
}
do_install() {
local f _osedir _guestdir
source ./env.sh
#
# virtualbox-ose.
#
cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin
mkdir -p ${DESTDIR}/usr/{bin,lib/virtualbox/components,share/virtualbox/nls}
install -m0755 VBox.sh ${DESTDIR}/usr/bin/VBox
for f in VirtualBox VBoxManage VBoxSDL VBoxHeadless \
VBoxBalloonCtrl; do
ln -sf VBox ${DESTDIR}/usr/bin/${f}
done
# comoonents
install -m0755 components/* -t ${DESTDIR}/usr/lib/virtualbox/components
# libs
install -m0755 *.so ${DESTDIR}/usr/lib/virtualbox
install -m0644 *.gc *.r0 *.fd ${DESTDIR}/usr/lib/virtualbox
# setuid
install -m4755 VBoxHeadless VBoxSDL VBoxNetDHCP VBoxNetAdpCtl \
VirtualBox VBoxBFE -t ${DESTDIR}/usr/lib/virtualbox
install -m0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD \
VBoxTestOGL VBoxBalloonCtrl \
-t ${DESTDIR}/usr/lib/virtualbox
# locales
install -m0755 nls/*.qm -t ${DESTDIR}/usr/share/virtualbox/nls
# scripts
install -m0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh \
-t ${DESTDIR}/usr/share/virtualbox
# icons and desktop
install -D -m0644 VBox.png ${DESTDIR}/usr/share/pixmaps/VBox.png
install -D -m0644 virtualbox.desktop \
${DESTDIR}/usr/share/applications/virtualbox.desktop
sed -i -e "s|Icon=VBox|Icon=VBox.png|" \
${DESTDIR}/usr/share/applications/virtualbox.desktop
install -Dm644 virtualbox.xml \
${DESTDIR}/usr/share/mime/packages/virtualbox.xml
install -d ${DESTDIR}/usr/share/icons/hicolor
for i in icons/*; do
ldir=$(basename ${i})
install -d ${DESTDIR}/usr/share/icons/hicolor/${ldir}/mimetypes
cp -a ${i}/* ${DESTDIR}/usr/share/icons/hicolor/${ldir}/mimetypes
done
# configuration file
mkdir -p ${DESTDIR}/etc/vbox
echo 'INSTALL_DIR=/usr/lib/virtualbox' > ${DESTDIR}/etc/vbox/vbox.cfg
cd ${wrksrc}/out/linux.$BUILD_PLATFORM_ARCH/release/bin
install -d ${DESTDIR}/usr/share/licenses/${pkgname}
install -m0644 ${wrksrc}/COPYING* \
${DESTDIR}/usr/share/licenses/${pkgname}
# Install systemd unit.
vinstall ${FILESDIR}/virtualbox.service 644 lib/systemd/system
}