Fixes for Kernel >= 4.14 | libcdio-1.0.0

This commit is contained in:
layman 2017-11-26 21:44:02 +01:00
parent 9ecf863008
commit 49378e8b72
20 changed files with 927 additions and 0 deletions

View File

@ -0,0 +1,11 @@
AUX create_vbox_modules_tarball.sh 896 SHA256 4309bbf762e05ae09a2b92a737abddb89807b5a36f587178d7ac7f6ad4d91316 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771 WHIRLPOOL 761079d4ba0124488be9cc78305eef6c6df18d232c539ff4479caf3f04ea307e043c92a5f4099c7745a4e23741ce28259e87dd79bce8cee6862ef5e0661b2497
AUX virtualbox-modules-4.1.4-pax-const.patch 2335 SHA256 d23da93fa1a3b7833766caa8329745ed7de7a5ed6ce1fecb090325fdc83e42f3 SHA512 8f5ffcd53f34e616b895013660e269e6031837411471abf69711df4fd5d745299dcb08d361eda0979dcfde7d9aafa0d24c99fcc9f3875fbf35771945f6b224a1 WHIRLPOOL b875d0747bdf3c2970d9dc84c7e4f6fac1bd37b85ba6086a981397c8b506a7af2709fa94317896650fd9ae98921d40f399e589b851eb2da2f9854eb1f443930c
AUX virtualbox-modules-5.1.10-ALIGN-backport.patch 384 SHA256 f5116b4974777336a723fce3c0614381d87ccfadb172b0ea606a87a0bad3310e SHA512 2557f8dbec2771ee1c9dd6d8c2e3d96b514da19e23d2d8e8b485191dbd5b5faa77fd28ab2d6d17b8da39017f19ca139eada2120d1da12c0b28f44f92812132b6 WHIRLPOOL 94ca5abe44d3130f367077c23d55b114b9b77d41d56db12c846cd97e5e426733310a2b96acd2a1d712c3b0fa73215e1f0133ad58b4de5297055698bc9f507661
AUX virtualbox-modules-5.1.28-udp.patch 1238 SHA256 69a5be1e6bf6b27d33af8dba2ef017a9da738b3e3e656577e5d39b324915c40e SHA512 79e6444b64db1da2aea727233de91ce6ff6075eb8bea1098ca8430445a50b50c036aa9e27317c568bdb6b7f22bb8fa177e97caaea1701c06a9709ee8a3133a51 WHIRLPOOL c1f143cc0beff05b3b5e6427503077203b0bd4a87eb8b0dc3369a6ee57a29d1d7ca208e7f40911332fabd4c67be2b0fa63bf74569dc9e38beff9919bc877e170
AUX virtualbox-modules-5.1.30-timer-setup.patch 1686 SHA256 9fddfaf9aa9a684332b1ab9cb05ab0d69a384300c8f8d7644510698058ed96bd SHA512 6f827fe6be4be6a5d1b96b0d745f78381b0dbbcbf6d448372a50103d1d3dc83e891af5d3996a89095b834cf86be659a6f3e863bbb12211774245a7905f6a56b7 WHIRLPOOL dcb3caab91c29646dc0a44604e2d29ff3505bc8ba888bbb403fdd66c65edcab897c6989521da4d45ab515ae0c52cd7b746061dd3b891a348ec8d7047e94a7984
AUX virtualbox-modules-linux-4.12_1_of_2.patch 2748 SHA256 5d8559d3ed17e5280affb69720af328045d8858e4f513da7c92f23f206ac349b SHA512 21a3a287dddc76219e8786b4951dfe810d515b9df5b75537ad0bf97f1899250124892d6a9ed167065af68af3f0df29f81e5000a73ccd2f7e3baebb375b100b76 WHIRLPOOL 5047474bb56c80a3d35e3323b3ca89886d6427403028e163595fcc1624f5d2fea4f3e8fdfc7ae5fc51ed2f82093e648e4fdb0952f0331aa6d55f62def970b3fc
AUX virtualbox-modules-linux-4.12_2_of_2.patch 3254 SHA256 9396f821927924c859d85b6ea0a7a69dd4abc51d101cb3df6abca34cfd7007c9 SHA512 ff31c0d7075f680838202d133604b9ddd8ae36bee3c0ac2c2580e5839ebd427eea6184ed260492fe6d32791e659938d57d44fdb7b8f211ce91a9472d15d35449 WHIRLPOOL ef5b71d84249b05e38593ed9a18bf3c031b25e59f03bfceb810d449cfabd4f828210153fe4413590d93e3c39e21da54ab0fb71303ef3914493623d26c47d7f62
AUX virtualbox.conf 38 SHA256 eb1ba5b5f8a2b795e3b050105a2f24cb5df9d392c6c4a3a9756e17f74ffeb146 SHA512 b61936fff57426d31efa6928eadb572cafe40a65d3e31a0eecb53dc784ba9d0a9e0ad5e419df74418b977f89c17873240c38e2ada95949e5252d879110d6094a WHIRLPOOL cadd73f81d8ddb545fb31ec2328103f998e5754d6f7fe63de7e72987992d49cb84c309b52e852cc221c078a39f1ec542662fc68b200478a6cec8e12881aee8bb
DIST vbox-kernel-module-src-5.1.30.tar.xz 625424 SHA256 879b1bc45b9f1a3fd929d2fd2e67dcaffe4074839f6364bf0e64618bfe2b3b2e SHA512 8e2113584e63e2ace71b708dc77428fd09167a1bded12b47312a5a8f85ef448e17f76b4300dba4c8ec99d7f8cb278cef039c6282c676e35b8f200bafb5c4770a WHIRLPOOL aa6fc3a0516514c2ca0c39ea28200559582fdd648e96084a5ca1daabfd1f478312199576ad27336eba124b443fbe122364efde2c60ca3386872cd1274333f4df
EBUILD virtualbox-modules-5.1.30.ebuild 1821 SHA256 c757fceef11df23acc1b1be36c0bcbd317f25dce3c69d9d614da8b68e2d1ebb3 SHA512 5c033c92a411cfd2324c7b1da9a3d9ff13914b4140e0adea047109b4461a2986c1bd6989931e02c38e314de71e52ed3075753626a7ab766724c37f2cad845c8c WHIRLPOOL 521d87b405bba898458e3ef5e30ad32d8ce94629416aed409f698c65781315d60741363002cd80078484c8f4cf0f9473880dcd36b3f2b9481c6c20646915d297
MISC metadata.xml 502 SHA256 0d9c3daad11ea6f866d7600d188621b46992e253faaff2041c2d05206daac239 SHA512 399c87acfd980b7dc29b42d7eeeead868bc8e9efc085f23aa97507d9da6f4af272e747172c4d5d6c1dfe15dc125193a72a5d6ca47ec82615345e239ff26246e4 WHIRLPOOL 080399fd9fb91197af76e134ef7081c8f6fe04ddf00b09c206bd8b3f45a3e558235ce63e25917602e2bba95a974e5f6818f1e7b9e596a4e37cc961c271671b3d

