Sync with portage [Sun Apr 19 01:04:11 MSK 2020].

develop 1640
root 4 years ago
parent f4aa2e7fcf
commit 89439b10db

Binary file not shown.

Binary file not shown.

@ -0,0 +1,8 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
ACCT_GROUP_ID=409

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dilfridge@gentoo.org</email>
<name>Andreas K. Huettel</name>
</maintainer>
<maintainer type="project">
<email>sci-electronics@gentoo.org</email>
<name>Gentoo Electronics Project</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit python-r1

@ -3,7 +3,7 @@
EAPI=5
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1 prefix

@ -3,7 +3,7 @@
EAPI=5
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1 prefix

Binary file not shown.

@ -46,7 +46,7 @@ src_configure() {
src_compile() {
unrar_make() {
emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
}
unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib

Binary file not shown.

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7})
PYTHON_COMPAT=(python{3_6,3_7,3_8})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7})
PYTHON_COMPAT=(python{3_6,3_7,3_8})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"

Binary file not shown.

@ -0,0 +1,11 @@
--- qemu-4.2.0/qga/commands-posix.c.orig 2020-03-23 11:15:05.972610989 +0300
+++ qemu-4.2.0/qga/commands-posix.c 2020-03-23 11:15:39.676015087 +0300
@@ -108,7 +108,7 @@
reopen_fd_to_null(1);
reopen_fd_to_null(2);
- execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
+ execle("/sbin/shutdown", "shutdown", "-h", "now", shutdown_flag, "+0",
"hypervisor initiated shutdown", (char*)NULL, environ);
_exit(EXIT_FAILURE);
} else if (pid < 0) {

@ -29,6 +29,7 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-4.2.0-sysmacros.patch #580924
"${FILESDIR}"/${PN}-4.2.0-fix-shutdown.patch #681874
)
src_configure() {

@ -1,61 +0,0 @@
From 0fb766134bd97ead71646e13349f93769e536ed9 Mon Sep 17 00:00:00 2001
From: Matthias Maier <tamiko@43-1.org>
Date: Fri, 17 May 2019 02:21:10 -0500
Subject: [PATCH] Define md-clear bit, expose md-no CPUID
Fixes for CVE-2018-121{26|27|30}, CVE-2019-11091
See related fixes for Ubuntu:
https://launchpad.net/ubuntu/+source/qemu/1:3.1+dfsg-2ubuntu3.1
---
target/i386/cpu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index d6bb57d2..331a364a 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1076,7 +1076,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
.feat_names = {
NULL, NULL, "avx512-4vnniw", "avx512-4fmaps",
NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL,
+ NULL, NULL, "md-clear", NULL,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
@@ -1183,7 +1183,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
.type = MSR_FEATURE_WORD,
.feat_names = {
"rdctl-no", "ibrs-all", "rsba", "skip-l1dfl-vmentry",
- "ssb-no", NULL, NULL, NULL,
+ "ssb-no", "mds-no", NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 83fb5225..d0bab4d7 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -694,6 +694,7 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS];
#define CPUID_7_0_EDX_AVX512_4VNNIW (1U << 2) /* AVX512 Neural Network Instructions */
#define CPUID_7_0_EDX_AVX512_4FMAPS (1U << 3) /* AVX512 Multiply Accumulation Single Precision */
+#define CPUID_7_0_EDX_MD_CLEAR (1U << 10) /* Microarchitectural Data Clear */
#define CPUID_7_0_EDX_SPEC_CTRL (1U << 26) /* Speculation Control */
#define CPUID_7_0_EDX_ARCH_CAPABILITIES (1U << 29) /*Arch Capabilities*/
#define CPUID_7_0_EDX_SPEC_CTRL_SSBD (1U << 31) /* Speculative Store Bypass Disable */
diff --git a/target/i386/hvf/x86_cpuid.c b/target/i386/hvf/x86_cpuid.c
index 4d957fe8..b453552f 100644
--- a/target/i386/hvf/x86_cpuid.c
+++ b/target/i386/hvf/x86_cpuid.c
@@ -90,7 +90,8 @@ uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx,
}
ecx &= CPUID_7_0_ECX_AVX512BMI | CPUID_7_0_ECX_AVX512_VPOPCNTDQ;
- edx &= CPUID_7_0_EDX_AVX512_4VNNIW | CPUID_7_0_EDX_AVX512_4FMAPS;
+ edx &= CPUID_7_0_EDX_AVX512_4VNNIW | CPUID_7_0_EDX_AVX512_4FMAPS | \
+ CPUID_7_0_EDX_MD_CLEAR;
} else {
ebx = 0;
ecx = 0;

@ -1,12 +0,0 @@
diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
index d1660b64..86715bfd 100644
--- a/hw/rdma/rdma_backend.c
+++ b/hw/rdma/rdma_backend.c
@@ -21,7 +21,6 @@
#include "qapi/qapi-events-rdma.h"
#include <infiniband/verbs.h>
-#include <infiniband/umad_types.h>
#include <infiniband/umad.h>
#include <rdma/rdma_user_cm.h>

@ -1,334 +0,0 @@
From 6d5d5dde9adb5acb32e6b8e3dfbf47fff0f308d2 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Date: Thu, 18 Jul 2019 15:06:41 +0200
Subject: [PATCH] linux-user: fix to handle variably sized SIOCGSTAMP with new
kernels
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
The SIOCGSTAMP symbol was previously defined in the
asm-generic/sockios.h header file. QEMU sees that header
indirectly via sys/socket.h
In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115
the asm-generic/sockios.h header no longer defines SIOCGSTAMP.
Instead it provides only SIOCGSTAMP_OLD, which only uses a
32-bit time_t on 32-bit architectures.
The linux/sockios.h header then defines SIOCGSTAMP using
either SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. If
SIOCGSTAMP_NEW is used, then the tv_sec field is 64-bit even
on 32-bit architectures
To cope with this we must now convert the old and new type from
the target to the host one.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Message-Id: <20190718130641.15294-1-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/ioctls.h | 21 ++++++-
linux-user/syscall.c | 140 ++++++++++++++++++++++++++++++++++++---------
linux-user/syscall_defs.h | 30 +++++++++-
linux-user/syscall_types.h | 6 --
4 files changed, 159 insertions(+), 38 deletions(-)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index ae895162..e6a27ad9 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -219,8 +219,25 @@
IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq)))
IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq)))
IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */
- IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval)))
- IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec)))
+
+ /*
+ * We can't use IOCTL_SPECIAL() because it will set
+ * host_cmd to XXX_OLD and XXX_NEW and these macros
+ * are not defined with kernel prior to 5.2.
+ * We must set host_cmd to the same value as in target_cmd
+ * otherwise the consistency check in syscall_init()
+ * will trigger an error.
+ * host_cmd is ignored by the do_ioctl_XXX() helpers.
+ * FIXME: create a macro to define this kind of entry
+ */
+ { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD,
+ "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP },
+ { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD,
+ "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS },
+ { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW,
+ "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP },
+ { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW,
+ "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS },
IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT))
IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 96cd4bf8..6df480e1 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -37,6 +37,7 @@
#include <sched.h>
#include <sys/timex.h>
#include <sys/socket.h>
+#include <linux/sockios.h>
#include <sys/un.h>
#include <sys/uio.h>
#include <poll.h>
@@ -1139,8 +1140,9 @@ static inline abi_long copy_from_user_timeval(struct timeval *tv,
{
struct target_timeval *target_tv;
- if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1))
+ if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1)) {
return -TARGET_EFAULT;
+ }
__get_user(tv->tv_sec, &target_tv->tv_sec);
__get_user(tv->tv_usec, &target_tv->tv_usec);
@@ -1155,8 +1157,26 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr,
{
struct target_timeval *target_tv;
- if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0))
+ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) {
+ return -TARGET_EFAULT;
+ }
+
+ __put_user(tv->tv_sec, &target_tv->tv_sec);
+ __put_user(tv->tv_usec, &target_tv->tv_usec);
+
+ unlock_user_struct(target_tv, target_tv_addr, 1);
+
+ return 0;
+}
+
+static inline abi_long copy_to_user_timeval64(abi_ulong target_tv_addr,
+ const struct timeval *tv)
+{
+ struct target__kernel_sock_timeval *target_tv;
+
+ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) {
return -TARGET_EFAULT;
+ }
__put_user(tv->tv_sec, &target_tv->tv_sec);
__put_user(tv->tv_usec, &target_tv->tv_usec);
@@ -1166,6 +1186,48 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr,
return 0;
}
+static inline abi_long target_to_host_timespec(struct timespec *host_ts,
+ abi_ulong target_addr)
+{
+ struct target_timespec *target_ts;
+
+ if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1)) {
+ return -TARGET_EFAULT;
+ }
+ __get_user(host_ts->tv_sec, &target_ts->tv_sec);
+ __get_user(host_ts->tv_nsec, &target_ts->tv_nsec);
+ unlock_user_struct(target_ts, target_addr, 0);
+ return 0;
+}
+
+static inline abi_long host_to_target_timespec(abi_ulong target_addr,
+ struct timespec *host_ts)
+{
+ struct target_timespec *target_ts;
+
+ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) {
+ return -TARGET_EFAULT;
+ }
+ __put_user(host_ts->tv_sec, &target_ts->tv_sec);
+ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec);
+ unlock_user_struct(target_ts, target_addr, 1);
+ return 0;
+}
+
+static inline abi_long host_to_target_timespec64(abi_ulong target_addr,
+ struct timespec *host_ts)
+{
+ struct target__kernel_timespec *target_ts;
+
+ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) {
+ return -TARGET_EFAULT;
+ }
+ __put_user(host_ts->tv_sec, &target_ts->tv_sec);
+ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec);
+ unlock_user_struct(target_ts, target_addr, 1);
+ return 0;
+}
+
static inline abi_long copy_from_user_timezone(struct timezone *tz,
abi_ulong target_tz_addr)
{
@@ -4790,6 +4852,54 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,
return get_errno(safe_ioctl(fd, ie->host_cmd, sig));
}
+static abi_long do_ioctl_SIOCGSTAMP(const IOCTLEntry *ie, uint8_t *buf_temp,
+ int fd, int cmd, abi_long arg)
+{
+ struct timeval tv;
+ abi_long ret;
+
+ ret = get_errno(safe_ioctl(fd, SIOCGSTAMP, &tv));
+ if (is_error(ret)) {
+ return ret;
+ }
+
+ if (cmd == (int)TARGET_SIOCGSTAMP_OLD) {
+ if (copy_to_user_timeval(arg, &tv)) {
+ return -TARGET_EFAULT;
+ }
+ } else {
+ if (copy_to_user_timeval64(arg, &tv)) {
+ return -TARGET_EFAULT;
+ }
+ }
+
+ return ret;
+}
+
+static abi_long do_ioctl_SIOCGSTAMPNS(const IOCTLEntry *ie, uint8_t *buf_temp,
+ int fd, int cmd, abi_long arg)
+{
+ struct timespec ts;
+ abi_long ret;
+
+ ret = get_errno(safe_ioctl(fd, SIOCGSTAMPNS, &ts));
+ if (is_error(ret)) {
+ return ret;
+ }
+
+ if (cmd == (int)TARGET_SIOCGSTAMPNS_OLD) {
+ if (host_to_target_timespec(arg, &ts)) {
+ return -TARGET_EFAULT;
+ }
+ } else{
+ if (host_to_target_timespec64(arg, &ts)) {
+ return -TARGET_EFAULT;
+ }
+ }
+
+ return ret;
+}
+
#ifdef TIOCGPTPEER
static abi_long do_ioctl_tiocgptpeer(const IOCTLEntry *ie, uint8_t *buf_temp,
int fd, int cmd, abi_long arg)
@@ -6160,32 +6270,6 @@ static inline abi_long target_ftruncate64(void *cpu_env, abi_long arg1,
}
#endif
-static inline abi_long target_to_host_timespec(struct timespec *host_ts,
- abi_ulong target_addr)
-{
- struct target_timespec *target_ts;
-
- if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1))
- return -TARGET_EFAULT;
- __get_user(host_ts->tv_sec, &target_ts->tv_sec);
- __get_user(host_ts->tv_nsec, &target_ts->tv_nsec);
- unlock_user_struct(target_ts, target_addr, 0);
- return 0;
-}
-
-static inline abi_long host_to_target_timespec(abi_ulong target_addr,
- struct timespec *host_ts)
-{
- struct target_timespec *target_ts;
-
- if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0))
- return -TARGET_EFAULT;
- __put_user(host_ts->tv_sec, &target_ts->tv_sec);
- __put_user(host_ts->tv_nsec, &target_ts->tv_nsec);
- unlock_user_struct(target_ts, target_addr, 1);
- return 0;
-}
-
static inline abi_long target_to_host_itimerspec(struct itimerspec *host_itspec,
abi_ulong target_addr)
{
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 12c84071..cfb3eeec 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -208,16 +208,34 @@ struct target_linger {
abi_int l_linger; /* How long to linger for */
};
+#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
+struct target_timeval {
+ abi_long tv_sec;
+ abi_int tv_usec;
+};
+#define target__kernel_sock_timeval target_timeval
+#else
struct target_timeval {
abi_long tv_sec;
abi_long tv_usec;
};
+struct target__kernel_sock_timeval {
+ abi_llong tv_sec;
+ abi_llong tv_usec;
+};
+#endif
+
struct target_timespec {
abi_long tv_sec;
abi_long tv_nsec;
};
+struct target__kernel_timespec {
+ abi_llong tv_sec;
+ abi_llong tv_nsec;
+};
+
struct target_timezone {
abi_int tz_minuteswest;
abi_int tz_dsttime;
@@ -743,8 +761,17 @@ struct target_pollfd {
#define TARGET_SIOCATMARK 0x8905
#define TARGET_SIOCGPGRP 0x8904
#endif
-#define TARGET_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
-#define TARGET_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+#if defined(TARGET_SH4)
+#define TARGET_SIOCGSTAMP_OLD TARGET_IOR('s', 100, struct target_timeval)
+#define TARGET_SIOCGSTAMPNS_OLD TARGET_IOR('s', 101, struct target_timespec)
+#else
+#define TARGET_SIOCGSTAMP_OLD 0x8906
+#define TARGET_SIOCGSTAMPNS_OLD 0x8907
+#endif
+
+#define TARGET_SIOCGSTAMP_NEW TARGET_IOR(0x89, 0x06, abi_llong[2])
+#define TARGET_SIOCGSTAMPNS_NEW TARGET_IOR(0x89, 0x07, abi_llong[2])
/* Networking ioctls */
#define TARGET_SIOCADDRT 0x890B /* add routing table entry */
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
index b98a23b0..4e369838 100644
--- a/linux-user/syscall_types.h
+++ b/linux-user/syscall_types.h
@@ -14,12 +14,6 @@ STRUCT(serial_icounter_struct,
STRUCT(sockaddr,
TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14))
-STRUCT(timeval,
- MK_ARRAY(TYPE_LONG, 2))
-
-STRUCT(timespec,
- MK_ARRAY(TYPE_LONG, 2))
-
STRUCT(rtentry,
TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr),
TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID,

@ -1,135 +0,0 @@
Backport of QEMU v4.1 commit for stable v4.0.1 release
commit c87759ce876a7a0b17c2bf4f0b964bd51f0ee871
Author: Alex Williamson <address@hidden>
Date: Tue May 14 14:14:41 2019 -0600
q35: Revert to kernel irqchip
Commit b2fc91db8447 ("q35: set split kernel irqchip as default") changed
the default for the pc-q35-4.0 machine type to use split irqchip, which
turned out to have disasterous effects on vfio-pci INTx support. KVM
resampling irqfds are registered for handling these interrupts, but
these are non-functional in split irqchip mode. We can't simply test
for split irqchip in QEMU as userspace handling of this interrupt is a
significant performance regression versus KVM handling (GeForce GPUs
assigned to Windows VMs are non-functional without forcing MSI mode or
re-enabling kernel irqchip).
The resolution is to revert the change in default irqchip mode in the
pc-q35-4.1 machine and create a pc-q35-4.0.1 machine for the 4.0-stable
branch. The qemu-q35-4.0 machine type should not be used in vfio-pci
configurations for devices requiring legacy INTx support without
explicitly modifying the VM configuration to use kernel irqchip.
Link: https://bugs.launchpad.net/qemu/+bug/1826422
Fixes: b2fc91db8447 ("q35: set split kernel irqchip as default")
Cc: address@hidden
Reviewed-by: Peter Xu <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>
---
Same code as v1, just updating the commit log as a formal backport of
the merged 4.1 commit.
hw/core/machine.c | 3 +++
hw/i386/pc.c | 3 +++
hw/i386/pc_q35.c | 16 ++++++++++++++--
include/hw/boards.h | 3 +++
include/hw/i386/pc.h | 3 +++
5 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 743fef28982c..5d046a43e3d2 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -24,6 +24,9 @@
#include "hw/pci/pci.h"
#include "hw/mem/nvdimm.h"
+GlobalProperty hw_compat_4_0[] = {};
+const size_t hw_compat_4_0_len = G_N_ELEMENTS(hw_compat_4_0);
+
GlobalProperty hw_compat_3_1[] = {
{ "pcie-root-port", "x-speed", "2_5" },
{ "pcie-root-port", "x-width", "1" },
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index f2c15bf1f2c3..d98b737b8f3b 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -115,6 +115,9 @@ struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX};
/* Physical Address of PVH entry point read from kernel ELF NOTE */
static size_t pvh_start_addr;
+GlobalProperty pc_compat_4_0[] = {};
+const size_t pc_compat_4_0_len = G_N_ELEMENTS(pc_compat_4_0);
+
GlobalProperty pc_compat_3_1[] = {
{ "intel-iommu", "dma-drain", "off" },
{ "Opteron_G3" "-" TYPE_X86_CPU, "rdtscp", "off" },
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 372c6b73bebd..45cc29d1adb7 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -357,7 +357,7 @@ static void pc_q35_machine_options(MachineClass *m)
m->units_per_default_bus = 1;
m->default_machine_opts = "firmware=bios-256k.bin";
m->default_display = "std";
- m->default_kernel_irqchip_split = true;
+ m->default_kernel_irqchip_split = false;
m->no_floppy = 1;
machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
@@ -365,12 +365,24 @@ static void pc_q35_machine_options(MachineClass *m)
m->max_cpus = 288;
}
-static void pc_q35_4_0_machine_options(MachineClass *m)
+static void pc_q35_4_0_1_machine_options(MachineClass *m)
{
pc_q35_machine_options(m);
m->alias = "q35";
}
+DEFINE_Q35_MACHINE(v4_0_1, "pc-q35-4.0.1", NULL,
+ pc_q35_4_0_1_machine_options);
+
+static void pc_q35_4_0_machine_options(MachineClass *m)
+{
+ pc_q35_4_0_1_machine_options(m);
+ m->default_kernel_irqchip_split = true;
+ m->alias = NULL;
+ compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len);
+ compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
+}
+
DEFINE_Q35_MACHINE(v4_0, "pc-q35-4.0", NULL,
pc_q35_4_0_machine_options);
diff --git a/include/hw/boards.h b/include/hw/boards.h
index e231860666a1..fe1885cbffa0 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -293,6 +293,9 @@ struct MachineState {
} \
type_init(machine_initfn##_register_types)
+extern GlobalProperty hw_compat_4_0[];
+extern const size_t hw_compat_4_0_len;
+
extern GlobalProperty hw_compat_3_1[];
extern const size_t hw_compat_3_1_len;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index ca65ef18afb4..43df7230a22b 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -293,6 +293,9 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
int e820_get_num_entries(void);
bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
+extern GlobalProperty pc_compat_4_0[];
+extern const size_t pc_compat_4_0_len;
+
extern GlobalProperty pc_compat_3_1[];
extern const size_t pc_compat_3_1_len;

@ -1,38 +0,0 @@
From cef396dc0b11a09ede85b275ed1ceee71b60a4b3 Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Sat, 14 Sep 2019 15:47:20 +0100
Subject: [PATCH] configure: Add xkbcommon configure options
This dependency is currently "automagic", which is bad for distributions.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
---
configure | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/configure b/configure
index 30aad233d1..30544f52e6 100755
--- a/configure
+++ b/configure
@@ -1521,6 +1521,10 @@ for opt do
;;
--disable-libpmem) libpmem=no
;;
+ --enable-xkbcommon) xkbcommon=yes
+ ;;
+ --disable-xkbcommon) xkbcommon=no
+ ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1804,6 +1808,7 @@ disabled with --disable-FEATURE, default is enabled if available:
capstone capstone disassembler support
debug-mutex mutex debugging support
libpmem libpmem support
+ xkbcommon xkbcommon support
NOTE: The object files are built at the place where configure is launched
EOF
--
2.23.0

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="ncurses,readline"
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="ncurses,readline"
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"

@ -1,11 +0,0 @@
--- simh-3.9.0/makefile
+++ simh-3.9.0/makefile
@@ -249,7 +249,7 @@
NETWORK_OPT = $(NETWORK_CCDEFS)
endif
ifneq (binexists,$(shell if $(TEST) -e BIN; then echo binexists; fi))
- MKDIRBIN = if $(TEST) ! -e BIN; then mkdir BIN; fi
+ MKDIRBIN = mkdir -p BIN
endif
else
#Win32 Environments (via MinGW32)

@ -1,13 +0,0 @@
--- simh-3.9.0/makefile
+++ simh-3.9.0/makefile
@@ -300,8 +300,8 @@
CFLAGS_O = -O0
BUILD_FEATURES = - debugging support
else
- CFLAGS_O = -O2
- LDFLAGS_O =
+ CFLAGS_O ?= -O2
+ LDFLAGS_O ?=
GCC_MAJOR_VERSION = $(firstword $(subst ., ,$(GCC_VERSION)))
ifneq (3,$(GCC_MAJOR_VERSION))
ifeq (,$(GCC_OPTIMIZERS_CMD))

@ -1,4 +1 @@
DIST spice-protocol-0.12.14.tar.bz2 74471 BLAKE2B ee90514f3c6ee0c8f6930e5fd0140e20447b1613f202186883a9a17eefaacbd83ff2f2cdb68b46cd1573de4cce288965a1b531ded1ab4da52c24c2c3ad098192 SHA512 4266bcbef9f641a97a2ff72f1b01380a41e51f4b1a0dbb73fdf68baf552598a62d5cf0c526adf2997a55ee5d4fe9392927c3d7f4556827bfb2933f59bfab55bb
DIST spice-protocol-0.12.15.tar.bz2 74598 BLAKE2B d8116e3905d4345fc0bc51d488d2ca4d90d1302c8f0a14bd126eb4c753660c98bd54ac5561a6464adeba6a0ed16e55f681e59c2a73b3ee9288acd3fce5624a93 SHA512 1a3c3c26239d092c6c24708f5bd070ae1cb146f92f2329b63bec2d21a7276cdf1b9567f434bfbeeb1f7cd7dd4ad47494c51dcdbbba5af8e271e66dfe5b11de9d
DIST spice-protocol-0.14.0.tar.bz2 70938 BLAKE2B 66dfa75f7e2f5a9c0c5d9ec34744386760393908f02bd7c662e51b3bee41c3c825eac512494bbd5ffdab5375e132bc4b567f65003cca88314c9ef2e3d529f219 SHA512 797df5f529731e9fd395b5946af2490ecf02c26982cc4a0aef24c1766887a35222f68525a996f8bc7459c2c4a25fde0c9a10c489ee6cab6eed7a68a9b5d90f76
DIST spice-protocol-0.14.1.tar.bz2 73444 BLAKE2B 12050c38ee3d24814b57a340a88423352edae6412b5a20e27d59b7235e753f51aaf757f7e9e6ce702d0b0c0afeadfde7f3937725ae4715ae4dc4da20ee7fd663 SHA512 88b0e652564a1f826ee6d3c165ab05c40d13f366567db3840805f03d433d13d7f722225219c26759770d2cde33221fe6d97528521d0eb14bc069cd7ce9af8482

@ -1,16 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Headers defining the SPICE protocol"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
IUSE=""
DEPEND=""
RDEPEND=""

@ -1,16 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Headers defining the SPICE protocol"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
DEPEND=""
RDEPEND=""

@ -1,16 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Headers defining the SPICE protocol"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
DEPEND=""
RDEPEND=""

@ -1,3 +1,2 @@
DIST spice-vdagent-0.17.0-patches-20180319.tar.xz 38924 BLAKE2B c7c7f851d307cd7dde620278c6ea240d71f8b1f25d6367f81213c7e902d2b2c15f72c71344f965743a45b5693832a2937041ca7b5511ce1db479dafe137bc7b1 SHA512 8ac627f56605151aebc100a6c6d61243776662150095c768196d750929971f98f4b6d1a831cfb547d29ae8a6734795c93e51a9c4f27dcf53bd66aca6df437c51
DIST spice-vdagent-0.17.0.tar.bz2 130413 BLAKE2B b2fb522f491512d94ac15fa8d253e8e682210ad40657eb9e5e40489eaab18c9f1d5ef5f97075a4389501050a758e1f56d47132de6b1c74bb153fc6b5e87a698d SHA512 b26e44f6463ba70d5815956b301cc2351db22de41ed2ce8b2828d9bfa1cc581c86acd433f8f0d35d552d20f6ca140f88fa39b079ba26e9166dc07ad35bee502e
DIST spice-vdagent-0.19.0.tar.bz2 151356 BLAKE2B b7a99a7205d955b27edfe483746e3f267a6e0b7885c4b8146ba42d99b581cf4e1748b503a37a3d6b66623ef2515b42756f2e6a5a4775d56def7aa396bd0dfb4f SHA512 f5056dfe66df3ee8205549be22bbc8c17d2196c8448eda97f01659ff30c34d9929f330767d7fafec557dc5f7fb9b65eaf85973193b38df774042de9b72d6e60d
DIST spice-vdagent-0.20.0.tar.bz2 152510 BLAKE2B b00caadab385f4208bd18b78a006831953f99387e55fd86226efffdf537426627f02bb46708173b700eecd21f598a0db94f454c5252b0f4bfb93c30b39d69d16 SHA512 a6288e056645c071834f9ce5800669cb64e0f86a5efeb8eec61ac1e11f1fd56f7da8ea19b28a94c88741d794a0290fac9bcf74d45bcef271c2c5abfb2573a8e1

@ -1,33 +1,31 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit autotools linux-info
MY_P="${P/_*/}"
PATCHSET="${P/*_p/}"
DESCRIPTION="SPICE VD Linux Guest Agent"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/${MY_P}.tar.bz2
https://dev.gentoo.org/~tamiko/distfiles/${MY_P}-patches-${PATCHSET}.tar.xz"
SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="consolekit selinux systemd"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~amd64 ~x86"
IUSE="consolekit gtk selinux systemd"
CDEPEND="
>=app-emulation/spice-protocol-0.12.8
dev-libs/glib:2
>=app-emulation/spice-protocol-0.14.0
media-libs/alsa-lib
>=x11-libs/libpciaccess-0.10
x11-libs/libdrm
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libX11
x11-libs/libXinerama
consolekit? ( sys-auth/consolekit sys-apps/dbus )
gtk? ( x11-libs/gtk+:3 )
systemd? ( sys-apps/systemd )"
DEPEND="${CDEPEND}
virtual/pkgconfig"
@ -38,15 +36,6 @@ CONFIG_CHECK="~INPUT_UINPUT ~VIRTIO_CONSOLE"
ERROR_INPUT_UINPUT="User level input support (INPUT_UINPUT) is required"
ERROR_VIRTIO_CONSOLE="VirtIO console/serial device support (VIRTIO_CONSOLE) is required"
PATCHES=(
"${WORKDIR}"/patches
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local opt=()
if use consolekit; then
@ -60,6 +49,7 @@ src_configure() {
econf \
--with-init-script=systemd \
--localstatedir="${EPREFIX}"/var \
$(use_with gtk) \
"${opt[@]}"
}
@ -70,6 +60,6 @@ src_install() {
keepdir /var/log/spice-vdagentd
newinitd "${FILESDIR}/${PN}.initd-3" "${PN}"
newinitd "${FILESDIR}/${PN}.initd-4" "${PN}"
newconfd "${FILESDIR}/${PN}.confd-2" "${PN}"
}

@ -1,3 +1 @@
DIST spice-0.14.0.tar.bz2 1330195 BLAKE2B 08f93e8ddeb79adb4feac0557a854cc41fd096a9dfefc0baaca176803c2a03ef9286c4f61a135d62ad22e3ac3f4bb31ffd1614c8ddeaec7ae8c01eca34da1750 SHA512 84532146aa628ca6ca459a82afb89d6391892e063668fd4a68023c92cee7ca868b6c82e31dd9886819b76ea745ebdae0d0030e1f608d8f58f51c00f0b09bae1f
DIST spice-0.14.2.tar.bz2 1406009 BLAKE2B e6c57bedd8c8ec0444da194be7279b895bf348dfa9b427d20301cc223627bcd65b7037280bc2a3d0b531b0cdcd8cb62d34ee132c549ac3dc8f6e5a2959339ce2 SHA512 1093b618ea4a7ff31944429ce2903abecfc8d20c35f2d9c8c837a6e053ee429c0115e40665542637a717869209523ac05d15cdb5e77563102d5d3915e4aaaf76
DIST spice-0.14.3.tar.bz2 1504304 BLAKE2B be655e1d4c48dae29903ab8e0dc52da63723e3252052afccc9587065531f28c8af7dbab4c585093f26d98f2273c6e734a553c18d4779a9f4464334ae1764f682 SHA512 9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4

@ -1,12 +0,0 @@
diff --git a/spice-common/python_modules/demarshal.py b/spice-common/python_modules/demarshal.py
index 1ea131d..7172762 100644
--- a/spice-common/python_modules/demarshal.py
+++ b/spice-common/python_modules/demarshal.py
@@ -318,6 +318,7 @@ def write_validate_array_item(writer, container, item, scope, parent_scope, star
writer.assign(nelements, array.size)
elif array.is_remaining_length():
if element_type.is_fixed_nw_size():
+ writer.error_check("%s > message_end" % item.get_position())
if element_type.get_fixed_nw_size() == 1:
writer.assign(nelements, "message_end - %s" % item.get_position())
else:

@ -1,13 +0,0 @@
diff --git a/spice-common/common/ssl_verify.c b/spice-common/common/ssl_verify.c
index a9ed650..27aa5d3 100644
--- a/spice-common/common/ssl_verify.c
+++ b/spice-common/common/ssl_verify.c
@@ -33,7 +33,7 @@
#include <string.h>
#include <gio/gio.h>
-#if OPENSSL_VERSION_NUMBER < 0x10100000
+#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1)
{
return M_ASN1_STRING_data(asn1);

@ -1,26 +0,0 @@
--- spice-0.13.90-orig/server/reds.c 2017-07-27 01:04:10.000000000 +1000
+++ spice-0.13.90/server/reds.c 2017-10-18 21:42:12.054934199 +1100
@@ -34,6 +34,8 @@
#include <ctype.h>
#include <openssl/err.h>
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
#if HAVE_SASL
#include <sasl/sasl.h>
@@ -2795,9 +2797,12 @@
static gpointer openssl_global_init(gpointer arg)
{
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined (LIBRESSL_VERSION_NUMBER)
+ OPENSSL_init_ssl(0, NULL);
+#else
SSL_library_init();
SSL_load_error_strings();
-
+#endif
openssl_thread_setup();
return NULL;

@ -1,102 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_6,3_7} )
inherit autotools ltprune python-any-r1 readme.gentoo-r1 xdg-utils
DESCRIPTION="SPICE server"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE="libressl lz4 sasl smartcard static-libs gstreamer"
# the libspice-server only uses the headers of libcacard
RDEPEND="
dev-lang/orc[static-libs(+)?]
>=dev-libs/glib-2.22:2[static-libs(+)?]
media-libs/opus[static-libs(+)?]
sys-libs/zlib[static-libs(+)?]
virtual/jpeg:0=[static-libs(+)?]
>=x11-libs/pixman-0.17.7[static-libs(+)?]
!libressl? ( dev-libs/openssl:0=[static-libs(+)?] )
libressl? ( dev-libs/libressl:0=[static-libs(+)?] )
lz4? ( app-arch/lz4:0=[static-libs(+)?] )
smartcard? ( >=app-emulation/libcacard-0.1.2 )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
>=app-emulation/spice-protocol-0.12.13
virtual/pkgconfig
$(python_gen_any_dep '
>=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
')
smartcard? ( app-emulation/qemu[smartcard] )"
PATCHES=(
"${FILESDIR}"/${P}-libressl_fix.patch
"${FILESDIR}"/${P}-openssl1.1_fix.patch
"${FILESDIR}"/${P}-fix-flexible-array-buffer-overflow.patch
)
python_check_deps() {
has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
has_version "dev-python/six[${PYTHON_USEDEP}]"
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
}
src_prepare() {
default
eautoreconf
}
src_configure() {
# Prevent sandbox violations, bug #586560
# https://bugzilla.gnome.org/show_bug.cgi?id=744134
# https://bugzilla.gnome.org/show_bug.cgi?id=744135
addpredict /dev
xdg_environment_reset
local myconf="
$(use_enable static-libs static)
$(use_enable lz4)
$(use_with sasl)
$(use_enable smartcard)
--enable-gstreamer=$(usex gstreamer "1.0" "no")
--disable-celt051
"
econf ${myconf}
}
src_compile() {
# Prevent sandbox violations, bug #586560
# https://bugzilla.gnome.org/show_bug.cgi?id=744134
# https://bugzilla.gnome.org/show_bug.cgi?id=744135
addpredict /dev
default
}
src_install() {
default
use static-libs || prune_libtool_files
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -1,100 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{3_6,3_7} )
inherit autotools python-any-r1 readme.gentoo-r1 xdg-utils
DESCRIPTION="SPICE server"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/releases/spice-server/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="libressl lz4 sasl smartcard static-libs gstreamer"
# the libspice-server only uses the headers of libcacard
RDEPEND="
dev-lang/orc[static-libs(+)?]
>=dev-libs/glib-2.22:2[static-libs(+)?]
media-libs/opus[static-libs(+)?]
sys-libs/zlib[static-libs(+)?]
virtual/jpeg:0=[static-libs(+)?]
>=x11-libs/pixman-0.17.7[static-libs(+)?]
!libressl? ( dev-libs/openssl:0=[static-libs(+)?] )
libressl? ( dev-libs/libressl:0=[static-libs(+)?] )
lz4? ( app-arch/lz4:0=[static-libs(+)?] )
smartcard? ( >=app-emulation/libcacard-0.1.2 )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)"
DEPEND="${RDEPEND}
>=app-emulation/spice-protocol-0.14.0
smartcard? ( app-emulation/qemu[smartcard] )"
BDEPEND="${PYTHON_DEPS}
virtual/pkgconfig
$(python_gen_any_dep '
>=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
')"
PATCHES=(
"${FILESDIR}"/${PN}-0.14.0-openssl1.1_fix.patch
)
python_check_deps() {
has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
has_version -b "dev-python/six[${PYTHON_USEDEP}]"
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
}
src_prepare() {
default
eautoreconf
}
src_configure() {
# Prevent sandbox violations, bug #586560
# https://bugzilla.gnome.org/show_bug.cgi?id=744134
# https://bugzilla.gnome.org/show_bug.cgi?id=744135
addpredict /dev
xdg_environment_reset
local myconf="
$(use_enable static-libs static)
$(use_enable lz4)
$(use_with sasl)
$(use_enable smartcard)
--enable-gstreamer=$(usex gstreamer "1.0" "no")
--disable-celt051
"
econf ${myconf}
}
src_compile() {
# Prevent sandbox violations, bug #586560
# https://bugzilla.gnome.org/show_bug.cgi?id=744134
# https://bugzilla.gnome.org/show_bug.cgi?id=744135
addpredict /dev
default
}
src_install() {
default
use static-libs || find "${D}" -name '*.la' -type f -delete || die
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -1,5 +1,7 @@
DIST VBoxGuestAdditions_5.2.32.iso 49620992 BLAKE2B 04853f4b9a95898263ca7238a78b5d8751882a21874e4745d675642185542eb617f2a74b3e55b4444067822511d33b6d358e37e179d1b1c6464d701a8ab45a54 SHA512 86f1d7071a9033b7826dcacbcf23822acc772d909af8a8a12345bd5fe68375677b522d0e1987f2908412d5a29369d0a1221fd099f8b692c8d25fe9cbe40fd11e
DIST VBoxGuestAdditions_5.2.36.iso 49661952 BLAKE2B 181c26b5362ebdd8508bcc5b3f75993fc6ab7036093004a614c5153a8c772e2bdaab309adc452cfe78ee09fbd528c00a875193f4183b75e3cb6ce169b4f68507 SHA512 4be8e943f61b17445b17d092db84ddd6841d933bf2b8dd1fad7cc0095d31932347f861e110917ca6d0ebec2ee62b2afa7e5977123830e50a4e0e4a6c1872e28e
DIST VBoxGuestAdditions_5.2.40.iso 49770496 BLAKE2B 4d9ca6cde78da325575f56f0b12d7beccfd09a564b98c808495ac8425f47bd0ce1b86a5cfb79c30256b36b109032013a0677ff07c45808324ca3b85efe5b7f51 SHA512 a2ea5539de454bb062dffa0b61ac4962c8932539ab0cdaae98f7703528c201bc856b0597b92c20e83fab5b97981be3811061386022ca3687d8c102983e05ec7b
DIST VBoxGuestAdditions_6.0.16.iso 77201408 BLAKE2B 713381429cbef6685c4890c47dc0896571ca24cacc96d73903cdd91220a6b5ba7c6012c69d62489eaabd1fe75dd0000a3415d7d316fbc79b3b8ac2cf45cba75a SHA512 d17de374714023b02fef76bad53a15fe4d5d4bc752e900843419e9c3ba4988bd9bdc8fd6797bb4fdfa722d0f41ff144ed6865a0778609a7aea5e96de34c7beb8
DIST VBoxGuestAdditions_6.1.2.iso 59539456 BLAKE2B 904105943fb4004d3f91ef48cf8999bb1e4a8d4658e99b8d815f8f7031cedb870a1ae5825473cabbaedb38d2e9e2df12e4e8ed52c33a7e4595e0a37f6d51ade4 SHA512 c0d916c50f7377feade9a00417c759666442dd881f9e863d9704e12dda274e14bd84313a5bd340192a8e1d634eab4d69379bfee06324207e1025fe7af1a8c07c
DIST VBoxGuestAdditions_6.0.20.iso 77297664 BLAKE2B 72c3e6b3c757d866bbf94cb2593b81d05362dcb1485db8412c8c3a95a7619754eeeaa75f8d813bd26bb3c27a718e3f687fb5904dd2574d29eb96988f48fcc67b SHA512 16c69ddee28650ac35ee25bead96568cdfe269042ed6a4138b5870322ff9dab405ea844d75886a0b52c44f0c47a34814a30d48734a6683df6b6ad042b1bea68d
DIST VBoxGuestAdditions_6.1.4.iso 59688960 BLAKE2B e7c86bbb2eddfc1e9dd555a5d9e5b808194a0124f0cf3bfb09aa226a89cd348cf979f523361fbd0cc400912709310592f938e56ef410a9f81c1bb514db58c2e7 SHA512 a1e8f404c3d58adc60adb6a14cecc3e56f0705bd810891038d2fd6691e9f54f61daa4ffe804c77005b2764cb7c7c8d97fb67077e05aca94cf21c4afa89cd7f4a
DIST VBoxGuestAdditions_6.1.6.iso 59760640 BLAKE2B dac4f92c851d37ad995ff631f1b7ecda702c3dce5b299232fc7ec956009fb13e09fc0e5d6980d09c4a9f1b58ab5fcff93c791ecc0fb184cefa701f072e68b87c SHA512 b87cc85d46ffcbf6ae8b21ef5932144b956f59925a1c5a87bbcc81dd9dbd845b1f3f282b92cea3dcc15d3e338e676dd58f81762e27019c1fb6736c541b1fdd9a

@ -0,0 +1,33 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -0,0 +1,34 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,17 +1,24 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68
DIST VirtualBox-5.2.32-132073-Linux_amd64.run 83854803 BLAKE2B 3522df31f4f98efcd40adcaaf8ac458078adf0bbfed96c7d309d4726ddb8b8dd78eef830b3cfcb2f1fa6329bcc30ea2449f5c88cab66fa0c7d20818d7b5aa07a SHA512 aea9b27793f3363eba2ed627cc3b35ca51445946e6e9f20382fb3034afbb7470d27fdc476066c04acc595690a9e34109e8b8ce6dcab10fdc990b241b24ec47fb
DIST VirtualBox-5.2.32-132073-Linux_x86.run 82943439 BLAKE2B 31a22e8b52a53d6948a5af533b5c8f374d703c44736678c0bbe6fd9b5298bed4817996c32902a69c2c59dbf751cea04f22beb7203deaeadf79d2424e123e9d37 SHA512 05f99b673224c2b3d94b0d568067ae5ee74200c88a3b7f6665988a9d0c35f69f81c07292b838d07c07fd6d5484979615fd255650b138387501a593f3833b9071
DIST VirtualBox-5.2.36-135684-Linux_amd64.run 83885521 BLAKE2B 6940d009069a80f46f0e568732e81e0151e18f7c24c5ff44dab3b305e5f21d4cf729ce162f67b21b4f034b8dc7ab4df4a07a24ab00a7349083bb15d3af27c0c4 SHA512 288a4ec1ba2f245771c87034876e1cfa59ea3eaed124bd77ffed20fadc54dbf3071624a94fefeb26a7d356fb55fe206d11510136194e15b10fa9585c8d5efe73
DIST VirtualBox-5.2.36-135684-Linux_x86.run 82974158 BLAKE2B d2c44159f00111438c51c60d4356247693c6773e8b244fcdf24cd2029b423c36edbea20e2130cf414ca5f076d04b1c085e9fac9a6b8504a991dcf76e61feb2c0 SHA512 888fafda0986066edf32c208503857ce58f220251d142ac0a327989d0d24987b2d69798143142e749c49cf37fddec23b3fe624503914327d0c53e3794db2d688
DIST VirtualBox-5.2.40-137108-Linux_amd64.run 83865043 BLAKE2B d44f3ee6b05446fbe36b5672ec00d2ffcf5b8592ebfdfc6d091dd1bf92d821644976bad55ca390ad834d274dbe738341457888fb78030de9ddadd680362c4b11 SHA512 1f068f776ef65ed930eed0ecc6304a374ea36339c21dfc7b41a61b6e82d61f5c8de13f4b93f19500f9eccbe9e3d0f1a816c46b7b7b4d5ed195ce1ddc45c57e7f
DIST VirtualBox-5.2.40-137108-Linux_x86.run 82994639 BLAKE2B 4f90a72d5d8952ae05bff9c50262e377c0ffbc134741eddc0aa6dccd9a575de746bcdcf0e0fc2db8f5ee36e730bcf814e0fd1291a739dd33260be7219f11c44a SHA512 580f8a6c7a1fe04132789b60ce4cb4db39f980590731e18b9c2cd7727d59efdd5250fbe80704a4542f8876d8fdc89cc048b669259e8170a28350157901bc14c4
DIST VirtualBox-6.0.16-135674-Linux_amd64.run 127251928 BLAKE2B a0aa634be851ba5620ae89b0c324204aa4a069c1480fe0d7effcb3796900b688d39f1204778e16e407c266d06583d3531e7831b789de238bab380160a9821036 SHA512 d3cdd40a5f7d2bc1537244db1dd5c5cb58a5b7df527952c1abcd5bd701afd59dd77ec1aa90489cd7640fe88a01aac9b20cc8522750f534a5d11af6f7e125482c
DIST VirtualBox-6.1.2-135662-Linux_amd64.run 117165515 BLAKE2B cb2aeda9997d8b5f6cfc353e95532fe687362efde03256d6136b8546a74b0a87b9fdc0e9e273c1cde7f226951af7cf5d02218c68b962573ccc80ae94be987c0d SHA512 0775a5085b4eeba5244df3896afe270c79873da2e87038566bfab63f1552b90e235e20dff5703c6faac44f1c5c4ecbfac64c29608edd8b217bf34fb08cdc1999
DIST VirtualBox-6.0.20-137117-Linux_amd64.run 127231448 BLAKE2B 2fa6307add56b318708cdb88615aa15e39577f43c0d65e74037d6f184a3937144ae8f5abcf217809776dd19e4f3141e5bb78adadebc0be63d47bc69786cfa0c7 SHA512 9ac9b893c7cad4dc58833f6132ec0da6564a11112d8bef881bf1dab584abf046e167513c2e4c4ed3c5ce2e4b845c9cf99721fda657b2993b5692eb4ca15d2f5b
DIST VirtualBox-6.1.4-136177-Linux_amd64.run 117185995 BLAKE2B 4ce483efd27c3183024f7baa3e07c1d6484767ba957582cad3111359c9d5b24b293f3b860ea566eb1bbc383710cb81b27b4e39c2aa24c9cc56dc6ba593fd1adb SHA512 14609ff7c76e93b561763456fc92dc3d3ed8d0c556af1ea0906abfb88a8fce9b8da6f392f3146945d03c7874f78d3f1f61df563c9f0160ef3315f30c286316e6
DIST VirtualBox-6.1.6-137129-Linux_amd64.run 110530008 BLAKE2B 9f2f2e65ace7bc5919dcaba23b0a979a1b246af65722fd955dfb6110bda0fc119f9388e8d404bbdbf00bd8a96c25c505dc7a3589fc98680cdb115f1c1327936d SHA512 a4ea1a37bcbc70a9be3bf201dac06e31bb5d8e4dd9d9f04fb8f2fc6387c6ae165c0812d357062e1593a2d5a6d7902ba068984bc8658750df49d991025b96dc05
DIST VirtualBoxSDK-5.2.32-132073.zip 10200195 BLAKE2B 0de34e166b94889c605014233142887e7a8857d1915866156a0cc63850937730ec063e63b550f0d39ad241259158f033b028dbab7eec3f6f38c3715139413b3a SHA512 ccbe2af819bff46055bd6f079a03d69e721a09286e83d4f650583bc7692f5d19ae1a725cf3a6eb1b75167a2c73ff2e020d1f932bf9cfeee9ee709d1174c4cabf
DIST VirtualBoxSDK-5.2.36-135684.zip 10203411 BLAKE2B 241dca39482d620063476b86514d3b71d69b3187be15fdf8774ee3fc34ff98ac66ba97baebe4cc107727a07594d3c124c05867a7f62661cf11bc6bd43528cdba SHA512 646bc84b605c236ecf9c38fd14cfc5f2d1ddf72a874482dd9a0f799bc099e3c2ca11512607d988c411495fcf12495ea49e0fabea2ca04a22e73efecb94928190
DIST VirtualBoxSDK-5.2.40-137108.zip 10201020 BLAKE2B db4a2fd69fdc3ab4201c086c15f14144dd1f75e87d13c4493aaeaf2b69e06a599623416e17a3715c9836b7b7bf36aaba34c06e27ddd70900ca6c5fdd43e311e1 SHA512 15bf89ca622396a5b2f66fb42762959548e8d0b2e0bd3b63223bcccff449f5c094af0315deecae167e105276915fb6b2e61a1f71465be4e85b52a58e313a2830
DIST VirtualBoxSDK-6.0.16-135674.zip 10803791 BLAKE2B 2b8507cf5143370ab753f55b27c1890ded25b1ed28457bb8ba094f2b2fa7e813d0605a25c5adbcbe828aec34c9fe7526e7a60c2e1cfc1085a611959474016280 SHA512 c7b811b89d6fa892c86c60e41922051d75ff079c9868eaf3b454aca73b3de77aa9361422216668203d105c910fffa94bd7b4bae4243c769660209c979009d7fe
DIST VirtualBoxSDK-6.1.2-135662.zip 11174224 BLAKE2B 54ca9c127b15ab2917d9150313ae3c779efa80e07440f8e24694f14440120a415b35aa0b906de4b03330dd9c73c9dcb978bb0a1b39e438f39f46da4dfa4ddc3a SHA512 4011690019ae7804d85cdbf2c1649588472ef0db019c54507f30cb319cb28ffe27a36bc8ee59d4f1cba60c9a04f0f52096ac0596c826e8a5bb4bba1a7941e134
DIST VirtualBoxSDK-6.0.20-137117.zip 10803680 BLAKE2B aaec9c6b9f0d758528f8490920bc98c594e8aa2bd241f941e9093553d5353b4999f4041519198740344da92af3d7fb7992dcb6945a55d5471d9952a76daea4f5 SHA512 b2574f7d93c3d92a09a2cd18f68db3ac78d5c51d454cc322800b0d8555c4fdb541b5c797e11795dda51f5998f98dc9ed4839b836f4c64f8f95211b6ae71c198d
DIST VirtualBoxSDK-6.1.4-136177.zip 11173848 BLAKE2B 816b18bcfe2cde169dca3c5f3e89854b61f2bb7b59d28749f994c8f9a60e18c5f1cbe659c53c7a3b49a0bcb90959c0cd0b36c2254879f735e835b463927b2190 SHA512 e7b2a0dc892a9989cd0142edad131d0cf4240029d98f80a230e3e401be3a6f1d8c82c810b19b7e865946145b77cd87d91602adc640c182a2dfbdae1c21821a48
DIST VirtualBoxSDK-6.1.6-137129.zip 11176791 BLAKE2B 9ad2592604e9b007c8d302d8efb67a3b5e069549bca7e6330a417d1c719e2de533e0f429909f95cfb77a5633eb806955c4ae4113ad6707af33854b7605215531 SHA512 d46549657fd8f2eb95196c310a9d81163fb231ce663ac7e24e1e8ac15b5830b25188c547db91fdca5b9524c2ba340f0b638e34863f8e26b4d118bf832b7f99bf

@ -9,12 +9,11 @@ inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
@ -30,11 +29,12 @@ SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
@ -49,7 +49,7 @@ DEPEND="app-arch/unzip
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MY_PV,,}
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
@ -181,7 +181,7 @@ src_install() {
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
@ -191,7 +191,7 @@ src_install() {
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
@ -204,21 +204,19 @@ src_install() {
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
@ -258,9 +256,9 @@ src_install() {
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
@ -285,7 +283,5 @@ pkg_postinst() {
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -49,6 +49,7 @@ DEPEND="app-arch/unzip
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib

@ -49,6 +49,7 @@ DEPEND="app-arch/unzip
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MY_PV,,}
!headless? (
dev-libs/glib

@ -1,5 +1,7 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68

@ -0,0 +1,42 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -0,0 +1,43 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,9 +1,12 @@
DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d
DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42

@ -11,11 +11,10 @@ MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.0_rc1-patches-01.tar.xz"
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="X"
@ -48,41 +47,53 @@ BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
src_unpack() {
unpack ${A}
# Provide kernel sources
pushd src/VBox/Additions &>/dev/null || die
ebegin "Extracting guest kernel module sources"
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
eend
popd &>/dev/null || die
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user

@ -3,7 +3,7 @@
EAPI=7
inherit linux-mod systemd user toolchain-funcs
inherit linux-mod systemd toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
@ -11,7 +11,7 @@ MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.16-patches-01.tar.xz"
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.20-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
@ -19,7 +19,11 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
@ -174,13 +178,6 @@ src_install() {
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then

@ -3,7 +3,7 @@
EAPI=7
inherit linux-mod systemd user toolchain-funcs
inherit linux-mod systemd toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
@ -19,7 +19,11 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
@ -173,13 +177,6 @@ src_install() {
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then

@ -1,5 +1,7 @@
DIST vbox-kernel-module-src-5.2.32.tar.xz 642428 BLAKE2B 0dda5cb5608c1eed22bea209564d53c5f7eab58ca620db2cc441e3c1ba9ad66609c4ef13df07fd29b691f2941a070f9852e8729cd386081df6a82ede345f33c5 SHA512 fadedab690cb7dee8b9a6747ed711d924bf3bce8999b24e7b64cb8738c53c2fa7372b1a8e8535e7e4ef0235aec02d4a3f1f67cd07d7621934fab684c5163329e
DIST vbox-kernel-module-src-5.2.36.tar.xz 643160 BLAKE2B 50f1aee4d56c8b78a5e7512cb843b4e36137c38b160ca0419b2061892f29a98edaa266afb8f94ee0952e4c8af57b41da24a7d70b43a5adf5c5a15b2a4ac867b9 SHA512 b8aa3e8de1573ac728dc00d85ffbb0c25cdb118af92f16f7a4c1a7d394526b8f3005aab1b4422af6251bdafb958c6dc86b31f13c1f35116c8ff39a9288aed277
DIST vbox-kernel-module-src-5.2.40.tar.xz 644200 BLAKE2B 0083423831bcec17f4960747c3ae939a8b4a5d2f89d6f09ad88308b078035bc6f068314d2c74182c9bb7ea0007e9c6a5b3eaa8f48ce58330294a78f66ed3faa5 SHA512 b62359104fdd0a1fd2b506cec2e4b71fa9582f1a89088d3a45791835981e1cd2e0895861b688cfbd7306454aa66c18bcd1444b26181f084b7af69f43d3e9b499
DIST vbox-kernel-module-src-6.0.16.tar.xz 669392 BLAKE2B 19e718097ee4da75c8dc3b565735f0a378d94547911ec89af52d8dccb36d67391a2f6700575c374552cd4fc4eb8a7e3d6618a800380e473429bd3759e0d1f9c0 SHA512 8979da4cba07c9095778864af0fd29c0acf10d71ea587819954a349e8c193a03b2268bf80dca9004803d8cf2a40974994fcd1f2c6e2ac657b5032f6c04977793
DIST vbox-kernel-module-src-6.1.2.tar.xz 664844 BLAKE2B 4fbdbac98558309c4dd1a25e44f061e2c7386c418f40b0da364914d58cf69048d9c3b1693fb75ce590c63280e79a124433ce7ff4f8f08e327ab67c5d55a163cf SHA512 f26e38a35b0cbf3ca51d98299ea2018641a35c17df5b1bc8a50352738afaafcc95efc9e61efc7d7406e203f3e514125b8afd8ed4406c190f82fe83934a042158
DIST vbox-kernel-module-src-6.0.20.tar.xz 670656 BLAKE2B ccd4130272545e57fa64f56adcc3b16d96dac2e6e44f8057a447fddb9c51e3be7729298b835b7e335a7d0e58e0603d96ee084547375a331209cf6fa3751868cd SHA512 fa7fd8dbff39bf65852522481c4725be7aeedb3052f7a628f15defd78dd8353ae3466a294f25bc51b555db9da774ad8ca756fa8d01f45af250ab57f7e2ce7193
DIST vbox-kernel-module-src-6.1.4.tar.xz 664412 BLAKE2B b4cfe5b2792c8f5dc2bf6038f69e32d07aaead358b144e154806f404bcc0ffbb72d470db265b96f41ca714edc0588ce06748054b8358675c24848614253a7cfb SHA512 bb247a8d2450694937095bc9c263554f805c51676e2da726f124ce4f775c69bedab95286e8d00686e04c1d8fff67f6335aa29f51a0c0ec00b862ad4e56fe290c
DIST vbox-kernel-module-src-6.1.6.tar.xz 667048 BLAKE2B 00cdddc108d54cb829e771eac1c95f254e97465960b50f6f95595cf4f25485146d9d807de903152f3472a9e57246379f15ea82f6464fc00053e4b6b6e9dbeebe SHA512 5fb91051d6f41c25f4ac642249f2dac289c06134d3815578c094db089dc36903a573913933c34d32e8bbf5d704f7225eabb849fd559430247a89a713f059012e

@ -15,7 +15,6 @@ SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
@ -54,3 +53,7 @@ src_install() {
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -6,7 +6,7 @@
EAPI=7
inherit linux-mod toolchain-funcs user
inherit linux-mod toolchain-funcs
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
@ -24,13 +24,18 @@ RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
@ -48,9 +53,3 @@ src_install() {
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
# Remove vboxpci.ko from current running kernel
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
linux-mod_pkg_postinst
}

@ -6,7 +6,7 @@
EAPI=7
inherit linux-mod toolchain-funcs user
inherit linux-mod toolchain-funcs
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
@ -30,7 +30,6 @@ MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}

@ -1,10 +1,12 @@
DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42
DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d
DIST virtualbox-6.1.14-patches-01.tar.xz 2344 BLAKE2B cb89af8ffe0ecaa54929349abfb1541ca8630063d8282e773e4c66c3eec3ed108328b1ee81247d997981e5d49792b4019e1358b270c3622508b62e647c544ae4 SHA512 b08c2f66a050270a5c8b4d7264b1cf0afaf7809c3888c48a9b55ac75f0906bdb6bc28eef136ce032c777a810f2ce0a3cf6bb3df0259e5a6737f9ecc3ea708bba

@ -1,10 +1,10 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=6
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
@ -13,17 +13,14 @@ MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.0_rc1-patches-01.tar.xz"
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
@ -31,6 +28,7 @@ CDEPEND="
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
media-libs/opus
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
@ -54,28 +52,17 @@ CDEPEND="
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
DEPEND="
${CDEPEND}
alsa? ( >=media-libs/alsa-lib-1.0.13 )
!headless? ( x11-libs/libXinerama )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
"
BDEPEND="
${PYTHON_DEPS}
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
@ -85,12 +72,16 @@ BDEPEND="
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
"
RDEPEND="
${CDEPEND}
java? ( >=virtual/jre-1.6 )
"
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
@ -166,7 +157,7 @@ src_prepare() {
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
@ -197,7 +188,7 @@ src_prepare() {
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
@ -206,6 +197,7 @@ src_prepare() {
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
@ -227,7 +219,6 @@ src_configure() {
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus '' --disable-libopus)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
@ -270,16 +261,18 @@ src_compile() {
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
@ -295,11 +288,11 @@ src_install() {
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
@ -307,7 +300,12 @@ src_install() {
insinto ${vbox_inst_path}
doins -r components
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 iPxeBaseBin ; do
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
@ -317,18 +315,20 @@ src_install() {
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
@ -343,27 +343,23 @@ src_install() {
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst rdesktop-vrdp
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
@ -371,7 +367,7 @@ src_install() {
doins -r nls
doins -r UnattendedTemplates
domenu ${PN}.desktop
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
@ -403,8 +399,8 @@ src_install() {
doins -r sdk
if use java ; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
@ -434,15 +430,13 @@ src_install() {
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
insinto ${extensions_dir}
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${extensions_dir}
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
@ -453,12 +447,9 @@ src_install() {
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
@ -492,13 +483,14 @@ pkg_postinst() {
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -13,7 +13,7 @@ MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.16-patches-01.tar.xz"
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.20-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
@ -24,6 +24,7 @@ IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel puls
CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PV="${PV/beta/BETA}"
@ -13,7 +13,7 @@ MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.0_rc1-patches-01.tar.xz"
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.14-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
@ -267,6 +267,7 @@ src_compile() {
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
VBOX_WITH_VBOXIMGMOUNT=1 \
all
}
@ -308,7 +309,7 @@ src_install() {
insinto ${vbox_inst_path}
doins -r components
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 iPxeBaseBin ; do
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
vbox_inst ${each}
done
@ -333,6 +334,7 @@ src_install() {
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
if use pam ; then
# VRDPAuth only works with this (bug #351949)

Binary file not shown.

@ -1,11 +0,0 @@
Adapt to binutils-2.29 API change caused by
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=003ca0fd22863aaf1a9811c8a35a0133a2d27fb1
diff --git a/linux/bfd.c b/linux/bfd.c
index bcd247f..e9e16ab 100644
--- a/linux/bfd.c
+++ b/linux/bfd.c
@@ -163,3 +163,3 @@ void arch_bfdDisasm(pid_t pid, uint8_t * mem, size_t size, char *instr)
- disassembler_ftype disassemble = disassembler(bfdh);
+ disassembler_ftype disassemble = disassembler(bfd_get_arch(bfdh), bfd_little_endian(bfdh), bfd_get_mach(bfdh), bfdh);
if (disassemble == NULL) {

@ -1,5 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -29 +29 @@ HFUZZ_CC_SRCS := hfuzz_cc/hfuzz-cc.c
-COMMON_CFLAGS := -D_GNU_SOURCE -Wall -Werror -Wno-format-truncation -I.
+COMMON_CFLAGS := -D_GNU_SOURCE -Wall -Wno-format-truncation -I.

@ -1,22 +0,0 @@
--- a/linux/bfd.c
+++ b/linux/bfd.c
@@ -122,8 +122,8 @@ void arch_bfdDemangle(funcs_t* funcs, size_t funcCnt) {
static struct bfd_section* arch_getSectionForPc(bfd* bfdh, uint64_t pc) {
for (struct bfd_section* section = bfdh->sections; section; section = section->next) {
- uintptr_t vma = (uintptr_t)bfd_get_section_vma(bfdh, section);
- uintptr_t sz = (uintptr_t)bfd_get_section_size(section);
+ uintptr_t vma = (uintptr_t)bfd_section_vma(section);
+ uintptr_t sz = (uintptr_t)bfd_section_size(section);
if ((pc > vma) && (pc < (vma + sz))) {
return section;
}
@@ -160,7 +160,7 @@ void arch_bfdResolveSyms(pid_t pid, funcs_t* funcs, size_t num) {
continue;
}
- long sec_offset = (long)funcs[i].pc - bfd_get_section_vma(bfdParams.bfdh, section);
+ long sec_offset = (long)funcs[i].pc - bfd_section_vma(section);
if (bfd_find_nearest_line(
bfdParams.bfdh, section, bfdParams.syms, sec_offset, &file, &func, &line) == TRUE) {

Binary file not shown.

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="xml(+),sqlite?"
DISTUTILS_USE_SETUPTOOLS=no

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="xml(+),sqlite?"
DISTUTILS_USE_SETUPTOOLS=no

Binary file not shown.

@ -1,2 +0,0 @@
#arguments for run erlang
command_args="-relaxed_command_check -address 127.0.0.1"

@ -12,5 +12,4 @@ DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe59
DIST go1.12.17.src.tar.gz 20725913 BLAKE2B 2eef7374195302656268a42409619445dfeb3ede1f9218ae4eab195916876b97f7510cc62585a0bfdd9f86dddf8a74000032a84b29bc9891d84fc69db94f0274 SHA512 069f8f445d9d2268ebb14b2446fab34843d56283c04561636d122fd8b4c1ea0b63640a84437db7a7be71039440ffe170cd3f8025b03b0acf95f2a56fa2febec6
DIST go1.13.10.src.tar.gz 21702804 BLAKE2B 586494604455594c552d25a207634d70ae7f5ad142e18e22f5ef462c6488327cc01630c0bc99a4ede9dee0d649982802cf79f34f35ad7f810ca0701c35a7d555 SHA512 9e020dd89ab6201c4cbb893caecc0b077d5fbb2e10381e1b76a29ddc18c141d8db67a1b0f607ed915b0e9c40c4fb2c65b0319472535892534a31ad962e72fe05
DIST go1.13.9.src.tar.gz 21700289 BLAKE2B 7c58dd89d164913dc85c8dc9e8b86798daad8bd58936b0ced21d3c084e0488306577273a6fa748bfee505fd38b90727a3cd9ab4ceebc1e62a0490b992cfa5bbe SHA512 0034ec394141e2c19941bf839cad93992c175476e3f3fa7b483c919aeea01fa4e0136eb8dd87a3158b911c04ded98a3c4960975a13280f1be076eb8f51464a98
DIST go1.14.1.src.tar.gz 22451159 BLAKE2B 2b45716cdc82edb94609143bcbb79b313ff3b6b1cc9e0791236a8d968a2fc1d84015037a2cfb75e5b73dac4974b97a1e62f1fd1f5afe0dc633137b73ab15004a SHA512 f0112fbf984e2764cd90d42b2f844b986b421adf8bf68551cccefeb320db7f3490ab1532f770f20c943c68c7185ce139c8248991adb0529527358ffdc8047ad9
DIST go1.14.2.src.tar.gz 22454649 BLAKE2B edd8a1081e7da6988532b9fefe6d6f789a7d336562d61d5e585a8b881fb45d77721bee9837ae79318295471aea138e175650c2138175a587f0b7957988e8e209 SHA512 3f6804e1a60df6a7c55c294fe4147b2d6f028c619ad4ae5b1ae8793c6be637a1e6a62721cc7ce0b28918ab3441a89fa9acda72cb5450bf5af8d7872411d28015

@ -151,7 +151,7 @@ src_compile()
fi
cd src
./make.bash || die "build failed"
./make.bash -v || die "build failed"
}
src_test()

@ -1,197 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
MY_PV=${PV/_/}
inherit toolchain-funcs
case ${PV} in
*9999*)
EGIT_REPO_URI="https://github.com/golang/go.git"
inherit git-r3
;;
*)
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
S="${WORKDIR}"/go
case ${PV} in
*_beta*|*_rc*) ;;
*)
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# The upstream tests fail under portage but pass if the build is
# run according to their documentation [1].
# I am restricting the tests on released versions until this is
# solved.
# [1] https://golang.org/issues/18442
RESTRICT="test"
;;
esac
esac
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
HOMEPAGE="https://golang.org"
LICENSE="BSD"
SLOT="0/${PV}"
BDEPEND="|| (
dev-lang/go
dev-lang/go-bootstrap )"
RDEPEND="!<dev-go/go-tools-0_pre20150902"
# These test data objects have writable/executable stacks.
QA_EXECSTACK="
usr/lib/go/src/debug/elf/testdata/*.obj
usr/lib/go/src/*.gox
"
# Do not complain about CFLAGS, etc, since Go doesn't use them.
QA_FLAGS_IGNORED='.*'
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
# Do not strip this package. Stripping is unsupported upstream and may
# fail.
RESTRICT+=" strip"
DOCS=(
AUTHORS
CONTRIBUTING.md
CONTRIBUTORS
PATENTS
README.md
)
go_arch()
{
# By chance most portage arch names match Go
local portage_arch=$(tc-arch $@)
case "${portage_arch}" in
x86) echo 386;;
x64-*) echo amd64;;
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
s390) echo s390x ;;
*) echo "${portage_arch}";;
esac
}
go_arm()
{
case "${1:-${CHOST}}" in
armv5*) echo 5;;
armv6*) echo 6;;
armv7*) echo 7;;
*)
die "unknown GOARM for ${1:-${CHOST}}"
;;
esac
}
go_os()
{
case "${1:-${CHOST}}" in
*-linux*) echo linux;;
*-darwin*) echo darwin;;
*-freebsd*) echo freebsd;;
*-netbsd*) echo netbsd;;
*-openbsd*) echo openbsd;;
*-solaris*) echo solaris;;
*-cygwin*|*-interix*|*-winnt*)
echo windows
;;
*)
die "unknown GOOS for ${1:-${CHOST}}"
;;
esac
}
go_tuple()
{
echo "$(go_os $@)_$(go_arch $@)"
}
go_cross_compile()
{
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
}
src_compile()
{
if has_version -b dev-lang/go; then
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
elif has_version -b dev-lang/go-bootstrap; then
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
else
eerror "Go cannot be built without go or go-bootstrap installed"
die "Should not be here, please report a bug"
fi
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
export GOROOT="$(pwd)"
export GOBIN="${GOROOT}/bin"
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
export GOHOSTARCH=$(go_arch ${CBUILD})
export GOHOSTOS=$(go_os ${CBUILD})
export CC=$(tc-getBUILD_CC)
export GOARCH=$(go_arch)
export GOOS=$(go_os)
export CC_FOR_TARGET=$(tc-getCC)
export CXX_FOR_TARGET=$(tc-getCXX)
if [[ ${ARCH} == arm ]]; then
export GOARM=$(go_arm)
fi
cd src
./make.bash || die "build failed"
}
src_test()
{
go_cross_compile && return 0
cd src
PATH="${GOBIN}:${PATH}" \
./run.bash -no-rebuild || die "tests failed"
}
src_install()
{
local bin_path f x
dodir /usr/lib/go
# There is a known issue which requires the source tree to be installed [1].
# Once this is fixed, we can consider using the doc use flag to control
# installing the doc and src directories.
# [1] https://golang.org/issue/2775
#
# deliberately use cp to retain permissions
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
if go_cross_compile; then
bin_path="bin/$(go_tuple)"
else
bin_path=bin
fi
for x in ${bin_path}/*; do
f=${x##*/}
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
done
einstalldocs
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_name for test object (binutils_test) on Darwin, it
# is never used in real circumstances
local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
install_name_tool -id "${libmac64}" "${D}${libmac64}"
fi
}

@ -137,7 +137,7 @@ src_compile()
fi
cd src
./make.bash || die "build failed"
./make.bash -v || die "build failed"
}
src_test()

@ -22,12 +22,6 @@ case ${PV} in
*_beta*|*_rc*) ;;
*)
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# The upstream tests fail under portage but pass if the build is
# run according to their documentation [1].
# I am restricting the tests on released versions until this is
# solved.
# [1] https://golang.org/issues/18442
RESTRICT="test"
;;
esac
esac
@ -43,17 +37,9 @@ BDEPEND="|| (
dev-lang/go-bootstrap )"
RDEPEND="!<dev-go/go-tools-0_pre20150902"
# These test data objects have writable/executable stacks.
QA_EXECSTACK="
usr/lib/go/src/debug/elf/testdata/*.obj
usr/lib/go/src/*.gox
"
# Do not complain about CFLAGS, etc, since Go doesn't use them.
QA_FLAGS_IGNORED='.*'
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
@ -151,7 +137,7 @@ src_compile()
fi
cd src
./make.bash || die "build failed"
./make.bash -v || die "build failed"
}
src_test()
@ -161,6 +147,9 @@ src_test()
cd src
PATH="${GOBIN}:${PATH}" \
./run.bash -no-rebuild || die "tests failed"
cd ..
rm -fr pkg/*_race || die
rm -fr pkg/obj/go-build || die
}
src_install()
@ -176,6 +165,8 @@ src_install()
#
# deliberately use cp to retain permissions
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
# testdata directories are not needed on the installed system
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
if go_cross_compile; then
bin_path="bin/$(go_tuple)"
else

@ -18,7 +18,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"

@ -19,7 +19,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"

Binary file not shown.

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
MY_PV=${PV/_p/-}
MY_P=${PN}-${MY_PV}

@ -1,16 +0,0 @@
cellRow and cellCol need to be of a type larger than WORD.
Otherwise for for documents with 65535 columns condition
loops forever in the following line:
for (cellRow = 0; cellRow <= pWS->rows.lastrow; cellRow++) {
In this case <= 65535 is always true.
https://bugs.gentoo.org/607094 has an example doc of this kind.
diff --git a/libxls/src/xls2csv.c b/libxls/src/xls2csv.c
index b804267..1f0d4b3 100644
--- a/src/xls2csv.c
+++ b/src/xls2csv.c
@@ -104,3 +104,3 @@ int main(int argc, char *argv[]) {
struct st_row_data* row;
- WORD cellRow, cellCol;
+ DWORD cellRow, cellCol;

@ -0,0 +1,64 @@
Origin: Based on patch from Petr Písař <ppisar@redhat.com>
Date: Tue, 13 Jun 2017 15:29:15 +0200
--- a/php/redland-post.i
+++ b/php/redland-post.i
@@ -132,8 +132,11 @@ librdf_php_world_init(void)
exception_ce = zend_exception_get_default();
INIT_CLASS_ENTRY(ee_ce, "RedlandException", NULL);
redland_exception_ptr = zend_register_internal_class_ex(&ee_ce,
- exception_ce,
- NULL TSRMLS_CC);
+ exception_ce
+#if PHP_MAJOR_VERSION < 7
+ ,NULL TSRMLS_CC
+#endif
+ );
#endif
memset(&librdf_php_locator, '\0', sizeof(raptor_locator));
--- a/php/redland-typemap.i
+++ b/php/redland-typemap.i
@@ -1,17 +1,17 @@
-%typemap(in) librdf_uri* %{
- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
+%typemap(in) librdf_uri %{
+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
/* Allow NULL from php for librdf_uri* */
- if ((*$input)->type==IS_NULL)
+ if ($input->type==IS_NULL)
$1=NULL;
else
SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
}
%}
-%typemap(in) librdf_node* %{
- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
+%typemap(in) librdf_node %{
+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
/* Allow NULL from php for librdf_node* */
- if ((*$input)->type==IS_NULL)
+ if ($input->type==IS_NULL)
$1=NULL;
else
SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
--- a/php/test.php
+++ b/php/test.php
@@ -26,11 +26,9 @@
/* ------------------------------------------------------------------------ */
print "Testing Redland...\n";
-$dlls = array("redland.so", "php_redland.dll", "redland.dylib", "redland.bundle");
-foreach ($dlls as $dll) {
- if(file_exists($dll)) {
- dl($dll);
- }
+if (extension_loaded('redland') !== true) {
+ print "Redland extension not loaded. Cannot run tests!" . PHP_EOL;
+ exit(1);
}
$world=librdf_php_get_world();

@ -0,0 +1,77 @@
--- a/configure.ac
+++ b/configure.ac
@@ -58,7 +58,6 @@ AC_CHECK_PROGS(TAR, gnutar gtar tar)
AC_CHECK_PROGS(LUA, lua)
AC_CHECK_PROGS(PYTHON, python)
AC_CHECK_PROGS(PERL, perl)
-AC_CHECK_PROGS(PHP, php)
AC_CHECK_PROGS(RUBY, ruby)
AC_CHECK_PROGS(SWIG, swig)
# Gnome
@@ -153,15 +152,28 @@ if test "X$LUA_VERSION" != X; then
fi
fi
+dnl Find php-config script.
+AC_ARG_WITH([php-config],
+ [AS_HELP_STRING([--with-php-config=PATH], [Path to php-config [php-config]])],
+ [with_php_config=${withval}],
+ [with_php_config=php-config])
+
+if test "${with_php_config}" = "php-config"; then
+ AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
+elif test -x "${with_php_config}"; then
+ PHP_CONFIG=${with_php_config}
+ AC_SUBST(PHP_CONFIG)
+ AC_MSG_NOTICE([found ${PHP_CONFIG}])
+fi
-AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
if test "X$PHP_CONFIG" != X ; then
+ PHP_VERSION=`${PHP_CONFIG} --version`
+ PHP_INCLUDES=`${PHP_CONFIG} --includes`
+ PHP_EXTENSION_DIR=`${PHP_CONFIG} --extension-dir`
- PHP_VERSION=`$PHP_CONFIG --version`
- PHP_INCLUDES=`$PHP_CONFIG --includes`
- PHP_EXTENSION_DIR=`$PHP_CONFIG --extension-dir`
-
- if test $PHP_VERSION '>' 5.0.0; then
+ if test $PHP_VERSION '>' 7; then
+ PHP_SWIG="-php7"
+ elif test $PHP_VERSION '>' 5.0.0; then
PHP_SWIG="-php5"
else
PHP_SWIG="-php4"
@@ -200,6 +212,8 @@ if test "X$PHP_CONFIG" != X ; then
AC_MSG_RESULT(compile '$PHP_CFLAGS' link '$PHP_LDFLAGS' suffix $PHP_SO_SUFFIX)
else
+ AC_MSG_WARN([php-config not found])
+
# This allows 'make clean' in the php directory to work when
# php isn't available
PHP=:
@@ -445,13 +459,17 @@ if test "X$with_php" != Xno ; then
with_php=yes
fi
-PHP_VERSION=`php-config --version 2>/dev/null`
-if test "X$PHP_VERSION" != X; then
- languages_available="$languages_available php($PHP_VERSION)"
- if test $with_php = yes; then
- languages="$languages php"
+if test "X${PHP_VERSION}" != "X"; then
+ languages_available="$languages_available php(${PHP_VERSION})"
+fi
+
+if test ${with_php} = yes; then
+ if test "X${PHP_VERSION}" = "X"; then
+ AC_MSG_ERROR([Failed to detect PHP version])
fi
+ languages="$languages php"
fi
+
AC_MSG_RESULT($with_php)
AC_SUBST(PHP_VERSION)

@ -0,0 +1,126 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_6 python3_7 python3_8 )
USE_PHP="php7-2 php7-3 php7-4"
PHP_EXT_ECONF_ARGS="--with-php=yes --without-lua --without-perl --without-python --without-ruby"
PHP_EXT_NAME="redland"
PHP_EXT_OPTIONAL_USE="php"
PHP_EXT_SKIP_PATCHES="yes"
PHP_EXT_SKIP_PHPIZE="yes"
inherit php-ext-source-r3 python-single-r1 autotools
DESCRIPTION="Language bindings for Redland"
HOMEPAGE="http://librdf.org/bindings/"
SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-linux ~ppc-macos"
IUSE="lua perl python php ruby"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND="sys-apps/sed
virtual/pkgconfig"
RDEPEND=">=dev-libs/redland-1.0.14
lua? ( >=dev-lang/lua-5.1 )
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
ruby? ( dev-lang/ruby dev-ruby/log4r )
php? (
php_targets_php7-2? ( dev-lang/php:7.2[-threads] )
php_targets_php7-3? ( dev-lang/php:7.3[-threads] )
php_targets_php7-4? ( dev-lang/php:7.4[-threads] )
)"
DEPEND="${RDEPEND}
>=dev-lang/swig-2"
PATCHES=(
"${FILESDIR}"/${P}-bool.patch
"${FILESDIR}"/${PN}-1.0.17.1-php-config-r1.patch
"${FILESDIR}"/${PN}-1.0.17.1-add-PHP7-support.patch
)
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_prepare() {
default
eautoreconf
use php && php-ext-source-r3_src_prepare
}
src_configure() {
if use lua || use perl || use python || use ruby ; then
econf \
$(use_with lua) \
$(use_with perl) \
$(use_with python) \
--without-php \
$(use_with ruby)
fi
use php && php-ext-source-r3_src_configure
}
src_compile() {
if use lua || use perl || use python || use ruby ; then
default
fi
use php && php-ext-source-r3_src_compile
}
src_test() {
if use lua || use perl || use python || use ruby ; then
default
fi
if use php ; then
local slot
for slot in $(php_get_slots) ; do
php_init_slot_env "${slot}"
cd php || die
${PHPCLI} -v
${PHPCLI} -d "extension=./${PHP_EXT_NAME}.so" -f test.php || die "PHP tests for ${slot} failed!"
cd "${S}" || die
done
fi
}
src_install() {
if use lua || use perl || use python || use ruby ; then
emake DESTDIR="${D}" INSTALLDIRS=vendor luadir=/usr/$(get_libdir)/lua/5.1 install
fi
if use perl; then
find "${ED}" -type f -name perllocal.pod -delete
find "${ED}" -depth -mindepth 1 -type d -empty -delete
fi
use python && python_optimize
if use php; then
local slot
for slot in $(php_get_slots); do
php_init_slot_env "${slot}"
exeinto "${EXT_DIR#$EPREFIX}"
doexe "php/${PHP_EXT_NAME}.so"
done
php-ext-source-r3_createinifiles
fi
local DOCS=( AUTHORS ChangeLog NEWS README TODO )
local HTML_DOCS=( {NEWS,README,RELEASE,TODO}.html )
einstalldocs
}

Binary file not shown.

@ -3,7 +3,7 @@
EAPI=5
PYTHON_COMPAT=( python2_7 python3_{6,7} )
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
inherit distutils-r1

@ -0,0 +1 @@
DIST distlib-0.3.0.tar.bz2 848089 BLAKE2B 70f88b570229e2ab4c95bd8da0375aba189f66dec8defcf8eedf1be6924d93bd20b54c68e5fba867a6c68a31d4ef926ee2dc18ccb0391278680f30a62d0cd251 SHA512 01b0e7d59736414a241efdf883e4ee63eafe9614ce3b4147781a5750d25d6383543146c5277e3e0d3e11ce03693afd0331c6e3416776a6f84de7a4d9dadf3de4

@ -0,0 +1,51 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} pypy3 )
inherit distutils-r1 vcs-snapshot
DESCRIPTION="Low-level components of distutils2/packaging"
HOMEPAGE="https://pypi.org/project/distlib/
https://bitbucket.org/pypa/distlib/"
# pypi has zip only :-(
SRC_URI="
https://bitbucket.org/pypa/distlib/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
distutils_enable_tests setup.py
src_prepare() {
# this test assumes pristine venv with no system packages
sed -e 's:test_dependency_finder:_&:' \
-i tests/test_locators.py || die
# no clue but it looks horribly fragile
sed -e 's:test_sequencer_basic:_&:' \
-i tests/test_util.py || die
# TODO: investigate
sed -e 's:test_upload:_&:' \
-i tests/test_index.py || die
# these require Internet
sed -e 's:test_search:_&:' \
-i tests/test_index.py || die
sed -e 's:test_aggregation:_&:' \
-e 's:test_all:_&:' \
-e 's:test_dist_reqts:_&:' \
-e 's:test_json:_&:' \
-e 's:test_prereleases:_&:' \
-e 's:test_scraper:_&:' \
-i tests/test_locators.py || die
sed -e 's:test_package_data:_&:' \
-i tests/test_util.py || die
# doesn't work with our patched pip
sed -e '/PIP_AVAIL/s:True:False:' \
-i tests/test_wheel.py || die
distutils-r1_src_prepare
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
</pkgmetadata>

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6..7} )
PYTHON_COMPAT=( python3_{6..8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7} pypy3 )
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
inherit distutils-r1

@ -1 +1,2 @@
DIST pytest-timeout-1.3.3.tar.gz 11627 BLAKE2B e20348cc461ad03e95c22a16e753b72441ee70da9769214f4d07db15818a8997339ced47244b15de62a61107eb749dff8d6f41ddb4720c925ef1e6eb9962db27 SHA512 633f5aee550d568e403b958f4490ecb828eb322811c9f18cfefb26613be4fc36da14232ecbef8666fcf2dc693a93674c00a853ab546ea8328a07ea34da79fb84
DIST pytest-timeout-1.3.4.tar.gz 12255 BLAKE2B c8991e0255a490048f43e1163d0315cb8fabfaf9d96deb476e2d59da7efce8c63da09b1e8e6f9d6f3fe82b3c6f67608b5e5db117e6378a041ca6e5ba9c71fc05 SHA512 29af25f3c3776d9ef63c6b7217ffc6b0cedd873b8cc96be742a642da84d12c8988bb9b409e00850246e554b21908d6fd2207692650b154cf6831f38c4395bc80

@ -0,0 +1,25 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} pypy3 )
inherit distutils-r1
DESCRIPTION="py.test plugin to abort hanging tests"
HOMEPAGE="https://pypi.org/project/pytest-timeout/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
python_test() {
distutils_install_for_testing
pytest -vv || die "Tests fail with ${EPYTHON}"
}

@ -16,4 +16,5 @@ KEYWORDS="~amd64 ~arm ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=""
DEPEND="dev-python/cython[${PYTHON_USEDEP}]"
DEPEND="dev-python/cython[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]"

@ -3,7 +3,9 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_IN_SOURCE_BUILD=1
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Python Bindings for TagLib"
@ -17,14 +19,10 @@ KEYWORDS="amd64 ppc ppc64 ~sparc x86"
IUSE="examples"
RDEPEND="
dev-libs/boost:=[python,threads,${PYTHON_USEDEP}]
>=dev-libs/boost-1.70:=[python,threads,${PYTHON_USEDEP}]
>=media-libs/taglib-1.8
"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"
DISTUTILS_IN_SOURCE_BUILD=1
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/${P}-taglib-1.8.patch" )
@ -35,15 +33,10 @@ python_prepare_all() {
python_configure() {
local boostpy_ver="${EPYTHON#python}"
if has_version ">=dev-libs/boost-1.70"; then
boostpy_ver="${boostpy_ver/\.}"
else
boostpy_ver="-${boostpy_ver}"
fi
"${PYTHON}" configure.py \
--taglib-inc-dir="${EPREFIX}/usr/include/taglib" \
--boost-python-libname="boost_python${boostpy_ver}"
--boost-python-libname="boost_python${boostpy_ver/\.}"
}
python_install_all() {

@ -1,2 +1,3 @@
DIST virtualenv-16.0.0.tar.gz 1968312 BLAKE2B efc25f7c12335bb8619c3de125af3693d73afc5e7ff4edf1afa95227360ab4d0eb2ffb574b9bb36de26a2bda65b1f06009308fef48b12a81050bbc1f4ab852e9 SHA512 aed6eff9b85107072c321b37c1725987d474caf615734ab40d8d1fa60f2635be1a1919a47fbd211127e38cf1c4002548c778df29fc56d45a4570b31906c0ee54
DIST virtualenv-16.7.9.tar.gz 5116740 BLAKE2B 10b77c4d74d3b1be60d567caf60b48274893777313d7151350df1d8a7d86d7cbd299c6c04734cbad134512e2ea05f5bc694648b6e9307019ffd9b91f7d0cdaf5 SHA512 d7379941e299c44beba30eaab68d5f1a6650f767b24f95d5e8abd05c1529dca4c1423113a41ff42690bb2b2bd4fe05c3e47a8fed4f9df0972188f6c77034436b
DIST virtualenv-20.0.18.tar.gz 7982748 BLAKE2B f759ff1c42aaf9229e3f8dedd7b50df12e3a7616f979e18a5a91d58afd190beea86c67e0f7c530ba327427f3a4967ab27d7b922723c9ce92cba844946f8eb8ff SHA512 9295acb4d21da13c93fcf2a73244137a6fd8384313cf2685b67295f3be8cf33aaf6d22fc9ba4fa93dbfd81429eeaf4eb46d752fb717f0f74c172a754b92d41e6

@ -0,0 +1,84 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} pypy3 )
DISTUTILS_USE_SETUPTOOLS=manual
inherit distutils-r1
DESCRIPTION="Virtual Python Environment builder"
HOMEPAGE="
https://virtualenv.pypa.io/en/stable/
https://pypi.org/project/virtualenv/
https://github.com/pypa/virtualenv/
"
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/appdirs-1.4.3[${PYTHON_USEDEP}]
>=dev-python/distlib-0.3.0[${PYTHON_USEDEP}]
>=dev-python/filelock-3[${PYTHON_USEDEP}]
>=dev-python/setuptools-41[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/contextlib2-0.6.0[${PYTHON_USEDEP}]
>=dev-python/pathlib2-2.3.3[${PYTHON_USEDEP}]
' -2)
$(python_gen_cond_dep '
>=dev-python/importlib_metadata-0.12[${PYTHON_USEDEP}]
' -2 python3_{6,7} pypy3)
$(python_gen_cond_dep '
>=dev-python/importlib_resources-1.0[${PYTHON_USEDEP}]
' -2 python3_6 pypy3)"
# coverage is used somehow magically in virtualenv, maybe it actually
# tests something useful
BDEPEND="${RDEPEND}
test? (
dev-python/coverage[${PYTHON_USEDEP}]
>=dev-python/pip-20.0.2[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pytest-timeout-1.3.4[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
' -3)
)"
distutils_enable_sphinx docs \
dev-python/sphinx_rtd_theme \
dev-python/towncrier
distutils_enable_tests pytest
src_prepare() {
# we don't have xonsh
rm tests/unit/activation/test_xonsh.py || die
# TODO: investigate
sed -e 's:test_cross_major:_&:' \
-i tests/unit/create/test_creator.py || die
distutils-r1_src_prepare
}
src_configure() {
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
}
python_test() {
# TODO: fix/skip with more granularity tests on pypy3
if has "${EPYTHON}" pypy3 python2.7; then
einfo "Skipping broken tests on pypy3"
continue
fi
distutils_install_for_testing
pytest -vv || die "Tests fail with ${EPYTHON}"
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save