aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2017-01-20 15:25:49 +0000
committerStuart Shelton <stuart@shelton.me>2017-01-20 15:25:49 +0000
commitdbc67c747b1f6faa161939e3563cd28731fa0bdf (patch)
tree1847bdc389e72dfc9a8c8c4ca424b8cf0a7056f5 /sys-libs
parentUpdate dev-lang/python-2.7.12 (diff)
downloadsrcshelton-dbc67c747b1f6faa161939e3563cd28731fa0bdf.tar.gz
srcshelton-dbc67c747b1f6faa161939e3563cd28731fa0bdf.tar.bz2
srcshelton-dbc67c747b1f6faa161939e3563cd28731fa0bdf.zip
Update prefix ebuilds with upstream changes
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/db/Manifest3
-rw-r--r--sys-libs/db/db-5.1.29-r1.ebuild6
-rw-r--r--sys-libs/db/files/db-6.2-c++11.patch143
3 files changed, 150 insertions, 2 deletions
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 0a39d8d7..f455fb6d 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -6,5 +6,6 @@ AUX db-4.8.30-rename-atomic-compare-exchange.patch 836 SHA256 8efa8b37d4dbcbeb73
AUX db-5.0.21-enable-dbm-autoconf.patch 1757 SHA256 e4868b2cbdfc881d9822d354e873727bbd824c3aa09c60dd6d6d8102c2bc1323 SHA512 9610b6f7b5ce931737972402b3f1ed453142ab633010e8aa7b61af70685f4707532cce0264576d4bfd0b672f6b8b0ac641198fc593ea000cecf4e836fdd1146d WHIRLPOOL 460eed1a22537245d9efcb883d910fb1b8bb3b2e170067dd24226a2ad3cf695fac0aa915d04530011490a8a61e001b95ffef1c95cc28f48e71ca4588f96d6947
AUX db-5.1-clang-builtins.patch 836 SHA256 2f02b953d32a12ad2c95323dbbeceb9e5c02ee622af9174ca457f0f8540637a5 SHA512 671973b7f38defcb91b76287bd2dca4c55cf2ebfe3e12533882953cc8187fd7cf435d40ab3e4d351e405894d8ca65f04cbf79d18259c49816e77d5c304173c58 WHIRLPOOL edd3a7638fc838ccd9fba3ceab4c3bd175f5473c2a98c1b3d3c595fa49ea12b5f75252a8d18ae9614c0632c46b7bf2b3d937d29e44253ef91e28300b16accb7b
AUX db-5.1.29-rename-atomic-compare-exchange.patch 852 SHA256 a9f9e73018a275079e70d5eb9819d09c7c64356b813992a824aef04b268b1be2 SHA512 8ba96cfc3e484a839b8651214f0769b35273c6235de7e53d5118eb0347f5a477f75e3336a12f1399b7748c6b6ab95aec39c8b813d7b227dd61f37ed4ab52f7d5 WHIRLPOOL 1b2745a6b0897f05071e6e2a938655f0e6d575e5877686e67716d79eb9cc26397c57ef517ad59721dfd2534e29f7143eefb3d352b68610bc6d3e863e64adc47b
+AUX db-6.2-c++11.patch 5042 SHA256 2e9a778c76885e1274e6c761122ad0a26f7b750d27119acb4cc171fa5b55475f SHA512 da37ec833304f041169f3c6b6f7183ba527c46ca255dd81c6daba7854975728c78512dcea48a1f74b1fbbbd9f16d1819c6b9c0c3de7a45dccb843ae90a242317 WHIRLPOOL a90ada2a2566e3abbeaa5864cd03e25640bbf05264608cc4095f2e67ad97a56036286eb9c2a10f36e0173679667dad371245b506bab27b902e08010d35c394c5
DIST db-5.1.29.tar.gz 32188074 SHA256 a943cb4920e62df71de1069ddca486d408f6d7a09ddbbb5637afe7a229389182 SHA512 b3487161cc09dd0aee6117d685d0bc0a58854cf5e96f9e778969a51d3a61b66f8e007b76e584e4ef73f84e07d4418b89c2f6697e34c1ad4072609b11b7b4c5b0 WHIRLPOOL c2c5e335a8ed85f9dd947eb8225148c9633d21f5e17d321a6938b50d4bf061e735563cdbefb8c8aa457923ef80e778f95ad80aba4a92a381432ecf52c2a25353
-EBUILD db-5.1.29-r1.ebuild 6891 SHA256 fce170dfcf20489d4486df5fce260b6e412ad7e334dad840ea7ea031fd587dbd SHA512 2e5b8a85c0c0639697f8227b674ecad40186bf0e95a7d9b620e8093c6340b15b967dc30ab5a28f2d2fc21ff95743a093fa215a70273283c055fc4c2c4892b124 WHIRLPOOL a4d26c737cd559841678fb7bd353f7ee2a4b9786100cd1364cd9d64cfa5d3c90e195af2911d9f67bb2472c259418d0c15f5996876022ceba362b1f98682ef65d
+EBUILD db-5.1.29-r1.ebuild 7091 SHA256 45b47e1c741c6902bf633aec868d69a03121201e4fdcb4bd328684f1acce5701 SHA512 f8295e7a3232cec1a77c3042522ff93d72fe35b00a5fb1f386df6563e0103213046acccd678892b5baf7b45cc2b926e8cfe17c750e341b000ed3db67bb2b0352 WHIRLPOOL 779d03cb21949c883d90a9cbe8663cf7995bfcf841c717ccf982428c1f4871a16aba10209c35db5a93d56f80369b3ccaf004c76c55842d4715583b122e96fd29
diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r1.ebuild
index 831c95c1..bf94452b 100644
--- a/sys-libs/db/db-5.1.29-r1.ebuild
+++ b/sys-libs/db/db-5.1.29-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: d17802613198f13a82fb400d7ec7ccd42d96316c $
# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/db-5.1.29-r1.ebuild,v 1.3 2015/03/20 14:41:50 jlec Exp $
@@ -54,6 +54,10 @@ src_prepare() {
done
epatch "${FILESDIR}"/${PN}-4.8-libtool.patch
epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+ # Set of patches to make this thing compile with C++11, Oracle
+ # promised to fix this for the next release
+ # https://community.oracle.com/thread/3952592
+ epatch "${FILESDIR}"/${PN}-6.2-c++11.patch
pushd dist > /dev/null || die "Cannot cd to 'dist'"
diff --git a/sys-libs/db/files/db-6.2-c++11.patch b/sys-libs/db/files/db-6.2-c++11.patch
new file mode 100644
index 00000000..8f36856b
--- /dev/null
+++ b/sys-libs/db/files/db-6.2-c++11.patch
@@ -0,0 +1,143 @@
+https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch
+
+(from https://community.oracle.com/thread/3952592?start=15&tstart=0)
+
+Removed the atomic_exchange bits since we already have those patched.
+Added an awkward bit to not define store in cplusplus mode in order not
+to trigger a conflict there -- crippling the interface
+
+diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
+index 6a858f7..9f338dc 100644
+--- a/src/dbinc/atomic.h
++++ b/src/dbinc/atomic.h
+@@ -70,7 +70,7 @@ typedef struct {
+ * These have no memory barriers; the caller must include them when necessary.
+ */
+ #define atomic_read(p) ((p)->value)
+-#define atomic_init(p, val) ((p)->value = (val))
++#define atomic_init_db(p, val) ((p)->value = (val))
+
+ #ifdef HAVE_ATOMIC_SUPPORT
+
+@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
+ #define atomic_dec(env, p) (--(p)->value)
+ #define atomic_compare_exchange(env, p, oldval, newval) \
+ (DB_ASSERT(env, atomic_read(p) == (oldval)), \
+- atomic_init(p, (newval)), 1)
++ atomic_init_db(p, (newval)), 1)
+ #else
+ #define atomic_inc(env, p) __atomic_inc(env, p)
+ #define atomic_dec(env, p) __atomic_dec(env, p)
+diff --git a/src/mp/mp_fget.c b/src/mp/mp_fget.c
+index 16de695..d0dcc29 100644
+--- a/src/mp/mp_fget.c
++++ b/src/mp/mp_fget.c
+@@ -649,7 +649,7 @@ alloc: /* Allocate a new buffer header and data space. */
+
+ /* Initialize enough so we can call __memp_bhfree. */
+ alloc_bhp->flags = 0;
+- atomic_init(&alloc_bhp->ref, 1);
++ atomic_init_db(&alloc_bhp->ref, 1);
+ #ifdef DIAGNOSTIC
+ if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
+ __db_errx(env, DB_STR("3025",
+@@ -955,7 +955,7 @@ alloc: /* Allocate a new buffer header and data space. */
+ MVCC_MPROTECT(bhp->buf, mfp->pagesize,
+ PROT_READ);
+
+- atomic_init(&alloc_bhp->ref, 1);
++ atomic_init_db(&alloc_bhp->ref, 1);
+ MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+ alloc_bhp->priority = bhp->priority;
+ alloc_bhp->pgno = bhp->pgno;
+diff --git a/src/mp/mp_mvcc.c b/src/mp/mp_mvcc.c
+index 770bad8..e28cce0 100644
+--- a/src/mp/mp_mvcc.c
++++ b/src/mp/mp_mvcc.c
+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
+ #else
+ memcpy(frozen_bhp, bhp, SSZA(BH, buf));
+ #endif
+- atomic_init(&frozen_bhp->ref, 0);
++ atomic_init_db(&frozen_bhp->ref, 0);
+ if (mutex != MUTEX_INVALID)
+ frozen_bhp->mtx_buf = mutex;
+ else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
+ #endif
+ alloc_bhp->mtx_buf = mutex;
+ MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+- atomic_init(&alloc_bhp->ref, 1);
++ atomic_init_db(&alloc_bhp->ref, 1);
+ F_CLR(alloc_bhp, BH_FROZEN);
+ }
+
+diff --git a/src/mp/mp_region.c b/src/mp/mp_region.c
+index 4952030..47645f8 100644
+--- a/src/mp/mp_region.c
++++ b/src/mp/mp_region.c
+@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
+ MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
+ return (ret);
+ SH_TAILQ_INIT(&htab[i].hash_bucket);
+- atomic_init(&htab[i].hash_page_dirty, 0);
++ atomic_init_db(&htab[i].hash_page_dirty, 0);
+ }
+
+ /*
+@@ -302,7 +302,7 @@ no_prealloc:
+ } else
+ hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
+ SH_TAILQ_INIT(&hp->hash_bucket);
+- atomic_init(&hp->hash_page_dirty, 0);
++ atomic_init_db(&hp->hash_page_dirty, 0);
+ #ifdef HAVE_STATISTICS
+ hp->hash_io_wait = 0;
+ hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
+diff --git a/src/mutex/mut_method.c b/src/mutex/mut_method.c
+index 09353b0..177353c 100644
+--- a/src/mutex/mut_method.c
++++ b/src/mutex/mut_method.c
+@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
+ MUTEX_LOCK(env, mtx);
+ ret = atomic_read(v) == oldval;
+ if (ret)
+- atomic_init(v, newval);
++ atomic_init_db(v, newval);
+ MUTEX_UNLOCK(env, mtx);
+
+ return (ret);
+diff --git a/src/mutex/mut_tas.c b/src/mutex/mut_tas.c
+index 106b161..fc4de9d 100644
+--- a/src/mutex/mut_tas.c
++++ b/src/mutex/mut_tas.c
+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
+
+ #ifdef HAVE_SHARED_LATCHES
+ if (F_ISSET(mutexp, DB_MUTEX_SHARED))
+- atomic_init(&mutexp->sharecount, 0);
++ atomic_init_db(&mutexp->sharecount, 0);
+ else
+ #endif
+ if (MUTEX_INIT(&mutexp->tas)) {
+@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
+ F_CLR(mutexp, DB_MUTEX_LOCKED);
+ /* Flush flag update before zeroing count */
+ MEMBAR_EXIT();
+- atomic_init(&mutexp->sharecount, 0);
++ atomic_init_db(&mutexp->sharecount, 0);
+ } else {
+ DB_ASSERT(env, sharecount > 0);
+ MEMBAR_EXIT();
+--- a/src/dbinc/db.in
++++ b/src/dbinc/db.in
+@@ -2999,7 +2999,9 @@
+ #define fetch(a) __db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a)
+ #define firstkey __db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@
+ #define nextkey(a) __db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a)
++#if !defined(__cplusplus)
+ #define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
++#endif
+
+ /*******************************************************
+ * Hsearch historic interface.