summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJingJingHack2017-07-14 12:38:36 +0800
committerJingJingHack2017-07-14 12:38:36 +0800
commit8e7f3b960900c83de426d56799e265793ae33939 (patch)
tree8683b2ef75c685ba143745ada1626141406ae54c
parentd124cf7f69bb93fe821cd7203cd435049da91821 (diff)
downloadaur-8e7f3b960900c83de426d56799e265793ae33939.tar.gz
gcc7
-rw-r--r--.SRCINFO12
-rw-r--r--009-gcc-7.patch303
-rw-r--r--010-linux-4.12.patch86
-rw-r--r--011-i3wm.patch (renamed from 009-i3wm.patch)0
-rw-r--r--PKGBUILD20
-rw-r--r--virtualbox-guest-dkms.conf31
-rw-r--r--virtualbox-host-dkms.conf35
7 files changed, 475 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b9d4b05a42fd..ad0e6dbd9009 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = virtualbox-i3
pkgver = 5.1.22
- pkgrel = 2
+ pkgrel = 4
url = http://virtualbox.org
arch = i686
arch = x86_64
@@ -43,8 +43,8 @@ pkgbase = virtualbox-i3
makedepends = xf86driproto
makedepends = xorg-server-devel
source = http://download.virtualbox.org/virtualbox/5.1.22/VirtualBox-5.1.22.tar.bz2
- source = virtualbox-i3-host-dkms.conf
- source = virtualbox-i3-guest-dkms.conf
+ source = virtualbox-host-dkms.conf
+ source = virtualbox-guest-dkms.conf
source = virtualbox.sysusers
source = virtualbox-guest-utils.sysusers
source = 60-vboxdrv.rules
@@ -60,7 +60,9 @@ pkgbase = virtualbox-i3
source = 006-rdesktop-vrdp-keymap-path.patch
source = 007-python2-path.patch
source = 008-no-vboxvideo.patch
- source = 009-i3wm.patch
+ source = 009-gcc-7.patch
+ source = 010-linux-4.12.patch
+ source = 011-i3wm.patch
sha256sums = fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899
sha256sums = deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec
sha256sums = 113f9b92141b85df01f1e74d22f01d1f1aa81650eb79b89ceefc3cae20afe2e2
@@ -79,6 +81,8 @@ pkgbase = virtualbox-i3
sha256sums = 5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc
sha256sums = 6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f
sha256sums = 8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc
+ sha256sums = 0f5cb04362be022bba71295867aac9eaddf9ece0d3ce82c083d70829564ec8d2
+ sha256sums = e606144f6629070b6aefddf93c44173cd87bc2fa0a7c3512e6296a805705b90b
sha256sums = 24d33c00da2d79ce578b5a35e816d11f9e61c5317fe4415fc08a2cbcd5f1c001
makedepends_x86_64 = gcc-multilib
makedepends_x86_64 = lib32-glibc
diff --git a/009-gcc-7.patch b/009-gcc-7.patch
new file mode 100644
index 000000000000..ab76ca4de899
--- /dev/null
+++ b/009-gcc-7.patch
@@ -0,0 +1,303 @@
+Index: trunk/src/recompiler/Makefile.kmk
+===================================================================
+--- trunk/src/recompiler/Makefile.kmk (revision 67289)
++++ trunk/src/recompiler/Makefile.kmk (revision 67298)
+@@ -320,7 +320,8 @@
+
+ $$(VBoxREMImp_0_OUTDIR)/VBoxREMRes.o: $(VBOX_PATH_RECOMPILER_SRC)/VBoxREM.rc $(MAKEFILE_CURRENT) $(VBOX_VERSION_MK) | $$(dir $$@)
+ $(call MSG_GENERATE,,$@)
+- $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' -- $(TOOL_MINGWW64_PREFIX)windres \
++ $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' \
++ -- $(TOOL_$(VBoxRemPrimary_TOOL.win.$(KBUILD_TARGET_ARCH))_PREFIX)windres \
+ $(addprefix -I,$(INCS) $(PATH_SDK_$(VBOX_WINPSDK)_INC) $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)) \
+ -DVBOX_SVN_REV=$(VBOX_SVN_REV) \
+ -DVBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000) \
+Index: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c
+===================================================================
+--- trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (nonexistent)
++++ trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (revision 67298)
+@@ -0,0 +1,53 @@
++/* $Id$ */
++/** @file
++ * IPRT - __udivmoddi4 implementation
++ */
++
++/*
++ * Copyright (C) 2006-2016 Oracle Corporation
++ *
++ * This file is part of VirtualBox Open Source Edition (OSE), as
++ * available from http://www.virtualbox.org. This file is free software;
++ * you can redistribute it and/or modify it under the terms of the GNU
++ * General Public License (GPL) as published by the Free Software
++ * Foundation, in version 2 as it comes in the "COPYING" file of the
++ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
++ *
++ * The contents of this file may alternatively be used under the terms
++ * of the Common Development and Distribution License Version 1.0
++ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
++ * VirtualBox OSE distribution, in which case the provisions of the
++ * CDDL are applicable instead of those of the GPL.
++ *
++ * You may elect to license modified versions of this file under the
++ * terms and conditions of either the GPL or the CDDL or both.
++ */
++
++#include <iprt/stdint.h>
++#include <iprt/uint64.h>
++
++uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R);
++
++/**
++ * __udivmoddi4() implementation to satisfy external references from 32-bit
++ * code generated by gcc-7 or later.
++ *
++ * @param u64A The divident value.
++ * @param u64B The divisor value.
++ * @param pu64R A pointer to the reminder. May be NULL.
++ * @returns u64A / u64B
++ */
++uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R)
++{
++ RTUINT64U Divident;
++ RTUINT64U Divisor;
++ RTUINT64U Quotient;
++ RTUINT64U Reminder;
++ Divident.u = u64A;
++ Divisor.u = u64B;
++ RTUInt64DivRem(&Quotient, &Reminder, &Divident, &Divisor);
++ if (pu64R)
++ *pu64R = Reminder.u;
++ return Quotient.u;
++}
+
+Property changes on: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c
+___________________________________________________________________
+Added: svn:eol-style
+## -0,0 +1 ##
++native
+\ No newline at end of property
+Added: svn:keywords
+## -0,0 +1 ##
++Author Date Id Revision
+\ No newline at end of property
+Index: trunk/src/VBox/Runtime/Makefile.kmk
+===================================================================
+--- trunk/src/VBox/Runtime/Makefile.kmk (revision 67289)
++++ trunk/src/VBox/Runtime/Makefile.kmk (revision 67298)
+@@ -1850,6 +1850,7 @@
+ common/math/gcc/subdi3.c \
+ common/math/gcc/ucmpdi2.c \
+ common/math/gcc/udivdi3.c \
++ common/math/gcc/udivmoddi4.c \
+ common/math/gcc/umoddi3.c \
+ common/math/gcc/xordi3.c
+
+@@ -1942,6 +1943,7 @@
+ common/math/gcc/subdi3.c \
+ common/math/gcc/ucmpdi2.c \
+ common/math/gcc/udivdi3.c \
++ common/math/gcc/udivmoddi4.c \
+ common/math/gcc/umoddi3.c \
+ common/math/gcc/xordi3.c
+ endif
+@@ -2675,6 +2677,7 @@
+ common/math/gcc/subdi3.c \
+ common/math/gcc/ucmpdi2.c \
+ common/math/gcc/udivdi3.c \
++ common/math/gcc/udivmoddi4.c \
+ common/math/gcc/umoddi3.c \
+ common/math/gcc/xordi3.c
+ endif
+Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67298)
+@@ -49,6 +49,7 @@
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+@@ -70,6 +71,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strformat.cpp=>common/string/strformat.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strformatrt.cpp=>common/string/strformatrt.c \
+Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67298)
+@@ -72,6 +72,7 @@
+ math/gcc/moddi3.o \
+ math/gcc/qdivrem.o \
+ math/gcc/udivdi3.o \
++ math/gcc/udivmoddi4.o \
+ math/gcc/divdi3.o \
+ math/gcc/umoddi3.o
+ endif
+Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67298)
+@@ -48,6 +48,7 @@
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+@@ -75,6 +76,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \
+ ${PATH_OUT}/version-generated.h=>version-generated.h \
+Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67298)
+@@ -76,6 +76,7 @@
+ math/gcc/moddi3.o \
+ math/gcc/qdivrem.o \
+ math/gcc/udivdi3.o \
++ math/gcc/udivmoddi4.o \
+ math/gcc/divdi3.o \
+ math/gcc/umoddi3.o
+ endif
+Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67298)
+@@ -76,6 +76,7 @@
+ math/gcc/moddi3.o \
+ math/gcc/qdivrem.o \
+ math/gcc/udivdi3.o \
++ math/gcc/udivmoddi4.o \
+ math/gcc/divdi3.o \
+ math/gcc/umoddi3.o
+ endif
+Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt
+===================================================================
+--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67289)
++++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67298)
+@@ -49,6 +49,7 @@
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+@@ -77,6 +78,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \
+ ${PATH_OUT}/version-generated.h=>version-generated.h \
+Index: trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv
+===================================================================
+--- trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67289)
++++ trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67298)
+@@ -65,6 +65,7 @@
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
+ ${PATH_ROOT}/include/iprt/uint128.h=>include/iprt/uint128.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+@@ -108,6 +109,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \
+Index: trunk/src/VBox/HostDrivers/Support/linux/Makefile
+===================================================================
+--- trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67289)
++++ trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67298)
+@@ -162,6 +162,7 @@
+ math/gcc/moddi3.o \
+ math/gcc/qdivrem.o \
+ math/gcc/udivdi3.o \
++ math/gcc/udivmoddi4.o \
+ math/gcc/divdi3.o \
+ math/gcc/umoddi3.o
+ endif
+Index: trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module
+===================================================================
+--- trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67289)
++++ trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67298)
+@@ -38,6 +38,7 @@
+ divdi3.o \
+ moddi3.o \
+ udivdi3.o \
++ udivmoddi4.o \
+ umoddi3.o \
+ qdivrem.o
+ endif
+Index: trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf
+===================================================================
+--- trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67289)
++++ trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67298)
+@@ -38,6 +38,7 @@
+ ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \
+@@ -73,6 +74,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \
+ ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/Makefile.module=>Makefile \
+Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
+===================================================================
+--- trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67289)
++++ trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67298)
+@@ -54,6 +54,7 @@
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \
+@@ -113,6 +114,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>common/math/gcc/qdivrem.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>common/math/gcc/quad.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>common/math/gcc/udivdi3.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>common/math/gcc/udivmoddi4.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>common/math/gcc/umoddi3.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \
+Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile
+===================================================================
+--- trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67289)
++++ trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67298)
+@@ -100,6 +100,7 @@
+ common/math/gcc/divdi3.o \
+ common/math/gcc/moddi3.o \
+ common/math/gcc/udivdi3.o \
++ common/math/gcc/udivmoddi4.o \
+ common/math/gcc/umoddi3.o \
+ common/math/gcc/qdivrem.o
+ endif
diff --git a/010-linux-4.12.patch b/010-linux-4.12.patch
new file mode 100644
index 000000000000..c94b00c45599
--- /dev/null
+++ b/010-linux-4.12.patch
@@ -0,0 +1,86 @@
+From 73a6d28417871bd5b7535e88a50a3ce60fa1ecfc Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 5 Jul 2017 14:15:18 +0200
+Subject: [PATCH 1/1] linux 4.12
+---
+ src/VBox/Additions/linux/drm/vbox_ttm.c | 6 ++++++
+ src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c | 19 +++++++++++++++++++
+ src/VBox/Runtime/r0drv/linux/the-linux-kernel.h | 5 +++++
+ 3 files changed, 30 insertions(+)
+
+diff --git a/src/VBox/Additions/linux/drm/vbox_ttm.c b/src/VBox/Additions/linux/drm/vbox_ttm.c
+index 57dd087..83f8122 100644
+--- a/src/VBox/Additions/linux/drm/vbox_ttm.c
++++ b/src/VBox/Additions/linux/drm/vbox_ttm.c
+@@ -275,11 +275,17 @@ struct ttm_bo_driver vbox_bo_driver = {
+ .ttm_tt_populate = vbox_ttm_tt_populate,
+ .ttm_tt_unpopulate = vbox_ttm_tt_unpopulate,
+ .init_mem_type = vbox_bo_init_mem_type,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++ .eviction_valuable = ttm_bo_eviction_valuable,
++#endif
+ .evict_flags = vbox_bo_evict_flags,
+ .move = vbox_bo_move,
+ .verify_access = vbox_bo_verify_access,
+ .io_mem_reserve = &vbox_ttm_io_mem_reserve,
+ .io_mem_free = &vbox_ttm_io_mem_free,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ .io_mem_pfn = ttm_bo_default_io_mem_pfn,
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ .lru_tail = &ttm_bo_default_lru_tail,
+ .swap_lru_tail = &ttm_bo_default_swap_lru_tail,
+diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index 4bc2a9b..0f74ada 100644
+--- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -902,6 +902,9 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv)
+ union
+ {
+ pgd_t Global;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ p4d_t Four;
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
+ pud_t Upper;
+ #endif
+@@ -919,7 +922,23 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv)
+ return NULL;
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ u.Four = *p4d_offset(&u.Global, ulAddr);
++ if (RT_UNLIKELY(p4d_none(u.Four)))
++ return NULL;
++ if (p4d_large(u.Four))
++ {
++ pPage = p4d_page(u.Four);
++ AssertReturn(pPage, NULL);
++ pfn = page_to_pfn(pPage); /* doing the safe way... */
++ AssertCompile(P4D_SHIFT - PAGE_SHIFT < 31);
++ pfn += (ulAddr >> PAGE_SHIFT) & ((UINT32_C(1) << (P4D_SHIFT - PAGE_SHIFT)) - 1);
++ return pfn_to_page(pfn);
++ }
++ u.Upper = *pud_offset(&u.Four, ulAddr);
++# else /* < 4.12 */
+ u.Upper = *pud_offset(&u.Global, ulAddr);
++# endif /* < 4.12 */
+ if (RT_UNLIKELY(pud_none(u.Upper)))
+ return NULL;
+ # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+index 5a7ccb2..3a17bd1 100644
+--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
++++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+@@ -159,6 +159,11 @@
+ # include <asm/tlbflush.h>
+ #endif
+
++/* for set_pages_x() */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++# include <asm/set_memory.h>
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
+ # include <asm/smap.h>
+ #else
diff --git a/009-i3wm.patch b/011-i3wm.patch
index 4dada3dc108a..4dada3dc108a 100644
--- a/009-i3wm.patch
+++ b/011-i3wm.patch
diff --git a/PKGBUILD b/PKGBUILD
index 22f11aa47bc1..fe60f8639b46 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,7 +11,7 @@ pkgname=('virtualbox-i3'
'virtualbox-i3-guest-utils-nox'
'virtualbox-i3-ext-vnc')
pkgver=5.1.22
-pkgrel=2
+pkgrel=4
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
@@ -53,8 +53,8 @@ makedepends=('alsa-lib'
'xorg-server-devel')
makedepends_x86_64=('gcc-multilib' 'lib32-glibc')
source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2"
- 'virtualbox-i3-host-dkms.conf'
- 'virtualbox-i3-guest-dkms.conf'
+ 'virtualbox-host-dkms.conf'
+ 'virtualbox-guest-dkms.conf'
'virtualbox.sysusers'
'virtualbox-guest-utils.sysusers'
'60-vboxdrv.rules'
@@ -70,7 +70,9 @@ source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver
'006-rdesktop-vrdp-keymap-path.patch'
'007-python2-path.patch'
'008-no-vboxvideo.patch'
- '009-i3wm.patch'
+ '009-gcc-7.patch'
+ '010-linux-4.12.patch'
+ '011-i3wm.patch'
)
sha256sums=('fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899'
'deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec'
@@ -90,6 +92,8 @@ sha256sums=('fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899'
'5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc'
'6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f'
'8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc'
+ '0f5cb04362be022bba71295867aac9eaddf9ece0d3ce82c083d70829564ec8d2'
+ 'e606144f6629070b6aefddf93c44173cd87bc2fa0a7c3512e6296a805705b90b'
'24d33c00da2d79ce578b5a35e816d11f9e61c5317fe4415fc08a2cbcd5f1c001')
prepare() {
@@ -275,12 +279,12 @@ package_virtualbox-i3-host-dkms() {
install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# module loading
- local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ local _p="$pkgdir/usr/lib/modules-load.d/virtualbox-host-dkms.conf"
install -Dm644 /dev/null "$_p"
printf "vboxdrv\nvboxpci\nvboxnetadp\nvboxnetflt\n" > "$_p"
# starting vbox 5.1, dkms.conf file was dropped
local _p="$pkgdir/usr/src/vboxhost-${pkgver}_OSE/dkms.conf"
- install -Dm644 "$srcdir/$pkgname.conf" "$_p"
+ install -Dm644 "$srcdir/virtualbox-host-dkms.conf" "$_p"
sed -i "s,@VERSION@,$pkgver," "$_p"
}
@@ -305,12 +309,12 @@ package_virtualbox-i3-guest-dkms() {
install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# module loading
- local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ local _p="$pkgdir/usr/lib/modules-load.d/virtualbox-guest-dkms.conf"
install -Dm644 /dev/null "$_p"
printf "vboxguest\nvboxsf\nvboxvideo\n" > "$_p"
# starting vbox 5.1, dkms.conf file was dropped
local _p="$pkgdir/usr/src/vboxguest-${pkgver}_OSE/dkms.conf"
- install -Dm644 "$srcdir/$pkgname.conf" "$_p"
+ install -Dm644 "$srcdir/virtualbox-guest-dkms.conf" "$_p"
sed -i "s,@VERSION@,$pkgver," "$_p"
}
diff --git a/virtualbox-guest-dkms.conf b/virtualbox-guest-dkms.conf
new file mode 100644
index 000000000000..d0281dfebded
--- /dev/null
+++ b/virtualbox-guest-dkms.conf
@@ -0,0 +1,31 @@
+## @file
+# Linux DKMS config script for the VirtualBox guest kernel modules
+#
+
+#
+# Copyright (C) 2006-2015 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+PACKAGE_NAME="vboxguest"
+PACKAGE_VERSION=@VERSION@_OSE
+AUTOINSTALL=yes
+
+BUILT_MODULE_NAME[0]="vboxguest"
+BUILT_MODULE_LOCATION[0]="vboxguest"
+DEST_MODULE_LOCATION[0]="/kernel/misc"
+
+BUILT_MODULE_NAME[1]="vboxsf"
+BUILT_MODULE_LOCATION[1]="vboxsf"
+DEST_MODULE_LOCATION[1]="/kernel/misc"
+
+BUILT_MODULE_NAME[2]="vboxvideo"
+BUILT_MODULE_LOCATION[2]="vboxvideo"
+DEST_MODULE_LOCATION[2]="/kernel/misc"
diff --git a/virtualbox-host-dkms.conf b/virtualbox-host-dkms.conf
new file mode 100644
index 000000000000..a8b41bf40027
--- /dev/null
+++ b/virtualbox-host-dkms.conf
@@ -0,0 +1,35 @@
+## @file
+# Linux DKMS config script for the VirtualBox guest kernel modules
+#
+
+#
+# Copyright (C) 2006-2015 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+PACKAGE_NAME="vboxhost"
+PACKAGE_VERSION=@VERSION@_OSE
+AUTOINSTALL=yes
+
+BUILT_MODULE_NAME[0]="vboxdrv"
+BUILT_MODULE_LOCATION[0]="vboxdrv"
+DEST_MODULE_LOCATION[0]="/kernel/misc"
+
+BUILT_MODULE_NAME[1]="vboxnetflt"
+BUILT_MODULE_LOCATION[1]="vboxnetflt"
+DEST_MODULE_LOCATION[1]="/kernel/misc"
+
+BUILT_MODULE_NAME[2]="vboxnetadp"
+BUILT_MODULE_LOCATION[2]="vboxnetadp"
+DEST_MODULE_LOCATION[2]="/kernel/misc"
+
+BUILT_MODULE_NAME[3]="vboxpci"
+BUILT_MODULE_LOCATION[3]="vboxpci"
+DEST_MODULE_LOCATION[3]="/kernel/misc"