-#
# TODO
# - java bindings
-# - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
# - Package SDK.
# - Package utils (and write initscripts ?) for Guest OS.
# - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
%bcond_without dist_kernel # without distribution kernel
%bcond_without kernel # don't build kernel module
%bcond_without userspace # don't build userspace package
+%bcond_with webservice # webservice (soap) support
+%bcond_without verbose
%bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
-%bcond_with verbose
%if %{without kernel}
%undefine with_dist_kernel
%define _enable_debug_packages 0
%endif
-%define rel 1
+%define rel 7
%define pname VirtualBox
Summary: VirtualBox - x86 hardware virtualizer
Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
Name: %{pname}%{_alt_kernel}
-Version: 4.2.4
+Version: 4.2.6
Release: %{rel}
License: GPL v2
Group: Applications/Emulators
Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
-# Source0-md5: d1ec2d2a3f2f3f0b277dfe2c520c2e33
+# Source0-md5: d680aeb3b4379b8281527aeb012b2df5
Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 46fc9cf002e384fb199029c681efd7e8
+# Source1-md5: 53fc6c0e400e1e40d1896d35ba46a945
Source3: %{pname}-vboxdrv.init
Source4: %{pname}-vboxguest.init
Source5: %{pname}-vboxnetflt.init
Source16: %{pname}-vboxnetadp-modules-load.conf
Source17: %{pname}-vboxpci-modules-load.conf
Patch0: %{pname}-configure-spaces.patch
-
-Patch2: %{pname}-VBoxSysInfo.patch
-Patch3: %{pname}-warning_workaround.patch
-Patch4: %{pname}-dri.patch
-Patch5: %{pname}-disable_build_NetBiosBin.patch
-Patch6: xserver-1.12.patch
+Patch1: %{pname}-VBoxSysInfo.patch
+Patch2: %{pname}-warning_workaround.patch
+Patch3: %{pname}-dri.patch
+Patch4: %{pname}-disable_build_NetBiosBin.patch
+Patch5: xserver-1.12.patch
# ubuntu patches
Patch10: 16-no-update.patch
Patch11: 18-system-xorg.patch
BuildRequires: bcc
BuildRequires: bin86
BuildRequires: curl-devel
+BuildRequires: device-mapper-devel
%{?with_doc:BuildRequires: docbook-dtd44-xml}
BuildRequires: gcc >= 5:3.2.3
+%{?with_webservice:BuildRequires: gsoap-devel}
+BuildRequires: kBuild >= 0.1.9998-2
BuildRequires: libIDL-devel
BuildRequires: libcap-static
BuildRequires: libdrm-devel
BuildRequires: which
BuildRequires: xalan-c-devel >= 1.10.0
BuildRequires: xerces-c-devel >= 2.6.0
+BuildRequires: yasm
BuildRequires: zlib-devel >= 1.2.1
%endif
%if %{with dist_kernel}
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires: QtCore >= 4.7.0
+Requires: desktop-file-utils
Requires: libvncserver >= 0.9.9
Suggests: gxmessage
Provides: group(vbox)
Requires: Mesa-dri-driver-swrast
Requires: xorg-xserver-libdri >= 1.7.4
Requires: xorg-xserver-server >= 1.0.99.901
-Requires: xorg-xserver-server(videodrv-abi) <= 13.0
+Requires: xorg-xserver-server(videodrv-abi) <= 13.1
Requires: xorg-xserver-server(videodrv-abi) >= 2.0
%description -n xorg-driver-video-vboxvideo
%prep
%setup -q -n %{pname}-%{version}
%patch0 -p1
-
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
-e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
-sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
+# Respect LDFLAGS
+%{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
+ -i Config.kmk src/libs/xpcom18a4/Config.kmk
+
+%{__sed} 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
cd PLD-MODULE-BUILD
%patch10 -p1
%patch11 -p1
+# using system kBuild package
+%{__rm} -r kBuild
+
%build
%if %{with userspace}
echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
--disable-java \
--disable-hardening \
--disable-kmods \
- --enable-vnc
+ --enable-vnc \
+ %{__enable webservice} \
+ %{nil}
XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
-. ./env.sh && \
-kmk -j1 \
+kmk %{?_smp_mflags} \
%{?with_verbose:KBUILD_VERBOSE=3} \
- USER=$(id -un) \
+ USER=%(id -un) \
VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
- XSERVER_VERSION="$XSERVER_VERSION"
+ XSERVER_VERSION="$XSERVER_VERSION" \
+ TOOL_GCC3_CFLAGS="%{rpmcflags}" \
+ TOOL_GCC3_CXXFLAGS="%{rpmcxxflags}" \
+ VBOX_GCC_OPT="%{rpmcxxflags}" \
+ %{nil}
%endif
%if %{with kernel}