commit:     8ba76d90f9cfddccfd6935dee71ef442395abd8d
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 30 17:22:51 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri Oct 30 17:22:51 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ba76d90

sys-libs/db: Revbump for --disable-static

Bug: https://bugs.gentoo.org/378289
Closes: https://github.com/gentoo/gentoo/pull/18073
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sys-libs/db/db-4.5.20_p2-r4.ebuild                 | 194 ++++++++++++++++++++
 sys-libs/db/db-4.6.21_p4-r3.ebuild                 | 183 +++++++++++++++++++
 sys-libs/db/db-4.7.25_p4-r3.ebuild                 | 190 ++++++++++++++++++++
 sys-libs/db/db-4.8.30-r4.ebuild                    | 197 +++++++++++++++++++++
 .../db/{db-6.1.38.ebuild => db-5.3.28-r5.ebuild}   | 123 +++++++------
 .../db/{db-6.1.38.ebuild => db-6.0.35-r3.ebuild}   | 116 ++++++------
 sys-libs/db/db-6.1.38.ebuild                       |   4 +
 sys-libs/db/db-6.2.38.ebuild                       |   4 +
 8 files changed, 906 insertions(+), 105 deletions(-)

diff --git a/sys-libs/db/db-4.5.20_p2-r4.ebuild 
b/sys-libs/db/db-4.5.20_p2-r4.ebuild
new file mode 100644
index 00000000000..12148350901
--- /dev/null
+++ b/sys-libs/db/db-4.5.20_p2-r4.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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}"
+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
+       export SRC_URI="${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="tcl java doc cxx"
+RESTRICT="!test? ( test )"
+
+DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
+       java? ( >=virtual/jdk-1.4 )
+       >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( dev-lang/tcl )
+       java? ( >=virtual/jre-1.4 )"
+
+PATCHES=(
+       "${FILESDIR}"/"${PN}"-4.4-libtool.patch
+
+       # use the includes from the prefix
+       "${FILESDIR}"/"${PN}"-4.2-jni-check-prefix-first.patch
+       "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
+)
+
+# Required to avoid unpack attempt of patches
+src_unpack() {
+       unpack "${MY_P}".tar.gz
+}
+
+src_prepare() {
+       pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || 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
+
+       # Include the SLOT for Java JAR files
+       # This supersedes the unused jarlocation patches.
+       sed -r \
+               -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+               -i dist/Makefile.in || die
+
+       # START of 4.5+earlier specific
+       # Upstream sucks, they normally concat these
+       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
+       pushd dist &>/dev/null || die
+       rm aclocal/libtool.{m4,ac} || 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 aclocal_java" eautoreconf
+
+       # Upstream sucks - 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
+
+       popd &>/dev/null || die
+       popd &>/dev/null || die
+}
+
+src_configure() {
+       # compilation with -O0 fails on amd64, see bug #171231
+       if use amd64 ; then
+               replace-flags -O0 -O2
+               is-flagq -O[s123] || append-flags -O2
+       fi
+
+       local myconf=(
+               --enable-compat185
+               --enable-o_direct
+               --without-uniquename
+               --disable-rpc
+               --disable-static
+               --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)
+       )
+
+       if use java; then
+               myconf+=(
+                       --with-java-prefix="${JAVA_HOME}"
+                       --with-javac-flags="$(java-pkg_javac-args)"
+               )
+       fi
+
+       # the entire testsuite needs the TCL functionality
+       if use tcl && use test ; then
+               myconf+=( --enable-test )
+       else
+               myconf+=( --disable-test )
+       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
+
+       ECONF_SOURCE="${S}"/../dist \
+       econf "${myconf[@]}"
+
+       sed -e "s,\(^STRIP *=\).*,\1\"true\"," -i Makefile || die
+}
+
+src_install() {
+       emake \
+               DESTDIR="${D}" \
+               libdir="${EPREFIX}/usr/$(get_libdir)" \
+               STRIP="true" \
+               install
+
+       db_src_install_usrbinslot
+
+       db_src_install_headerslot
+
+       db_src_install_doc
+
+       db_src_install_usrlibcleanup
+
+       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
+
+       if 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
+
+       # no static libraries
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       db_fix_so
+}
+
+pkg_postrm() {
+       db_fix_so
+}

diff --git a/sys-libs/db/db-4.6.21_p4-r3.ebuild 
b/sys-libs/db/db-4.6.21_p4-r3.ebuild
new file mode 100644
index 00000000000..7b9ae1bc492
--- /dev/null
+++ b/sys-libs/db/db-4.6.21_p4-r3.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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}"
+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
+       export SRC_URI="${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="tcl java doc cxx"
+RESTRICT="!test? ( test )"
+
+DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
+       java? ( >=virtual/jdk-1.4 )
+       >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( dev-lang/tcl )
+       java? ( >=virtual/jre-1.4 )"
+
+PATCHES=(
+       "${FILESDIR}"/"${PN}"-4.4-libtool.patch
+
+       # use the includes from the prefix
+       "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
+       "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
+)
+
+# Required to avoid unpack attempt of patches
+src_unpack() {
+       unpack "${MY_P}".tar.gz
+}
+
+src_prepare() {
+       pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || 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
+
+       # Include the SLOT for Java JAR files
+       # This supersedes the unused jarlocation patches.
+       sed -r \
+               -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+               -i dist/Makefile.in || die
+
+       pushd dist &>/dev/null || 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 aclocal_java" eautoreconf
+
+       # Upstream sucks - 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
+
+       popd &>/dev/null || die
+       popd &>/dev/null || die
+}
+
+src_configure() {
+       # compilation with -O0 fails on amd64, see bug #171231
+       if use amd64 ; then
+               replace-flags -O0 -O2
+               is-flagq -O[s123] || append-flags -O2
+       fi
+
+       local myconf=(
+               --enable-compat185
+               --enable-o_direct
+               --without-uniquename
+               --disable-rpc
+               --disable-static
+               --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)
+       )
+
+       if use java; then
+               myconf+=(
+                       --with-java-prefix="${JAVA_HOME}"
+                       --with-javac-flags="$(java-pkg_javac-args)"
+               )
+       fi
+
+       # the entire testsuite needs the TCL functionality
+       if use tcl && use test ; then
+               myconf+=( --enable-test )
+       else
+               myconf+=( --disable-test )
+       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
+
+       ECONF_SOURCE="${S}"/../dist \
+       econf "${myconf[@]}"
+
+       sed -e "s,\(^STRIP *=\).*,\1\"true\"," -i Makefile || die
+}
+
+src_install() {
+       emake \
+               DESTDIR="${D}" \
+               libdir="${EPREFIX}/usr/$(get_libdir)" \
+               STRIP="true" \
+               install
+
+       db_src_install_usrbinslot
+
+       db_src_install_headerslot
+
+       db_src_install_doc
+
+       db_src_install_usrlibcleanup
+
+       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
+
+       if 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
+
+       # no static libraries
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       db_fix_so
+}
+
+pkg_postrm() {
+       db_fix_so
+}

diff --git a/sys-libs/db/db-4.7.25_p4-r3.ebuild 
b/sys-libs/db/db-4.7.25_p4-r3.ebuild
new file mode 100644
index 00000000000..482880fbe96
--- /dev/null
+++ b/sys-libs/db/db-4.7.25_p4-r3.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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}"
+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="${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
+       export SRC_URI="${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 ~ppc ~ppc64 ~s390 ~sparc 
~x86"
+IUSE="doc java cxx tcl test"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
+       test? ( >=dev-lang/tcl-8.4 )
+       java? ( >=virtual/jdk-1.5 )
+       >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( dev-lang/tcl )
+       java? ( >=virtual/jre-1.5 )"
+
+PATCHES=(
+       "${FILESDIR}"/"${PN}"-4.4-libtool.patch
+
+       # use the includes from the prefix
+       "${FILESDIR}"/"${PN}"-4.6-jni-check-prefix-first.patch
+       "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
+)
+
+# Required to avoid unpack attempt of patches
+src_unpack() {
+       unpack "${MY_P}".tar.gz
+}
+
+src_prepare() {
+       pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || 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
+
+       # Include the SLOT for Java JAR files
+       # This supersedes the unused jarlocation patches.
+       sed -r \
+               -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+               -i dist/Makefile.in || die
+
+       pushd dist &>/dev/null || 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 aclocal_java" eautoreconf
+
+       # Upstream sucks - 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
+
+       popd &>/dev/null || die
+       popd &>/dev/null || die
+}
+
+src_configure() {
+       # compilation with -O0 fails on amd64, see bug #171231
+       if use amd64 ; then
+               replace-flags -O0 -O2
+               is-flagq -O[s123] || append-flags -O2
+       fi
+
+       local myconf=(
+               --enable-compat185
+               --enable-o_direct
+               --without-uniquename
+               --disable-rpc
+               --disable-static
+
+               $(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_enable test)
+       )
+
+       if 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-test )
+       else
+               myconf+=( --disable-test )
+       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
+
+       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.
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       db_src_install_usrbinslot
+
+       db_src_install_headerslot
+
+       db_src_install_doc
+
+       db_src_install_usrlibcleanup
+
+       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
+
+       if 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
+
+       # no static libraries
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       db_fix_so
+}
+
+pkg_postrm() {
+       db_fix_so
+}

diff --git a/sys-libs/db/db-4.8.30-r4.ebuild b/sys-libs/db/db-4.8.30-r4.ebuild
new file mode 100644
index 00000000000..8aa5a58e63b
--- /dev/null
+++ b/sys-libs/db/db-4.8.30-r4.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+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}"
+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="${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
+       export SRC_URI="${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 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 )"
+
+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.2-listen-to-java-options.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
+
+       # Include the SLOT for Java JAR files
+       # This supersedes the unused jarlocation patches.
+       sed -r \
+               -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+               -i dist/Makefile.in || 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 aclocal_java" eautoreconf
+
+       # Upstream sucks - 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
+               $([[ ${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
+               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
+
+       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
+
+       # 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-6.1.38.ebuild b/sys-libs/db/db-5.3.28-r5.ebuild
similarity index 70%
copy from sys-libs/db/db-6.1.38.ebuild
copy to sys-libs/db/db-5.3.28-r5.ebuild
index 3609e94268b..0bc78d20af9 100644
--- a/sys-libs/db/db-6.1.38.ebuild
+++ b/sys-libs/db/db-5.3.28-r5.ebuild
@@ -1,19 +1,19 @@
 # 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
+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
 
 RESTRICT="!test? ( test )"
@@ -27,8 +27,8 @@ 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)"
+LICENSE="Sleepycat"
+SLOT="$(ver_cut 1-2)"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
 IUSE="doc java cxx tcl test"
 
@@ -43,7 +43,7 @@ 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
+       /usr/include/db${SLOT}/db.h
 )
 
 PATCHES=(
@@ -51,24 +51,26 @@ PATCHES=(
        "${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.6-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}-6.1.19-sqlite-configure-path.patch
+       # 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
 )
 
 src_prepare() {
-       cd "${WORKDIR}"/"${MY_P}"
+       cd "${S_BASE}" || die
        for (( i=1 ; i<=${PATCHNO} ; i++ ))
        do
-               eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+               eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
        done
 
        default
@@ -78,49 +80,52 @@ src_prepare() {
        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() {
-       # 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=(
+       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
@@ -128,7 +133,7 @@ multilib_src_configure() {
                --disable-sql
                --disable-sql_codegen
                --disable-sql_compat
-               $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+               --disable-static
                $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
                $(use_enable cxx)
                $(use_enable cxx stl)
@@ -140,7 +145,7 @@ multilib_src_configure() {
 
        # 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
@@ -151,9 +156,8 @@ 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
-               myeconfargs+=(
+               myconf+=(
                        --with-java-prefix="${JAVA_HOME}"
                        --with-javac-flags="$(java-pkg_javac-args)"
                )
@@ -161,30 +165,38 @@ multilib_src_configure() {
 
        # Bug #270851: test needs TCL support
        if use tcl || use test ; then
-               myeconfargs+=(
+               myconf+=(
                        --enable-tcl
                        --with-tcl="${EPREFIX}/usr/$(get_libdir)"
                )
        else
-               myeconfargs+=(--disable-tcl )
+               myconf+=(--disable-tcl )
        fi
 
        ECONF_SOURCE="${S_BASE}"/dist \
        STRIP="true" \
-       econf "${myeconfargs[@]}"
+       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 install DESTDIR="${D}"
+       emake DESTDIR="${D}" install
 
        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
+               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
 }
 
@@ -195,10 +207,13 @@ multilib_src_install_all() {
 
        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
+       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() {
@@ -217,9 +232,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.
@@ -229,10 +244,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 +255,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.1.38.ebuild b/sys-libs/db/db-6.0.35-r3.ebuild
similarity index 74%
copy from sys-libs/db/db-6.1.38.ebuild
copy to sys-libs/db/db-6.0.35-r3.ebuild
index 3609e94268b..f1c5a7c3c5d 100644
--- a/sys-libs/db/db-6.1.38.ebuild
+++ b/sys-libs/db/db-6.0.35-r3.ebuild
@@ -1,19 +1,19 @@
 # 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
+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
 
 RESTRICT="!test? ( test )"
@@ -28,7 +28,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 
~sparc ~x86"
 IUSE="doc java cxx tcl test"
 
@@ -43,7 +43,7 @@ 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
+       /usr/include/db${SLOT}/db.h
 )
 
 PATCHES=(
@@ -51,13 +51,13 @@ PATCHES=(
        "${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.6-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}-6.1.19-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.
@@ -65,10 +65,10 @@ PATCHES=(
 )
 
 src_prepare() {
-       cd "${WORKDIR}"/"${MY_P}"
+       cd "${S_BASE}" || die
        for (( i=1 ; i<=${PATCHNO} ; i++ ))
        do
-               eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+               eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
        done
 
        default
@@ -78,49 +78,48 @@ src_prepare() {
        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() {
-       # 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=(
+       local myconf=(
                --enable-compat185
                --enable-dbm
                --enable-o_direct
@@ -128,7 +127,7 @@ multilib_src_configure() {
                --disable-sql
                --disable-sql_codegen
                --disable-sql_compat
-               $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+               --disable-static
                $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
                $(use_enable cxx)
                $(use_enable cxx stl)
@@ -153,7 +152,7 @@ multilib_src_configure() {
 
        # use `set` here since the java opts will contain whitespace
        if multilib_is_native_abi && use java ; then
-               myeconfargs+=(
+               myconf+=(
                        --with-java-prefix="${JAVA_HOME}"
                        --with-javac-flags="$(java-pkg_javac-args)"
                )
@@ -161,30 +160,42 @@ multilib_src_configure() {
 
        # Bug #270851: test needs TCL support
        if use tcl || use test ; then
-               myeconfargs+=(
+               myconf+=(
                        --enable-tcl
                        --with-tcl="${EPREFIX}/usr/$(get_libdir)"
                )
        else
-               myeconfargs+=(--disable-tcl )
+               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 "${myeconfargs[@]}"
+       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 install DESTDIR="${D}"
+       emake DESTDIR="${D}" install
 
        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
+               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
 }
 
@@ -195,10 +206,13 @@ multilib_src_install_all() {
 
        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
+       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() {
@@ -214,12 +228,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 +243,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 +254,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.1.38.ebuild b/sys-libs/db/db-6.1.38.ebuild
index 3609e94268b..11984accc9b 100644
--- a/sys-libs/db/db-6.1.38.ebuild
+++ b/sys-libs/db/db-6.1.38.ebuild
@@ -128,6 +128,7 @@ multilib_src_configure() {
                --disable-sql
                --disable-sql_codegen
                --disable-sql_compat
+               --disable-static
                $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
                $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
                $(use_enable cxx)
@@ -199,6 +200,9 @@ multilib_src_install_all() {
                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() {

diff --git a/sys-libs/db/db-6.2.38.ebuild b/sys-libs/db/db-6.2.38.ebuild
index 965668160fc..091651e008b 100644
--- a/sys-libs/db/db-6.2.38.ebuild
+++ b/sys-libs/db/db-6.2.38.ebuild
@@ -128,6 +128,7 @@ multilib_src_configure() {
                --disable-sql
                --disable-sql_codegen
                --disable-sql_compat
+               --disable-static
                $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
                $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
                $(use_enable cxx)
@@ -199,6 +200,9 @@ multilib_src_install_all() {
                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() {

Reply via email to