View File

@ -0,0 +1,29 @@
#!/bin/bash
# Create a virtualbox modules tarball from a VirtualBox binary package.
# We cannot download the package by this script because of the unpredictable
# build number being in the filename.
#
# usage: create_vbox_modules_tarball.sh VirtualBox-4.1.18-78361-Linux_amd64.run
[ -f "$1" ] || exit 1
VBOX_PACKAGE="$1"
VERSION_SUFFIX=""
if [[ ${VBOX_PACKAGE} = *_BETA* ]] || [[ ${VBOX_PACKAGE} = *_RC* ]] ; then
VERSION_SUFFIX="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-[[:digit:]\.]\+\(_[[:alpha:]]\+[[:digit:]]\).*@\L\1@')"
fi
VBOX_VER="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-\([[:digit:]\.]\+\).*@\1@')${VERSION_SUFFIX}"
sh ${VBOX_PACKAGE} --noexec --keep --nox11 || exit 2
cd install || exit 3
tar -xaf VirtualBox.tar.bz2 || exit 4
cd src/vboxhost || exit 5
tar -cvJf ../../../vbox-kernel-module-src-${VBOX_VER}.tar.xz . || exit 6
cd ../../.. && rm install -rf
exit 0

View File

@ -0,0 +1,48 @@
diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h
--- vboxdrv.orig/SUPDrvIDC.h 2011-09-06 15:53:27.852567531 +0200
+++ vboxdrv/SUPDrvIDC.h 2011-09-06 15:54:05.420565524 +0200
@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM
{
/** The symbol address. */
PFNRT pfnSymbol;
- } Out;
+ } __no_const Out;
} u;
} SUPDRVIDCREQGETSYM;
/** Pointer to a SUPDRV IDC get symbol request. */
diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h
--- vboxnetflt.orig/include/VBox/intnet.h 2011-09-06 15:53:27.852567531 +0200
+++ vboxnetflt/include/VBox/intnet.h 2011-09-06 15:54:05.424565524 +0200
@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY
DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName,
PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags,
PINTNETTRUNKIFPORT *ppIfPort));
-} INTNETTRUNKFACTORY;
+} __no_const INTNETTRUNKFACTORY;
/** Pointer to the trunk factory. */
typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY;
diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-linux.c
--- vboxnetflt.orig/linux/VBoxNetFlt-linux.c 2011-07-19 12:15:22.000000000 +0200
+++ vboxnetflt/linux/VBoxNetFlt-linux.c 2011-09-06 15:56:00.516559379 +0200
@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE;
# else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
-typedef struct net_device_ops OVR_OPSTYPE;
+typedef net_device_ops_no_const OVR_OPSTYPE;
# define OVR_OPS netdev_ops
# define OVR_XMIT pOrgOps->ndo_start_xmit
diff -urp vboxpci.orig/include/VBox/rawpci.h vboxpci/include/VBox/rawpci.h
--- vboxpci.orig/include/VBox/rawpci.h 2011-04-18 17:01:12.000000000 +0200
+++ vboxpci/include/VBox/rawpci.h 2011-09-06 15:57:17.340555277 +0200
@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY
DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory,
PVM pVM,
PRAWPCIPERVM pPciData));
-} RAWPCIFACTORY;
+} __no_const RAWPCIFACTORY;
#define RAWPCIFACTORY_UUID_STR "ea089839-4171-476f-adfb-9e7ab1cbd0fb"

View File

@ -0,0 +1,12 @@
Index: trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
===================================================================
--- a/vboxdrv/SUPDrvInternal.h
+++ b/vboxdrv/SUPDrvInternal.h
@@ -65,7 +65,4 @@
# include <linux/modversions.h>
# endif
-# endif
-# if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 0)
-# undef ALIGN
# endif
# ifndef KBUILD_STR

View File

