summaryrefslogtreecommitdiffstats
path: root/system/virtualbox/virtualbox.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/virtualbox/virtualbox.SlackBuild')
-rw-r--r--system/virtualbox/virtualbox.SlackBuild114
1 files changed, 51 insertions, 63 deletions
diff --git a/system/virtualbox/virtualbox.SlackBuild b/system/virtualbox/virtualbox.SlackBuild
index 1048ea0771..e4c4d04639 100644
--- a/system/virtualbox/virtualbox.SlackBuild
+++ b/system/virtualbox/virtualbox.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
-# Slackware build script for virtualbox-ose
+# Slackware build script for virtualbox
-# Copyright 2008-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2024 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008 Mauro Giachero <mauro.giachero@gmail.com>
# All rights reserved.
#
@@ -12,32 +12,42 @@
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=virtualbox
SRCNAM=VirtualBox
-VERSION=${VERSION:-5.0.40}
+VERSION=${VERSION:-6.1.50}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
-CWD=$(pwd)
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -45,9 +55,6 @@ OUTPUT=${OUTPUT:-/tmp}
# kmk doesn't support MAKEFLAGS, so we use JOBS here
JOBS=${JOBS:-3}
-# Define Variable Names
-gui=""
-
# Check for vboxusers group here
if ! grep ^vboxusers: /etc/group 2>&1 > /dev/null; then
echo " You must have a vboxusers group to run this script."
@@ -55,21 +62,6 @@ if ! grep ^vboxusers: /etc/group 2>&1 > /dev/null; then
exit 1
fi
-# Enable Hardening - Defaulting to yes as requested by upstream
-if [ "${HARDENING:-yes}" = "yes" ]; then
- harden="--enable-hardening"
-else
- harden="--disable-hardening"
-fi
-
-# Support for the qt4-frontend
-if [ "${HEADLESS:-no}" = "no" ]; then
- guiapp="VirtualBox VBoxSDL"
-else
- gui+=" --build-headless"
- guiapp=""
-fi
-
# Enable building of java bindings
if [ "${JAVA:-no}" = "no" ]; then
java="--disable-java"
@@ -96,8 +88,8 @@ else
sw_virt=""
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
BUILDDIR="x86"
elif [ "$ARCH" = "i686" ]; then
@@ -132,25 +124,22 @@ MODE="755"
# Use virtualbox-kernel.SlackBuild for this.
patch -d src/VBox/Installer/linux -i $CWD/vboxdrv.sh-setup.diff
-# Fix building against newer versions of gsoap
-patch -p1 -i $CWD/virtualbox-gsoap.patch
-
# Fix wrong path to rdesktop-vrdp-keymaps
patch -p1 -i $CWD/006-rdesktop-vrdp-keymap-path.patch
-# Remove gcc version check
-sed -i 's/^check_gcc$/#check_gcc/' ./configure
+# Skip python2 detection and cheat about python-3.10 support
+sed -i 's|python2.7 python2.6 |python3.10 |' ./configure
+
+# Use our CFLAGS
+sed -i "s|CXX_FLAGS=\"\"|CXX_FLAGS=\"$SLKCFLAGS -std=c++11\"|" ./configure
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
./configure \
--disable-kmods \
--enable-vde \
--enable-vnc \
--with-makeself=/usr/bin/echo \
+ --enable-hardening \
$web_service \
- $harden \
- $gui \
$sw_virt \
$java
@@ -158,20 +147,16 @@ CXXFLAGS="$SLKCFLAGS" \
cp $CWD/LocalConfig.kmk .
sed -i "s|LIBDIR|lib$LIBDIRSUFFIX|" ./LocalConfig.kmk
+sed -i "s|CXXFLAGS|$SLKCFLAGS -std=c++11|" ./LocalConfig.kmk
kmk -j ${JOBS} LOCALCFG=./LocalConfig.kmk
-# build VBoxFUSE
-cd src/VBox/ImageMounter/VBoxFUSE
- kmk -j ${JOBS}
-cd -
-
mkdir -p $PKG/usr/{lib$LIBDIRSUFFIX,share,include}/virtualbox \
$PKG/usr/{bin,src} \
$PKG/usr/share/{pixmaps,mime/packages} \
$PKG/etc/{default,rc.d,vbox}
-for i in vboxdrv.sh.in vboxballoonctrl-service.sh vboxautostart-service.sh; do
+for i in vboxdrv.sh vboxballoonctrl-service.sh vboxautostart-service.sh; do
SCRIPT=$(echo $i | cut -d "." -f 1)
cp -f src/VBox/Installer/linux/$i $PKG/etc/rc.d/rc.$SCRIPT.new
sed -i "s/%PACKAGE%/virtualbox/g" $PKG/etc/rc.d/rc.$SCRIPT.new
@@ -210,7 +195,7 @@ cd out/linux.$BUILDDIR/release/bin/
export VBOX_INSTALL_PATH=/usr/lib$LIBDIRSUFFIX/virtualbox
cd sdk/installer
- python ./vboxapisetup.py install --prefix "/usr" --root $PKG
+ python3 ./vboxapisetup.py install --prefix "/usr" --root $PKG
cd -
rm -rf sdk/installer
@@ -218,17 +203,18 @@ cd out/linux.$BUILDDIR/release/bin/
install -m $MODE -g $GROUP VBoxSysInfo.sh $PKG/usr/share/virtualbox/
install -m $MODE -g $GROUP VBoxCreateUSBNode.sh $PKG/usr/share/virtualbox/
install -m $MODE -g $GROUP VBoxTunctl $PKG/usr/bin/
- install -m $MODE -g $GROUP VBoxFUSE $PKG/usr/bin/
- rm -f VBoxSysInfo.sh VBoxCreateUSBNode.sh VBoxTunctl VBoxFUSE
+ rm -f VBoxSysInfo.sh VBoxCreateUSBNode.sh VBoxTunctl
mv * $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
chown -R root:$GROUP $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
chmod -R $MODE $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
mv $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/VBox.sh $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/VBox
cd $TMP/$SRCNAM-${VERSION}
-for i in VBoxManage vboxmanage VBoxHeadless \
- vboxheadless VBoxVRDP VBoxBalloonCtrl vboxballoonctrl \
- VBoxAutostart vboxautostart $guiapp $vboxwebsrv; do
+# Drop broken symlink
+rm -f $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/components/VBoxREM.so
+
+for i in VBoxManage VBoxHeadless VBoxVRDP VBoxBalloonCtrl VBoxBugReport \
+ VBoxAutostart VirtualBox VirtualBoxVM VBoxSDL $vboxwebsrv; do
ln -s /usr/lib$LIBDIRSUFFIX/virtualbox/VBox $PKG/usr/bin/$i
done
@@ -238,6 +224,9 @@ if [ "${HEADLESS:-no}" = "no" ]; then
done
fi
+ln -s /usr/lib$LIBDIRSUFFIX/virtualbox/vbox-img $PKG/usr/bin/
+ln -s /usr/lib$LIBDIRSUFFIX/virtualbox/vboximg-mount $PKG/usr/bin/
+
if [ "$vboxwebsrv" = "vboxwebsrv" ]; then
mkdir -p $PKG/var/{lib,log}/vboxweb
chown vboxweb:vboxusers $PKG/var/{lib,log}/vboxweb
@@ -248,15 +237,14 @@ if [ "$vboxwebsrv" = "vboxwebsrv" ]; then
sed -i "s/\[ -z \"\$DEBIAN\"/#\[ -z \"\$DEBIAN\"/" $PKG/etc/rc.d/rc.vboxweb-service.new
fi
-if [ "$harden" = "--enable-hardening" ]; then
- for i in VBoxHeadless $guiapp VBoxNetDHCP VBoxNetAdpCtl; do
- chmod 4711 $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/$i
- done
-fi
+for i in VBoxHeadless VirtualBoxVM VBoxSDL VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT; do
+ chmod 4711 $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/$i
+done
# install headers. Needed by some third party tools
cp -rf include/* $PKG/usr/include/virtualbox/
rm -f $PKG/usr/include/virtualbox/Makefile.kmk
+find $PKG/usr/include/virtualbox -name "Makefile.kup" -print0 | xargs -0 rm -f
cp -f $CWD/VBoxGuestAdditions_$VERSION.iso \
$PKG/usr/share/virtualbox/VBoxGuestAdditions.iso
@@ -302,4 +290,4 @@ if [ "$vboxwebsrv" = "vboxwebsrv" ]; then
fi
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE