summaryrefslogtreecommitdiff
path: root/app-emulation/virtualbox/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/virtualbox/files')
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.34-no-pam.patch22
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch14
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python3.10.patch122
3 files changed, 158 insertions, 0 deletions
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.34-no-pam.patch b/app-emulation/virtualbox/files/virtualbox-6.1.34-no-pam.patch
new file mode 100644
index 000000000000..9266cece55bd
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.34-no-pam.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/843437
+https://www.virtualbox.org/changeset/94406/vbox
+
+--- a/src/VBox/Runtime/Makefile.kmk
++++ b/src/VBox/Runtime/Makefile.kmk
+@@ -324,4 +324,7 @@
+ ifdef IPRT_WITH_FUTEX_BASED_SEMS
+ RuntimeR3_DEFS.linux += IPRT_WITH_FUTEX_BASED_SEMS
++endif
++ifdef IPRT_WITHOUT_PAM
++ RuntimeR3_DEFS += IPRT_WITHOUT_PAM
+ endif
+ RuntimeR3_INCS = \
+--- a/src/VBox/Runtime/r3/posix/process-creation-posix.cpp
++++ b/src/VBox/Runtime/r3/posix/process-creation-posix.cpp
+@@ -86,4 +86,5 @@
+
+ #if !defined(IPRT_USE_PAM) \
++ && !defined(IPRT_WITHOUT_PAM) \
+ && ( defined(RT_OS_DARWIN) || defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) || defined(RT_OS_NETBSD) || defined(RT_OS_OPENBSD) )
+ # define IPRT_USE_PAM
+
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch
new file mode 100644
index 000000000000..3a6da1f681c1
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch
@@ -0,0 +1,14 @@
+diff --git a/configure b/configure
+index fd2e296..695f6a7 100755
+--- a/configure
++++ b/configure
+@@ -1987,6 +1987,9 @@ check_python()
+ {
+ test_header "Python support"
+
++ # We force the right implementation in the ebuild instead
++ return
++
+ # On darwin this is a on/off decision only
+ if [ "$OS" = "darwin" ]; then
+ echo "enabled"
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python3.10.patch b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python3.10.patch
new file mode 100644
index 000000000000..e06e86910103
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python3.10.patch
@@ -0,0 +1,122 @@
+https://github.com/archlinux/svntogit-community/blob/b103146beee8b7c70d04685033a8536aed2e5aea/trunk/002-python310.patch
+https://github.com/archlinux/svntogit-community/blob/b103146beee8b7c70d04685033a8536aed2e5aea/trunk/003-pyunicode.patch
+
+https://www.virtualbox.org/changeset/90537/vbox
+https://www.virtualbox.org/changeset/86623/vbox
+--- a/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
++++ b/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
+@@ -84,7 +84,11 @@
+ # define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX)
+ # endif
+ # ifdef VBOX_PYXPCOM_VERSIONED
+-# if PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
++# if PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
++# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_10")
++# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_10)
++
++# elif PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+ # define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_9")
+ # define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_9)
+
+--- a/src/libs/xpcom18a4/python/Makefile.kmk
++++ b/src/libs/xpcom18a4/python/Makefile.kmk
+@@ -4,7 +4,7 @@
+ #
+
+ #
+-# Copyright (C) 2009-2017 Oracle Corporation
++# Copyright (C) 2009-2021 Oracle Corporation
+ #
+ # This file is part of VirtualBox Open Source Edition (OSE), as
+ # available from http://www.virtualbox.org. This file is free software;
+@@ -20,7 +20,7 @@
+
+ #
+ # List of supported Python versions, defining a number of
+-# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|DEF]_[INC|LIB] variables
++# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|DEF]_[INC|LIB] variables
+ # which get picked up below.
+ #
+ ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
+@@ -646,6 +646,52 @@
+ endif
+ endif
+
++ifdef VBOX_PYTHON310_INC
++#
++# Python 3.10 version
++#
++DLLS += VBoxPython3_10
++VBoxPython3_10_EXTENDS = VBoxPythonBase
++VBoxPython3_10_EXTENDS_BY = appending
++VBoxPython3_10_TEMPLATE = XPCOM
++VBoxPython3_10_INCS = $(VBOX_PYTHON310_INC)
++VBoxPython3_10_LIBS = $(VBOX_PYTHON310_LIB)
++
++ ifdef VBOX_WITH_32_ON_64_MAIN_API
++ ifdef VBOX_PYTHON310_LIB_X86
++DLLS += VBoxPython3_10_x86
++VBoxPython3_10_x86_EXTENDS = VBoxPythonBase_x86
++VBoxPython3_10_x86_EXTENDS_BY = appending
++VBoxPython3_10_x86_TEMPLATE = XPCOM
++VBoxPython3_10_x86_INCS = $(VBOX_PYTHON310_INC)
++VBoxPython3_10_x86_LIBS = $(VBOX_PYTHON310_LIB_X86)
++ endif
++ endif
++endif
++
++ifdef VBOX_PYTHON310M_INC
++#
++# Python 3.10 version with pymalloc
++#
++DLLS += VBoxPython3_10m
++VBoxPython3_10m_EXTENDS = VBoxPythonBase_m
++VBoxPython3_10m_EXTENDS_BY = appending
++VBoxPython3_10m_TEMPLATE = XPCOM
++VBoxPython3_10m_INCS = $(VBOX_PYTHON310M_INC)
++VBoxPython3_10m_LIBS = $(VBOX_PYTHON310M_LIB)
++
++ ifdef VBOX_WITH_32_ON_64_MAIN_API
++ ifdef VBOX_PYTHON310M_LIB_X86
++DLLS += VBoxPython3_10m_x86
++VBoxPython3_10m_x86_EXTENDS = VBoxPythonBase_x86_m
++VBoxPython3_10m_x86_EXTENDS_BY = appending
++VBoxPython3_10m_x86_TEMPLATE_ = XPCOM
++VBoxPython3_10m_x86_INCS = $(VBOX_PYTHON310M_INC)
++VBoxPython3_10m_x86_LIBS = $(VBOX_PYTHON310M_LIB_X86)
++ endif
++ endif
++endif
++
+ ifdef VBOX_PYTHONDEF_INC
+ #
+ # Python without versioning
+@@ -730,4 +776,3 @@
+
+
+ include $(FILE_KBUILD_SUB_FOOTER)
+-
+
+--- a/src/libs/xpcom18a4/python/src/PyXPCOM.h
++++ b/src/libs/xpcom18a4/python/src/PyXPCOM.h
+@@ -137,12 +137,14 @@
+ # define PyInt_Check(o) PyLong_Check(o)
+ # define PyInt_AsLong(o) PyLong_AsLong(o)
+ # define PyNumber_Int(o) PyNumber_Long(o)
+-# ifndef PyUnicode_AsUTF8
+-# define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o)
++# if !defined(Py_LIMITED_API) && PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */
++# ifndef PyUnicode_AsUTF8
++# define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o)
++# endif
++# ifndef PyUnicode_AsUTF8AndSize
++# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s)
++# endif
+ # endif
+-# ifndef PyUnicode_AsUTF8AndSize
+-# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s)
+-# endif
+ typedef struct PyMethodChain
+ {
+ PyMethodDef *methods;
+