@ -0,0 +1,35 @@
diff --git a/work/vboxnetflt/linux/VBoxNetFlt-linux.c b/work/vboxnetflt/linux/VBoxNetFlt-linux.c
index f824654..b61d82c 100644
--- work/vboxnetflt/linux/VBoxNetFlt-linux.c
+++ work/vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -126,6 +126,10 @@ typedef struct VBOXNETFLTNOTIFIER *PVBOXNETFLTNOTIFIER;
# endif
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
+#define SKB_GSO_UDP 0
+#endif
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
# define VBOX_HAVE_SKB_VLAN
#else
diff --git a/work/vboxpci/linux/VBoxPci-linux.c b/work/vboxpci/linux/VBoxPci-linux.c
index 2dbf47f..e361ef3 100644
--- work/vboxpci/linux/VBoxPci-linux.c
+++ work/vboxpci/linux/VBoxPci-linux.c
@@ -353,12 +353,16 @@ static void vboxPciFileClose(struct file* file)
static int vboxPciFileWrite(struct file* file, unsigned long long offset, unsigned char* data, unsigned int size)
{
int ret;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
+ ret = kernel_write(file, data, size, &offset);
+#else
mm_segment_t fs_save;
fs_save = get_fs();
set_fs(get_ds());
ret = vfs_write(file, data, size, &offset);
set_fs(fs_save);
+#endif
if (ret < 0)
printk(KERN_DEBUG "vboxPciFileWrite: error %d\n", ret);

View File

@ -0,0 +1,35 @@
diff --git a/work/vboxdrv/r0drv/linux/timer-r0drv-linux.c b/work/vboxdrv/r0drv/linux/timer-r0drv-linux.c
index 2bb2bfb..3b4a508 100644
--- work/vboxdrv/r0drv/linux/timer-r0drv-linux.c
+++ work/vboxdrv/r0drv/linux/timer-r0drv-linux.c
@@ -720,9 +720,9 @@ static enum hrtimer_restart rtTimerLinuxHrCallback(struct hrtimer *pHrTimer)
*
* @param ulUser Address of the sub-timer structure.
*/
-static void rtTimerLinuxStdCallback(unsigned long ulUser)
+static void rtTimerLinuxStdCallback(struct timer_list *t)
{
- PRTTIMERLNXSUBTIMER pSubTimer = (PRTTIMERLNXSUBTIMER)ulUser;
+ PRTTIMERLNXSUBTIMER pSubTimer = from_timer(pSubTimer,t,u.Std.LnxTimer);
PRTTIMER pTimer = pSubTimer->pParent;
RTTIMERLNX_LOG(("stdcallback %p\n", pTimer));
@@ -1584,6 +1584,10 @@ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_t u64NanoInterval, uint32_
else
#endif
{
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
+ timer_setup(&pTimer->aSubTimers[iCpu].u.Std.LnxTimer,rtTimerLinuxStdCallback,TIMER_PINNED);
+#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
init_timer_pinned(&pTimer->aSubTimers[iCpu].u.Std.LnxTimer);
#else
@@ -1591,6 +1595,7 @@ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_t u64NanoInterval, uint32_
#endif
pTimer->aSubTimers[iCpu].u.Std.LnxTimer.data = (unsigned long)&pTimer->aSubTimers[iCpu];
pTimer->aSubTimers[iCpu].u.Std.LnxTimer.function = rtTimerLinuxStdCallback;
+#endif
pTimer->aSubTimers[iCpu].u.Std.LnxTimer.expires = jiffies;
pTimer->aSubTimers[iCpu].u.Std.u64NextTS = 0;
}

View File

@ -0,0 +1,60 @@
diff -ru3 vbox-kernel-module-src-5.1.22.old/vboxdrv/include/iprt/string.h vbox-kernel-module-src-5.1.22/vboxdrv/include/iprt/string.h
--- vbox-kernel-module-src-5.1.22.old/vboxdrv/include/iprt/string.h 2017-04-05 16:52:55.000000000 +0300
+++ vbox-kernel-module-src-5.1.22/vboxdrv/include/iprt/string.h 2017-07-05 01:25:52.712343705 +0300
@@ -32,11 +32,7 @@
#include <iprt/stdarg.h>
#include <iprt/err.h> /* for VINF_SUCCESS */
#if defined(RT_OS_LINUX) && defined(__KERNEL__)
- RT_C_DECLS_BEGIN
-# define new newhack /* string.h: strreplace */
# include <linux/string.h>
-# undef new
- RT_C_DECLS_END
#elif defined(IN_XF86_MODULE) && !defined(NO_ANSIC)
RT_C_DECLS_BEGIN
diff -ru3 vbox-kernel-module-src-5.1.22.old/vboxnetadp/include/iprt/string.h vbox-kernel-module-src-5.1.22/vboxnetadp/include/iprt/string.h
--- vbox-kernel-module-src-5.1.22.old/vboxnetadp/include/iprt/string.h 2017-04-05 16:52:55.000000000 +0300
+++ vbox-kernel-module-src-5.1.22/vboxnetadp/include/iprt/string.h 2017-07-05 01:25:52.712343705 +0300
@@ -32,11 +32,7 @@
#include <iprt/stdarg.h>
#include <iprt/err.h> /* for VINF_SUCCESS */
#if defined(RT_OS_LINUX) && defined(__KERNEL__)
- RT_C_DECLS_BEGIN
-# define new newhack /* string.h: strreplace */
# include <linux/string.h>
-# undef new
- RT_C_DECLS_END
#elif defined(IN_XF86_MODULE) && !defined(NO_ANSIC)
RT_C_DECLS_BEGIN
diff -ru3 vbox-kernel-module-src-5.1.22.old/vboxnetflt/include/iprt/string.h vbox-kernel-module-src-5.1.22/vboxnetflt/include/iprt/string.h
--- vbox-kernel-module-src-5.1.22.old/vboxnetflt/include/iprt/string.h 2017-04-05 16:52:55.000000000 +0300
+++ vbox-kernel-module-src-5.1.22/vboxnetflt/include/iprt/string.h 2017-07-05 01:25:52.712343705 +0300
@@ -32,11 +32,7 @@
#include <iprt/stdarg.h>
#include <iprt/err.h> /* for VINF_SUCCESS */
#if defined(RT_OS_LINUX) && defined(__KERNEL__)
- RT_C_DECLS_BEGIN
-# define new newhack /* string.h: strreplace */
# include <linux/string.h>
-# undef new
- RT_C_DECLS_END
#elif defined(IN_XF86_MODULE) && !defined(NO_ANSIC)
RT_C_DECLS_BEGIN
diff -ru3 vbox-kernel-module-src-5.1.22.old/vboxpci/include/iprt/string.h vbox-kernel-module-src-5.1.22/vboxpci/include/iprt/string.h
--- vbox-kernel-module-src-5.1.22.old/vboxpci/include/iprt/string.h 2017-04-05 16:52:55.000000000 +0300
+++ vbox-kernel-module-src-5.1.22/vboxpci/include/iprt/string.h 2017-07-05 01:25:52.712343705 +0300
@@ -32,11 +32,7 @@
#include <iprt/stdarg.h>
#include <iprt/err.h> /* for VINF_SUCCESS */
#if defined(RT_OS_LINUX) && defined(__KERNEL__)
- RT_C_DECLS_BEGIN
-# define new newhack /* string.h: strreplace */
# include <linux/string.h>
-# undef new
- RT_C_DECLS_END
#elif defined(IN_XF86_MODULE) && !defined(NO_ANSIC)
RT_C_DECLS_BEGIN

View File

@ -0,0 +1,93 @@
diff -ruN vboxhost.orig/vboxdrv/linux/SUPDrv-linux.c vboxhost/vboxdrv/linux/SUPDrv-linux.c
--- vboxhost.orig/vboxdrv/linux/SUPDrv-linux.c 2016-08-22 00:00:00.000000000 +0200
+++ vboxhost/vboxdrv/linux/SUPDrv-linux.c 2017-05-31 19:00:22.887324690 +0200
@@ -1397,7 +1397,7 @@
SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void)
{
uint32_t fFlags = 0;
-#ifdef CONFIG_PAX_KERNEXEC
+#if defined(CONFIG_PAX_KERNEXEC) || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
fFlags |= SUPKERNELFEATURES_GDT_READ_ONLY;
#endif
#if defined(VBOX_STRICT) || defined(VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV)
diff -ruN vboxhost.orig/vboxdrv/r0drv/linux/alloc-r0drv-linux.c vboxhost/vboxdrv/r0drv/linux/alloc-r0drv-linux.c
--- vboxhost.orig/vboxdrv/r0drv/linux/alloc-r0drv-linux.c 2016-08-22 00:00:00.000000000 +0200
+++ vboxhost/vboxdrv/r0drv/linux/alloc-r0drv-linux.c 2017-05-31 19:03:32.465413475 +0200
@@ -35,7 +35,10 @@
#include <iprt/assert.h>
#include <iprt/err.h>
#include "r0drv/alloc-r0drv.h"
-
+#include <linux/kmemleak.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+#include <asm/set_memory.h>
+#endif
#if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP)
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
diff -ruN vboxhost.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c vboxhost/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
--- vboxhost.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c 2017-02-02 16:54:00.000000000 +0100
+++ vboxhost/vboxdrv/r0drv/linux/memobj-r0drv-linux.c 2017-05-31 19:23:05.187059423 +0200
@@ -899,6 +899,9 @@
unsigned long pfn;
struct page *pPage;
pte_t *pEntry;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ p4d_t p4d;
+#endif
union
{
pgd_t Global;
@@ -917,9 +920,18 @@
u.Global = *pgd_offset(current->active_mm, ulAddr);
if (RT_UNLIKELY(pgd_none(u.Global)))
return NULL;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ p4d = *p4d_offset(&u.Global, ulAddr);
+ if (RT_UNLIKELY(p4d_none(p4d) || p4d_large(p4d) || !p4d_present(p4d)))
+ return NULL;
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ u.Upper = *pud_offset(&p4d, ulAddr);
+#else
u.Upper = *pud_offset(&u.Global, ulAddr);
+#endif
if (RT_UNLIKELY(pud_none(u.Upper)))
return NULL;
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
@@ -1463,13 +1475,23 @@
{
int rc = -ENOMEM;
pgd_t *pgd;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ p4d_t *p4d;
+#endif
spin_lock(&mm->page_table_lock);
pgd = pgd_offset(mm, ulAddr);
if (!pgd_none(*pgd) && !pgd_bad(*pgd))
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ p4d = p4d_offset(*pgd, ulAddr);
+ if (p4d_none(*p4d))
+ goto exit;
+ pmd_t *pmd = pmd_offset(p4d, ulAddr);
+#else
pmd_t *pmd = pmd_offset(pgd, ulAddr);
+#endif
if (!pmd_none(*pmd))
{
pte_t *ptep = pte_offset_map(pmd, ulAddr);
@@ -1487,6 +1509,9 @@
}
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+exit:
+#endif
spin_unlock(&mm->page_table_lock);
return rc;
}

View File

@ -0,0 +1,4 @@
vboxnetflt
vboxnetadp
vboxdrv
vboxpci

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>polynomial-c@gentoo.org</email>
<name>Lars Wendler</name>
</maintainer>
<maintainer type="person">
<email>masterzorag@gmail.com</email>
<description>Proxy maintainer. CC him on bugs</description>
</maintainer>
<use>
<flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,69 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=6
inherit eutils linux-mod user
MY_P=vbox-kernel-module-src-${PV}
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="http://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S=${WORKDIR}
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
pkg_setup() {
enewgroup vboxusers
CONFIG_CHECK="!TRIM_UNUSED_KSYMS"
ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly."
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if kernel_is -ge 2 6 33 ; then
# evil patch for new kernels - header moved
grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:'
fi
if use pax_kernel && kernel_is -ge 3 0 0 ; then
epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
fi
if kernel_is -ge 4 14 0 ; then
epatch "${FILESDIR}"/virtualbox-modules-5.1.28-udp.patch
epatch "${FILESDIR}"/virtualbox-modules-5.1.30-timer-setup.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
doins "${FILESDIR}"/virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\","
elog "\"vboxnetadp\" and \"vboxpci\" to:"
elog " /etc/conf.d/modules"
}

5
gnome-base/gvfs/Manifest Normal file
View File

@ -0,0 +1,5 @@
AUX gvfs-1.30.2-sysmacros.patch 525 SHA256 fff2f64e7c5c7f2f10e0ff54dc240ee8f06d9be98252c115661b67a67a9ab777 SHA512 9b06683ed3b8ceea1b330e86308c396581ab4c85aa22199ce92acad915bb28f0fed8997558c08b18cb9c5f1bab45e46a1365831acaf1c194e7134e185849dba2 WHIRLPOOL 7a161c9a22dc35f4cb451bbbe1c50f11d0ecf4ee2a604f3e7cd0dea454d0e424f9ee9017a20c348bd18eaefb50d8e51363f83ab08d589bfac30195a57372a1a4
AUX gvfs-1.32.1-libcdio-1.0.0.patch 3013 SHA256 0f79d9797fc5b00054b92b8f3e2b0c3e546d1800ad6215d73b8a570e4bfd6754 SHA512 df49037ee06a61b7d248a96c05e30353254df8be942aa46fa5bd130f0041701cae6c5fe1fa8ff1550002db093180e34cb44e5d56a249c1caa8a42e9e37bf8a5f WHIRLPOOL ff2ba17103b333e9b07c889862135d57120a5d0acb3486fe5a53306c5b8b44eb1ee248cb3a866d1d21d2913698d4d1eb1b6b441350f5aac9ef5c69dbf3e63b7b
DIST gvfs-1.32.1.tar.xz 1813212 SHA256 d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade SHA512 7bd4d137437c1704faf6a9c2712bddcc327284e752c552c2cc18c64beb5e6d291af321e92d02d4f09b619762121129cee82c13ec2a4ca39d045196ebeeb28dd8 WHIRLPOOL 490fab2906896131711e5d8acc9c1a15bbd160b6b02c0472201ff5cc4cdc28c1be83e3603717b038c93e9d1406108aefe2afe1d06e194cf6db5466a8ff77f3b9
EBUILD gvfs-1.32.1.ebuild 3661 SHA256 30a3d81813f90b1f315c4e5820360e57dfa8c96d76953699e3a449afd417d3f8 SHA512 f7977d11c8e6b6c135d6763b2ee8a9975013aa453d771df7c379574eecc5375cea4fca7442ea9d7906e9bac1e5933a549020d8c2ddbf21d35138c73f957bed12 WHIRLPOOL 0b18c721f315661e956b9c7865f39d41873861021ba7b5bbfd59bd6c9f8d0819de026a4d1dbe3169b0ea3d57eac868bf9fa84603e1571bfc5b13b5d47a859fcc
MISC metadata.xml 1542 SHA256 0f1cf1d46c6573378489147f87117ec280c31ba1f35ec49dbe6b4de4c80711d2 SHA512 f6576dfac41a515f2bf1918979e9f7927aea32f7cbd552c6f4f550e573556315eeda16f52262994ffe0ee305545f51845f101e7538e7a5e0f5745f3cc75201b9 WHIRLPOOL 2fd2253dadc101dbeeed35785c8b1db7f66500dd52c6597a81d094dbfb6a376782d37bb69c245e2dc4a16ebe3b882b4562a889cbdb765ab80907db0616f9d3ea

View File

@ -0,0 +1,21 @@
https://bugzilla.gnome.org/show_bug.cgi?id=776532
https://bugs.gentoo.org/580234
--- a/metadata/meta-daemon.c
+++ b/metadata/meta-daemon.c
@@ -27,6 +27,7 @@
#include <glib/gstdio.h>
#include <locale.h>
#include <stdlib.h>
+#include <sys/sysmacros.h>
#include "metatree.h"
#include "gvfsdaemonprotocol.h"
#include "metadata-dbus.h"
--- a/metadata/metatree.c
+++ b/metadata/metatree.c
@@ -1,4 +1,5 @@
#include "config.h"
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>

View File

@ -0,0 +1,69 @@
--- ./daemon/gvfsbackendcdda.c.old 2017-11-23 11:36:19.478546401 -0800
+++ ./daemon/gvfsbackendcdda.c 2017-11-23 11:56:19.734810497 -0800
@@ -142,11 +142,11 @@ release_metadata (GVfsBackendCdda *cdda_
cdda_backend->genre = NULL;
g_list_free_full (cdda_backend->tracks, (GDestroyNotify) track_free);
cdda_backend->tracks = NULL;
}
-#if LIBCDIO_VERSION_NUM < 84
+#if LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1
static char *
cdtext_string_to_utf8 (const char *string)
{
if (string == NULL)
return NULL;
@@ -165,45 +165,45 @@ fetch_metadata (GVfsBackendCdda *cdda_ba
cdio = cdio_open (cdda_backend->device_path, DRIVER_UNKNOWN);
if (!cdio)
return;
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
cdtext = cdio_get_cdtext (cdio);
#else
cdtext = cdio_get_cdtext (cdio, 0);
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
if (cdtext) {
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
cdda_backend->album_title = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, 0));
cdda_backend->album_artist = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, 0));
cdda_backend->genre = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_GENRE, 0));
#else
cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_GENRE, cdtext));
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
}
cdtrack = cdio_get_first_track_num(cdio);
last_cdtrack = cdtrack + cdio_get_num_tracks(cdio);
for ( ; cdtrack < last_cdtrack; cdtrack++ ) {
GVfsBackendCddaTrack *track;
track = g_new0 (GVfsBackendCddaTrack, 1);
-#if LIBCDIO_VERSION_NUM < 84
+#if LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1
cdtext = cdio_get_cdtext (cdio, cdtrack);
-#endif /* LIBCDIO_VERSION_NUM < 84 */
+#endif /* LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1 */
if (cdtext) {
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
track->title = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, cdtrack));
track->artist = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, cdtrack));
#else
track->title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
track->artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
}
track->duration = cdio_get_track_sec_count (cdio, cdtrack) / CDIO_CD_FRAMES_PER_SEC;
cdda_backend->tracks = g_list_append (cdda_backend->tracks, track);
}

