* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2016-04-16 12:48 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2016-04-16 12:48 UTC (permalink / raw
To: gentoo-commits
commit: a2db337ce69b3cfcd76d1e6cd0cce875cd8960cc
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 16 12:45:12 2016 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Apr 16 12:48:48 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2db337c
sys-libs/db: Bump to version 6.2.23
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-libs/db/Manifest | 1 +
sys-libs/db/db-6.2.23.ebuild | 236 +++++++++++++++++++++
.../db/files/db-6.2-jni-check-prefix-first.patch | 38 ++++
3 files changed, 275 insertions(+)
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 838115e..326035d 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -13,6 +13,7 @@ DIST db-5.3.28.tar.gz 35090431 SHA256 e0a992d740709892e81f9d93f06daf305cf73fb81b
DIST db-6.0.30.tar.gz 36584356 SHA256 608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2 SHA512 ea249c59dba18cad391f523840028ba8ef962c32f2c7470942d52f9c07f18ba9fdf964dcd545cb7f2d6c66b91924a0ba1478af1d8f81f0dcbbf94c97ac515cf9 WHIRLPOOL 6784730d250dd480bacf78e966c6acb2fb3ca2c3989668e9440a0a60376b009850b2b48fc35f47e3964b175e78501d18b1c3e3b265831165083fe2dd04a46eb3
DIST db-6.0.35.tar.gz 36532251 SHA256 24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55 SHA512 002db1553def44efa715095b04b2bac2de7450cdc7142586d1d8b5d8ce79ee5e98f824b3bd276cd586ca932dc51ed35a9ffbed95b2b9847264f262cfa092479d WHIRLPOOL ebbbe7dd0969a36d06c8cc5618a0f61334396b38671b9b1c2523e3d1d3ba687903242acd23999be3efec45e1ea6b9c7f0f9f5acbb54d8d1dc48bba51d196c487
DIST db-6.1.26.tar.gz 37495772 SHA256 dd1417af5443f326ee3998e40986c3c60e2a7cfb5bfa25177ef7cadb2afb13a6 SHA512 2590ee3d9e30e6eaeb350edbc2fa7400582c0b520177fe0a3a57a966573268e18ad10b1dc6dee3fb1be9c93ac6f96f848c120793eaf873562464edd125cff4d4 WHIRLPOOL 9aad6c2ec058d332185c630904dca766ca9f9c017c8f6216a4363f007fced3b7cf1b91d76134fa676780f6f8e37966bdea75845deb5cb2dff8f4b432e8068f5f
+DIST db-6.2.23.tar.gz 44305964 SHA256 47612c8991aa9ac2f6be721267c8d3cdccf5ac83105df8e50809daea24e95dc7 SHA512 0aac380673ff4f97a2a6230f135f8151b8d2896a12710f708cd983b5fb95075b55fc2c67af577365e8ec7a32e43357a4f3118e37713d00b227f05eb11b1d12f5 WHIRLPOOL 8a0537da75a5d0d4e0f335a9b27c3767ccab75d0a0f8b2b8b6ccb7483c2f6da02c55b1c14fcda9bdc5bc57fedad6a3c2b81e5d04775cba6d3b42ddcf8266a86e
DIST db.1.85.tar.gz 270953 SHA256 4220d4ddeb77fb57ba2f37c1aa105d561d3ef85a6fb89c79c3edd735d0e193c6 SHA512 03bf3a2b0947efdca4e38719542e96378b5eeb57da64d5030dd23ab710773c1826f1c867032d0bea658b7fdd8272db253e97bbc490d198b9437025ffdf9e880e WHIRLPOOL 802346b9fc133f6c9316e987352e8bd8e12792b30b0eae9b4e2b3629c9bc8385ab12244dead428bb824945aab383cd4801de3fc705667797bdf6159066ed1352
DIST patch.3.2.9.1 2139 SHA256 6d89a42ee0be9e47b3e8a42981c65266a556de84bc6281edcf0f977f52547798 SHA512 f410c43ea4af28a39d8ea47f774d38b53bf1183a34abfcf1f27e253eb61b42f4b5e9f0a3a500e174eb796ea342e6dd50a8bb95ff3eb8ee188461489cc994b8f9 WHIRLPOOL 3a879d5306403739465550ade1fbf53ac62b832fbdf507a204fef13949bc7be9c35ddd972834d3ca74bf17c421791011200556dffd95265eb64849f1d7b647ec
DIST patch.3.2.9.2 495 SHA256 61db874796fe8789b0045f456285b27c5b8b7b8902a5e342a115456015716d0e SHA512 cc75fef11a641d480beaa2b62201177c72d10c4eb20376b5f15769db6e9e1a0da41c0365d79772af19b4cacdaa9f91dad049c735de9f95b98dcfc4f0b611b557 WHIRLPOOL 1362c32dc16875a97b451ff52415fe4b9e9d37b256a92c7e86c14a52431937352ae55ecee4361459e9036b9bea238c205a8f0d4406ac7e47387a8cda22906879
diff --git a/sys-libs/db/db-6.2.23.ebuild b/sys-libs/db/db-6.2.23.ebuild
new file mode 100644
index 0000000..bd55d06
--- /dev/null
+++ b/sys-libs/db/db-6.2.23.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal versionator toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technology/software/products/berkeley-db/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(get_version_component_range 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x/6.x
+ # still needs to be patched in 6.0.20
+ "${FILESDIR}"/${PN}-6.1.19-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ epatch "${PATCHES[@]}"
+ epatch_user
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+}
+
+multilib_src_configure() {
+ local myconf=()
+
+ tc-ld-disable-gold #470634
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl=/usr/$(get_libdir)
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf \
+ --enable-compat185 \
+ --enable-dbm \
+ --enable-o_direct \
+ --without-uniquename \
+ --enable-sql \
+ --enable-sql_codegen \
+ --disable-sql_compat \
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
+ $(use_enable cxx) \
+ $(use_enable cxx stl) \
+ $(multilib_native_use_enable java) \
+ "${myconf[@]}" \
+ $(use_enable test)
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${D}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${D}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${D}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${D}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${D}"/usr/bin/berkeley_db_svc \
+ "${D}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch b/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch
new file mode 100644
index 0000000..963b013
--- /dev/null
+++ b/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch
@@ -0,0 +1,38 @@
+--- db-6.2.23/dist/aclocal_java/ac_jni_include_dirs.m4
++++ db-6.2.23/dist/aclocal_java/ac_jni_include_dirs.m4
+@@ -43,18 +43,23 @@
+ *) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);;
+ esac
+
+-_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
+-_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
+-case "$host_os" in
+- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
+- if test -d "$_JTOPDIR/include"; then
+- _JINC="$_JTOPDIR/include"
+- else
+- _JINC="$_JTOPDIR/Headers"
+- fi;;
+- *) _JINC="$_JTOPDIR/include";;
+-esac
+-
++# If JAVAPREFIX is defined, look there first
++if test -r "$JAVAPREFIX/include/jni.h"; then
++ _JTOPDIR="$JAVAPREFIX"
++ _JINC="$JAVAPREFIX/include"
++else
++ _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
++ _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
++ case "$host_os" in
++ darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
++ if test -d "$_JTOPDIR/include"; then
++ _JINC="$_JTOPDIR/include"
++ else
++ _JINC="$_JTOPDIR/Headers"
++ fi;;
++ *) _JINC="$_JTOPDIR/include";;
++ esac
++fi
+ # If we find jni.h in /usr/include, then it's not a java-only tree, so
+ # don't add /usr/include or subdirectories to the list of includes.
+ # An extra -I/usr/include can foul things up with newer gcc's.
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2016-06-04 19:04 Robin H. Johnson
0 siblings, 0 replies; 10+ messages in thread
From: Robin H. Johnson @ 2016-06-04 19:04 UTC (permalink / raw
To: gentoo-commits
commit: acd2e08ad90551840324fe20d3f3981bc3b8836b
Author: Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 3 08:21:55 2016 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Jun 3 08:23:17 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acd2e08a
sys-libs/db: fix compiling with clang
Gentoo-Bug: https://bugs.gentoo.org/417547
sys-libs/db/db-5.1.29-r1.ebuild | 3 +++
sys-libs/db/db-5.3.28-r2.ebuild | 3 +++
.../db-5.1.29-rename-atomic-compare-exchange.patch | 22 ++++++++++++++++++++++
3 files changed, 28 insertions(+)
diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r1.ebuild
index cac2645..0715268 100644
--- a/sys-libs/db/db-5.1.29-r1.ebuild
+++ b/sys-libs/db/db-5.1.29-r1.ebuild
@@ -58,6 +58,9 @@ src_prepare() {
# merged upstream in 5.0.26
#epatch "${FILESDIR}"/${PN}-5.0.21-enable-dbm-autoconf.patch
+ # Needed when compiling with clang
+ epatch "${FILESDIR}"/${P}-rename-atomic-compare-exchange.patch
+
# Upstream release script grabs the dates when the script was run, so lets
# end-run them to keep the date the same.
export REAL_DB_RELEASE_DATE="$(awk \
diff --git a/sys-libs/db/db-5.3.28-r2.ebuild b/sys-libs/db/db-5.3.28-r2.ebuild
index 937d045..1354991 100644
--- a/sys-libs/db/db-5.3.28-r2.ebuild
+++ b/sys-libs/db/db-5.3.28-r2.ebuild
@@ -67,6 +67,9 @@ src_prepare() {
# core, ~300MB each. This patch uses links instead, saves a lot of space.
epatch "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+ # Needed when compiling with clang
+ epatch "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
+
# Upstream release script grabs the dates when the script was run, so lets
# end-run them to keep the date the same.
export REAL_DB_RELEASE_DATE="$(awk \
diff --git a/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch b/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch
new file mode 100644
index 0000000..ad3da27
--- /dev/null
+++ b/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch
@@ -0,0 +1,22 @@
+diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
+index 0034dcc..fa7ba93 100644
+--- a/src/dbinc/atomic.h
++++ b/src/dbinc/atomic.h
+@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
+ #define atomic_inc(env, p) __atomic_inc(p)
+ #define atomic_dec(env, p) __atomic_dec(p)
+ #define atomic_compare_exchange(env, p, o, n) \
+- __atomic_compare_exchange((p), (o), (n))
++ __db_atomic_compare_exchange((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ int temp;
+@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
+ * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+ * which configure could be changed to use.
+ */
+-static inline int __atomic_compare_exchange(
++static inline int __db_atomic_compare_exchange(
+ db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ atomic_value_t was;
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2017-04-19 8:18 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2017-04-19 8:18 UTC (permalink / raw
To: gentoo-commits
commit: bebf2f281885242eee9f31df5814d34d8b312dcf
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 08:18:34 2017 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 19 08:18:55 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bebf2f28
sys-libs/db: Bump to version 6.2.32
Package-Manager: Portage-2.3.5, Repoman-2.3.2
sys-libs/db/Manifest | 1 +
sys-libs/db/db-6.2.32.ebuild | 235 +++++++++++++++++++++
.../files/db-6.2.32-jni-check-prefix-first.patch | 44 ++++
3 files changed, 280 insertions(+)
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 6bf257a06eb..ce675af7884 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -13,6 +13,7 @@ DIST db-5.3.28.tar.gz 35090431 SHA256 e0a992d740709892e81f9d93f06daf305cf73fb81b
DIST db-6.0.35.tar.gz 36532251 SHA256 24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55 SHA512 002db1553def44efa715095b04b2bac2de7450cdc7142586d1d8b5d8ce79ee5e98f824b3bd276cd586ca932dc51ed35a9ffbed95b2b9847264f262cfa092479d WHIRLPOOL ebbbe7dd0969a36d06c8cc5618a0f61334396b38671b9b1c2523e3d1d3ba687903242acd23999be3efec45e1ea6b9c7f0f9f5acbb54d8d1dc48bba51d196c487
DIST db-6.1.29.tar.gz 37521943 SHA256 b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d SHA512 ced40e357acd1214f8b5800ddcf084c65c0ab77ca045a4504ac1a4c864035bd50aa8993cd1232174ff81071a36806314807330aa53dcb18de548c886c2a99e73 WHIRLPOOL cf18bd00ff203c5b2ccb39fe87ad307fc9e1cdf45a1db96753c50eaf555b571b3ab77dc52b32c09122956505f366dbdbdcdff094486d7ded21512a3cb873aa42
DIST db-6.2.23.tar.gz 44305964 SHA256 47612c8991aa9ac2f6be721267c8d3cdccf5ac83105df8e50809daea24e95dc7 SHA512 0aac380673ff4f97a2a6230f135f8151b8d2896a12710f708cd983b5fb95075b55fc2c67af577365e8ec7a32e43357a4f3118e37713d00b227f05eb11b1d12f5 WHIRLPOOL 8a0537da75a5d0d4e0f335a9b27c3767ccab75d0a0f8b2b8b6ccb7483c2f6da02c55b1c14fcda9bdc5bc57fedad6a3c2b81e5d04775cba6d3b42ddcf8266a86e
+DIST db-6.2.32.tar.gz 45342417 SHA256 a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb SHA512 83bdbf18a7b9782409cf4563f8d5f11322d5e564a39946c890604a60440a6ea6361e0236bbc30bd4e8e1de1fa9196b8e815fd126baa035f55c5826c2c6aa3401 WHIRLPOOL 66b2f2ba2e86800b837b9093f3ebf0caeec71ae29b3614aa6b0f908af933539cb6113980049f6c68f63dbfad808fdd530b4f2435bd8ca32611662e384b38885e
DIST db.1.85.tar.gz 270953 SHA256 4220d4ddeb77fb57ba2f37c1aa105d561d3ef85a6fb89c79c3edd735d0e193c6 SHA512 03bf3a2b0947efdca4e38719542e96378b5eeb57da64d5030dd23ab710773c1826f1c867032d0bea658b7fdd8272db253e97bbc490d198b9437025ffdf9e880e WHIRLPOOL 802346b9fc133f6c9316e987352e8bd8e12792b30b0eae9b4e2b3629c9bc8385ab12244dead428bb824945aab383cd4801de3fc705667797bdf6159066ed1352
DIST patch.3.2.9.1 2139 SHA256 6d89a42ee0be9e47b3e8a42981c65266a556de84bc6281edcf0f977f52547798 SHA512 f410c43ea4af28a39d8ea47f774d38b53bf1183a34abfcf1f27e253eb61b42f4b5e9f0a3a500e174eb796ea342e6dd50a8bb95ff3eb8ee188461489cc994b8f9 WHIRLPOOL 3a879d5306403739465550ade1fbf53ac62b832fbdf507a204fef13949bc7be9c35ddd972834d3ca74bf17c421791011200556dffd95265eb64849f1d7b647ec
DIST patch.3.2.9.2 495 SHA256 61db874796fe8789b0045f456285b27c5b8b7b8902a5e342a115456015716d0e SHA512 cc75fef11a641d480beaa2b62201177c72d10c4eb20376b5f15769db6e9e1a0da41c0365d79772af19b4cacdaa9f91dad049c735de9f95b98dcfc4f0b611b557 WHIRLPOOL 1362c32dc16875a97b451ff52415fe4b9e9d37b256a92c7e86c14a52431937352ae55ecee4361459e9036b9bea238c205a8f0d4406ac7e47387a8cda22906879
diff --git a/sys-libs/db/db-6.2.32.ebuild b/sys-libs/db/db-6.2.32.ebuild
new file mode 100644
index 00000000000..61a18bfa944
--- /dev/null
+++ b/sys-libs/db/db-6.2.32.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal versionator toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(get_version_component_range 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x/6.x
+ # still needs to be patched in 6.0.20
+ "${FILESDIR}"/${PN}-6.1.19-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ epatch "${PATCHES[@]}"
+ epatch_user
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+}
+
+multilib_src_configure() {
+ local myconf=()
+
+ tc-ld-disable-gold #470634
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf \
+ --enable-compat185 \
+ --enable-dbm \
+ --enable-o_direct \
+ --without-uniquename \
+ --enable-sql \
+ --enable-sql_codegen \
+ --disable-sql_compat \
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
+ $(use_enable cxx) \
+ $(use_enable cxx stl) \
+ $(multilib_native_use_enable java) \
+ "${myconf[@]}" \
+ $(use_enable test)
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch b/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch
new file mode 100644
index 00000000000..0a320d7f933
--- /dev/null
+++ b/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch
@@ -0,0 +1,44 @@
+--- db-6.2.32/dist/aclocal_java/ac_jni_include_dirs.m4
++++ db-6.2.32/dist/aclocal_java/ac_jni_include_dirs.m4
+@@ -43,21 +43,26 @@
+ *) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);;
+ esac
+
+-_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
+-_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
+-case "$host_os" in
+- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
+- if test -d "$_JTOPDIR/include"; then
+- _JINC="$_JTOPDIR/include"
+- else
+- _JINC="`$_JTOPDIR/Commands/java_home`/include"
+- fi;;
+- *) if test ! -r "$_JTOPDIR/include/jni.h"; then
+- _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
+- fi
+- _JINC="$_JTOPDIR/include";;
+-esac
+-
++# If JAVAPREFIX is defined, look there first
++if test -r "$JAVAPREFIX/include/jni.h"; then
++ _JTOPDIR="$JAVAPREFIX"
++ _JINC="$JAVAPREFIX/include"
++else
++ _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
++ _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
++ case "$host_os" in
++ darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
++ if test -d "$_JTOPDIR/include"; then
++ _JINC="$_JTOPDIR/include"
++ else
++ _JINC="`$_JTOPDIR/Commands/java_home`/include"
++ fi;;
++ *) if test ! -r "$_JTOPDIR/include/jni.h"; then
++ _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
++ fi
++ _JINC="$_JTOPDIR/include";;
++ esac
++fi
+ # If we find jni.h in /usr/include, then it's not a java-only tree, so
+ # don't add /usr/include or subdirectories to the list of includes.
+ # An extra -I/usr/include can foul things up with newer gcc's.
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2019-01-25 14:47 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2019-01-25 14:47 UTC (permalink / raw
To: gentoo-commits
commit: 79b63b3ecbf9298268529709d1129d11a230ebe8
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 25 14:34:17 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Jan 25 14:47:34 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79b63b3e
sys-libs/db: Bump to version 18.1.25
Closes: https://bugs.gentoo.org/675202
Package-Manager: Portage-2.3.58, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-libs/db/Manifest | 1 +
sys-libs/db/db-18.1.25.ebuild | 244 +++++++++++++++++++++
.../files/db-18.1.25-sqlite-configure-path.patch | 11 +
sys-libs/db/files/db-18.1.25-test-link.patch | 38 ++++
4 files changed, 294 insertions(+)
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 0fa279baf2d..c06e3e1b641 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,4 +1,5 @@
DIST db-1.85-r3.1.patch.bz2 14641 BLAKE2B 5ca59487a433a5e5b5fed7a8737c20df041be56733fe9209047f9e53845fa034576c29ad74407509ab96473e4eef0138a3a47de6c348d27209f0e39df85b9f5f SHA512 32b1810515476758ece7415f241378460a4051bf5ee23fb464748f84a90a56ff2c5119ed93028114d64f1b1691b1c694c2301ff825edd89cdee90a870a68b6f4
+DIST db-18.1.25.tar.gz 43980391 BLAKE2B 364f023809d9d68d58879dda80e5a6a1826db261ac371d63151278731a777c6ca629b051df3c1430f1c049fcc7e4ddfe041522e891290a43aba051b519b28523 SHA512 30a0508dc7eb92adb56bdc881cedf179e901f888c776bc515b342ae585168521fa9f3c763f438d0e8a008e7cc779b3f40a7385285d724f8494d25d3652e6f1c9
DIST db-3.2.9.tar.gz 2085238 BLAKE2B 10cb1c102bf5db52ec16181ccbb02a8c4560f42afd2382689ee4903fcd63bf3ab4802482a065a85b1d34c8fb9f620fceb985155b1390de7ca404c121b6b4b6bc SHA512 5f07b27ae0cbd2832e5db9473cd4f2d4aebeee25ed8245ebd2c297a576571635ca5cf75e63e0967b1e90978128a5b6f5d8112559c56927d5bc5eb0d9fd3a2e95
DIST db-4.2.52.tar.gz 4073147 BLAKE2B 0bb9649a08df9b425f28471eb65c0efac0b7833b4c5c841b9ef53a142669b549e1f1b78cf42eeceea05ebb271aacd513d115070ea028f77fb1830bb9fcc7c8a9 SHA512 47a4e1353fe4f5c2160952a8f7a09b73fdf2dfcd222a8214e12630cec3139a624907bba83a06f10f8492b4dce328a979e9155ee049b9a88798edaca62cfe60d1
DIST db-4.3.29.tar.gz 6103264 BLAKE2B eda13cd5c8b9421044f6c8b6b41ec318ff33e19da15f8d5e3075612186e60cfce30069078f712841058224ed58caf69d43960156ac645651670665390eae28e1 SHA512 93d36c040b25739b92c52504e117a9c7f4b671463d61d00029e70d0bc8171311f5d04211f7d966b8a9ef8c2a85a5ebe8cc55e4469c3c7c0e468caa4221f691fc
diff --git a/sys-libs/db/db-18.1.25.ebuild b/sys-libs/db/db-18.1.25.ebuild
new file mode 100644
index 00000000000..ff6f5d1ca7d
--- /dev/null
+++ b/sys-libs/db/db-18.1.25.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/dist"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(ver_cut 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x/6.x
+ # still needs to be patched in 6.0.20
+ "${FILESDIR}"/${PN}-18.1.25-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-18.1.25-test-link.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed -i \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+multilib_src_configure() {
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ local myeconfargs=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ # Requires openssl-1.0
+ --with-repmgr-ssl=no
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
+
+ tc-ld-disable-gold #470634
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myeconfargs+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myeconfargs+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED%/}"/usr/bin/berkeley_db_svc \
+ "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch
new file mode 100644
index 00000000000..40570cafe21
--- /dev/null
+++ b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch
@@ -0,0 +1,11 @@
+--- db-18.1.25/dist/aclocal/sql.m4
++++ db-18.1.25/dist/aclocal/sql.m4
+@@ -99,7 +99,7 @@
+ if test "$db_cv_debug" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -g"
+ fi
+-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1
++(cd sql && eval "\$SHELL $sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1
+
+ # Configure JDBC if --enable-jdbc
+ if test "$db_cv_jdbc" != "no"; then
diff --git a/sys-libs/db/files/db-18.1.25-test-link.patch b/sys-libs/db/files/db-18.1.25-test-link.patch
new file mode 100644
index 00000000000..dc3d8ae93c5
--- /dev/null
+++ b/sys-libs/db/files/db-18.1.25-test-link.patch
@@ -0,0 +1,38 @@
+--- db-18.1.25/test/tcl/parallel.tcl
++++ db-18.1.25/test/tcl/parallel.tcl
+@@ -296,17 +296,26 @@
+ [eval glob -nocomplain {$dir/$buildpath/db_{reptest,repsite,replicate}$EXE}] \
+ $destdir/$buildpath}
+ }
++ catch {
++ set l [eval glob {$dir/.libs} {$dir/db_{checkpoint,deadlock}$EXE} \
++ {$dir/db_{dump,load,printlog,recover,stat,upgrade}$EXE} \
++ {$dir/db_{archive,verify,hotbackup,log_verify}$EXE}]
++ foreach fn $l {
++ set fbasename [file tail $fn]
++ eval file link {$destdir/$fbasename} $fn
++ }
++ }
++ # we will be modifying this file, so we must copy, not link
+ catch {eval file copy \
+- [eval glob {$dir/{.libs,include.tcl}}] $destdir}
++ [eval glob {$dir/include.tcl}] $destdir}
+ # catch {eval file copy $dir/$queuedir $destdir}
+- catch {eval file copy \
+- [eval glob {$dir/db_{checkpoint,deadlock}$EXE} \
+- {$dir/db_{dump,load,printlog,recover}$EXE} \
+- {$dir/db_{stat,upgrade,archive,verify}$EXE} \
+- {$dir/db_{hotbackup,log_verify,tuner}$EXE}] \
+- $destdir}
+- catch {eval file copy \
+- [eval glob -nocomplain {$dir/db_{reptest,repsite,replicate}$EXE}] $destdir}
++ catch {
++ set l [eval glob -nocomplain {$dir/db_{reptest,repsite,replicate}$EXE}]
++ foreach fn $l {
++ set fbasename [file tail $fn]
++ eval file link {$destdir/$fbasename} $fn
++ }
++ }
+
+ # Create modified copies of include.tcl in parallel
+ # directories so paths still work.
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2019-11-07 17:35 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2019-11-07 17:35 UTC (permalink / raw
To: gentoo-commits
commit: 35649ba689623e24501e7091b13eb8ba8d60fc84
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 7 17:35:02 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Nov 7 17:35:18 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35649ba6
sys-libs/db: First batch of EAPI-7 revbumps
Bug: https://bugs.gentoo.org/697542
Closes: https://bugs.gentoo.org/612686
Closes: https://bugs.gentoo.org/639754
Closes: https://bugs.gentoo.org/603680
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
.../db/{db-1.85-r3.ebuild => db-1.85-r4.ebuild} | 30 ++--
.../{db-3.2.9_p2.ebuild => db-3.2.9_p2-r1.ebuild} | 177 +++++++++++----------
...-4.2.52_p5-r1.ebuild => db-4.2.52_p5-r2.ebuild} | 164 +++++++++++--------
...-4.3.29_p1-r1.ebuild => db-4.3.29_p1-r2.ebuild} | 158 ++++++++++--------
...-4.4.20_p4-r1.ebuild => db-4.4.20_p4-r2.ebuild} | 146 +++++++++--------
sys-libs/db/files/db-1.85-gentoo-paths.patch | 4 +-
sys-libs/db/files/db-3.2.9-gcc43.patch | 2 +-
.../db/files/db-4.2-jni-check-prefix-first.patch | 4 +-
.../db/files/db-4.2-listen-to-java-options.patch | 4 +-
sys-libs/db/files/db-4.2.52_p2-TXN.patch | 8 +-
.../db/files/db-4.3-jni-check-prefix-first.patch | 4 +-
sys-libs/db/files/db-4.3-libtool.patch | 4 +-
sys-libs/db/files/db-4.4-libtool.patch | 4 +-
13 files changed, 398 insertions(+), 311 deletions(-)
diff --git a/sys-libs/db/db-1.85-r3.ebuild b/sys-libs/db/db-1.85-r4.ebuild
similarity index 67%
rename from sys-libs/db/db-1.85-r3.ebuild
rename to sys-libs/db/db-1.85-r4.ebuild
index 065baf18bbd..055296208c6 100644
--- a/sys-libs/db/db-1.85-r3.ebuild
+++ b/sys-libs/db/db-1.85-r4.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
-inherit eutils toolchain-funcs multilib multilib
+inherit toolchain-funcs multilib
DESCRIPTION="old berk db kept around for really old packages"
HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
SRC_URI="http://download.oracle.com/berkeley-db/db.${PV}.tar.gz
- mirror://gentoo/${PF}.1.patch.bz2"
+ mirror://gentoo/${P}-r3.1.patch.bz2"
# The patch used by Gentoo is from Fedora, and includes all 5 patches found on
# the Oracle page, plus others.
@@ -19,13 +19,16 @@ IUSE=""
DEPEND=""
-S=${WORKDIR}/db.${PV}
+S="${WORKDIR}/db.${PV}"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-r3.1.patch
+ "${FILESDIR}"/${P}-gentoo-paths.patch
+)
+
+src_prepare() {
+ default
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${WORKDIR}"/${PF}.1.patch
- epatch "${FILESDIR}"/${P}-gentoo-paths.patch
sed -i \
-e "s:@GENTOO_LIBDIR@:$(get_libdir):" \
PORT/linux/Makefile || die
@@ -33,16 +36,17 @@ src_unpack() {
src_compile() {
tc-export CC AR RANLIB
- emake -C PORT/linux OORG="${CFLAGS}" || die
+ emake -C PORT/linux OORG="${CFLAGS}"
}
src_install() {
make -C PORT/linux install DESTDIR="${ED}" || die
# binary compat symlink
- dosym libdb1.so.2 /usr/$(get_libdir)/libdb.so.2 || die
+ dosym libdb1.so.2 /usr/$(get_libdir)/libdb.so.2
- dosed "s:<db.h>:<db1/db.h>:" /usr/include/db1/ndbm.h
+ sed -e "s:<db.h>:<db1/db.h>:" \
+ -i "${ED}"/usr/include/db1/ndbm.h || die
dosym db1/ndbm.h /usr/include/ndbm.h
dodoc changelog README
diff --git a/sys-libs/db/db-3.2.9_p2.ebuild b/sys-libs/db/db-3.2.9_p2-r1.ebuild
similarity index 56%
rename from sys-libs/db/db-3.2.9_p2.ebuild
rename to sys-libs/db/db-3.2.9_p2-r1.ebuild
index eac5cd83442..39694fde8a7 100644
--- a/sys-libs/db/db-3.2.9_p2.ebuild
+++ b/sys-libs/db/db-3.2.9_p2-r1.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
-inherit eutils db multilib
+inherit db flag-o-matic multilib
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
DESCRIPTION="Berkeley DB for transaction support in MySQL"
@@ -36,62 +36,68 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/${MY_P}"
-src_unpack() {
- # This doesn't build without exceptions
- export CXXFLAGS="${CXXFLAGS/-fno-exceptions/-fexceptions}"
+PATCHES=(
+ # Get db to link libdb* to correct dependencies ... for example if we use
+ # NPTL or NGPT, db detects usable mutexes, and should link against
+ # libpthread, but does not do so ...
+ # <azarah@gentoo.org> (23 Feb 2003)
+ "${FILESDIR}"/${MY_P}-fix-dep-link.patch
- unpack "${MY_P}".tar.gz
+ "${FILESDIR}"/${MY_P}-gcc43.patch
+)
- chmod -R ug+w *
+pkg_setup() {
+ # This doesn't build without exceptions
+ replace-flags -fno-exceptions -fexceptions
+}
- cd "${WORKDIR}"/"${MY_P}"
+src_prepare() {
for (( i=1 ; i<=${PATCHNO} ; i++ ))
do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
done
- # Get db to link libdb* to correct dependencies ... for example if we use
- # NPTL or NGPT, db detects usable mutexes, and should link against
- # libpthread, but does not do so ...
- # <azarah@gentoo.org> (23 Feb 2003)
- epatch "${FILESDIR}"/${MY_P}-fix-dep-link.patch
+ default
# We should get dump185 to link against system db1 ..
# <azarah@gentoo.org> (23 Feb 2003)
- mv "${S}"/dist/Makefile.in "${S}"/dist/Makefile.in.orig
- sed -e 's:DB185INC=:DB185INC= -I/usr/include/db1:' \
+ mv dist/Makefile.in{,.orig} || die
+ sed \
+ -e 's:DB185INC=:DB185INC= -I/usr/include/db1:' \
-e 's:DB185LIB=:DB185LIB= -ldb1:' \
- "${S}"/dist/Makefile.in.orig > "${S}"/dist/Makefile.in || die "Failed to sed"
-
- epatch "${FILESDIR}"/${MY_P}-gcc43.patch
+ dist/Makefile.in.orig \
+ > dist/Makefile.in || die
- # Fix invalid .la files
- cd "${WORKDIR}"/${MY_P}/dist
- rm -f ltversion.sh
+ cd dist || die
# remove config.guess else we have problems with gcc-3.2
- rm -f config.guess
- sed -i "s,\(-D_GNU_SOURCE\),\1 ${CFLAGS}," configure
-
+ rm config.guess || die
+ sed -i "s,\(-D_GNU_SOURCE\),\1 ${CFLAGS}," configure || die
}
-src_compile() {
- local conf=
- local conf_shared=
- local conf_static=
-
- conf="${conf}
- --host=${CHOST} \
- --build=${CHOST} \
- --enable-cxx \
- --enable-compat185 \
- --enable-dump185 \
- --prefix=${EPREFIX}/usr"
-
- # --enable-rpc DOES NOT BUILD
- # Robin H. Johnson <robbat2@gentoo.org> (18 Oct 2003)
-
- conf_shared="${conf_shared}
- --enable-dynamic"
+src_configure() {
+ local conf=(
+ --host=${CHOST}
+ --build=${CHOST}
+ --enable-cxx
+ --enable-compat185
+ --enable-dump185
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --prefix="${EPREFIX}"/usr
+ )
+
+ local conf_shared=(
+ --disable-static
+ --enable-shared
+
+ # --enable-rpc DOES NOT BUILD
+ # Robin H. Johnson <robbat2@gentoo.org> (18 Oct 2003)
+ --enable-dynamic
+ )
+
+ local conf_static=(
+ --disable-shared
+ --enable-static
+ )
# TCL support is also broken
# Robin H. Johnson <robbat2@gentoo.org> (18 Oct 2003)
@@ -103,47 +109,54 @@ src_compile() {
# of the libraries in the same build root!
einfo "Configuring ${P} (static)..."
- mkdir -p "${S}"/build-static
- cd "${S}"/build-static
- strip=/bin/true \
- ECONF_SOURCE="${S}"/dist econf \
- ${conf} ${conf_static} \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --disable-shared \
- --enable-static || die
+ mkdir build-static || die
+ pushd build-static &>/dev/null || die
+ strip="${EPREFIX}"/bin/true \
+ ECONF_SOURCE="${S}"/dist \
+ econf ${conf[@]} ${conf_static[@]}
+ popd &>/dev/null || die
einfo "Configuring ${P} (shared)..."
- mkdir -p "${S}"/build-shared
- cd "${S}"/build-shared
- strip="${ED}"/bin/true \
- ECONF_SOURCE="${S}"/dist econf \
- ${conf} ${conf_shared} \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --disable-static \
- --enable-shared || die
+ mkdir build-shared || die
+ pushd build-shared &>/dev/null || die
+ strip="${EPREFIX}"/bin/true \
+ ECONF_SOURCE="${S}"/dist \
+ econf ${conf[@]} ${conf_shared[@]}
+ popd &>/dev/null || die
+}
+src_compile() {
# Parallel make does not work
MAKEOPTS="${MAKEOPTS} -j1"
+
einfo "Building ${P} (static)..."
- cd "${S}"/build-static
- emake strip="${EPREFIX}"/bin/true || die "Static build failed"
+ pushd "${S}"/build-static &>/dev/null || die
+ emake strip="${EPREFIX}"/bin/true
+ popd &>/dev/null || die
+
einfo "Building ${P} (shared)..."
- cd "${S}"/build-shared
- emake strip="${EPREFIX}"/bin/true || die "Shared build failed"
+ pushd build-shared &>/dev/null || die
+ emake strip="${EPREFIX}"/bin/true
+ popd &>/dev/null || die
}
-src_install () {
- cd "${S}"/build-shared
- make libdb=libdb-3.2.a \
+src_install() {
+ pushd build-shared &>/dev/null || die
+ # build system does not support DESTDIR
+ emake \
+ libdb=libdb-3.2.a \
libcxx=libcxx_3.2.a \
- prefix="${EPREFIX}"/usr \
- libdir="${EPREFIX}"/usr/$(get_libdir) \
+ DESTDIR="${D}" \
+ prefix="${ED}"/usr \
+ libdir="${ED}"/usr/$(get_libdir) \
strip="${EPREFIX}"/bin/true \
- install || die
+ install
+ popd &>/dev/null || die
- cd "${S}"/build-static
- newlib.a libdb.a libdb-3.2.a || die "failed to package static libraries!"
- newlib.a libdb_cxx.a libdb_cxx-3.2.a || die "failed to package static libraries!"
+ pushd build-static &>/dev/null || die
+ newlib.a libdb.a libdb-3.2.a
+ newlib.a libdb_cxx.a libdb_cxx-3.2.a
+ popd &>/dev/null || die
db_src_install_headerslot || die "db_src_install_headerslot failed!"
@@ -154,12 +167,12 @@ src_install () {
# For some reason, db.so's are *not* readable by group or others,
# resulting in no one but root being able to use them!!!
# This fixes it -- DR 15 Jun 2001
- cd "${ED}"/usr/$(get_libdir)
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
chmod go+rx *.so
# The .la's aren't readable either
chmod go+r *.la
+ popd &>/dev/null || die
- cd "${S}"
dodoc README
db_src_install_doc || die "db_src_install_doc failed!"
@@ -169,11 +182,11 @@ src_install () {
db_src_install_usrlibcleanup || die "db_src_install_usrlibcleanup failed!"
}
-pkg_postinst () {
+pkg_postinst() {
db_fix_so
}
-pkg_postrm () {
+pkg_postrm() {
db_fix_so
}
diff --git a/sys-libs/db/db-4.2.52_p5-r1.ebuild b/sys-libs/db/db-4.2.52_p5-r2.ebuild
similarity index 51%
rename from sys-libs/db/db-4.2.52_p5-r1.ebuild
rename to sys-libs/db/db-4.2.52_p5-r2.ebuild
index f6cf119c6ae..ee47ba9b383 100644
--- a/sys-libs/db/db-4.2.52_p5-r1.ebuild
+++ b/sys-libs/db/db-4.2.52_p5-r2.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S="${WORKDIR}/${MY_P}/build_unix"
@@ -35,108 +35,132 @@ DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
RDEPEND="tcl? ( dev-lang/tcl )
java? ( >=virtual/jre-1.4 )"
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-4.2.52_p2-TXN.patch
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-listen-to-java-options.patch
+ "${FILESDIR}"/"${PN}"-4.0.14-fix-dep-link.patch
+)
+
+# Required to avoid unpack attempt of patches
src_unpack() {
- unpack "${MY_P}".tar.gz
- cd "${WORKDIR}"/"${MY_P}"
+ unpack ${MY_P}.tar.gz
+}
+
+src_prepare() {
+ pushd "${WORKDIR}/${MY_P}" &>/dev/null || die
for (( i=1 ; i<=${PATCHNO} ; i++ ))
do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
done
- epatch "${FILESDIR}"/"${PN}"-4.2.52_p2-TXN.patch
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
- # use the includes from the prefix
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-listen-to-java-options.patch
- epatch "${FILESDIR}"/"${PN}"-4.0.14-fix-dep-link.patch
+ default
- sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE
+ sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S}"/../dist/Makefile.in
+ -i dist/Makefile.in || die
# START of 4.5+earlier specific
# Upstream sucks, they normally concat these
- cd "${S}"/../dist/aclocal
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
- cd "${S}"/../dist/aclocal_java
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
+ local i j
+ for j in dist/aclocal{,_java} ; do
+ pushd ${j} &>/dev/null || die
+ for i in * ; do
+ ln -s ${i} ${i%.ac}.m4 || die
+ done
+ popd &>/dev/null || die
+ done
# END of 4.5+earlier specific
- cd "${S}"/../dist
- rm -f aclocal/libtool.{m4,ac} aclocal.m4
- sed -i \
+ pushd dist &>/dev/null || die
+ rm aclocal/libtool.{m4,ac} || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, missing_sh/ bash, missing_sh/' \
- aclocal/programs.m4
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
- sed -i \
+ sed \
-e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
-e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
-e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
-e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
-e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
- -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" configure
-}
-
-src_compile() {
- local myconf=""
-
- use amd64 && myconf="${myconf} --with-mutex=x86/gcc-assembly"
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
- myconf="${myconf} $(use_enable cxx)"
+ popd &>/dev/null || die
+ popd &>/dev/null || die
+}
- use tcl \
- && myconf="${myconf} --enable-tcl --with-tcl=${EPREFIX}/usr/$(get_libdir)" \
- || myconf="${myconf} --disable-tcl"
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ --mandir="${EPREFIX}"/usr/share/man
+ --infodir="${EPREFIX}"/usr/share/info
+ --datadir="${EPREFIX}"/usr/share
+ --sysconfdir="${EPREFIX}"/etc
+ --localstatedir="${EPREFIX}"/var/lib
+ --libdir="${EPREFIX}"/usr/"$(get_libdir)"
+ --enable-compat185
+ --with-uniquename
+ $(use_enable rpc)
+ --host="${CHOST}"
+
+ $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
+ $(use_enable cxx)
+ $(use_enable tcl)
+ $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
+ $(use_enable java)
+ )
- myconf="${myconf} $(use_enable java)"
if use java; then
- myconf="${myconf} --with-java-prefix=${JAVA_HOME}"
- # Can't get this working any other way, since it returns spaces, and
- # bash doesn't seem to want to pass correctly in any way i try
- local javaconf="-with-javac-flags=$(java-pkg_javac-args)"
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
# the entire testsuite needs the TCL functionality
if use tcl && use test; then
- myconf="${myconf} --enable-test"
+ myconf+=( --enable-test )
else
- myconf="${myconf} --disable-test"
+ myconf+=( --disable-test )
fi
- cd "${S}" && ECONF_SOURCE="${S}"/../dist econf \
- --prefix="${EPREFIX}"/usr \
- --mandir="${EPREFIX}"/usr/share/man \
- --infodir="${EPREFIX}"/usr/share/info \
- --datadir="${EPREFIX}"/usr/share \
- --sysconfdir="${EPREFIX}"/etc \
- --localstatedir="${EPREFIX}"/var/lib \
- --libdir="${EPREFIX}"/usr/"$(get_libdir)" \
- --enable-compat185 \
- --with-uniquename \
- $(use_enable rpc) \
- --host="${CHOST}" \
- ${myconf} "${javaconf}" || die "configure failed"
+ ECONF_SOURCE="${S}"/../dist \
+ econf "${myconf[@]}"
+}
+src_compile() {
# This isn't safe for prefix (Darwin should be .jnilib), but I can't get the
# build system to behave itself, it generates libtool too late.
- sed -i \
+ sed \
-e 's/-shrext $(SOFLAGS)/-shrext .so $(SOFLAGS)/g' \
- Makefile
- emake || die "make failed"
+ -i Makefile || die
+ emake
}
src_install() {
- einstall libdir="${ED}/usr/$(get_libdir)" strip="${ED}/bin/strip" || die
+ emake \
+ DESTDIR="${D}" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ strip="${EPREFIX}/bin/strip" \
+ install
db_src_install_usrbinslot
@@ -148,8 +172,10 @@ src_install() {
dodir /usr/sbin
# This file is not always built, and no longer exists as of db-4.8
- [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] && \
- mv "${ED}"/usr/bin/berkeley_db_svc "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
if use java; then
java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
diff --git a/sys-libs/db/db-4.3.29_p1-r1.ebuild b/sys-libs/db/db-4.3.29_p1-r2.ebuild
similarity index 52%
rename from sys-libs/db/db-4.3.29_p1-r1.ebuild
rename to sys-libs/db/db-4.3.29_p1-r2.ebuild
index 82815967b4a..1a90b1c6f2f 100644
--- a/sys-libs/db/db-4.3.29_p1-r1.ebuild
+++ b/sys-libs/db/db-4.3.29_p1-r2.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S="${WORKDIR}/${MY_P}/build_unix"
@@ -36,82 +36,112 @@ DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
RDEPEND="tcl? ( dev-lang/tcl )
java? ( >=virtual/jre-1.4 )"
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-listen-to-java-options.patch
+
+ "${FILESDIR}"/"${PN}"-4.3.27-fix-dep-link.patch
+)
+
+# Required to avoid unpack attempt of patches
src_unpack() {
unpack "${MY_P}".tar.gz
- cd "${WORKDIR}"/"${MY_P}"
+}
+
+src_prepare() {
+ pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || die
for (( i=1 ; i<=${PATCHNO} ; i++ ))
do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
done
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
-
- # use the includes from the prefix
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-listen-to-java-options.patch
- epatch "${FILESDIR}"/"${PN}"-4.3.27-fix-dep-link.patch
+ default
- sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE
+ sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S}"/../dist/Makefile.in
+ dist/Makefile.in || die
# START of 4.5+earlier specific
# Upstream sucks, they normally concat these
- cd "${S}"/../dist/aclocal
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
- cd "${S}"/../dist/aclocal_java
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
+ local i j
+ for j in dist/aclocal{,_java} ; do
+ pushd ${j} &>/dev/null || die
+ for i in * ; do
+ ln -s ${i} ${i%.ac}.m4 || die
+ done
+ popd &>/dev/null || die
+ done
# END of 4.5+earlier specific
- cd "${S}"/../dist
- rm -f aclocal/libtool.{m4,ac} aclocal.m4
- sed -i \
+
+ pushd dist &>/dev/null || die
+ rm aclocal/libtool.{m4,ac} || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, missing_sh/ bash, missing_sh/' \
- aclocal/programs.m4
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
- sed -i \
+ sed \
-e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
-e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
-e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
-e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
-e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
- -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" configure
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
+ popd &>/dev/null || die
+ popd &>/dev/null || die
}
-src_compile() {
- local myconf=""
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ --mandir="${EPREFIX}"/usr/share/man
+ --infodir="${EPREFIX}"/usr/share/info
+ --datadir="${EPREFIX}"/usr/share
+ --sysconfdir="${EPREFIX}"/etc
+ --localstatedir="${EPREFIX}"/var/lib
+ --libdir="${EPREFIX}"/usr/"$(get_libdir)"
+ --enable-compat185
+ --enable-o_direct
+ --without-uniquename
+ $(use_enable rpc)
+ --host="${CHOST}"
+
+ $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
+ $(use_enable cxx)
+ $(use_enable tcl)
+ $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
+ $(use_enable java)
+ )
- use amd64 && myconf="${myconf} --with-mutex=x86/gcc-assembly"
-
- myconf="${myconf} $(use_enable cxx)"
-
- use tcl \
- && myconf="${myconf} --enable-tcl --with-tcl=${EPREFIX}/usr/$(get_libdir)" \
- || myconf="${myconf} --disable-tcl"
-
- myconf="${myconf} $(use_enable java)"
if use java; then
- myconf="${myconf} --with-java-prefix=${JAVA_HOME}"
- # Can't get this working any other way, since it returns spaces, and
- # bash doesn't seem to want to pass correctly in any way i try
- local javaconf="-with-javac-flags=$(java-pkg_javac-args)"
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
# the entire testsuite needs the TCL functionality
if use tcl && use test ; then
- myconf="${myconf} --enable-test"
+ myconf+=( --enable-test )
else
- myconf="${myconf} --disable-test"
+ myconf+=( --disable-test )
fi
# Add linker versions to the symbols. Easier to do, and safer than header
@@ -120,26 +150,16 @@ src_compile() {
append-ldflags -Wl,--default-symver
fi
- cd "${S}" && ECONF_SOURCE="${S}"/../dist econf \
- --prefix="${EPREFIX}"/usr \
- --mandir="${EPREFIX}"/usr/share/man \
- --infodir="${EPREFIX}"/usr/share/info \
- --datadir="${EPREFIX}"/usr/share \
- --sysconfdir="${EPREFIX}"/etc \
- --localstatedir="${EPREFIX}"/var/lib \
- --libdir="${EPREFIX}"/usr/"$(get_libdir)" \
- --enable-compat185 \
- --enable-o_direct \
- --without-uniquename \
- $(use_enable rpc) \
- --host="${CHOST}" \
- ${myconf} "${javaconf}" || die "configure failed"
-
- emake || die "make failed"
+ ECONF_SOURCE="${S}"/../dist \
+ econf "${myconf[@]}"
}
src_install() {
- einstall libdir="${ED}/usr/$(get_libdir)" strip="${ED}/bin/strip" || die
+ emake \
+ DESTDIR="${D}" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ strip="${EPREFIX}/bin/strip" \
+ install
db_src_install_usrbinslot
@@ -151,8 +171,10 @@ src_install() {
dodir /usr/sbin
# This file is not always built, and no longer exists as of db-4.8
- [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] && \
- mv "${ED}"/usr/bin/berkeley_db_svc "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
if use java; then
java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
diff --git a/sys-libs/db/db-4.4.20_p4-r1.ebuild b/sys-libs/db/db-4.4.20_p4-r2.ebuild
similarity index 53%
rename from sys-libs/db/db-4.4.20_p4-r1.ebuild
rename to sys-libs/db/db-4.4.20_p4-r2.ebuild
index 05a30a45245..441402e080c 100644
--- a/sys-libs/db/db-4.4.20_p4-r1.ebuild
+++ b/sys-libs/db/db-4.4.20_p4-r2.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S="${WORKDIR}/${MY_P}/build_unix"
@@ -37,75 +37,105 @@ DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
RDEPEND="tcl? ( dev-lang/tcl )
java? ( >=virtual/jre-1.4 )"
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/"${PN}"-4.3-jni-check-prefix-first.patch
+ "${FILESDIR}"/"${PN}"-4.3-listen-to-java-options.patch
+)
+
+# Required to avoid unpack attempt of patches
src_unpack() {
unpack "${MY_P}".tar.gz
unpack "${MY_P}-20060110-rpc_server-java".tar.gz
- cd "${WORKDIR}"/"${MY_P}"
+}
+
+src_prepare() {
+ pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || die
for (( i=1 ; i<=${PATCHNO} ; i++ ))
do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
done
- epatch "${FILESDIR}"/"${PN}"-"${SLOT}"-libtool.patch
- # use the includes from the prefix
- epatch "${FILESDIR}"/"${PN}"-4.3-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/"${PN}"-4.3-listen-to-java-options.patch
+ default
- sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE
+ sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S}"/../dist/Makefile.in
+ -i dist/Makefile.in || die
# START of 4.5+earlier specific
# Upstream sucks, they normally concat these
- cd "${S}"/../dist/aclocal
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
- cd "${S}"/../dist/aclocal_java
- for i in *; do ln -s $i ${i%.ac}.m4 ; done ;
+ local i j
+ for j in dist/aclocal{,_java} ; do
+ pushd ${j} &>/dev/null || die
+ for i in * ; do
+ ln -s ${i} ${i%.ac}.m4 || die
+ done
+ popd &>/dev/null || die
+ done
# END of 4.5+earlier specific
- cd "${S}"/../dist
- rm -f aclocal/libtool.{m4,ac} aclocal.m4
+ pushd dist &>/dev/null || die
+ rm -f aclocal/libtool.{m4,ac} || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
- sed -i \
+ sed \
-e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
-e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
-e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
-e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
-e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
- -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" configure
-}
-
-src_compile() {
- local myconf=""
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
- use amd64 && myconf="${myconf} --with-mutex=x86/gcc-assembly"
-
- myconf="${myconf} $(use_enable cxx)"
+ popd &>/dev/null || die
+ popd &>/dev/null || die
+}
- use tcl \
- && myconf="${myconf} --enable-tcl --with-tcl=${EPREFIX}/usr/$(get_libdir)" \
- || myconf="${myconf} --disable-tcl"
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ --mandir="${EPREFIX}"/usr/share/man
+ --infodir="${EPREFIX}"/usr/share/info
+ --datadir="${EPREFIX}"/usr/share
+ --sysconfdir="${EPREFIX}"/etc
+ --localstatedir="${EPREFIX}"/var/lib
+ --libdir="${EPREFIX}"/usr/"$(get_libdir)"
+ --enable-compat185
+ --enable-o_direct
+ --without-uniquename
+ $(use_enable rpc)
+ --host="${CHOST}"
+
+ $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
+ $(use_enable cxx)
+ $(use_enable tcl)
+ $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
+ $(use_enable java)
+ )
- myconf="${myconf} $(use_enable java)"
if use java; then
- myconf="${myconf} --with-java-prefix=${JAVA_HOME}"
- # Can't get this working any other way, since it returns spaces, and
- # bash doesn't seem to want to pass correctly in any way i try
- local javaconf="-with-javac-flags=$(java-pkg_javac-args)"
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
# the entire testsuite needs the TCL functionality
if use tcl && use test ; then
- myconf="${myconf} --enable-test"
+ myconf+=( --enable-test )
else
- myconf="${myconf} --disable-test"
+ myconf+=( --disable-test )
fi
# Add linker versions to the symbols. Easier to do, and safer than header file
@@ -114,26 +144,16 @@ src_compile() {
append-ldflags -Wl,--default-symver
fi
- cd "${S}" && ECONF_SOURCE="${S}"/../dist econf \
- --prefix="${EPREFIX}"/usr \
- --mandir="${EPREFIX}"/usr/share/man \
- --infodir="${EPREFIX}"/usr/share/info \
- --datadir="${EPREFIX}"/usr/share \
- --sysconfdir="${EPREFIX}"/etc \
- --localstatedir="${EPREFIX}"/var/lib \
- --libdir="${EPREFIX}"/usr/"$(get_libdir)" \
- --enable-compat185 \
- --enable-o_direct \
- --without-uniquename \
- $(use_enable rpc) \
- --host="${CHOST}" \
- ${myconf} "${javaconf}" || die "configure failed"
-
- emake -j1 || die "make failed"
+ ECONF_SOURCE="${S}"/../dist \
+ econf "${myconf[@]}"
}
src_install() {
- einstall libdir="${ED}/usr/$(get_libdir)" strip="${ED}/bin/strip" || die
+ emake \
+ DESTDIR="${D}" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ strip="${EPREFIX}/bin/strip" \
+ install
db_src_install_usrbinslot
@@ -145,8 +165,10 @@ src_install() {
dodir /usr/sbin
# This file is not always built, and no longer exists as of db-4.8
- [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] && \
- mv "${ED}"/usr/bin/berkeley_db_svc "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
if use java; then
java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
diff --git a/sys-libs/db/files/db-1.85-gentoo-paths.patch b/sys-libs/db/files/db-1.85-gentoo-paths.patch
index 4a65106bdc7..8154300f67b 100644
--- a/sys-libs/db/files/db-1.85-gentoo-paths.patch
+++ b/sys-libs/db/files/db-1.85-gentoo-paths.patch
@@ -1,5 +1,5 @@
---- PORT/linux/Makefile
-+++ PORT/linux/Makefile
+--- a/PORT/linux/Makefile
++++ b/PORT/linux/Makefile
@@ -1,12 +1,12 @@
# @(#)Makefile 8.9 (Berkeley) 7/14/94
diff --git a/sys-libs/db/files/db-3.2.9-gcc43.patch b/sys-libs/db/files/db-3.2.9-gcc43.patch
index f032da85296..17bdddf3d8d 100644
--- a/sys-libs/db/files/db-3.2.9-gcc43.patch
+++ b/sys-libs/db/files/db-3.2.9-gcc43.patch
@@ -5,7 +5,7 @@ diff -Nuar db-3.2.9.orig/include/db_cxx.h db-3.2.9/include/db_cxx.h
// Forward declarations
//
-+#if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
++#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
+using namespace std;
+#include <iostream>
+#else
diff --git a/sys-libs/db/files/db-4.2-jni-check-prefix-first.patch b/sys-libs/db/files/db-4.2-jni-check-prefix-first.patch
index 17f80e1bcfe..0777c706d0b 100644
--- a/sys-libs/db/files/db-4.2-jni-check-prefix-first.patch
+++ b/sys-libs/db/files/db-4.2-jni-check-prefix-first.patch
@@ -1,5 +1,5 @@
---- dist/aclocal_java/ac_jni_include_dirs.ac 2003-10-06 20:41:38.000000000 +0200
-+++ dist/aclocal_java/ac_jni_include_dirs.ac 2005-09-23 21:31:26.000000000 +0200
+--- a/dist/aclocal_java/ac_jni_include_dirs.ac
++++ b/dist/aclocal_java/ac_jni_include_dirs.ac
@@ -43,14 +43,19 @@
*) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);;
esac
diff --git a/sys-libs/db/files/db-4.2-listen-to-java-options.patch b/sys-libs/db/files/db-4.2-listen-to-java-options.patch
index 8ddb46b7026..f1f701de126 100644
--- a/sys-libs/db/files/db-4.2-listen-to-java-options.patch
+++ b/sys-libs/db/files/db-4.2-listen-to-java-options.patch
@@ -1,5 +1,5 @@
---- dist/configure.ac 2005-09-23 21:01:26.000000000 +0200
-+++ dist/configure.ac 2005-09-23 20:59:20.000000000 +0200
+--- a/dist/configure.ac
++++ b/dist/configure.ac
@@ -385,6 +385,7 @@
# A classpath that includes . is needed to check for Java
CLASSPATH=".:$CLASSPATH"
diff --git a/sys-libs/db/files/db-4.2.52_p2-TXN.patch b/sys-libs/db/files/db-4.2.52_p2-TXN.patch
index 7ff8874c0ca..a9ca9ef132f 100644
--- a/sys-libs/db/files/db-4.2.52_p2-TXN.patch
+++ b/sys-libs/db/files/db-4.2.52_p2-TXN.patch
@@ -21,8 +21,8 @@ RCS file: /var/CVSROOT/bdb42/dbinc/db.in,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
---- dbinc/db.in 25 Nov 2003 21:58:02 -0000 1.1.1.1
-+++ dbinc/db.in 17 Jul 2004 16:07:23 -0000 1.2
+--- a/dbinc/db.in 25 Nov 2003 21:58:02 -0000 1.1.1.1
++++ b/dbinc/db.in 17 Jul 2004 16:07:23 -0000 1.2
@@ -839,6 +839,7 @@
#define TXN_NOWAIT 0x040 /* Do not wait on locks. */
#define TXN_RESTORED 0x080 /* Transaction has been restored. */
@@ -37,8 +37,8 @@ RCS file: /var/CVSROOT/bdb42/txn/txn.c,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
---- txn/txn.c 17 Dec 2003 21:43:53 -0000 1.1.1.2
-+++ txn/txn.c 17 Jul 2004 16:07:27 -0000 1.2
+--- a/txn/txn.c 17 Dec 2003 21:43:53 -0000 1.1.1.2
++++ b/txn/txn.c 17 Jul 2004 16:07:27 -0000 1.2
@@ -127,7 +127,7 @@
if ((ret = __db_fchk(dbenv,
"txn_begin", flags,
diff --git a/sys-libs/db/files/db-4.3-jni-check-prefix-first.patch b/sys-libs/db/files/db-4.3-jni-check-prefix-first.patch
index 17f80e1bcfe..0777c706d0b 100644
--- a/sys-libs/db/files/db-4.3-jni-check-prefix-first.patch
+++ b/sys-libs/db/files/db-4.3-jni-check-prefix-first.patch
@@ -1,5 +1,5 @@
---- dist/aclocal_java/ac_jni_include_dirs.ac 2003-10-06 20:41:38.000000000 +0200
-+++ dist/aclocal_java/ac_jni_include_dirs.ac 2005-09-23 21:31:26.000000000 +0200
+--- a/dist/aclocal_java/ac_jni_include_dirs.ac
++++ b/dist/aclocal_java/ac_jni_include_dirs.ac
@@ -43,14 +43,19 @@
*) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);;
esac
diff --git a/sys-libs/db/files/db-4.3-libtool.patch b/sys-libs/db/files/db-4.3-libtool.patch
index 426fd519f71..c594f73c748 100644
--- a/sys-libs/db/files/db-4.3-libtool.patch
+++ b/sys-libs/db/files/db-4.3-libtool.patch
@@ -1,5 +1,5 @@
---- dist/configure.orig 2005-02-02 11:22:49.596096072 +0100
-+++ dist/configure 2005-02-02 11:23:46.749407448 +0100
+--- a/dist/configure
++++ b/dist/configure
@@ -5684,7 +5684,7 @@
echo $ECHO_N "(cached) $ECHO_C" >&6
else
diff --git a/sys-libs/db/files/db-4.4-libtool.patch b/sys-libs/db/files/db-4.4-libtool.patch
index 3d86b88f86b..b4d2fc8d73c 100644
--- a/sys-libs/db/files/db-4.4-libtool.patch
+++ b/sys-libs/db/files/db-4.4-libtool.patch
@@ -1,5 +1,5 @@
---- dist/configure.orig 2006-01-31 10:23:58.000000000 +0100
-+++ dist/configure 2006-01-31 10:26:43.000000000 +0100
+--- a/dist/configure
++++ b/dist/configure
@@ -5765,7 +5765,7 @@
echo $ECHO_N "(cached) $ECHO_C" >&6
else
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2019-11-07 23:23 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2019-11-07 23:23 UTC (permalink / raw
To: gentoo-commits
commit: 3fda85d3fef1fad04e37c214446cc1b759659ee2
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 7 23:21:09 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Nov 7 23:23:29 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fda85d3
sys-libs/db: Another batch of EAPI-7 revbumps
Fixed whitespace issue from previous EAPI-7 revbump
Closes: https://bugs.gentoo.org/655302
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-libs/db/db-3.2.9_p2-r1.ebuild | 2 +-
.../{db-4.8.30-r2.ebuild => db-4.8.30-r3.ebuild} | 83 ++++++------
.../{db-5.1.29-r1.ebuild => db-5.1.29-r2.ebuild} | 142 +++++++++++----------
.../{db-5.3.28-r3.ebuild => db-5.3.28-r4.ebuild} | 133 ++++++++++---------
.../{db-6.0.35-r1.ebuild => db-6.0.35-r2.ebuild} | 124 +++++++++---------
sys-libs/db/files/db-4.8-libtool.patch | 4 +-
6 files changed, 260 insertions(+), 228 deletions(-)
diff --git a/sys-libs/db/db-3.2.9_p2-r1.ebuild b/sys-libs/db/db-3.2.9_p2-r1.ebuild
index a575baafe1c..5385f48b606 100644
--- a/sys-libs/db/db-3.2.9_p2-r1.ebuild
+++ b/sys-libs/db/db-3.2.9_p2-r1.ebuild
@@ -131,7 +131,7 @@ src_compile() {
pushd "${S}"/build-static &>/dev/null || die
emake strip="${EPREFIX}"/bin/true
popd &>/dev/null || die
-
+
einfo "Building ${P} (shared)..."
pushd build-shared &>/dev/null || die
emake strip="${EPREFIX}"/bin/true
diff --git a/sys-libs/db/db-4.8.30-r2.ebuild b/sys-libs/db/db-4.8.30-r3.ebuild
similarity index 80%
rename from sys-libs/db/db-4.8.30-r2.ebuild
rename to sys-libs/db/db-4.8.30-r3.ebuild
index 23c18500065..8479c2a10fb 100644
--- a/sys-libs/db/db-4.8.30-r2.ebuild
+++ b/sys-libs/db/db-4.8.30-r3.ebuild
@@ -1,20 +1,20 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal toolchain-funcs
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S="${WORKDIR}/${MY_P}/build_unix"
@@ -26,7 +26,7 @@ for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
done
LICENSE="Sleepycat"
-SLOT="4.8"
+SLOT="$(ver_cut 1-2)"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
IUSE="doc java cxx tcl test"
@@ -40,51 +40,68 @@ DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
java? ( >=virtual/jre-1.5 )"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8-libtool.patch
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+ "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+)
+
src_prepare() {
cd "${WORKDIR}"/"${MY_P}" || die
for (( i=1 ; i<=${PATCHNO} ; i++ ))
do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
done
- epatch "${FILESDIR}"/${PN}-4.8-libtool.patch
- epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
- epatch "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch
- # use the includes from the prefix
- epatch "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+ default
sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \
|| die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S}"/../dist/Makefile.in || die
+ -i dist/Makefile.in || die
- cd "${S}"/../dist || die
- rm -f aclocal/libtool.m4
- sed -i \
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac || die
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
- aclocal/programs.m4 || die
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
- sed -i \
+ sed \
-e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
-e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
-e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
-e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
-e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
- -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" configure || die
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
}
multilib_src_configure() {
- local myconf=()
+ local myconf=(
+ --enable-compat185
+ --enable-o_direct
+ --without-uniquename
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
tc-ld-disable-gold #470634
@@ -121,16 +138,8 @@ multilib_src_configure() {
ECONF_SOURCE="${S}"/../dist \
STRIP="true" \
- econf \
- --enable-compat185 \
- --enable-o_direct \
- --without-uniquename \
- $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
- $(use_enable cxx) \
- $(use_enable cxx stl) \
- $(multilib_native_use_enable java) \
- "${myconf[@]}" \
- $(use_enable test)
+ econf "${myconf[@]}"
+
# The embedded assembly on ARM does not work on newer hardware
# so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
# Specifically, it uses the SWPB op, which was deprecated:
@@ -143,7 +152,7 @@ multilib_src_configure() {
multilib_src_test() {
multilib_is_native_abi || return
- S=${BUILD_DIR} db_src_test
+ S="${BUILD_DIR}" db_src_test
}
multilib_src_install() {
diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r2.ebuild
similarity index 69%
rename from sys-libs/db/db-5.1.29-r1.ebuild
rename to sys-libs/db/db-5.1.29-r2.ebuild
index 82fda831643..54548984ba6 100644
--- a/sys-libs/db/db-5.1.29-r1.ebuild
+++ b/sys-libs/db/db-5.1.29-r2.ebuild
@@ -1,19 +1,19 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib toolchain-funcs
+EAPI=7
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib toolchain-funcs
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S_BASE="${WORKDIR}/${MY_P}"
@@ -26,7 +26,7 @@ for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
done
LICENSE="Sleepycat"
-SLOT="5.1"
+SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="doc java cxx tcl test"
@@ -40,70 +40,91 @@ DEPEND="tcl? ( >=dev-lang/tcl-8.4:0 )
RDEPEND="tcl? ( dev-lang/tcl:0 )
java? ( >=virtual/jre-1.5 )"
-src_prepare() {
- cd "${WORKDIR}"/"${MY_P}"
- for (( i=1 ; i<=${PATCHNO} ; i++ ))
- do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
- done
- epatch "${FILESDIR}"/${PN}-4.8-libtool.patch
- epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8-libtool.patch
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
# use the includes from the prefix
- epatch "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+ "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
# upstream autoconf fails to build DBM when it's supposed to
# merged upstream in 5.0.26
- #epatch "${FILESDIR}"/${PN}-5.0.21-enable-dbm-autoconf.patch
+ #"${FILESDIR}"/${PN}-5.0.21-enable-dbm-autoconf.patch
# Needed when compiling with clang
- epatch "${FILESDIR}"/${P}-rename-atomic-compare-exchange.patch
+ "${FILESDIR}"/${P}-rename-atomic-compare-exchange.patch
+)
+
+src_prepare() {
+ cd "${S_BASE}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
# Upstream release script grabs the dates when the script was run, so lets
# end-run them to keep the date the same.
export REAL_DB_RELEASE_DATE="$(awk \
'/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
"${S_BASE}"/dist/configure)"
- sed -r -i \
+ sed -r \
-e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
- "${S_BASE}"/dist/RELEASE
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S_BASE}"/dist/Makefile.in
+ -i dist/Makefile.in || die
- cd "${S_BASE}"/dist
- rm -f aclocal/libtool.m4
- sed -i \
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
- aclocal/programs.m4
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
+ local v ev
for v in \
DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
DB_VERSION \
DB_RELEASE_DATE ; do
- local ev="__EDIT_${v}__"
- sed -i -e "s/${ev}/${!v}/g" configure
+ ev="__EDIT_${v}__"
+ sed -e "s/${ev}/${!v}/g" -i configure || die
done
# This is a false positive skip in the tests as the test-reviewer code
# looks for 'Skipping\s'
- sed -i \
+ sed \
-e '/db_repsite/s,Skipping:,Skipping,g' \
- "${S_BASE}"/test/tcl/reputils.tcl || die
+ -i "${S_BASE}"/test/tcl/reputils.tcl || die
}
src_configure() {
- local myconf=''
+ local myconf=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ --without-uniquename
+ --enable-sql
+ --enable-sql_codegen
+ --disable-sql_compat
+ $(use amd64 && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(use_enable java)
+ $(use_enable test)
+ )
tc-ld-disable-gold #470634
@@ -113,12 +134,11 @@ src_configure() {
is-flagq -O[s123] || append-flags -O2
fi
- # use `set` here since the java opts will contain whitespace
- set --
if use java ; then
- set -- "$@" \
- --with-java-prefix="${JAVA_HOME}" \
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
--with-javac-flags="$(java-pkg_javac-args)"
+ )
fi
# Add linker versions to the symbols. Easier to do, and safer than header file
@@ -129,32 +149,22 @@ src_configure() {
# Bug #270851: test needs TCL support
if use tcl || use test ; then
- myconf="${myconf} --enable-tcl"
- myconf="${myconf} --with-tcl=${EPREFIX}/usr/$(get_libdir)"
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
else
- myconf="${myconf} --disable-tcl"
+ myconf+=( --disable-tcl )
fi
# sql_compat will cause a collision with sqlite3
# --enable-sql_compat
- cd "${S}"
+ cd "${S}" || die
+
ECONF_SOURCE="${S_BASE}"/dist \
STRIP="true" \
- econf \
- --enable-compat185 \
- --enable-dbm \
- --enable-o_direct \
- --without-uniquename \
- --enable-sql \
- --enable-sql_codegen \
- --disable-sql_compat \
- $(use amd64 && echo --with-mutex=x86/gcc-assembly) \
- $(use_enable cxx) \
- $(use_enable cxx stl) \
- $(use_enable java) \
- ${myconf} \
- $(use_enable test) \
- "$@"
+ econf "${myconf[@]}"
+
# The embedded assembly on ARM does not work on newer hardware
# so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
# Specifically, it uses the SWPB op, which was deprecated:
@@ -164,12 +174,8 @@ src_configure() {
# >=db-6.1 uses LDREX instead.
}
-src_compile() {
- emake || die "make failed"
-}
-
src_install() {
- emake install DESTDIR="${D}" || die
+ emake DESTDIR="${D}" install
db_src_install_usrbinslot
@@ -181,8 +187,10 @@ src_install() {
dodir /usr/sbin
# This file is not always built, and no longer exists as of db-4.8
- [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] && \
- mv "${ED}"/usr/bin/berkeley_db_svc "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
if use java; then
java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
@@ -207,9 +215,9 @@ src_test() {
#sed -ri \
# -e '/set subs/s,multi_repmgr,,g' \
# "${S_BASE}/test/testparams.tcl"
- sed -ri \
+ sed -r \
-e '/multi_repmgr/d' \
- "${S_BASE}/test/tcl/test.tcl"
+ -i "${S_BASE}/test/tcl/test.tcl" || die
db_src_test
}
diff --git a/sys-libs/db/db-5.3.28-r3.ebuild b/sys-libs/db/db-5.3.28-r4.ebuild
similarity index 75%
rename from sys-libs/db/db-5.3.28-r3.ebuild
rename to sys-libs/db/db-5.3.28-r4.ebuild
index 3c5e2102717..db5f8b8a8c0 100644
--- a/sys-libs/db/db-5.3.28-r3.ebuild
+++ b/sys-libs/db/db-5.3.28-r4.ebuild
@@ -1,19 +1,19 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal toolchain-funcs
+EAPI=7
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S_BASE="${WORKDIR}/${MY_P}"
@@ -26,7 +26,7 @@ for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
done
LICENSE="Sleepycat"
-SLOT="5.3"
+SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
IUSE="doc java cxx tcl test"
@@ -41,84 +41,108 @@ RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
java? ( >=virtual/jre-1.5 )"
MULTILIB_WRAPPED_HEADERS=(
- /usr/include/db5.3/db.h
+ /usr/include/db${SLOT}/db.h
)
-src_prepare() {
- cd "${WORKDIR}"/"${MY_P}"
- for (( i=1 ; i<=${PATCHNO} ; i++ ))
- do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
- done
-
+PATCHES=(
# bug #510506
- epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
# use the includes from the prefix
- epatch "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+ "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
# sqlite configure call has an extra leading ..
# upstreamed:5.2.36, missing in 5.3.x
- epatch "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch
+ "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch
# The upstream testsuite copies .lib and the binaries for each parallel test
# core, ~300MB each. This patch uses links instead, saves a lot of space.
- epatch "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
# Needed when compiling with clang
- epatch "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
+ "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
+)
+
+src_prepare() {
+ cd "${S_BASE}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
# Upstream release script grabs the dates when the script was run, so lets
# end-run them to keep the date the same.
export REAL_DB_RELEASE_DATE="$(awk \
'/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
"${S_BASE}"/dist/configure)"
- sed -r -i \
+ sed -r \
-e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
- "${S_BASE}"/dist/RELEASE || die
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S_BASE}"/dist/Makefile.in || die
+ dist/Makefile.in || die
- cd "${S_BASE}"/dist || die
- rm -f aclocal/libtool.m4
- sed -i \
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac || die
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
- aclocal/programs.m4 || die
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
+ local v ev
for v in \
DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
DB_VERSION \
DB_RELEASE_DATE ; do
- local ev="__EDIT_${v}__"
- sed -i -e "s/${ev}/${!v}/g" configure || die
+ ev="__EDIT_${v}__"
+ sed -e "s/${ev}/${!v}/g" -i configure || die
done
# This is a false positive skip in the tests as the test-reviewer code
# looks for 'Skipping\s'
- sed -i \
+ sed \
-e '/db_repsite/s,Skipping:,Skipping,g' \
- "${S_BASE}"/test/tcl/reputils.tcl || die
+ -i "${S_BASE}"/test/tcl/reputils.tcl || die
}
multilib_src_configure() {
- local myconf=()
+ local myconf=(
+ # sql_compat will cause a collision with sqlite3
+ #--enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
tc-ld-disable-gold #470634
# compilation with -O0 fails on amd64, see bug #171231
if [[ ${ABI} == amd64 ]]; then
- local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
replace-flags -O0 -O2
is-flagq -O[s123] || append-flags -O2
fi
@@ -129,7 +153,6 @@ multilib_src_configure() {
append-ldflags -Wl,--default-symver
fi
- # use `set` here since the java opts will contain whitespace
if multilib_is_native_abi && use java ; then
myconf+=(
--with-java-prefix="${JAVA_HOME}"
@@ -147,26 +170,10 @@ multilib_src_configure() {
myconf+=(--disable-tcl )
fi
- # sql_compat will cause a collision with sqlite3
- # --enable-sql_compat
- # Don't --enable-sql* because we don't want to use bundled sqlite.
- # See Gentoo bug #605688
ECONF_SOURCE="${S_BASE}"/dist \
STRIP="true" \
- econf \
- --enable-compat185 \
- --enable-dbm \
- --enable-o_direct \
- --without-uniquename \
- --disable-sql \
- --disable-sql_codegen \
- --disable-sql_compat \
- $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
- $(use_enable cxx) \
- $(use_enable cxx stl) \
- $(multilib_native_use_enable java) \
- "${myconf[@]}" \
- $(use_enable test)
+ econf "${myconf[@]}"
+
# The embedded assembly on ARM does not work on newer hardware
# so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
# Specifically, it uses the SWPB op, which was deprecated:
@@ -177,7 +184,7 @@ multilib_src_configure() {
}
multilib_src_install() {
- emake install DESTDIR="${D}"
+ emake DESTDIR="${D}" install
db_src_install_headerslot
@@ -219,9 +226,9 @@ src_test() {
#sed -ri \
# -e '/set subs/s,multi_repmgr,,g' \
# "${S_BASE}/test/testparams.tcl"
- sed -ri \
+ sed -r \
-e '/multi_repmgr/d' \
- "${S_BASE}/test/tcl/test.tcl" || die
+ -i "${S_BASE}/test/tcl/test.tcl" || die
# This is the only failure in 5.2.28 so far, and looks like a false positive.
# Repmgr018 (btree): Test of repmgr stats.
@@ -231,10 +238,10 @@ src_test() {
# Rep_test: btree 20 key/data pairs starting at 0
# Rep_test.a: put/get loop
# FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
- sed -ri \
+ sed -r \
-e '/set parms.*repmgr018/d' \
-e 's/repmgr018//g' \
- "${S_BASE}/test/tcl/test.tcl" || die
+ -i "${S_BASE}/test/tcl/test.tcl" || die
multilib-minimal_src_test
}
@@ -242,5 +249,5 @@ src_test() {
multilib_src_test() {
multilib_is_native_abi || return
- S=${BUILD_DIR} db_src_test
+ S="${BUILD_DIR}" db_src_test
}
diff --git a/sys-libs/db/db-6.0.35-r1.ebuild b/sys-libs/db/db-6.0.35-r2.ebuild
similarity index 78%
rename from sys-libs/db/db-6.0.35-r1.ebuild
rename to sys-libs/db/db-6.0.35-r2.ebuild
index 70e9cbe1da3..3db37562bd9 100644
--- a/sys-libs/db/db-6.0.35-r1.ebuild
+++ b/sys-libs/db/db-6.0.35-r2.ebuild
@@ -1,19 +1,19 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal versionator toolchain-funcs
+EAPI=7
+inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs
#Number of official patches
#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
-PATCHNO=${PV/*.*.*_p}
+PATCHNO="${PV/*.*.*_p}"
if [[ ${PATCHNO} == "${PV}" ]] ; then
- MY_PV=${PV}
- MY_P=${P}
+ MY_PV="${PV}"
+ MY_P="${P}"
PATCHNO=0
else
- MY_PV=${PV/_p${PATCHNO}}
- MY_P=${PN}-${MY_PV}
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
fi
S_BASE="${WORKDIR}/${MY_P}"
@@ -26,7 +26,7 @@ for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
done
LICENSE="AGPL-3"
-SLOT="$(get_version_component_range 1-2)"
+SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
IUSE="doc java cxx tcl test"
@@ -41,76 +41,96 @@ RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
java? ( >=virtual/jre-1.5 )"
MULTILIB_WRAPPED_HEADERS=(
- /usr/include/db$(get_version_component_range 1-2)/db.h
+ /usr/include/db${SLOT}/db.h
)
-src_prepare() {
- cd "${WORKDIR}"/"${MY_P}"
- for (( i=1 ; i<=${PATCHNO} ; i++ ))
- do
- epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
- done
-
+PATCHES=(
# bug #510506
- epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
# use the includes from the prefix
- epatch "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
- epatch "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
+ "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch
# sqlite configure call has an extra leading ..
# upstreamed:5.2.36, missing in 5.3.x/6.x
# still needs to be patched in 6.0.20
- epatch "${FILESDIR}"/${PN}-6.0.35-sqlite-configure-path.patch
+ "${FILESDIR}"/${PN}-6.0.35-sqlite-configure-path.patch
# The upstream testsuite copies .lib and the binaries for each parallel test
# core, ~300MB each. This patch uses links instead, saves a lot of space.
- epatch "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+)
+
+src_prepare() {
+ cd "${S_BASE}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
# Upstream release script grabs the dates when the script was run, so lets
# end-run them to keep the date the same.
export REAL_DB_RELEASE_DATE="$(awk \
'/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
"${S_BASE}"/dist/configure)"
- sed -r -i \
+ sed -r \
-e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
- "${S_BASE}"/dist/RELEASE || die
+ -i dist/RELEASE || die
# Include the SLOT for Java JAR files
# This supersedes the unused jarlocation patches.
- sed -r -i \
+ sed -r \
-e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
- "${S_BASE}"/dist/Makefile.in || die
+ -i dist/Makefile.in || die
- cd "${S_BASE}"/dist || die
- rm -f aclocal/libtool.m4
- sed -i \
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
-e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
- configure.ac || die
- sed -i \
+ -i configure.ac || die
+ sed \
-e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
- aclocal/programs.m4 || die
+ -i aclocal/programs.m4 || die
+
AT_M4DIR="aclocal aclocal_java" eautoreconf
+
# Upstream sucks - they do autoconf and THEN replace the version variables.
. ./RELEASE
+ local v ev
for v in \
DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
DB_VERSION \
DB_RELEASE_DATE ; do
- local ev="__EDIT_${v}__"
- sed -i -e "s/${ev}/${!v}/g" configure || die
+ ev="__EDIT_${v}__"
+ sed -e "s/${ev}/${!v}/g" -i configure || die
done
# This is a false positive skip in the tests as the test-reviewer code
# looks for 'Skipping\s'
- sed -i \
+ sed \
-e '/db_repsite/s,Skipping:,Skipping,g' \
- "${S_BASE}"/test/tcl/reputils.tcl || die
+ -i "${S_BASE}"/test/tcl/reputils.tcl || die
}
multilib_src_configure() {
- local myconf=()
+ local myconf=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
tc-ld-disable-gold #470634
@@ -151,20 +171,8 @@ multilib_src_configure() {
# See Gentoo bug #605688
ECONF_SOURCE="${S_BASE}"/dist \
STRIP="true" \
- econf \
- --enable-compat185 \
- --enable-dbm \
- --enable-o_direct \
- --without-uniquename \
- --disable-sql \
- --disable-sql_codegen \
- --disable-sql_compat \
- $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
- $(use_enable cxx) \
- $(use_enable cxx stl) \
- $(multilib_native_use_enable java) \
- "${myconf[@]}" \
- $(use_enable test)
+ econf "${myconf[@]}"
+
# The embedded assembly on ARM does not work on newer hardware
# so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
# Specifically, it uses the SWPB op, which was deprecated:
@@ -175,7 +183,7 @@ multilib_src_configure() {
}
multilib_src_install() {
- emake install DESTDIR="${D}"
+ emake DESTDIR="${D}" install
db_src_install_headerslot
@@ -214,12 +222,12 @@ src_test() {
# db_repsite is used directly in the setup_site_prog,
# setup_site_prog is called from open_site_prog
# which is called only from tests in the multi_repmgr group.
- #sed -ri \
+ #sed -r \
# -e '/set subs/s,multi_repmgr,,g' \
- # "${S_BASE}/test/testparams.tcl"
- sed -ri \
+ # -i "${S_BASE}/test/testparams.tcl"
+ sed -r \
-e '/multi_repmgr/d' \
- "${S_BASE}/test/tcl/test.tcl" || die
+ -i "${S_BASE}/test/tcl/test.tcl" || die
# This is the only failure in 5.2.28 so far, and looks like a false positive.
# Repmgr018 (btree): Test of repmgr stats.
@@ -229,10 +237,10 @@ src_test() {
# Rep_test: btree 20 key/data pairs starting at 0
# Rep_test.a: put/get loop
# FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
- sed -ri \
+ sed -r \
-e '/set parms.*repmgr018/d' \
-e 's/repmgr018//g' \
- "${S_BASE}/test/tcl/test.tcl" || die
+ -i "${S_BASE}/test/tcl/test.tcl" || die
multilib-minimal_src_test
}
@@ -240,5 +248,5 @@ src_test() {
multilib_src_test() {
multilib_is_native_abi || return
- S=${BUILD_DIR} db_src_test
+ S="${BUILD_DIR}" db_src_test
}
diff --git a/sys-libs/db/files/db-4.8-libtool.patch b/sys-libs/db/files/db-4.8-libtool.patch
index f5d985b2f20..0c3dbffb03c 100644
--- a/sys-libs/db/files/db-4.8-libtool.patch
+++ b/sys-libs/db/files/db-4.8-libtool.patch
@@ -1,5 +1,5 @@
---- dist/configure
-+++ dist/configure
+--- a/dist/configure
++++ b/dist/configure
@@ -6691,7 +6691,7 @@
$as_echo_n "(cached) " >&6
else
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2020-08-26 15:21 Thomas Deutschmann
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2020-08-26 15:21 UTC (permalink / raw
To: gentoo-commits
commit: d42efea31004b7ea4ad298f5ac00fd34e98f901f
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 26 15:18:44 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Aug 26 15:21:36 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d42efea3
sys-libs/db: bump to v18.1.40
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
sys-libs/db/Manifest | 1 +
sys-libs/db/db-18.1.40.ebuild | 244 ++++++++++++++++++++++++++++
sys-libs/db/files/db-18.1.40-fix-docs.patch | 19 +++
3 files changed, 264 insertions(+)
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 93f9b50e235..317ca5d8dac 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,5 +1,6 @@
DIST db-1.85-r3.1.patch.bz2 14641 BLAKE2B 5ca59487a433a5e5b5fed7a8737c20df041be56733fe9209047f9e53845fa034576c29ad74407509ab96473e4eef0138a3a47de6c348d27209f0e39df85b9f5f SHA512 32b1810515476758ece7415f241378460a4051bf5ee23fb464748f84a90a56ff2c5119ed93028114d64f1b1691b1c694c2301ff825edd89cdee90a870a68b6f4
DIST db-18.1.32.tar.gz 44244747 BLAKE2B b539d8966a269f6a9440ef442248849f12c6b1eda79b9a41074e1eb0eb4930fd4674dd0e20a114e4020fe2ce19832572c4c86d458835da39a99f639dc3c4e23e SHA512 890b3047c28114ac30794c0234126b0b2a3e699f3ed259831091f02d51885e3583dd10c0ef0cecc215b9b8d80b48a2d3a82a5793cd3816afb45f6cc19ae23f25
+DIST db-18.1.40.tar.gz 30763705 BLAKE2B c7235cbdf82d8e38450c98baa1ff67132f6132d59a43dd2d6ed8bc2672b7924b4cbd93320278a0a3a78e454caff622b4480abe8dcc20c94ae56a78b3569a76fd SHA512 53787164fb8a198a0178c7f58d891c2b0943d1c52b11fe9de525938469327e85664f0bc63e33d740c171bc370954710a6b3e8b9be2a08237fb9757a795c5b19e
DIST db-3.2.9.tar.gz 2085238 BLAKE2B 10cb1c102bf5db52ec16181ccbb02a8c4560f42afd2382689ee4903fcd63bf3ab4802482a065a85b1d34c8fb9f620fceb985155b1390de7ca404c121b6b4b6bc SHA512 5f07b27ae0cbd2832e5db9473cd4f2d4aebeee25ed8245ebd2c297a576571635ca5cf75e63e0967b1e90978128a5b6f5d8112559c56927d5bc5eb0d9fd3a2e95
DIST db-4.2.52.tar.gz 4073147 BLAKE2B 0bb9649a08df9b425f28471eb65c0efac0b7833b4c5c841b9ef53a142669b549e1f1b78cf42eeceea05ebb271aacd513d115070ea028f77fb1830bb9fcc7c8a9 SHA512 47a4e1353fe4f5c2160952a8f7a09b73fdf2dfcd222a8214e12630cec3139a624907bba83a06f10f8492b4dce328a979e9155ee049b9a88798edaca62cfe60d1
DIST db-4.3.29.tar.gz 6103264 BLAKE2B eda13cd5c8b9421044f6c8b6b41ec318ff33e19da15f8d5e3075612186e60cfce30069078f712841058224ed58caf69d43960156ac645651670665390eae28e1 SHA512 93d36c040b25739b92c52504e117a9c7f4b671463d61d00029e70d0bc8171311f5d04211f7d966b8a9ef8c2a85a5ebe8cc55e4469c3c7c0e468caa4221f691fc
diff --git a/sys-libs/db/db-18.1.40.ebuild b/sys-libs/db/db-18.1.40.ebuild
new file mode 100644
index 00000000000..c4022d840e7
--- /dev/null
+++ b/sys-libs/db/db-18.1.40.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+RESTRICT="fetch
+ !test? ( test )"
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/dist"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="https://download.oracle.com/otn/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(ver_cut 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-18.1.25-test-link.patch
+
+ "${FILESDIR}"/${PN}-18.1.40-fix-docs.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed -i \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+multilib_src_configure() {
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ local myeconfargs=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ # Requires openssl-1.0
+ --with-repmgr-ssl=no
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
+
+ tc-ld-disable-gold #470634
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myeconfargs+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myeconfargs+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED%/}"/usr/bin/berkeley_db_svc \
+ "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-18.1.40-fix-docs.patch b/sys-libs/db/files/db-18.1.40-fix-docs.patch
new file mode 100644
index 00000000000..7bed9f1cbca
--- /dev/null
+++ b/sys-libs/db/files/db-18.1.40-fix-docs.patch
@@ -0,0 +1,19 @@
+Fixes
+
+ cp: cannot stat 'bdb-sql': No such file or directory
+ cp: cannot stat 'gsg_db_server': No such file or directory
+
+--- a/dist/Makefile.in
++++ b/dist/Makefile.in
+@@ -1299,8 +1299,8 @@ uninstall_utilities:
+
+ # We install csharp docs even on UNIX so we don't have a
+ # broken link on the landing page.
+-DOCLIST=api_reference articles bdb-sql collections csharp gsg \
+- gsg_db_rep gsg_db_server gsg_txn index.html installation \
++DOCLIST=api_reference articles collections csharp gsg \
++ gsg_db_rep gsg_txn index.html installation \
+ java license porting programmer_reference upgrading
+
+ install_docs:
+
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2021-01-24 18:28 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2021-01-24 18:28 UTC (permalink / raw
To: gentoo-commits
commit: d54fe5fc599733879a3f2cdc85cd088d4ab3febe
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 18:26:49 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 18:27:55 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d54fe5fc
Revert "sys-libs/db: remove old"
db-18.1.40 dropped features, so people may want to stick with 18.1.32.
Reverts: c0bd697c0d3d78662d1fe84c685521140b7c5631
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-libs/db/Manifest | 1 +
sys-libs/db/db-18.1.32.ebuild | 247 +++++++++++++++++++++
.../files/db-18.1.25-sqlite-configure-path.patch | 11 +
3 files changed, 259 insertions(+)
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 5e107989be8..317ca5d8dac 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,4 +1,5 @@
DIST db-1.85-r3.1.patch.bz2 14641 BLAKE2B 5ca59487a433a5e5b5fed7a8737c20df041be56733fe9209047f9e53845fa034576c29ad74407509ab96473e4eef0138a3a47de6c348d27209f0e39df85b9f5f SHA512 32b1810515476758ece7415f241378460a4051bf5ee23fb464748f84a90a56ff2c5119ed93028114d64f1b1691b1c694c2301ff825edd89cdee90a870a68b6f4
+DIST db-18.1.32.tar.gz 44244747 BLAKE2B b539d8966a269f6a9440ef442248849f12c6b1eda79b9a41074e1eb0eb4930fd4674dd0e20a114e4020fe2ce19832572c4c86d458835da39a99f639dc3c4e23e SHA512 890b3047c28114ac30794c0234126b0b2a3e699f3ed259831091f02d51885e3583dd10c0ef0cecc215b9b8d80b48a2d3a82a5793cd3816afb45f6cc19ae23f25
DIST db-18.1.40.tar.gz 30763705 BLAKE2B c7235cbdf82d8e38450c98baa1ff67132f6132d59a43dd2d6ed8bc2672b7924b4cbd93320278a0a3a78e454caff622b4480abe8dcc20c94ae56a78b3569a76fd SHA512 53787164fb8a198a0178c7f58d891c2b0943d1c52b11fe9de525938469327e85664f0bc63e33d740c171bc370954710a6b3e8b9be2a08237fb9757a795c5b19e
DIST db-3.2.9.tar.gz 2085238 BLAKE2B 10cb1c102bf5db52ec16181ccbb02a8c4560f42afd2382689ee4903fcd63bf3ab4802482a065a85b1d34c8fb9f620fceb985155b1390de7ca404c121b6b4b6bc SHA512 5f07b27ae0cbd2832e5db9473cd4f2d4aebeee25ed8245ebd2c297a576571635ca5cf75e63e0967b1e90978128a5b6f5d8112559c56927d5bc5eb0d9fd3a2e95
DIST db-4.2.52.tar.gz 4073147 BLAKE2B 0bb9649a08df9b425f28471eb65c0efac0b7833b4c5c841b9ef53a142669b549e1f1b78cf42eeceea05ebb271aacd513d115070ea028f77fb1830bb9fcc7c8a9 SHA512 47a4e1353fe4f5c2160952a8f7a09b73fdf2dfcd222a8214e12630cec3139a624907bba83a06f10f8492b4dce328a979e9155ee049b9a88798edaca62cfe60d1
diff --git a/sys-libs/db/db-18.1.32.ebuild b/sys-libs/db/db-18.1.32.ebuild
new file mode 100644
index 00000000000..bc3dafe46b9
--- /dev/null
+++ b/sys-libs/db/db-18.1.32.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+RESTRICT="!test? ( test )"
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/dist"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="https://download.oracle.com/otn/berkeley-db/${MY_P}.tar.gz
+ mirror://gentoo/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(ver_cut 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
+
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x/6.x
+ # still needs to be patched in 6.0.20
+ "${FILESDIR}"/${PN}-18.1.25-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-18.1.25-test-link.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed -i \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+multilib_src_configure() {
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ local myeconfargs=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ # Requires openssl-1.0
+ --with-repmgr-ssl=no
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
+
+ tc-ld-force-bfd #470634 #729510
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myeconfargs+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myeconfargs+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED%/}"/usr/bin/berkeley_db_svc \
+ "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch
new file mode 100644
index 00000000000..40570cafe21
--- /dev/null
+++ b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch
@@ -0,0 +1,11 @@
+--- db-18.1.25/dist/aclocal/sql.m4
++++ db-18.1.25/dist/aclocal/sql.m4
+@@ -99,7 +99,7 @@
+ if test "$db_cv_debug" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -g"
+ fi
+-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1
++(cd sql && eval "\$SHELL $sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1
+
+ # Configure JDBC if --enable-jdbc
+ if test "$db_cv_jdbc" != "no"; then
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2022-06-20 5:04 Sam James
0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2022-06-20 5:04 UTC (permalink / raw
To: gentoo-commits
commit: 503f602e1edc26f721b47c80981068f547b86b68
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 20 03:33:22 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 20 05:03:51 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=503f602e
sys-libs/db: fix -Wformat-security
Closes: https://bugs.gentoo.org/632628
Thanks-to: René Rhéaume <rene.rheaume <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/db/db-4.8.30-r7.ebuild | 164 ++++++++++++++++++++++++
sys-libs/db/files/db-4.8-wformat-security.patch | 43 +++++++
2 files changed, 207 insertions(+)
diff --git a/sys-libs/db/db-4.8.30-r7.ebuild b/sys-libs/db/db-4.8.30-r7.ebuild
new file mode 100644
index 000000000000..6b8e376acdb7
--- /dev/null
+++ b/sys-libs/db/db-4.8.30-r7.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools db flag-o-matic multilib-minimal toolchain-funcs
+
+# Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO="${PV/*.*.*_p}"
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV="${PV}"
+ MY_P="${P}"
+ PATCHNO=0
+else
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
+fi
+
+S="${WORKDIR}/${MY_P}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="Sleepycat"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc cxx tcl test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( tcl )"
+
+# The entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8-libtool.patch
+ "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch
+ "${FILESDIR}"/${PN}-4.8-wformat-security.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ )); do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \
+ || die
+
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ -i configure.ac || die
+ sed \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ -i aclocal/programs.m4 || die
+
+ AT_M4DIR="aclocal" eautoreconf
+
+ # They do autoconf and THEN replace the version variables :(
+ . ./RELEASE
+ sed \
+ -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
+ -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
+ -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
+ -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
+ -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-compat185
+ --enable-o_direct
+ --without-uniquename
+ --disable-static
+ --disable-java
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(use_enable test)
+ )
+
+ # bug #470634 and bug #729510
+ tc-ld-force-bfd
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ append-ldflags -Wl,--default-symver
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S}"/../dist STRIP="true" econf "${myconf[@]}"
+
+ # The embedded assembly on ARM does not work on newer hardware
+ # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
+ # Specifically, it uses the SWPB op, which was deprecated:
+ # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
+ # The op ALSO cannot be used in ARM-Thumb mode.
+ # Trust the compiler instead.
+ # >=db-6.1 uses LDREX instead.
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S="${BUILD_DIR}" db_src_test
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+
+ # no static libraries
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
diff --git a/sys-libs/db/files/db-4.8-wformat-security.patch b/sys-libs/db/files/db-4.8-wformat-security.patch
new file mode 100644
index 000000000000..4db5bada0d9f
--- /dev/null
+++ b/sys-libs/db/files/db-4.8-wformat-security.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/632628
+--- a/repmgr/repmgr_net.c
++++ b/repmgr/repmgr_net.c
+@@ -1331,7 +1331,7 @@ __repmgr_listen(env)
+ }
+
+ ret = net_errno;
+- __db_err(env, ret, why);
++ __db_err(env, ret, "%s", why);
+ clean: if (s != INVALID_SOCKET)
+ (void)closesocket(s);
+ return (ret);
+--- a/crypto/aes_method.c
++++ b/crypto/aes_method.c
+@@ -267,6 +267,6 @@ __aes_err(env, err)
+ errstr = "AES error unrecognized";
+ break;
+ }
+- __db_errx(env, errstr);
++ __db_errx(env, "%s", errstr);
+ return;
+ }
+--- a/txn/txn.c
++++ b/txn/txn.c
+@@ -168,7 +168,7 @@ __txn_begin(env, ip, parent, txnpp, flag
+
+ *txnpp = NULL;
+ if ((ret = __os_calloc(env, 1, sizeof(DB_TXN), &txn)) != 0) {
+- __db_errx(env, TxnAlloc);
++ __db_errx(env, "%s", TxnAlloc);
+ return (ret);
+ }
+
+@@ -315,7 +315,7 @@ __txn_compensate_begin(env, txnpp)
+ int ret;
+
+ if ((ret = __os_calloc(env, 1, sizeof(DB_TXN), &txn)) != 0) {
+- __db_errx(env, TxnAlloc);
++ __db_errx(env, "%s", TxnAlloc);
+ return (ret);
+ }
+
+
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/
@ 2023-12-02 4:03 Sam James
0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2023-12-02 4:03 UTC (permalink / raw
To: gentoo-commits
commit: 1ae36006c79ef705252f5f7009e79f6add7dc353
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 2 03:51:50 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 2 04:01:46 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ae36006
sys-libs/db: fix another configure check for modern c
Closes: https://bugs.gentoo.org/898074
Closes: https://bugs.gentoo.org/918936
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/db/db-4.8.30-r9.ebuild | 171 +++++++++++++++++
sys-libs/db/db-5.3.28-r10.ebuild | 240 ++++++++++++++++++++++++
sys-libs/db/db-6.0.35-r5.ebuild | 234 +++++++++++++++++++++++
sys-libs/db/files/db-4.8.30-tls-configure.patch | 31 +++
4 files changed, 676 insertions(+)
diff --git a/sys-libs/db/db-4.8.30-r9.ebuild b/sys-libs/db/db-4.8.30-r9.ebuild
new file mode 100644
index 000000000000..ac50491119bd
--- /dev/null
+++ b/sys-libs/db/db-4.8.30-r9.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools db flag-o-matic multilib-minimal toolchain-funcs
+
+# Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO="${PV/*.*.*_p}"
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV="${PV}"
+ MY_P="${P}"
+ PATCHNO=0
+else
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
+fi
+
+S="${WORKDIR}/${MY_P}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="Sleepycat"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc cxx tcl test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( tcl )"
+
+# The entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+# Need binutils for tc-ld-force-bfd
+BDEPEND="sys-devel/binutils:*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8-libtool.patch
+ "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch
+ "${FILESDIR}"/${PN}-4.8-wformat-security.patch
+ "${FILESDIR}"/${PN}-4.8.30-clang16.patch
+ "${FILESDIR}"/${PN}-4.8.30-tls-configure.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ )); do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \
+ || die
+
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ -i configure.ac || die
+ sed \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ -i aclocal/programs.m4 || die
+
+ AT_M4DIR="aclocal" eautoreconf
+
+ # They do autoconf and THEN replace the version variables :(
+ . ./RELEASE
+ sed \
+ -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
+ -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
+ -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
+ -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
+ -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
+ -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
+ -i configure || die
+}
+
+src_configure() {
+ # Force bfd before calling multilib_toolchain_setup
+ tc-ld-force-bfd #470634 #729510
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-compat185
+ --enable-o_direct
+ --without-uniquename
+ --disable-static
+ --disable-java
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(use_enable test)
+ )
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ append-ldflags -Wl,--default-symver
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S}"/../dist STRIP="true" econf "${myconf[@]}"
+
+ # The embedded assembly on ARM does not work on newer hardware
+ # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
+ # Specifically, it uses the SWPB op, which was deprecated:
+ # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
+ # The op ALSO cannot be used in ARM-Thumb mode.
+ # Trust the compiler instead.
+ # >=db-6.1 uses LDREX instead.
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S="${BUILD_DIR}" db_src_test
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+
+ # no static libraries
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
diff --git a/sys-libs/db/db-5.3.28-r10.ebuild b/sys-libs/db/db-5.3.28-r10.ebuild
new file mode 100644
index 000000000000..82b40466e113
--- /dev/null
+++ b/sys-libs/db/db-5.3.28-r10.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools db flag-o-matic multilib-minimal toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO="${PV/*.*.*_p}"
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV="${PV}"
+ MY_P="${P}"
+ PATCHNO=0
+else
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
+fi
+
+RESTRICT="!test? ( test )"
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="Sleepycat"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+# bug #841698
+# Need binutils for tc-ld-force-bfd
+BDEPEND="
+ sys-devel/autoconf-archive
+ sys-devel/binutils:*
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db${SLOT}/db.h
+)
+
+PATCHES=(
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x
+ "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+
+ # Needed when compiling with clang
+ "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
+ "${FILESDIR}"/${PN}-5.3.28-clang16.patch
+ "${FILESDIR}"/${PN}-4.8.30-tls-configure.patch
+)
+
+src_prepare() {
+ cd "${S_BASE}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ -i dist/RELEASE || die
+
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ -i configure.ac || die
+ sed \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ -i aclocal/programs.m4 || die
+
+ AT_M4DIR="aclocal" eautoreconf
+
+ # They do autoconf and THEN replace the version variables :(
+ . ./RELEASE
+ local v ev
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ ev="__EDIT_${v}__"
+ sed -e "s/${ev}/${!v}/g" -i configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ -i "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+src_configure() {
+ # Force bfd before calling multilib_toolchain_setup
+ tc-ld-force-bfd #470634 #729510
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ # sql_compat will cause a collision with sqlite3
+ #--enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ --disable-static
+ --disable-java
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(use_enable test)
+ )
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ append-ldflags -Wl,--default-symver
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myconf[@]}"
+
+ # The embedded assembly on ARM does not work on newer hardware
+ # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
+ # Specifically, it uses the SWPB op, which was deprecated:
+ # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
+ # The op ALSO cannot be used in ARM-Thumb mode.
+ # Trust the compiler instead.
+ # >=db-6.1 uses LDREX instead.
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+
+ # no static libraries
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -r \
+ -e '/multi_repmgr/d' \
+ -i "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -r \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ -i "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S="${BUILD_DIR}" db_src_test
+}
diff --git a/sys-libs/db/db-6.0.35-r5.ebuild b/sys-libs/db/db-6.0.35-r5.ebuild
new file mode 100644
index 000000000000..f59d3811f5a4
--- /dev/null
+++ b/sys-libs/db/db-6.0.35-r5.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools db flag-o-matic multilib-minimal toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO="${PV/*.*.*_p}"
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV="${PV}"
+ MY_P="${P}"
+ PATCHNO=0
+else
+ MY_PV="${PV/_p${PATCHNO}}"
+ MY_P="${PN}-${MY_PV}"
+fi
+
+RESTRICT="!test? ( test )"
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/build_unix"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )"
+# Need binutils for tc-ld-force-bfd
+BDEPEND="sys-devel/binutils:*"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db${SLOT}/db.h
+)
+
+PATCHES=(
+ # sqlite configure call has an extra leading ..
+ # upstreamed:5.2.36, missing in 5.3.x/6.x
+ # still needs to be patched in 6.0.20
+ "${FILESDIR}"/${PN}-6.0.35-sqlite-configure-path.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-6.0.20-test-link.patch
+
+ "${FILESDIR}"/${PN}-4.8.30-tls-configure.patch
+)
+
+src_prepare() {
+ cd "${S_BASE}" || die
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ -i dist/RELEASE || die
+
+ cd dist || die
+ rm aclocal/libtool.m4 || die
+ sed \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ -i configure.ac || die
+ sed \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ -i aclocal/programs.m4 || die
+
+ AT_M4DIR="aclocal" eautoreconf
+
+ # They do autoconf and THEN replace the version variables :(
+ . ./RELEASE
+ local v ev
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ ev="__EDIT_${v}__"
+ sed -e "s/${ev}/${!v}/g" -i configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ -i "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+src_configure() {
+ # Force bfd before calling multilib_toolchain_setup
+ tc-ld-force-bfd #470634 #729510
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ --disable-static
+ --disable-java
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(use_enable test)
+ )
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ append-ldflags -Wl,--default-symver
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myconf+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myconf+=(--disable-tcl )
+ fi
+
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myconf[@]}"
+
+ # The embedded assembly on ARM does not work on newer hardware
+ # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
+ # Specifically, it uses the SWPB op, which was deprecated:
+ # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
+ # The op ALSO cannot be used in ARM-Thumb mode.
+ # Trust the compiler instead.
+ # >=db-6.1 uses LDREX instead.
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED}"/usr/bin/berkeley_db_svc \
+ "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+
+ # no static libraries
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -r \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # -i "${S_BASE}/test/testparams.tcl"
+ sed -r \
+ -e '/multi_repmgr/d' \
+ -i "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -r \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ -i "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S="${BUILD_DIR}" db_src_test
+}
diff --git a/sys-libs/db/files/db-4.8.30-tls-configure.patch b/sys-libs/db/files/db-4.8.30-tls-configure.patch
new file mode 100644
index 000000000000..e6aaa3259e19
--- /dev/null
+++ b/sys-libs/db/files/db-4.8.30-tls-configure.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/898074
+https://bugs.gentoo.org/918936
+
+-ignoreme: warning: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
++ignoreme: error: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
+ 34 | return (void *)pthread_getspecific(&key);
+ | ^~~~
+ /usr/include/pthread.h:1305:49: note: passing argument to parameter '__key' here
+ 1305 | extern void *pthread_getspecific (pthread_key_t __key) __THROW;
+ | ^
+-ignoreme: warning: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
++ignoreme: error: incompatible pointer to integer conversion passing 'pthread_key_t *' (aka 'unsigned int *') to parameter of type 'pthread_key_t' (aka 'unsigned int'); remove & [-Wint-conversion]
+ 37 | pthread_setspecific(&key, p);
+ | ^~~~
+ /usr/include/pthread.h:1308:47: note: passing argument to parameter '__key' here
+ 1308 | extern int pthread_setspecific (pthread_key_t __key,
+--- a/dist/aclocal/tls.m4
++++ b/dist/aclocal/tls.m4
+@@ -42,10 +42,10 @@ AC_DEFUN([AX_TLS], [
+ pthread_key_create(&key, NULL);
+ }
+ static void *get_tls() {
+- return (void *)pthread_getspecific(&key);
++ return (void *)pthread_getspecific(key);
+ }
+ static void set_tls(void *p) {
+- pthread_setspecific(&key, p);
++ pthread_setspecific(key, p);
+ }], [],
+ [ac_cv_tls=pthread])
+ fi
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-12-02 4:03 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-02 4:03 [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/, sys-libs/db/files/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2022-06-20 5:04 Sam James
2021-01-24 18:28 Mike Gilbert
2020-08-26 15:21 Thomas Deutschmann
2019-11-07 23:23 Lars Wendler
2019-11-07 17:35 Lars Wendler
2019-01-25 14:47 Lars Wendler
2017-04-19 8:18 Lars Wendler
2016-06-04 19:04 Robin H. Johnson
2016-04-16 12:48 Lars Wendler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox