From 1dc58f45f305e1faf2c9bcc1ac5207f08fe98e67 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Thu, 29 Apr 2021 10:48:53 +0200 Subject: sys-libs/db: Revbumps for adjusted java deps Bug: https://bugs.gentoo.org/786699 Signed-off-by: Lars Wendler --- sys-libs/db/db-1.85-r4.ebuild | 56 -------- sys-libs/db/db-1.85-r5.ebuild | 56 ++++++++ sys-libs/db/db-18.1.32-r1.ebuild | 247 +++++++++++++++++++++++++++++++++++ sys-libs/db/db-18.1.32.ebuild | 247 ----------------------------------- sys-libs/db/db-18.1.40-r1.ebuild | 245 +++++++++++++++++++++++++++++++++++ sys-libs/db/db-18.1.40.ebuild | 245 ----------------------------------- sys-libs/db/db-3.2.9_p2-r1.ebuild | 196 ---------------------------- sys-libs/db/db-3.2.9_p2-r2.ebuild | 196 ++++++++++++++++++++++++++++ sys-libs/db/db-4.2.52_p5-r3.ebuild | 185 -------------------------- sys-libs/db/db-4.2.52_p5-r4.ebuild | 185 ++++++++++++++++++++++++++ sys-libs/db/db-4.3.29_p1-r3.ebuild | 183 -------------------------- sys-libs/db/db-4.3.29_p1-r4.ebuild | 183 ++++++++++++++++++++++++++ sys-libs/db/db-4.4.20_p4-r3.ebuild | 177 ------------------------- sys-libs/db/db-4.4.20_p4-r4.ebuild | 177 +++++++++++++++++++++++++ sys-libs/db/db-4.5.20_p2-r3.ebuild | 189 --------------------------- sys-libs/db/db-4.5.20_p2-r4.ebuild | 193 --------------------------- sys-libs/db/db-4.5.20_p2-r5.ebuild | 189 +++++++++++++++++++++++++++ sys-libs/db/db-4.5.20_p2-r6.ebuild | 193 +++++++++++++++++++++++++++ sys-libs/db/db-4.6.21_p4-r2.ebuild | 178 ------------------------- sys-libs/db/db-4.6.21_p4-r3.ebuild | 182 -------------------------- sys-libs/db/db-4.6.21_p4-r4.ebuild | 178 +++++++++++++++++++++++++ sys-libs/db/db-4.6.21_p4-r5.ebuild | 182 ++++++++++++++++++++++++++ sys-libs/db/db-4.7.25_p4-r2.ebuild | 185 -------------------------- sys-libs/db/db-4.7.25_p4-r3.ebuild | 189 --------------------------- sys-libs/db/db-4.7.25_p4-r4.ebuild | 185 ++++++++++++++++++++++++++ sys-libs/db/db-4.7.25_p4-r5.ebuild | 189 +++++++++++++++++++++++++++ sys-libs/db/db-4.8.30-r3.ebuild | 192 --------------------------- sys-libs/db/db-4.8.30-r4.ebuild | 196 ---------------------------- sys-libs/db/db-4.8.30-r5.ebuild | 192 +++++++++++++++++++++++++++ sys-libs/db/db-4.8.30-r6.ebuild | 196 ++++++++++++++++++++++++++++ sys-libs/db/db-5.1.29-r2.ebuild | 224 -------------------------------- sys-libs/db/db-5.1.29-r3.ebuild | 224 ++++++++++++++++++++++++++++++++ sys-libs/db/db-5.3.28-r2.ebuild | 246 ----------------------------------- sys-libs/db/db-5.3.28-r4.ebuild | 254 ------------------------------------ sys-libs/db/db-5.3.28-r5.ebuild | 258 ------------------------------------- sys-libs/db/db-5.3.28-r6.ebuild | 246 +++++++++++++++++++++++++++++++++++ sys-libs/db/db-5.3.28-r7.ebuild | 254 ++++++++++++++++++++++++++++++++++++ sys-libs/db/db-5.3.28-r8.ebuild | 258 +++++++++++++++++++++++++++++++++++++ sys-libs/db/db-6.0.35-r3.ebuild | 257 ------------------------------------ sys-libs/db/db-6.0.35-r4.ebuild | 257 ++++++++++++++++++++++++++++++++++++ sys-libs/db/db-6.1.38-r1.ebuild | 248 +++++++++++++++++++++++++++++++++++ sys-libs/db/db-6.1.38.ebuild | 248 ----------------------------------- sys-libs/db/db-6.2.38-r1.ebuild | 249 +++++++++++++++++++++++++++++++++++ sys-libs/db/db-6.2.38.ebuild | 249 ----------------------------------- 44 files changed, 4529 insertions(+), 4529 deletions(-) delete mode 100644 sys-libs/db/db-1.85-r4.ebuild create mode 100644 sys-libs/db/db-1.85-r5.ebuild create mode 100644 sys-libs/db/db-18.1.32-r1.ebuild delete mode 100644 sys-libs/db/db-18.1.32.ebuild create mode 100644 sys-libs/db/db-18.1.40-r1.ebuild delete mode 100644 sys-libs/db/db-18.1.40.ebuild delete mode 100644 sys-libs/db/db-3.2.9_p2-r1.ebuild create mode 100644 sys-libs/db/db-3.2.9_p2-r2.ebuild delete mode 100644 sys-libs/db/db-4.2.52_p5-r3.ebuild create mode 100644 sys-libs/db/db-4.2.52_p5-r4.ebuild delete mode 100644 sys-libs/db/db-4.3.29_p1-r3.ebuild create mode 100644 sys-libs/db/db-4.3.29_p1-r4.ebuild delete mode 100644 sys-libs/db/db-4.4.20_p4-r3.ebuild create mode 100644 sys-libs/db/db-4.4.20_p4-r4.ebuild delete mode 100644 sys-libs/db/db-4.5.20_p2-r3.ebuild delete mode 100644 sys-libs/db/db-4.5.20_p2-r4.ebuild create mode 100644 sys-libs/db/db-4.5.20_p2-r5.ebuild create mode 100644 sys-libs/db/db-4.5.20_p2-r6.ebuild delete mode 100644 sys-libs/db/db-4.6.21_p4-r2.ebuild delete mode 100644 sys-libs/db/db-4.6.21_p4-r3.ebuild create mode 100644 sys-libs/db/db-4.6.21_p4-r4.ebuild create mode 100644 sys-libs/db/db-4.6.21_p4-r5.ebuild delete mode 100644 sys-libs/db/db-4.7.25_p4-r2.ebuild delete mode 100644 sys-libs/db/db-4.7.25_p4-r3.ebuild create mode 100644 sys-libs/db/db-4.7.25_p4-r4.ebuild create mode 100644 sys-libs/db/db-4.7.25_p4-r5.ebuild delete mode 100644 sys-libs/db/db-4.8.30-r3.ebuild delete mode 100644 sys-libs/db/db-4.8.30-r4.ebuild create mode 100644 sys-libs/db/db-4.8.30-r5.ebuild create mode 100644 sys-libs/db/db-4.8.30-r6.ebuild delete mode 100644 sys-libs/db/db-5.1.29-r2.ebuild create mode 100644 sys-libs/db/db-5.1.29-r3.ebuild delete mode 100644 sys-libs/db/db-5.3.28-r2.ebuild delete mode 100644 sys-libs/db/db-5.3.28-r4.ebuild delete mode 100644 sys-libs/db/db-5.3.28-r5.ebuild create mode 100644 sys-libs/db/db-5.3.28-r6.ebuild create mode 100644 sys-libs/db/db-5.3.28-r7.ebuild create mode 100644 sys-libs/db/db-5.3.28-r8.ebuild delete mode 100644 sys-libs/db/db-6.0.35-r3.ebuild create mode 100644 sys-libs/db/db-6.0.35-r4.ebuild create mode 100644 sys-libs/db/db-6.1.38-r1.ebuild delete mode 100644 sys-libs/db/db-6.1.38.ebuild create mode 100644 sys-libs/db/db-6.2.38-r1.ebuild delete mode 100644 sys-libs/db/db-6.2.38.ebuild (limited to 'sys-libs') diff --git a/sys-libs/db/db-1.85-r4.ebuild b/sys-libs/db/db-1.85-r4.ebuild deleted file mode 100644 index 3efe710bb3e8..000000000000 --- a/sys-libs/db/db-1.85-r4.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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/${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. - -LICENSE="Sleepycat" -SLOT="1" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="" - -DEPEND="" - -S="${WORKDIR}/db.${PV}" - -PATCHES=( - "${WORKDIR}"/${P}-r3.1.patch - "${FILESDIR}"/${P}-gentoo-paths.patch -) - -src_prepare() { - default - - sed -i \ - -e "s:@GENTOO_LIBDIR@:$(get_libdir):" \ - PORT/linux/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - 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 - - sed -e "s:::" \ - -i "${ED}"/usr/include/db1/ndbm.h || die - dosym db1/ndbm.h /usr/include/ndbm.h - - dodoc changelog README - newdoc hash/README README.hash - docinto ps - dodoc docs/*.ps -} diff --git a/sys-libs/db/db-1.85-r5.ebuild b/sys-libs/db/db-1.85-r5.ebuild new file mode 100644 index 000000000000..3efe710bb3e8 --- /dev/null +++ b/sys-libs/db/db-1.85-r5.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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/${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. + +LICENSE="Sleepycat" +SLOT="1" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" +IUSE="" + +DEPEND="" + +S="${WORKDIR}/db.${PV}" + +PATCHES=( + "${WORKDIR}"/${P}-r3.1.patch + "${FILESDIR}"/${P}-gentoo-paths.patch +) + +src_prepare() { + default + + sed -i \ + -e "s:@GENTOO_LIBDIR@:$(get_libdir):" \ + PORT/linux/Makefile || die +} + +src_compile() { + tc-export CC AR RANLIB + 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 + + sed -e "s:::" \ + -i "${ED}"/usr/include/db1/ndbm.h || die + dosym db1/ndbm.h /usr/include/ndbm.h + + dodoc changelog README + newdoc hash/README README.hash + docinto ps + dodoc docs/*.ps +} diff --git a/sys-libs/db/db-18.1.32-r1.ebuild b/sys-libs/db/db-18.1.32-r1.ebuild new file mode 100644 index 000000000000..ba0c4dac5df2 --- /dev/null +++ b/sys-libs/db/db-18.1.32-r1.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.8 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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/db-18.1.32.ebuild b/sys-libs/db/db-18.1.32.ebuild deleted file mode 100644 index ba0c4dac5df2..000000000000 --- a/sys-libs/db/db-18.1.32.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# 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.8 ) - >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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/db-18.1.40-r1.ebuild b/sys-libs/db/db-18.1.40-r1.ebuild new file mode 100644 index 000000000000..0ec531491511 --- /dev/null +++ b/sys-libs/db/db-18.1.40-r1.ebuild @@ -0,0 +1,245 @@ +# 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="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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +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.8 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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-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/db-18.1.40.ebuild b/sys-libs/db/db-18.1.40.ebuild deleted file mode 100644 index 0ec531491511..000000000000 --- a/sys-libs/db/db-18.1.40.ebuild +++ /dev/null @@ -1,245 +0,0 @@ -# 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="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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -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.8 ) - >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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-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/db-3.2.9_p2-r1.ebuild b/sys-libs/db/db-3.2.9_p2-r1.ebuild deleted file mode 100644 index 09e4131d8b99..000000000000 --- a/sys-libs/db/db-3.2.9_p2-r1.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit db flag-o-matic 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 - -DESCRIPTION="Berkeley DB for transaction support in MySQL" -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="3" -# This ebuild is to be the compatibility ebuild for when db4 is put -# in the tree. -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="doc" -RESTRICT="!test? ( test )" - -DEPEND="${RDEPEND} - =sys-libs/db-1.85*" - -S="${WORKDIR}/${MY_P}" - -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 ... - # (23 Feb 2003) - "${FILESDIR}"/${MY_P}-fix-dep-link.patch - - "${FILESDIR}"/${MY_P}-gcc43.patch -) - -pkg_setup() { - # This doesn't build without exceptions - replace-flags -fno-exceptions -fexceptions -} - -src_prepare() { - for (( i=1 ; i<=${PATCHNO} ; i++ )) - do - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" - done - - default - - # We should get dump185 to link against system db1 .. - # (23 Feb 2003) - mv dist/Makefile.in{,.orig} || die - sed \ - -e 's:DB185INC=:DB185INC= -I/usr/include/db1:' \ - -e 's:DB185LIB=:DB185LIB= -ldb1:' \ - dist/Makefile.in.orig \ - > dist/Makefile.in || die - - cd dist || die - # remove config.guess else we have problems with gcc-3.2 - rm config.guess || die - sed -i "s,\(-D_GNU_SOURCE\),\1 ${CFLAGS}," configure || die -} - -src_configure() { - local conf=( - --host=${CHOST} - --build=${CHOST} - --enable-cxx - --enable-compat185 - --enable-dump185 - ) - - local conf_shared=( - --disable-static - --enable-shared - - # --enable-rpc DOES NOT BUILD - # Robin H. Johnson (18 Oct 2003) - --enable-dynamic - ) - - local conf_static=( - --disable-shared - --enable-static - ) - - # TCL support is also broken - # Robin H. Johnson (18 Oct 2003) - # conf_shared="${conf_shared} - # `use_enable tcl tcl` - # `use_with tcl tcl /usr/$(get_libdir)`" - - # NOTE: we should not build both shared and static versions - # of the libraries in the same build root! - - einfo "Configuring ${P} (static)..." - 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 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)..." - 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 - popd &>/dev/null || die -} - -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 \ - DESTDIR="${D}" \ - prefix="${ED}"/usr \ - libdir="${ED}"/usr/$(get_libdir) \ - strip="${EPREFIX}"/bin/true \ - install - popd &>/dev/null || die - - 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!" - - # this is now done in the db eclass, function db_fix_so and db_src_install_usrlibcleanup - #cd "${D}"/usr/lib - #ln -s libdb-3.2.so libdb.so.3 - - # 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 - 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 - - dodoc README - - db_src_install_doc || die "db_src_install_doc failed!" - - db_src_install_usrbinslot || die "db_src_install_usrbinslot failed!" - - db_src_install_usrlibcleanup || die "db_src_install_usrlibcleanup failed!" -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - db_fix_so -} - -src_test() { - if use test; then - eerror "We'd love to be able to test, but the testsuite is broken in the 3.2.9 series" - fi -} diff --git a/sys-libs/db/db-3.2.9_p2-r2.ebuild b/sys-libs/db/db-3.2.9_p2-r2.ebuild new file mode 100644 index 000000000000..09e4131d8b99 --- /dev/null +++ b/sys-libs/db/db-3.2.9_p2-r2.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit db flag-o-matic 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 + +DESCRIPTION="Berkeley DB for transaction support in MySQL" +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="3" +# This ebuild is to be the compatibility ebuild for when db4 is put +# in the tree. +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" +IUSE="doc" +RESTRICT="!test? ( test )" + +DEPEND="${RDEPEND} + =sys-libs/db-1.85*" + +S="${WORKDIR}/${MY_P}" + +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 ... + # (23 Feb 2003) + "${FILESDIR}"/${MY_P}-fix-dep-link.patch + + "${FILESDIR}"/${MY_P}-gcc43.patch +) + +pkg_setup() { + # This doesn't build without exceptions + replace-flags -fno-exceptions -fexceptions +} + +src_prepare() { + for (( i=1 ; i<=${PATCHNO} ; i++ )) + do + eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + default + + # We should get dump185 to link against system db1 .. + # (23 Feb 2003) + mv dist/Makefile.in{,.orig} || die + sed \ + -e 's:DB185INC=:DB185INC= -I/usr/include/db1:' \ + -e 's:DB185LIB=:DB185LIB= -ldb1:' \ + dist/Makefile.in.orig \ + > dist/Makefile.in || die + + cd dist || die + # remove config.guess else we have problems with gcc-3.2 + rm config.guess || die + sed -i "s,\(-D_GNU_SOURCE\),\1 ${CFLAGS}," configure || die +} + +src_configure() { + local conf=( + --host=${CHOST} + --build=${CHOST} + --enable-cxx + --enable-compat185 + --enable-dump185 + ) + + local conf_shared=( + --disable-static + --enable-shared + + # --enable-rpc DOES NOT BUILD + # Robin H. Johnson (18 Oct 2003) + --enable-dynamic + ) + + local conf_static=( + --disable-shared + --enable-static + ) + + # TCL support is also broken + # Robin H. Johnson (18 Oct 2003) + # conf_shared="${conf_shared} + # `use_enable tcl tcl` + # `use_with tcl tcl /usr/$(get_libdir)`" + + # NOTE: we should not build both shared and static versions + # of the libraries in the same build root! + + einfo "Configuring ${P} (static)..." + 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 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)..." + 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 + popd &>/dev/null || die +} + +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 \ + DESTDIR="${D}" \ + prefix="${ED}"/usr \ + libdir="${ED}"/usr/$(get_libdir) \ + strip="${EPREFIX}"/bin/true \ + install + popd &>/dev/null || die + + 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!" + + # this is now done in the db eclass, function db_fix_so and db_src_install_usrlibcleanup + #cd "${D}"/usr/lib + #ln -s libdb-3.2.so libdb.so.3 + + # 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 + 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 + + dodoc README + + db_src_install_doc || die "db_src_install_doc failed!" + + db_src_install_usrbinslot || die "db_src_install_usrbinslot failed!" + + db_src_install_usrlibcleanup || die "db_src_install_usrlibcleanup failed!" +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} + +src_test() { + if use test; then + eerror "We'd love to be able to test, but the testsuite is broken in the 3.2.9 series" + fi +} diff --git a/sys-libs/db/db-4.2.52_p5-r3.ebuild b/sys-libs/db/db-4.2.52_p5-r3.ebuild deleted file mode 100644 index 47066904ed2e..000000000000 --- a/sys-libs/db/db-4.2.52_p5-r3.ebuild +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 1999-2021 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 ~x64-macos" -IUSE="tcl java doc cxx" -RESTRICT="!test? ( test )" - -DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) - java? ( >=virtual/jdk-1.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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 -} - -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, missing_sh/ bash, missing_sh/' \ - -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() { - local myconf=( - --enable-compat185 - --with-uniquename - --disable-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) - ) - - 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 - - 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 \ - -e 's/-shrext $(SOFLAGS)/-shrext .so $(SOFLAGS)/g' \ - -i Makefile || die - emake -} - -src_install() { - emake \ - DESTDIR="${D}" \ - libdir="${EPREFIX}/usr/$(get_libdir)" \ - strip="${EPREFIX}/bin/strip" \ - 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 -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - db_fix_so -} diff --git a/sys-libs/db/db-4.2.52_p5-r4.ebuild b/sys-libs/db/db-4.2.52_p5-r4.ebuild new file mode 100644 index 000000000000..47066904ed2e --- /dev/null +++ b/sys-libs/db/db-4.2.52_p5-r4.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2021 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 ~x64-macos" +IUSE="tcl java doc cxx" +RESTRICT="!test? ( test )" + +DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) + java? ( >=virtual/jdk-1.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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 +} + +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, missing_sh/ bash, missing_sh/' \ + -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() { + local myconf=( + --enable-compat185 + --with-uniquename + --disable-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) + ) + + 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 + + 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 \ + -e 's/-shrext $(SOFLAGS)/-shrext .so $(SOFLAGS)/g' \ + -i Makefile || die + emake +} + +src_install() { + emake \ + DESTDIR="${D}" \ + libdir="${EPREFIX}/usr/$(get_libdir)" \ + strip="${EPREFIX}/bin/strip" \ + 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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.3.29_p1-r3.ebuild b/sys-libs/db/db-4.3.29_p1-r3.ebuild deleted file mode 100644 index c8c2b701e139..000000000000 --- a/sys-libs/db/db-4.3.29_p1-r3.ebuild +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright 1999-2021 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 ppc ppc64 ~s390 sparc x86" -IUSE="tcl java doc cxx" -RESTRICT="!test? ( test )" - -DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) - java? ( >=virtual/jdk-1.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -PATCHES=( - "${FILESDIR}"/"${PN}"-"${SLOT}"-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 - - "${FILESDIR}"/"${PN}"-4.3.27-fix-dep-link.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, missing_sh/ bash, missing_sh/' \ - -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() { - local myconf=( - --enable-compat185 - --enable-o_direct - --without-uniquename - --disable-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) - ) - - 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[@]}" -} - -src_install() { - emake \ - DESTDIR="${D}" \ - libdir="${EPREFIX}/usr/$(get_libdir)" \ - strip="${EPREFIX}/bin/strip" \ - 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 -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - db_fix_so -} diff --git a/sys-libs/db/db-4.3.29_p1-r4.ebuild b/sys-libs/db/db-4.3.29_p1-r4.ebuild new file mode 100644 index 000000000000..c8c2b701e139 --- /dev/null +++ b/sys-libs/db/db-4.3.29_p1-r4.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2021 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 ppc ppc64 ~s390 sparc x86" +IUSE="tcl java doc cxx" +RESTRICT="!test? ( test )" + +DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) + java? ( >=virtual/jdk-1.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +PATCHES=( + "${FILESDIR}"/"${PN}"-"${SLOT}"-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 + + "${FILESDIR}"/"${PN}"-4.3.27-fix-dep-link.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, missing_sh/ bash, missing_sh/' \ + -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() { + local myconf=( + --enable-compat185 + --enable-o_direct + --without-uniquename + --disable-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) + ) + + 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[@]}" +} + +src_install() { + emake \ + DESTDIR="${D}" \ + libdir="${EPREFIX}/usr/$(get_libdir)" \ + strip="${EPREFIX}/bin/strip" \ + 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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.4.20_p4-r3.ebuild b/sys-libs/db/db-4.4.20_p4-r3.ebuild deleted file mode 100644 index f2d903b73540..000000000000 --- a/sys-libs/db/db-4.4.20_p4-r3.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2021 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 - mirror://gentoo/${MY_P}-20060110-rpc_server-java.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 BSD" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86" -IUSE="tcl java doc cxx" -RESTRICT="!test? ( test )" - -DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) - java? ( >=virtual/jdk-1.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -PATCHES=( - "${FILESDIR}"/"${PN}"-"${SLOT}"-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 - unpack "${MY_P}-20060110-rpc_server-java".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 - - 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() { - local myconf=( - --enable-compat185 - --enable-o_direct - --without-uniquename - --disable-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) - ) - - 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[@]}" -} - -src_install() { - emake \ - DESTDIR="${D}" \ - libdir="${EPREFIX}/usr/$(get_libdir)" \ - strip="${EPREFIX}/bin/strip" \ - 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 -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - db_fix_so -} diff --git a/sys-libs/db/db-4.4.20_p4-r4.ebuild b/sys-libs/db/db-4.4.20_p4-r4.ebuild new file mode 100644 index 000000000000..f2d903b73540 --- /dev/null +++ b/sys-libs/db/db-4.4.20_p4-r4.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2021 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 + mirror://gentoo/${MY_P}-20060110-rpc_server-java.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 BSD" +SLOT="$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="tcl java doc cxx" +RESTRICT="!test? ( test )" + +DEPEND="tcl? ( >=dev-lang/tcl-8.4 ) + java? ( >=virtual/jdk-1.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +PATCHES=( + "${FILESDIR}"/"${PN}"-"${SLOT}"-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 + unpack "${MY_P}-20060110-rpc_server-java".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 + + 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() { + local myconf=( + --enable-compat185 + --enable-o_direct + --without-uniquename + --disable-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) + ) + + 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[@]}" +} + +src_install() { + emake \ + DESTDIR="${D}" \ + libdir="${EPREFIX}/usr/$(get_libdir)" \ + strip="${EPREFIX}/bin/strip" \ + 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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.5.20_p2-r3.ebuild b/sys-libs/db/db-4.5.20_p2-r3.ebuild deleted file mode 100644 index c8677a2f0a4d..000000000000 --- a/sys-libs/db/db-4.5.20_p2-r3.ebuild +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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 - --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 -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - db_fix_so -} diff --git a/sys-libs/db/db-4.5.20_p2-r4.ebuild b/sys-libs/db/db-4.5.20_p2-r4.ebuild deleted file mode 100644 index 5d76d20b0084..000000000000 --- a/sys-libs/db/db-4.5.20_p2-r4.ebuild +++ /dev/null @@ -1,193 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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.5.20_p2-r5.ebuild b/sys-libs/db/db-4.5.20_p2-r5.ebuild new file mode 100644 index 000000000000..c8677a2f0a4d --- /dev/null +++ b/sys-libs/db/db-4.5.20_p2-r5.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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 + --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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.5.20_p2-r6.ebuild b/sys-libs/db/db-4.5.20_p2-r6.ebuild new file mode 100644 index 000000000000..5d76d20b0084 --- /dev/null +++ b/sys-libs/db/db-4.5.20_p2-r6.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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-r2.ebuild b/sys-libs/db/db-4.6.21_p4-r2.ebuild deleted file mode 100644 index d753b5db0f64..000000000000 --- a/sys-libs/db/db-4.6.21_p4-r2.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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 - --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 -} - -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 deleted file mode 100644 index d69c3c32c2a1..000000000000 --- a/sys-libs/db/db-4.6.21_p4-r3.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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.6.21_p4-r4.ebuild b/sys-libs/db/db-4.6.21_p4-r4.ebuild new file mode 100644 index 000000000000..d753b5db0f64 --- /dev/null +++ b/sys-libs/db/db-4.6.21_p4-r4.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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 + --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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.6.21_p4-r5.ebuild b/sys-libs/db/db-4.6.21_p4-r5.ebuild new file mode 100644 index 000000000000..d69c3c32c2a1 --- /dev/null +++ b/sys-libs/db/db-4.6.21_p4-r5.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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-r2.ebuild b/sys-libs/db/db-4.7.25_p4-r2.ebuild deleted file mode 100644 index 7b7ac90fe7a2..000000000000 --- a/sys-libs/db/db-4.7.25_p4-r2.ebuild +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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 - - $(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 -} - -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 deleted file mode 100644 index a4d8f87a8e48..000000000000 --- a/sys-libs/db/db-4.7.25_p4-r3.ebuild +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( dev-lang/tcl ) - java? ( >=virtual/jre-1.8 )" - -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.7.25_p4-r4.ebuild b/sys-libs/db/db-4.7.25_p4-r4.ebuild new file mode 100644 index 000000000000..7b7ac90fe7a2 --- /dev/null +++ b/sys-libs/db/db-4.7.25_p4-r4.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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 + + $(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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + db_fix_so +} diff --git a/sys-libs/db/db-4.7.25_p4-r5.ebuild b/sys-libs/db/db-4.7.25_p4-r5.ebuild new file mode 100644 index 000000000000..a4d8f87a8e48 --- /dev/null +++ b/sys-libs/db/db-4.7.25_p4-r5.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( dev-lang/tcl ) + java? ( >=virtual/jre-1.8 )" + +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-r3.ebuild b/sys-libs/db/db-4.8.30-r3.ebuild deleted file mode 100644 index 598b13dac88f..000000000000 --- a/sys-libs/db/db-4.8.30-r3.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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 - $([[ ${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 - 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 -} - -pkg_postinst() { - multilib_foreach_abi db_fix_so -} - -pkg_postrm() { - multilib_foreach_abi 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 deleted file mode 100644 index 80ec7706ca17..000000000000 --- a/sys-libs/db/db-4.8.30-r4.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2021 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.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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-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 - 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-4.8.30-r5.ebuild b/sys-libs/db/db-4.8.30-r5.ebuild new file mode 100644 index 000000000000..598b13dac88f --- /dev/null +++ b/sys-libs/db/db-4.8.30-r5.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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 + $([[ ${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 + 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 +} + +pkg_postinst() { + multilib_foreach_abi db_fix_so +} + +pkg_postrm() { + multilib_foreach_abi db_fix_so +} diff --git a/sys-libs/db/db-4.8.30-r6.ebuild b/sys-libs/db/db-4.8.30-r6.ebuild new file mode 100644 index 000000000000..80ec7706ca17 --- /dev/null +++ b/sys-libs/db/db-4.8.30-r6.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2021 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.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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-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 + 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-5.1.29-r2.ebuild b/sys-libs/db/db-5.1.29-r2.ebuild deleted file mode 100644 index 7a6a8cb141cd..000000000000 --- a/sys-libs/db/db-5.1.29-r2.ebuild +++ /dev/null @@ -1,224 +0,0 @@ -# Copyright 1999-2021 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 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 - 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" - -REQUIRED_USE="test? ( tcl )" - -# the entire testsuite needs the TCL functionality -DEPEND="tcl? ( >=dev-lang/tcl-8.4:0 ) - test? ( >=dev-lang/tcl-8.4:0 ) - java? ( >=virtual/jdk-1.8 )" -RDEPEND="tcl? ( dev-lang/tcl:0 ) - java? ( >=virtual/jre-1.8 )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.8-libtool.patch - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 - - # upstream autoconf fails to build DBM when it's supposed to - # merged upstream in 5.0.26 - #"${FILESDIR}"/${PN}-5.0.21-enable-dbm-autoconf.patch - - # Needed when compiling with clang - "${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 \ - -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ - -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 - 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() { - 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-force-bfd #470634 #729510 - - # 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 - - if use java ; then - 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 - # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - 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 - cd "${S}" || die - - 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. -} - -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 -} - -pkg_postinst() { - db_fix_so -} - -pkg_postrm() { - 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 - - db_src_test -} diff --git a/sys-libs/db/db-5.1.29-r3.ebuild b/sys-libs/db/db-5.1.29-r3.ebuild new file mode 100644 index 000000000000..7a6a8cb141cd --- /dev/null +++ b/sys-libs/db/db-5.1.29-r3.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2021 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 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 + 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" + +REQUIRED_USE="test? ( tcl )" + +# the entire testsuite needs the TCL functionality +DEPEND="tcl? ( >=dev-lang/tcl-8.4:0 ) + test? ( >=dev-lang/tcl-8.4:0 ) + java? ( >=virtual/jdk-1.8 )" +RDEPEND="tcl? ( dev-lang/tcl:0 ) + java? ( >=virtual/jre-1.8 )" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8-libtool.patch + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 + + # upstream autoconf fails to build DBM when it's supposed to + # merged upstream in 5.0.26 + #"${FILESDIR}"/${PN}-5.0.21-enable-dbm-autoconf.patch + + # Needed when compiling with clang + "${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 \ + -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ + -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 + 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() { + 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-force-bfd #470634 #729510 + + # 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 + + if use java ; then + 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 + # mumbo jumbo. + if use userland_GNU ; then + append-ldflags -Wl,--default-symver + 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 + cd "${S}" || die + + 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. +} + +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 +} + +pkg_postinst() { + db_fix_so +} + +pkg_postrm() { + 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 + + db_src_test +} diff --git a/sys-libs/db/db-5.3.28-r2.ebuild b/sys-libs/db/db-5.3.28-r2.ebuild deleted file mode 100644 index 715e6de997cf..000000000000 --- a/sys-libs/db/db-5.3.28-r2.ebuild +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit epatch db flag-o-matic java-pkg-opt-2 autotools 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_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="Sleepycat" -SLOT="5.3" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~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.8 ) - >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db5.3/db.h -) - -src_prepare() { - cd "${WORKDIR}"/"${MY_P}" - for (( i=1 ; i<=${PATCHNO} ; i++ )) - do - epatch "${DISTDIR}"/patch."${MY_PV}"."${i}" - done - - # bug #510506 - epatch "${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.2-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 - - # 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 - - # 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 \ - '/^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() { - local myconf=() - - 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 - 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} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ - $(use_enable cxx) \ - $(use_enable cxx stl) \ - $(multilib_native_use_enable java) \ - "${myconf[@]}" \ - $(use_enable test) - # 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}" - - 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/db-5.3.28-r4.ebuild b/sys-libs/db/db-5.3.28-r4.ebuild deleted file mode 100644 index 9143d24498e1..000000000000 --- a/sys-libs/db/db-5.3.28-r4.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 1999-2021 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_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="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" - -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.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db${SLOT}/db.h -) - -PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 - - # 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 -) - -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 - - # 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 - 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 -} - -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 - $([[ ${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 - - 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_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 - - 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 -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-5.3.28-r5.ebuild b/sys-libs/db/db-5.3.28-r5.ebuild deleted file mode 100644 index f89908a5c14c..000000000000 --- a/sys-libs/db/db-5.3.28-r5.ebuild +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 1999-2021 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_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="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" - -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.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db${SLOT}/db.h -) - -PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 - - # 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 -) - -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 - - # 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 - 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 -} - -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 - $([[ ${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 - - 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_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 - - 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 -} - -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-5.3.28-r6.ebuild b/sys-libs/db/db-5.3.28-r6.ebuild new file mode 100644 index 000000000000..715e6de997cf --- /dev/null +++ b/sys-libs/db/db-5.3.28-r6.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit epatch db flag-o-matic java-pkg-opt-2 autotools 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_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="Sleepycat" +SLOT="5.3" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~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.8 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db5.3/db.h +) + +src_prepare() { + cd "${WORKDIR}"/"${MY_P}" + for (( i=1 ; i<=${PATCHNO} ; i++ )) + do + epatch "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + # bug #510506 + epatch "${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.2-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 + + # 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 + + # 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 \ + '/^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() { + local myconf=() + + 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 + 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} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ + $(use_enable cxx) \ + $(use_enable cxx stl) \ + $(multilib_native_use_enable java) \ + "${myconf[@]}" \ + $(use_enable test) + # 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}" + + 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/db-5.3.28-r7.ebuild b/sys-libs/db/db-5.3.28-r7.ebuild new file mode 100644 index 000000000000..9143d24498e1 --- /dev/null +++ b/sys-libs/db/db-5.3.28-r7.ebuild @@ -0,0 +1,254 @@ +# Copyright 1999-2021 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_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="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" + +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.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db${SLOT}/db.h +) + +PATCHES=( + # bug #510506 + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 + + # 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 +) + +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 + + # 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 + 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 +} + +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 + $([[ ${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 + + 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_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 + + 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 -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-5.3.28-r8.ebuild b/sys-libs/db/db-5.3.28-r8.ebuild new file mode 100644 index 000000000000..f89908a5c14c --- /dev/null +++ b/sys-libs/db/db-5.3.28-r8.ebuild @@ -0,0 +1,258 @@ +# Copyright 1999-2021 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_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="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" + +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.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db${SLOT}/db.h +) + +PATCHES=( + # bug #510506 + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 + + # 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 +) + +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 + + # 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 + 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 +} + +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 + $([[ ${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 + + 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_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 + + 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 +} + +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-r3.ebuild b/sys-libs/db/db-6.0.35-r3.ebuild deleted file mode 100644 index 18c03138591b..000000000000 --- a/sys-libs/db/db-6.0.35-r3.ebuild +++ /dev/null @@ -1,257 +0,0 @@ -# Copyright 1999-2021 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_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="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~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.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db${SLOT}/db.h -) - -PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 - - # 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 -) - -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 - - # 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 - 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 -} - -multilib_src_configure() { - local myconf=( - --enable-compat185 - --enable-dbm - --enable-o_direct - --without-uniquename - --disable-sql - --disable-sql_codegen - --disable-sql_compat - --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-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 - 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 - - 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 -} - -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/db-6.0.35-r4.ebuild b/sys-libs/db/db-6.0.35-r4.ebuild new file mode 100644 index 000000000000..18c03138591b --- /dev/null +++ b/sys-libs/db/db-6.0.35-r4.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2021 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_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="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~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.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db${SLOT}/db.h +) + +PATCHES=( + # bug #510506 + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.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 + + # 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 +) + +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 + + # 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 + 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 +} + +multilib_src_configure() { + local myconf=( + --enable-compat185 + --enable-dbm + --enable-o_direct + --without-uniquename + --disable-sql + --disable-sql_codegen + --disable-sql_compat + --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-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 + 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 + + 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 +} + +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/db-6.1.38-r1.ebuild b/sys-libs/db/db-6.1.38-r1.ebuild new file mode 100644 index 000000000000..9c01f35ac797 --- /dev/null +++ b/sys-libs/db/db-6.1.38-r1.ebuild @@ -0,0 +1,248 @@ +# 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}/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 ~riscv ~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.8 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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-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 + + # 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 + 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 + --without-uniquename + --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) + $(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 + myeconfargs+=( + --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 + + # 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 -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/db-6.1.38.ebuild b/sys-libs/db/db-6.1.38.ebuild deleted file mode 100644 index 9c01f35ac797..000000000000 --- a/sys-libs/db/db-6.1.38.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# 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}/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 ~riscv ~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.8 ) - >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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-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 - - # 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 - 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 - --without-uniquename - --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) - $(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 - myeconfargs+=( - --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 - - # 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 -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/db-6.2.38-r1.ebuild b/sys-libs/db/db-6.2.38-r1.ebuild new file mode 100644 index 000000000000..786041b37bd1 --- /dev/null +++ b/sys-libs/db/db-6.2.38-r1.ebuild @@ -0,0 +1,249 @@ +# 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}/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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +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.8 ) + kernel_linux? ( >=sys-devel/binutils-2.16.1 ) + kernel_SunOS? ( >=sys-devel/binutils-2.16.1 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.8 )" + +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}-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 + 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 + --without-uniquename + --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) + $(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 kernel_linux || use kernel_SunOS; 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 + myeconfargs+=( + --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 + + # 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 -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/db-6.2.38.ebuild b/sys-libs/db/db-6.2.38.ebuild deleted file mode 100644 index 786041b37bd1..000000000000 --- a/sys-libs/db/db-6.2.38.ebuild +++ /dev/null @@ -1,249 +0,0 @@ -# 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}/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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -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.8 ) - kernel_linux? ( >=sys-devel/binutils-2.16.1 ) - kernel_SunOS? ( >=sys-devel/binutils-2.16.1 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" - -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}-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 - 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 - --without-uniquename - --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) - $(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 kernel_linux || use kernel_SunOS; 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 - myeconfargs+=( - --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 - - # 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 -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 -} -- cgit v1.2.3-65-gdbad