View File

@ -0,0 +1,132 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
inherit autotools gnome2 systemd
DESCRIPTION="Virtual filesystem implementation for gio"
HOMEPAGE="https://wiki.gnome.org/Projects/gvfs"
LICENSE="LGPL-2+"
SLOT="0"
IUSE="afp archive bluray cdda fuse google gnome-keyring gnome-online-accounts gphoto2 gtk +http ios mtp nfs policykit samba systemd test +udev udisks zeroconf"
REQUIRED_USE="
cdda? ( udev )
google? ( gnome-online-accounts )
mtp? ( udev )
udisks? ( udev )
systemd? ( udisks )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
RDEPEND="
app-crypt/gcr:=
>=dev-libs/glib-2.51:2
dev-libs/libxml2:2
net-misc/openssh
afp? ( >=dev-libs/libgcrypt-1.2.2:0= )
archive? ( app-arch/libarchive:= )
bluray? ( media-libs/libbluray:= )
fuse? ( >=sys-fs/fuse-2.8.0:0 )
gnome-keyring? ( app-crypt/libsecret )
gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.7.1:= )
google? (
>=dev-libs/libgdata-0.17.7:=[crypt,gnome-online-accounts]
>=net-libs/gnome-online-accounts-3.17.1:= )
gphoto2? ( >=media-libs/libgphoto2-2.5.0:= )
gtk? ( >=x11-libs/gtk+-3.0:3 )
http? ( >=net-libs/libsoup-2.42:2.4 )
ios? (
>=app-pda/libimobiledevice-1.2:=
>=app-pda/libplist-1:= )
mtp? (
>=dev-libs/libusb-1.0.21
>=media-libs/libmtp-1.1.12 )
nfs? ( >=net-fs/libnfs-1.9.8 )
policykit? (
sys-auth/polkit
sys-libs/libcap )
samba? ( >=net-fs/samba-4[client] )
systemd? ( >=sys-apps/systemd-206:0= )
udev? (
cdda? ( dev-libs/libcdio-paranoia )
>=virtual/libgudev-147:=
virtual/libudev:= )
udisks? ( >=sys-fs/udisks-1.97:2 )
zeroconf? ( >=net-dns/avahi-0.6 )
"
DEPEND="${RDEPEND}
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
>=sys-devel/gettext-0.19.4
virtual/pkgconfig
dev-util/gdbus-codegen
dev-util/gtk-doc-am
test? (
>=dev-python/twisted-core-12.3.0
|| (
net-analyzer/netcat
net-analyzer/netcat6 ) )
!udev? ( >=dev-libs/libgcrypt-1.2.2:0 )
"
# libgcrypt.m4, provided by libgcrypt, needed for eautoreconf, bug #399043
# test dependencies needed per https://bugzilla.gnome.org/700162
# Tests with multiple failures, this is being handled upstream at:
# https://bugzilla.gnome.org/700162
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-1.30.2-sysmacros.patch #580234
"${FILESDIR}"/${P}-libcdio-1.0.0.patch
)
src_prepare() {
if ! use udev; then
sed -e 's/gvfsd-burn/ /' \
-e 's/burn.mount.in/ /' \
-e 's/burn.mount/ /' \
-i daemon/Makefile.am || die
# Uncomment when eautoreconf stops being needed always
eautoreconf
fi
gnome2_src_prepare
}
src_configure() {
# --enable-documentation installs man pages
# --disable-obexftp, upstream bug #729945
gnome2_src_configure \
--disable-gdu \
--enable-documentation \
--enable-gcr \
--with-dbus-service-dir="${EPREFIX}"/usr/share/dbus-1/services \
--with-systemduserunitdir="$(systemd_get_userunitdir)" \
$(use_enable afp) \
$(use_enable archive) \
$(use_enable bluray) \
$(use_enable cdda) \
$(use_enable fuse) \
$(use_enable gnome-keyring keyring) \
$(use_enable gnome-online-accounts goa) \
$(use_enable google) \
$(use_enable gphoto2) \
$(use_enable gtk) \
$(use_enable http) \
$(use_enable ios afc) \
$(use_enable mtp libmtp) \
$(use_enable mtp libusb) \
$(use_enable nfs) \
$(use_enable policykit admin) \
$(use_enable samba) \
$(use_enable systemd libsystemd-login) \
$(use_enable udev gudev) \
$(use_enable udev) \
$(use_enable udisks udisks2) \
$(use_enable zeroconf avahi)
}

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<longdescription lang="en">
gvfs is a userspace virtual filesystem designed to work with the i/o
abstractions of gio (a library availible in glib &gt;= 2.15.1). It
installs several modules that are automatically used by applications
using the APIs of libgio. There is also fuse support that allows
applications not using gio to access the gvfs filesystems.
</longdescription>
<use>
<flag name="afp">Enables support for accessing AFP (Apple Filing Protocol) network shares</flag>
<flag name="archive">Enables support for accessing files in archives transparently via <pkg>app-arch/libarchive</pkg></flag>
<flag name="bluray">Enable playback of Blu-ray filesystems using <pkg>media-libs/libbluray</pkg></flag>
<flag name="fuse">Enables fuse mount points in $HOME/.gvfs for legacy application access</flag>
<flag name="gnome-online-accounts">Enable configuration panel for <pkg>net-libs/gnome-online-accounts</pkg> accounts</flag>
<flag name="google">Enables support for accessing Google accounts via <pkg>dev-libs/libgdata</pkg></flag>
<flag name="http">Enable the HTTP/DAV backend using <pkg>net-libs/libsoup</pkg></flag>
<flag name="nfs">Enable NFS client support via <pkg>net-fs/libnfs</pkg>.</flag>
<flag name="udev">Enable udev base replacement code for cdda feature</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,5 @@
AUX audacious-plugins-3.9-libcdio-1.0.0.patch 2123 SHA256 96a3099ef52c574fda3636633bceef04f2f896e7c7a5f0d2c48a8867b25bb237 SHA512 ad6dc10bc107c0e587caeb14dd4465339bfbbf9ed8ff9649e153f621993fe11ee1cdf57c5db46eaf6dcdad27308fc543c04a17cdda857ab16e7d9c2bbe89cb2d WHIRLPOOL 1712b8e27a9a7dfa396afbf3f564a44fa36e198c96b849a695ff2ad7366d1c4c51215b20173b3adaedaf1931680cf726ed17c1e931caf15c9cf5df136faf6b47
DIST audacious-plugins-3.9-gtk3.tar.bz2 1842950 SHA256 2ad7ec156df316a26d77918b9258133a8c08cb2ae78565336cfddb5bd81993bd SHA512 e2529af761bc97e589cac08689b16db657096b1bbfcc802789726ae1b472746025bec1b492de52eef755d7b50574d09b9250761bf701b1ca37f8a0e8db0f207b WHIRLPOOL 576acdaa673d174e956dd17142e70f867d53aec1974660f62f5cb9edd5cd7def334e163384e549e4e8b2393724b3d0ac7c43c6018e1339764b6823689e12a657
DIST audacious-plugins-3.9.tar.bz2 1843084 SHA256 8bf7f21089cb3406968cc9c71307774aee7100ec4607f28f63cf5690d5c927b8 SHA512 00c8c53d69995ca1fedb91c7df609cc6c65b13e1af23b98a2fbda143c02ac554cc2c42c01f1c593af252e36bfb85b6324f2daca8632d3b672c69fb4dead2e3fa WHIRLPOOL e0b7cb6a6fb97d7cd69be4d2efc7867bb8510e6ea94af84055e3c61ffb8b06e716f7ac30b961155d560f4e646b82c7df894a7024cfe68c0ee47c64b9e66e9665
EBUILD audacious-plugins-3.9-r1.ebuild 4540 SHA256 4c9abca78f10ccc2c847fd60af9db24a58cbb19fd2115f7a49065d25c922a3d3 SHA512 2c89dbd2756b5915b31cb3a15e45e3e3982942be9d8bb5ada7fb27259e863bd247c90b92cbed091c305c89755530a5c0ea1ceda8f0eed2e560d943b55dff650f WHIRLPOOL c9319edb06e73024c0456a490f396d7ebc889db07076de1429a8b995d3381f3c598cf6e62a2fefe14d50ff9bb70cac750fb411a9449e88dd5dfc826f0f1dc6e5
MISC metadata.xml 1428 SHA256 dad00cbbfbcd399a36aa7a4549b37e7bbfd09e4e3a20c0d18701f06802d635b2 SHA512 720a609a086b8477062fa836b1e7ac2dcca5e9a0aaac25848fd6a6c69d48fcc8161885ac9bc3c428d81c3e8e1b2256f0343c799cc07e8ceb7ec4fd2ce3d7680d WHIRLPOOL 82a776cdb03df831e48827c31a54441c74f9395f37d7fc63d9842f7e07c5d131051770c0e81773e92ae8293f4a4c871dce313218ff616979c9c1944d2e5dbbfe

View File

@ -0,0 +1,182 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
MY_P="${P/_/-}"
DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
HOMEPAGE="http://audacious-media-player.org/"
inherit eutils
if [[ ${PV} == *9999 ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/audacious-media-player/audacious-plugins.git"
else
SRC_URI="
!gtk3? ( http://distfiles.audacious-media-player.org/${MY_P}.tar.bz2 )
gtk3? ( http://distfiles.audacious-media-player.org/${MY_P}-gtk3.tar.bz2 )"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="aac +adplug alsa ampache aosd bs2b cdda cue ffmpeg flac fluidsynth gnome hotkeys http gme gtk gtk3 jack lame libav
libnotify libsamplerate lirc mms modplug mp3 nls pulseaudio qt5 scrobbler sdl sid sndfile soxr speedpitch vorbis wavpack"
REQUIRED_USE="
^^ ( gtk gtk3 qt5 )
qt5? ( !libnotify )
|| ( alsa jack pulseaudio sdl )
ampache? ( qt5 http )"
# The following plugins REQUIRE a GUI build of audacious, because non-GUI
# builds do NOT install the libaudgui library & headers.
# Plugins without a configure option:
# alarm
# albumart
# delete-files
# ladspa
# playlist-manager
# search-tool
# skins
# vtx
# Plugins with a configure option:
# glspectrum
# gtkui
# hotkey
# notify
# statusicon
RDEPEND="
app-arch/unzip
dev-libs/dbus-glib
dev-libs/glib
dev-libs/libxml2:2
~media-sound/audacious-${PV}[gtk?,gtk3?,qt5?]
aac? ( >=media-libs/faad2-2.7 )
alsa? ( >=media-libs/alsa-lib-1.0.16 )
ampache? ( =media-libs/ampache_browser-1* )
aosd? (
x11-libs/libXrender
x11-libs/libXcomposite
)
bs2b? ( media-libs/libbs2b )
cdda? (
>=media-libs/libcddb-1.2.1
dev-libs/libcdio-paranoia
)
cue? ( media-libs/libcue )
ffmpeg? ( >=virtual/ffmpeg-0.7.3 )
flac? (
>=media-libs/libvorbis-1.0
>=media-libs/flac-1.2.1-r1
)
fluidsynth? ( media-sound/fluidsynth )
http? ( >=net-libs/neon-0.26.4 )
gtk? ( x11-libs/gtk+:2 )
gtk3? ( x11-libs/gtk+:3 )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtwidgets:5
media-libs/adplug
)
jack? (
>=media-libs/bio2jack-0.4
media-sound/jack-audio-connection-kit
)
lame? ( media-sound/lame )
libnotify? ( x11-libs/libnotify )
libsamplerate? ( media-libs/libsamplerate:= )
lirc? ( app-misc/lirc )
mms? ( >=media-libs/libmms-0.3 )
modplug? ( media-libs/libmodplug )
mp3? ( >=media-sound/mpg123-1.12.1 )
pulseaudio? ( >=media-sound/pulseaudio-0.9.3 )
scrobbler? ( net-misc/curl )
sdl? ( media-libs/libsdl2[sound] )
sid? ( >=media-libs/libsidplayfp-1.0.0 )
sndfile? ( >=media-libs/libsndfile-1.0.17-r1 )
soxr? ( media-libs/soxr )
speedpitch? ( media-libs/libsamplerate:= )
vorbis? (
>=media-libs/libvorbis-1.2.0
>=media-libs/libogg-1.1.3
)
wavpack? ( >=media-sound/wavpack-4.50.1-r1 )"
DEPEND="${RDEPEND}
dev-util/gdbus-codegen
virtual/pkgconfig
nls? ( dev-util/intltool )"
S="${WORKDIR}/${MY_P}"
src_unpack() {
if [[ ${PV} == *9999 ]]; then
git-r3_src_unpack
else
default
if use gtk3; then
mv "${MY_P}"{-gtk3,} || die
fi
fi
}
src_prepare() {
epatch "${FILESDIR}"/${P}-libcdio-1.0.0.patch
default
[[ ${PV} == *9999 ]] && eautoreconf
}
src_configure() {
if ! use mp3 ; then
ewarn "MP3 support is optional, you may want to enable the mp3 USE-flag"
fi
econf \
--enable-mpris2 \
--enable-songchange \
--disable-oss4 \
--disable-qtaudio \
--disable-qtglspectrum \
--disable-coreaudio \
--disable-sndio \
$(use_enable aac) \
$(use_enable alsa) \
$(use_enable ampache) \
$(use_enable aosd) \
$(use_enable bs2b) \
$(use_enable cdda cdaudio) \
$(use_enable cue) \
$(use_enable flac) \
$(use_enable fluidsynth amidiplug) \
$(use_enable flac filewriter) \
$(use_enable gme console) \
$(use_enable $(usex gtk gtk gtk3) gtk) \
$(use_enable hotkeys hotkey) \
$(use_enable http neon) \
$(use_enable jack) \
$(use_enable gnome gnomeshortcuts) \
$(use_enable lame filewriter_mp3) \
$(use_enable libnotify notify) \
$(use_enable libsamplerate resample) \
$(use_enable lirc) \
$(use_enable mms) \
$(use_enable modplug) \
$(use_enable mp3 mpg123) \
$(use_enable nls) \
$(use_enable pulseaudio pulse) \
$(use_enable qt5 qt) \
$(use_enable scrobbler scrobbler2) \
$(use_enable sdl sdlout) \
$(use_enable sid) \
$(use_enable sndfile) \
$(use_enable soxr) \
$(use_enable speedpitch) \
$(use_enable vorbis) \
$(use_enable wavpack) \
$(use_with ffmpeg ffmpeg $(usex libav libav ffmpeg))
}

View File

@ -0,0 +1,48 @@
diff -ur audacious-plugins-3.9.orig/src/cdaudio/cdaudio-ng.cc audacious-plugins-3.9/src/cdaudio/cdaudio-ng.cc
--- audacious-plugins-3.9.orig/src/cdaudio/cdaudio-ng.cc 2017-08-20 03:47:43.000000000 +0200
+++ audacious-plugins-3.9/src/cdaudio/cdaudio-ng.cc 2017-11-26 20:57:29.554579385 +0100
@@ -33,7 +33,7 @@
#include <cdio/sector.h>
#include <cdio/cd_types.h>
-#if LIBCDIO_VERSION_NUM >= 90
+#if LIBCDIO_VERSION_NUM >= 90 || LIBCDIO_VERSION_NUM == 1
#include <cdio/paranoia/cdda.h>
#else
#include <cdio/cdda.h>
@@ -540,7 +540,7 @@
if (aud_get_bool ("CDDA", "use_cdtext"))
{
AUDDBG ("getting cd-text information for disc\n");
-#if LIBCDIO_VERSION_NUM >= 90
+#if LIBCDIO_VERSION_NUM >= 90 || LIBCDIO_VERSION_NUM == 1
pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio);
if (pcdtext == nullptr)
#else
@@ -552,7 +552,7 @@
}
else
{
-#if LIBCDIO_VERSION_NUM >= 90
+#if LIBCDIO_VERSION_NUM >= 90 || LIBCDIO_VERSION_NUM == 1
trackinfo[0].performer = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_PERFORMER, 0));
trackinfo[0].name = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_TITLE, 0));
trackinfo[0].genre = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_GENRE, 0));
@@ -568,7 +568,7 @@
bool cdtext_was_available = false;
for (int trackno = firsttrackno; trackno <= lasttrackno; trackno++)
{
-#if LIBCDIO_VERSION_NUM < 90
+#if LIBCDIO_VERSION_NUM < 90 && LIBCDIO_VERSION_NUM != 1
if (aud_get_bool ("CDDA", "use_cdtext"))
{
AUDDBG ("getting cd-text information for track %d\n", trackno);
@@ -583,7 +583,7 @@
if (pcdtext != nullptr)
{
-#if LIBCDIO_VERSION_NUM >= 90
+#if LIBCDIO_VERSION_NUM >= 90 || LIBCDIO_VERSION_NUM == 1
trackinfo[trackno].performer = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_PERFORMER, trackno));
trackinfo[trackno].name = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_TITLE, trackno));
trackinfo[trackno].genre = String (cdtext_get_const (pcdtext, CDTEXT_FIELD_GENRE, trackno));

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zx2c4@gentoo.org</email>
<name>Jason A. Donenfeld</name>
</maintainer>
<maintainer type="project">
<email>sound@gentoo.org</email>
<name>Gentoo Sound project</name>
</maintainer>
<use>
<flag name="adplug">Build with AdPlug (Adlib sound card emulation) support</flag>
<flag name="ampache">Support controlling audacious via <pkg>www-apps/ampache</pkg></flag>
<flag name="aosd">Enable support for Audacious OSD</flag>
<flag name="bs2b">Enable Bauer Bauer stereophonic-to-binaural headphone filter</flag>
<flag name="cue">Support CUE sheets using the libcue library</flag>
<flag name="fluidsynth">Support FluidSynth as MIDI synth backend</flag>
<flag name="gme">Support various gaming console music formats</flag>
<flag name="gtk3">Link against version 3 of the GIMP Toolkit instead of version 2 (x11-libs/gtk+)</flag>
<flag name="hotkeys">Enable support for controlling via hotkeys</flag>
<flag name="http">Support HTTP streams through neon</flag>
<flag name="scrobbler">Build with scrobbler/LastFM submission support</flag>
<flag name="sid">Build with SID (Commodore 64 Audio) support</flag>
<flag name="soxr">Build with SoX Resampler support</flag>
<flag name="speedpitch">Enable speed/pitch effects</flag>
</use>
</pkgmetadata>