From ebc282ef4dfa408accac685565b8ee5f6faec119 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 12 Feb 2023 09:56:54 +0000 Subject: gentoo auto-resync : 12:02:2023 - 09:56:54 --- sys-libs/db/Manifest | 6 +- sys-libs/db/db-4.8.30-r7.ebuild | 164 --------------- sys-libs/db/db-4.8.30-r8.ebuild | 165 +++++++++++++++ sys-libs/db/db-5.3.28-r8.ebuild | 230 --------------------- sys-libs/db/db-5.3.28-r9.ebuild | 231 +++++++++++++++++++++ sys-libs/db/files/db-4.8.30-clang16.patch | 281 ++++++++++++++++++++++++++ sys-libs/db/files/db-5.3.28-clang16.patch | 325 ++++++++++++++++++++++++++++++ 7 files changed, 1006 insertions(+), 396 deletions(-) delete mode 100644 sys-libs/db/db-4.8.30-r7.ebuild create mode 100644 sys-libs/db/db-4.8.30-r8.ebuild delete mode 100644 sys-libs/db/db-5.3.28-r8.ebuild create mode 100644 sys-libs/db/db-5.3.28-r9.ebuild create mode 100644 sys-libs/db/files/db-4.8.30-clang16.patch create mode 100644 sys-libs/db/files/db-5.3.28-clang16.patch (limited to 'sys-libs/db') diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest index f75c6310eb2e..41148f72fa1e 100644 --- a/sys-libs/db/Manifest +++ b/sys-libs/db/Manifest @@ -1,14 +1,16 @@ AUX db-4.8-libtool.patch 2080 BLAKE2B 9a3dae0587dcf97f41b2991a577a92a558cf8c171c14e703dc5e83ab8292a00e37fb939922197c0b0dbc96c6462faf27cead0fa3535c0e798378d8c2b22b546a SHA512 b1298a1f98c7a99a05cae1f205550d7019a488c9f049bc5e6ee32d4fd7a5ec852ae4d41b7cfe928917b57b9e9949460d907cd5926fa7cdafe1c8749191996218 AUX db-4.8-wformat-security.patch 983 BLAKE2B aa0c4abb5b76f8c53fedea89fc730a74c0904bf90e82926ea3c00a633f34755552e7436aba45b66e2a473776df5f2d6356194b4d4ea918ef614a8b55308d6d2f SHA512 ccc5c7f0219668ff658603cb8439c480afadd74c3c197b3ba4b7a6575cbb3818fc481e82b832efadf008cf30764c106c91698073a554a74f551a281e29f2e8f8 +AUX db-4.8.30-clang16.patch 6735 BLAKE2B f217260979c68c4b3f94dcfbbf1f4977d92cb7b1ecce7f595c4c8aac1e93f163feb827ae04cfdf2eb2622fae1ba577004dd3ecf7c4d758b8f13a45671f328c6c SHA512 7843b43ad183608f7dc4f45451941345b0a55aebd2b4f7a91c1e8cc6b305dc1d91dcb465b23cd11b8d90dd8ad709b8a734e7c34df835c430a79c61b0c7e4229c AUX db-4.8.30-rename-atomic-compare-exchange.patch 761 BLAKE2B 01d01cb784049f7d598945d205b560c84c1dfcb0bfad733a31182122c9be30177051284f364b2846805b4d639de1e259554b9bc89c092d285a577276eb83eaed SHA512 8733ccf1b6c3072b7035f4cc976b151bb5331a4be6a23736baccf05268f869f594fc39b843b37cdd5b84e48f8af035f05d676be0b17c6031299f682f4793b4f6 AUX db-5.1.29-rename-atomic-compare-exchange.patch 769 BLAKE2B a6110550327dbe154ad21a053f8ebcb2a37506228c34858337b1bf375b290a351cd75405f50f567b3b56da6a2871e1f166e6e3b972a92808f841fe6f64cfb159 SHA512 25121cb7aaa08d46fb206a1437bfb2e180c4c3f5866bb02550c49bc5084842b330f9e1c47df6fd2eda72003b9ab510199588ff05a0f2e115e91f3990805dcd8f AUX db-5.2.28-sqlite-configure-path.patch 733 BLAKE2B 7324ab06fdf2b7c05ad03d4a91d9c62af8e0fe07db9474f3874cb3e8d50fd90e08d85a743d84062ef2ce1895d999572b3d862e3f525e719274614e2c3cf802cf SHA512 18f5fa82c236e6961711b0a41d43d2cd7b4a4b72759df69ba265a49a55023f17b1356b8a5d1c1c539d69eaaaaf4f525adbd7173acb3a8ab7eae838dd10f54021 +AUX db-5.3.28-clang16.patch 7870 BLAKE2B f89e7699cc59ed692a7481ac7224e5c47aa480bb2eec5e8d074d0231d08e52a070acb8d77aa54c1aa7678dc36665375b513b95953cdadf777d95e0cddaecdc76 SHA512 47f1da85d015b803b38d8ebcedfc88fd1ef47d06fd2766e88cf05188504b4a502dbbe25ce480fb52cccc491ad1da4c475b33c75e120f2c8bbdc256ab4ee9f2e9 AUX db-6.0.20-test-link.patch 1395 BLAKE2B 639f40b16fd225a57825387d75ac8bd961b11ffe653a8f2b9fa9526251713e48d8c877624e257f63c6d88a6c601e787ae44120477aa517c37c1e279298dfcaa8 SHA512 206bfe3fce4b4f8476c5d885fe8f004ce4437e42e33a6b8944de780c58bdbd8c0e7380e43113be5efeae86fcd50a12f8fca96ceb38539bb9624898a24395d408 AUX db-6.0.35-sqlite-configure-path.patch 748 BLAKE2B 570c499549fddd62fa4d14a6eb7830dea3da6b60a05c9be6e5e5169dd9ee7b2e032b4ba9669d8de3985a2717101f7b709e1c26efb5a3200d1aa0d6511bed5d16 SHA512 fd8a4eed5d54f3364c5d3509a238db1f1d62b3f13b75ba1e58a20659c83d038904562d32cc4cdde41b324623459e50071b507979b3fedbc85f2231e6784f1227 DIST db-4.8.30.tar.gz 22887305 BLAKE2B 10487580a371fa97ef5e468e1fcc4af68490934a82467da88b723f7d4ce403cd5f2b77bd95c218dda58161fe30bfef81f5093a8e5176f5ad5f482251c07c6423 SHA512 d1a3c52b0ab54ae3fd6792e6396c9f74d25f36b2eb9e853b67ef9c872508a58c784c7818108d06d184f59601b70cc877916e67dfea6f0ee1ca2b07468c1041f1 DIST db-5.3.28.tar.gz 35090431 BLAKE2B 5b77a4ec0945fa96ce6c2b452fb4b029295e037fa64d5ff8dcb3b5e01ee3501fd75d9a73b8f5fa54d8907717d93546fbb5348ee70119e877fa2f17d301ecf50d SHA512 e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 DIST db-6.0.35.tar.gz 36532251 BLAKE2B 22fbe557ccc13e4b936db8ca7d6ba11ce42e477bbf39f7e472067e06fb5910b1147fa58a44ac944c24a51ea839f1c61edda6bd8f3c450acac0c13d7fdba11e89 SHA512 002db1553def44efa715095b04b2bac2de7450cdc7142586d1d8b5d8ce79ee5e98f824b3bd276cd586ca932dc51ed35a9ffbed95b2b9847264f262cfa092479d -EBUILD db-4.8.30-r7.ebuild 4342 BLAKE2B 22ad7bd25d04d82613977abda9f58c6d1c6fcde6f1124324240848e27746405d03477757e680cb757b5aa50cde68deef60f2adcf032683f0939c6c3a4ed9926a SHA512 336b22c0d8947ef64f57f29b5783a8d719c09d6aafc42dfb28be289f9112fbdf378b3694a26fc97479619edab9a255159d9134fe1ca3c9fa210f8363dd642d1d -EBUILD db-5.3.28-r8.ebuild 6332 BLAKE2B 20716e56c762093c140f9e33306ea7a131fa9aa4de97b873f1ef3e1998b698502926948c7e3ee6483645cae3a82682a54b7655db72bbb368dd762a7fe5a9eb91 SHA512 95d286e2ca2196703db123afb2c9f4bd2d9fe1f8170b3005ab23e086d8af2651a241ad15dab13e13f4ebb00a232d251210624c9156a7c699d687beea1b6455c8 +EBUILD db-4.8.30-r8.ebuild 4384 BLAKE2B 6a45b3a7b6d0ba006a683806fc13e96378d2450c86a003c49af63dc632cdf45184294ad211b219a6888c2aeb974ca8ce685381962c9e384e1fc58983a51348bc SHA512 017627d4258b824b0669ca5f528ccb3a56debc2e807029ea6dd850ca0b873dda1301766663f9f9d666be0bf71abd45487833dacf98003a209ffb5821e5663db7 +EBUILD db-5.3.28-r9.ebuild 6374 BLAKE2B 6a73a04f2bff18a7200df8d3a319a0b39d7efb7419056887d5eba9e5cf6bbf8c1d3feabf60421a168b79063c855bb4a8b9e4a4c58138fa2b38504e3f0655350f SHA512 ccc234f5be61b8b44420b890ef2ad494433e21548d5f116d0711a73003cbe19e116fabdfdcad294fcaf01666b74b3bd7ced090375561f0beb17ba65b6277d560 EBUILD db-6.0.35-r4.ebuild 6228 BLAKE2B 6c533595bbe2d1888c296eabaae5eb40f1335c81a76d1d95a3b4bbd2123abc673dee0e08e90c323ab7a59c95ab8890da483aa53cec93c92079000021e4d943b9 SHA512 18497321dd41cd1025c2e9ebffae12a0e0acb70843dd73c7db668bca86d31246cd3e60ceebfb1d06367061a47e8cbde3fa51053c67917000d567d1c4d663541f MISC metadata.xml 1261 BLAKE2B 81cfdd965f4e2e0342d812c6c1fd602c43ca8bbbb23bd12f230444d26bee578f9ba2af781a8390bb754b66b4699c6aada379dea90397798f8a489a7fd11b85fb SHA512 08d43450d54a8718639ae2637f13da7626415e99a8fa5948c5107b7a973161f31b3b0cf58dc538dd48a18db996f020d57d20edefbcdd8e37c6e58c206c3aab6e diff --git a/sys-libs/db/db-4.8.30-r7.ebuild b/sys-libs/db/db-4.8.30-r7.ebuild deleted file mode 100644 index 776ad34df993..000000000000 --- a/sys-libs/db/db-4.8.30-r7.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools db flag-o-matic multilib-minimal toolchain-funcs - -# Number of official patches -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` -PATCHNO="${PV/*.*.*_p}" -if [[ ${PATCHNO} == "${PV}" ]] ; then - MY_PV="${PV}" - MY_P="${P}" - PATCHNO=0 -else - MY_PV="${PV/_p${PATCHNO}}" - MY_P="${PN}-${MY_PV}" -fi - -S="${WORKDIR}/${MY_P}/build_unix" -DESCRIPTION="Oracle Berkeley DB" -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz" -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do - SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" -done - -LICENSE="Sleepycat" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="doc cxx tcl test" -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( tcl )" - -# The entire testsuite needs the TCL functionality -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.8-libtool.patch - "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch - "${FILESDIR}"/${PN}-4.8-wformat-security.patch -) - -src_prepare() { - cd "${WORKDIR}"/"${MY_P}" || die - for (( i=1 ; i<=${PATCHNO} ; i++ )); do - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" - done - - default - - sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \ - || die - - cd dist || die - rm aclocal/libtool.m4 || die - sed \ - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ - -i configure.ac || die - sed \ - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ - -i aclocal/programs.m4 || die - - AT_M4DIR="aclocal" eautoreconf - - # They do autoconf and THEN replace the version variables :( - . ./RELEASE - sed \ - -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \ - -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \ - -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \ - -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \ - -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \ - -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \ - -i configure || die -} - -multilib_src_configure() { - local myconf=( - --enable-compat185 - --enable-o_direct - --without-uniquename - --disable-static - --disable-java - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) - $(use_enable cxx) - $(use_enable cxx stl) - $(use_enable test) - ) - - # bug #470634 and bug #729510 - tc-ld-force-bfd - - # compilation with -O0 fails on amd64, see bug #171231 - if [[ ${ABI} == amd64 ]]; then - local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} - replace-flags -O0 -O2 - is-flagq -O[s123] || append-flags -O2 - fi - - # Add linker versions to the symbols. Easier to do, and safer than header file - # mumbo jumbo. - append-ldflags -Wl,--default-symver - - # Bug #270851: test needs TCL support - if use tcl || use test ; then - myconf+=( - --enable-tcl - --with-tcl="${EPREFIX}/usr/$(get_libdir)" - ) - else - myconf+=(--disable-tcl ) - fi - - ECONF_SOURCE="${S}"/../dist STRIP="true" econf "${myconf[@]}" - - # The embedded assembly on ARM does not work on newer hardware - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. - # Specifically, it uses the SWPB op, which was deprecated: - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm - # The op ALSO cannot be used in ARM-Thumb mode. - # Trust the compiler instead. - # >=db-6.1 uses LDREX instead. -} - -multilib_src_test() { - multilib_is_native_abi || return - - S="${BUILD_DIR}" db_src_test -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - db_src_install_headerslot - - db_src_install_usrlibcleanup -} - -multilib_src_install_all() { - db_src_install_usrbinslot - - db_src_install_doc - - dodir /usr/sbin - # This file is not always built, and no longer exists as of db-4.8 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then - mv "${ED}"/usr/bin/berkeley_db_svc \ - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die - fi - - # no static libraries - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - multilib_foreach_abi db_fix_so -} - -pkg_postrm() { - multilib_foreach_abi db_fix_so -} diff --git a/sys-libs/db/db-4.8.30-r8.ebuild b/sys-libs/db/db-4.8.30-r8.ebuild new file mode 100644 index 000000000000..e40d00b495fe --- /dev/null +++ b/sys-libs/db/db-4.8.30-r8.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools db flag-o-matic multilib-minimal toolchain-funcs + +# Number of official patches +#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` +PATCHNO="${PV/*.*.*_p}" +if [[ ${PATCHNO} == "${PV}" ]] ; then + MY_PV="${PV}" + MY_P="${P}" + PATCHNO=0 +else + MY_PV="${PV/_p${PATCHNO}}" + MY_P="${PN}-${MY_PV}" +fi + +S="${WORKDIR}/${MY_P}/build_unix" +DESCRIPTION="Oracle Berkeley DB" +HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" +SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz" +for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do + SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" +done + +LICENSE="Sleepycat" +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86" +IUSE="doc cxx tcl test" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( tcl )" + +# The entire testsuite needs the TCL functionality +DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8-libtool.patch + "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch + "${FILESDIR}"/${PN}-4.8-wformat-security.patch + "${FILESDIR}"/${PN}-4.8.30-clang16.patch +) + +src_prepare() { + cd "${WORKDIR}"/"${MY_P}" || die + for (( i=1 ; i<=${PATCHNO} ; i++ )); do + eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + default + + sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \ + || die + + cd dist || die + rm aclocal/libtool.m4 || die + sed \ + -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ + -i configure.ac || die + sed \ + -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ + -i aclocal/programs.m4 || die + + AT_M4DIR="aclocal" eautoreconf + + # They do autoconf and THEN replace the version variables :( + . ./RELEASE + sed \ + -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \ + -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \ + -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \ + -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \ + -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \ + -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \ + -i configure || die +} + +multilib_src_configure() { + local myconf=( + --enable-compat185 + --enable-o_direct + --without-uniquename + --disable-static + --disable-java + $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) + $(use_enable cxx) + $(use_enable cxx stl) + $(use_enable test) + ) + + # bug #470634 and bug #729510 + tc-ld-force-bfd + + # compilation with -O0 fails on amd64, see bug #171231 + if [[ ${ABI} == amd64 ]]; then + local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} + replace-flags -O0 -O2 + is-flagq -O[s123] || append-flags -O2 + fi + + # Add linker versions to the symbols. Easier to do, and safer than header file + # mumbo jumbo. + append-ldflags -Wl,--default-symver + + # Bug #270851: test needs TCL support + if use tcl || use test ; then + myconf+=( + --enable-tcl + --with-tcl="${EPREFIX}/usr/$(get_libdir)" + ) + else + myconf+=(--disable-tcl ) + fi + + ECONF_SOURCE="${S}"/../dist STRIP="true" econf "${myconf[@]}" + + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. +} + +multilib_src_test() { + multilib_is_native_abi || return + + S="${BUILD_DIR}" db_src_test +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + db_src_install_headerslot + + db_src_install_usrlibcleanup +} + +multilib_src_install_all() { + db_src_install_usrbinslot + + db_src_install_doc + + dodir /usr/sbin + # This file is not always built, and no longer exists as of db-4.8 + if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then + mv "${ED}"/usr/bin/berkeley_db_svc \ + "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die + fi + + # no static libraries + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + multilib_foreach_abi db_fix_so +} + +pkg_postrm() { + multilib_foreach_abi db_fix_so +} diff --git a/sys-libs/db/db-5.3.28-r8.ebuild b/sys-libs/db/db-5.3.28-r8.ebuild deleted file mode 100644 index 6b76da14de94..000000000000 --- a/sys-libs/db/db-5.3.28-r8.ebuild +++ /dev/null @@ -1,230 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools db flag-o-matic multilib 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 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc cxx tcl test" - -REQUIRED_USE="test? ( tcl )" - -# the entire testsuite needs the TCL functionality -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" -# bug #841698 -BDEPEND="sys-devel/autoconf-archive" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db${SLOT}/db.h -) - -PATCHES=( - # sqlite configure call has an extra leading .. - # upstreamed:5.2.36, missing in 5.3.x - "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch - - # The upstream testsuite copies .lib and the binaries for each parallel test - # core, ~300MB each. This patch uses links instead, saves a lot of space. - "${FILESDIR}"/${PN}-6.0.20-test-link.patch - - # Needed when compiling with clang - "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch -) - -src_prepare() { - cd "${S_BASE}" || die - for (( i=1 ; i<=${PATCHNO} ; i++ )) - do - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" - done - - default - - # Upstream release script grabs the dates when the script was run, so lets - # end-run them to keep the date the same. - export REAL_DB_RELEASE_DATE="$(awk \ - '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ - "${S_BASE}"/dist/configure)" - sed -r \ - -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ - -i dist/RELEASE || die - - cd dist || die - rm aclocal/libtool.m4 || die - sed \ - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ - -i configure.ac || die - sed \ - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ - -i aclocal/programs.m4 || die - - AT_M4DIR="aclocal" eautoreconf - - # They do autoconf and THEN replace the version variables :( - . ./RELEASE - local v ev - for v in \ - DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ - DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ - DB_VERSION \ - DB_RELEASE_DATE ; do - ev="__EDIT_${v}__" - sed -e "s/${ev}/${!v}/g" -i configure || die - done - - # This is a false positive skip in the tests as the test-reviewer code - # looks for 'Skipping\s' - sed \ - -e '/db_repsite/s,Skipping:,Skipping,g' \ - -i "${S_BASE}"/test/tcl/reputils.tcl || die -} - -multilib_src_configure() { - local myconf=( - # sql_compat will cause a collision with sqlite3 - #--enable-sql_compat - # Don't --enable-sql* because we don't want to use bundled sqlite. - # See Gentoo bug #605688 - --enable-compat185 - --enable-dbm - --enable-o_direct - --without-uniquename - --disable-sql - --disable-sql_codegen - --disable-sql_compat - --disable-static - --disable-java - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) - $(use_enable cxx) - $(use_enable cxx stl) - $(use_enable test) - ) - - 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. - append-ldflags -Wl,--default-symver - - # Bug #270851: test needs TCL support - if use tcl || use test ; then - myconf+=( - --enable-tcl - --with-tcl="${EPREFIX}/usr/$(get_libdir)" - ) - else - myconf+=(--disable-tcl ) - fi - - ECONF_SOURCE="${S_BASE}"/dist \ - STRIP="true" \ - econf "${myconf[@]}" - - # The embedded assembly on ARM does not work on newer hardware - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. - # Specifically, it uses the SWPB op, which was deprecated: - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm - # The op ALSO cannot be used in ARM-Thumb mode. - # Trust the compiler instead. - # >=db-6.1 uses LDREX instead. -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - db_src_install_headerslot - - db_src_install_usrlibcleanup -} - -multilib_src_install_all() { - db_src_install_usrbinslot - - db_src_install_doc - - dodir /usr/sbin - # This file is not always built, and no longer exists as of db-4.8 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then - mv "${ED}"/usr/bin/berkeley_db_svc \ - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die - fi - - # no static libraries - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - multilib_foreach_abi db_fix_so -} - -pkg_postrm() { - multilib_foreach_abi db_fix_so -} - -src_test() { - # db_repsite is impossible to build, as upstream strips those sources. - # db_repsite is used directly in the setup_site_prog, - # setup_site_prog is called from open_site_prog - # which is called only from tests in the multi_repmgr group. - #sed -ri \ - # -e '/set subs/s,multi_repmgr,,g' \ - # "${S_BASE}/test/testparams.tcl" - sed -r \ - -e '/multi_repmgr/d' \ - -i "${S_BASE}/test/tcl/test.tcl" || die - - # This is the only failure in 5.2.28 so far, and looks like a false positive. - # Repmgr018 (btree): Test of repmgr stats. - # Repmgr018.a: Start a master. - # Repmgr018.b: Start a client. - # Repmgr018.c: Run some transactions at master. - # Rep_test: btree 20 key/data pairs starting at 0 - # Rep_test.a: put/get loop - # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 - sed -r \ - -e '/set parms.*repmgr018/d' \ - -e 's/repmgr018//g' \ - -i "${S_BASE}/test/tcl/test.tcl" || die - - multilib-minimal_src_test -} - -multilib_src_test() { - multilib_is_native_abi || return - - S="${BUILD_DIR}" db_src_test -} diff --git a/sys-libs/db/db-5.3.28-r9.ebuild b/sys-libs/db/db-5.3.28-r9.ebuild new file mode 100644 index 000000000000..4918af5d46fe --- /dev/null +++ b/sys-libs/db/db-5.3.28-r9.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools db flag-o-matic multilib 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 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="doc cxx tcl test" + +REQUIRED_USE="test? ( tcl )" + +# the entire testsuite needs the TCL functionality +DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +# bug #841698 +BDEPEND="sys-devel/autoconf-archive" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db${SLOT}/db.h +) + +PATCHES=( + # sqlite configure call has an extra leading .. + # upstreamed:5.2.36, missing in 5.3.x + "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch + + # The upstream testsuite copies .lib and the binaries for each parallel test + # core, ~300MB each. This patch uses links instead, saves a lot of space. + "${FILESDIR}"/${PN}-6.0.20-test-link.patch + + # Needed when compiling with clang + "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch + "${FILESDIR}"/${PN}-5.3.28-clang16.patch +) + +src_prepare() { + cd "${S_BASE}" || die + for (( i=1 ; i<=${PATCHNO} ; i++ )) + do + eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + default + + # Upstream release script grabs the dates when the script was run, so lets + # end-run them to keep the date the same. + export REAL_DB_RELEASE_DATE="$(awk \ + '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ + "${S_BASE}"/dist/configure)" + sed -r \ + -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ + -i dist/RELEASE || die + + cd dist || die + rm aclocal/libtool.m4 || die + sed \ + -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ + -i configure.ac || die + sed \ + -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ + -i aclocal/programs.m4 || die + + AT_M4DIR="aclocal" eautoreconf + + # They do autoconf and THEN replace the version variables :( + . ./RELEASE + local v ev + for v in \ + DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ + DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ + DB_VERSION \ + DB_RELEASE_DATE ; do + ev="__EDIT_${v}__" + sed -e "s/${ev}/${!v}/g" -i configure || die + done + + # This is a false positive skip in the tests as the test-reviewer code + # looks for 'Skipping\s' + sed \ + -e '/db_repsite/s,Skipping:,Skipping,g' \ + -i "${S_BASE}"/test/tcl/reputils.tcl || die +} + +multilib_src_configure() { + local myconf=( + # sql_compat will cause a collision with sqlite3 + #--enable-sql_compat + # Don't --enable-sql* because we don't want to use bundled sqlite. + # See Gentoo bug #605688 + --enable-compat185 + --enable-dbm + --enable-o_direct + --without-uniquename + --disable-sql + --disable-sql_codegen + --disable-sql_compat + --disable-static + --disable-java + $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) + $(use_enable cxx) + $(use_enable cxx stl) + $(use_enable test) + ) + + 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. + append-ldflags -Wl,--default-symver + + # Bug #270851: test needs TCL support + if use tcl || use test ; then + myconf+=( + --enable-tcl + --with-tcl="${EPREFIX}/usr/$(get_libdir)" + ) + else + myconf+=(--disable-tcl ) + fi + + ECONF_SOURCE="${S_BASE}"/dist \ + STRIP="true" \ + econf "${myconf[@]}" + + # The embedded assembly on ARM does not work on newer hardware + # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore. + # Specifically, it uses the SWPB op, which was deprecated: + # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm + # The op ALSO cannot be used in ARM-Thumb mode. + # Trust the compiler instead. + # >=db-6.1 uses LDREX instead. +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + db_src_install_headerslot + + db_src_install_usrlibcleanup +} + +multilib_src_install_all() { + db_src_install_usrbinslot + + db_src_install_doc + + dodir /usr/sbin + # This file is not always built, and no longer exists as of db-4.8 + if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then + mv "${ED}"/usr/bin/berkeley_db_svc \ + "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die + fi + + # no static libraries + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + multilib_foreach_abi db_fix_so +} + +pkg_postrm() { + multilib_foreach_abi db_fix_so +} + +src_test() { + # db_repsite is impossible to build, as upstream strips those sources. + # db_repsite is used directly in the setup_site_prog, + # setup_site_prog is called from open_site_prog + # which is called only from tests in the multi_repmgr group. + #sed -ri \ + # -e '/set subs/s,multi_repmgr,,g' \ + # "${S_BASE}/test/testparams.tcl" + sed -r \ + -e '/multi_repmgr/d' \ + -i "${S_BASE}/test/tcl/test.tcl" || die + + # This is the only failure in 5.2.28 so far, and looks like a false positive. + # Repmgr018 (btree): Test of repmgr stats. + # Repmgr018.a: Start a master. + # Repmgr018.b: Start a client. + # Repmgr018.c: Run some transactions at master. + # Rep_test: btree 20 key/data pairs starting at 0 + # Rep_test.a: put/get loop + # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 + sed -r \ + -e '/set parms.*repmgr018/d' \ + -e 's/repmgr018//g' \ + -i "${S_BASE}/test/tcl/test.tcl" || die + + multilib-minimal_src_test +} + +multilib_src_test() { + multilib_is_native_abi || return + + S="${BUILD_DIR}" db_src_test +} diff --git a/sys-libs/db/files/db-4.8.30-clang16.patch b/sys-libs/db/files/db-4.8.30-clang16.patch new file mode 100644 index 000000000000..b28eb145e4a8 --- /dev/null +++ b/sys-libs/db/files/db-4.8.30-clang16.patch @@ -0,0 +1,281 @@ +https://bugs.gentoo.org/883413 +--- a/dist/aclocal/clock.m4 ++++ b/dist/aclocal/clock.m4 +@@ -20,12 +20,14 @@ esac + # existence to mean the clock really exists. + AC_CACHE_CHECK([for clock_gettime monotonic clock], db_cv_clock_monotonic, [ + AC_TRY_RUN([ ++#include + #include +-main() { ++int main(void) { + struct timespec t; + return (clock_gettime(CLOCK_MONOTONIC, &t) != 0); + }], db_cv_clock_monotonic=yes, db_cv_clock_monotonic=no, + AC_TRY_LINK([ ++#include + #include ], [ + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); +--- a/dist/aclocal/mutex.m4 ++++ b/dist/aclocal/mutex.m4 +@@ -3,8 +3,9 @@ + # POSIX pthreads tests: inter-process safe and intra-process only. + AC_DEFUN(AM_PTHREADS_SHARED, [ + AC_TRY_RUN([ ++#include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -24,6 +25,7 @@ main() { + pthread_mutexattr_destroy(&mutexattr)); + }], [db_cv_mutex="$1"],, + AC_TRY_LINK([ ++#include + #include ],[ + pthread_cond_t cond; + pthread_mutex_t mutex; +@@ -45,8 +47,9 @@ AC_TRY_LINK([ + ], [db_cv_mutex="$1"]))]) + AC_DEFUN(AM_PTHREADS_PRIVATE, [ + AC_TRY_RUN([ ++#include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -64,6 +67,7 @@ main() { + pthread_mutexattr_destroy(&mutexattr)); + }], [db_cv_mutex="$1"],, + AC_TRY_LINK([ ++#include + #include ],[ + pthread_cond_t cond; + pthread_mutex_t mutex; +@@ -158,6 +162,7 @@ if test "$db_cv_mutex" = no; then + # LWP threads: _lwp_XXX + if test "$db_cv_mutex" = no; then + AC_TRY_LINK([ ++ #include + #include ],[ + static lwp_mutex_t mi = SHAREDMUTEX; + static lwp_cond_t ci = SHAREDCV; +@@ -174,6 +179,7 @@ if test "$db_cv_mutex" = no; then + LIBS="$LIBS -lthread" + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -189,6 +195,7 @@ if test "$db_cv_mutex" = no; then + if test "$db_cv_mutex" = no -o "$db_cv_mutex" = ui_only; then + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -213,7 +220,7 @@ if test "$db_cv_mutex" = no; then + # x86/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(i386) || defined(__i386__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -222,7 +229,7 @@ if test "$db_cv_mutex" = no; then + # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -245,7 +252,7 @@ if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__sparc__) && defined(__GNUC__) + asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore"); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -287,7 +294,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -304,7 +311,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + ], [db_cv_mutex=UNIX/msem_init]) + fi + +@@ -326,7 +333,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__USLC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -383,7 +390,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__DECC) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -394,7 +401,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -405,7 +412,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__arm__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -416,7 +423,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -427,7 +434,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -438,7 +445,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -449,7 +456,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -460,7 +467,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__MVS__) && defined(__IBMC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -471,7 +478,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__s390__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -482,7 +489,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__ia64) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -493,7 +500,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(_UTS) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -814,9 +821,9 @@ fi + if test "$db_cv_atomic" = no; then + AC_TRY_COMPILE(,[ + #if ((defined(i386) || defined(__i386__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -825,6 +832,7 @@ fi + + if test "$db_cv_atomic" = no; then + AC_TRY_LINK([ ++#include + #include ],[ + volatile unsigned val = 1; + exit (atomic_inc_uint_nv(&val) != 2 || +--- a/dist/aclocal/sequence.m4 ++++ b/dist/aclocal/sequence.m4 +@@ -43,7 +43,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + # test, which won't test for the appropriate printf format strings. + if test "$db_cv_build_sequence" = "yes"; then + AC_TRY_RUN([ +- main() { ++ #include ++ #include ++ int main(void) { + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; +@@ -59,7 +61,10 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + return (1); + return (0); + }],, [db_cv_build_sequence="no"], +- AC_TRY_LINK(,[ ++ AC_TRY_LINK([ ++ #include ++ #include ++ ],[ + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; diff --git a/sys-libs/db/files/db-5.3.28-clang16.patch b/sys-libs/db/files/db-5.3.28-clang16.patch new file mode 100644 index 000000000000..aab73d87a06b --- /dev/null +++ b/sys-libs/db/files/db-5.3.28-clang16.patch @@ -0,0 +1,325 @@ +https://bugs.gentoo.org/883413 +--- a/dist/aclocal/clock.m4 ++++ b/dist/aclocal/clock.m4 +@@ -20,12 +20,14 @@ esac + # existence to mean the clock really exists. + AC_CACHE_CHECK([for clock_gettime monotonic clock], db_cv_clock_monotonic, [ + AC_TRY_RUN([ ++#include + #include +-main() { ++int main(void) { + struct timespec t; + return (clock_gettime(CLOCK_MONOTONIC, &t) != 0); + }], db_cv_clock_monotonic=yes, db_cv_clock_monotonic=no, + AC_TRY_LINK([ ++#include + #include ], [ + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); +--- a/dist/aclocal/mmap.m4 ++++ b/dist/aclocal/mmap.m4 +@@ -29,6 +29,7 @@ if test "$mmap_ok" = "yes" ; then + * system to system. + */ + #include ++ #include + #include + #include + #include +@@ -42,13 +43,12 @@ if test "$mmap_ok" = "yes" ; then + #define MAP_FAILED (-1) + #endif + +- int catch_sig(sig) +- int sig; ++ void catch_sig(int sig) + { + exit(1); + } + +- main() { ++ int main(void) { + const char *underlying; + unsigned gapsize; + char *base; +--- a/dist/aclocal/mutex.m4 ++++ b/dist/aclocal/mutex.m4 +@@ -5,7 +5,7 @@ AC_DEFUN(AM_PTHREADS_SHARED, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -49,7 +49,7 @@ AC_DEFUN(AM_PTHREADS_PRIVATE, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -89,7 +89,7 @@ AC_DEFUN(AM_PTHREADS_CONDVAR_DUPINITCHK, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_condattr_t condattr; + exit(pthread_condattr_init(&condattr) || +@@ -110,7 +110,7 @@ AC_DEFUN(AM_PTHREADS_RWLOCKVAR_DUPINITCHK, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_rwlock_t rwlock; + pthread_rwlockattr_t rwlockattr; + exit(pthread_rwlockattr_init(&rwlockattr) || +@@ -227,6 +227,7 @@ if test "$db_cv_mutex" = no; then + # LWP threads: _lwp_XXX + if test "$db_cv_mutex" = no; then + AC_TRY_LINK([ ++ #include + #include ],[ + static lwp_mutex_t mi = SHAREDMUTEX; + static lwp_cond_t ci = SHAREDCV; +@@ -243,6 +244,7 @@ if test "$db_cv_mutex" = no; then + LIBS="$LIBS -lthread" + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -258,6 +260,7 @@ if test "$db_cv_mutex" = no; then + if test "$db_cv_mutex" = no -o "$db_cv_mutex" = ui_only; then + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -282,7 +285,7 @@ if test "$db_cv_mutex" = no; then + # x86/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(i386) || defined(__i386__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -291,7 +294,7 @@ if test "$db_cv_mutex" = no; then + # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -314,7 +317,7 @@ if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__sparc__) && defined(__GNUC__) + asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore"); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -356,7 +359,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -373,7 +376,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + ], [db_cv_mutex=UNIX/msem_init]) + fi + +@@ -395,7 +398,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__USLC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -452,7 +455,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__DECC) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -463,7 +466,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -474,7 +477,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__arm__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -485,7 +488,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -496,7 +499,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -507,7 +510,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -518,7 +521,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -529,7 +532,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__MVS__) && defined(__IBMC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -540,7 +543,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__s390__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -551,7 +554,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__ia64) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -562,7 +565,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(_UTS) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -910,9 +913,9 @@ fi + if test "$db_cv_atomic" = no; then + AC_TRY_COMPILE(,[ + #if ((defined(i386) || defined(__i386__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -921,6 +924,7 @@ fi + + if test "$db_cv_atomic" = no; then + AC_TRY_LINK([ ++#include + #include ],[ + volatile unsigned val = 1; + exit (atomic_inc_uint_nv(&val) != 2 || +--- a/dist/aclocal/sequence.m4 ++++ b/dist/aclocal/sequence.m4 +@@ -43,7 +43,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + # test, which won't test for the appropriate printf format strings. + if test "$db_cv_build_sequence" = "yes"; then + AC_TRY_RUN([ +- main() { ++ #include ++ #include ++ int main(void) { + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; +@@ -59,7 +61,10 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + return (1); + return (0); + }],, [db_cv_build_sequence="no"], +- AC_TRY_LINK(,[ ++ AC_TRY_LINK([ ++ #include ++ #include ++ ],[ + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; +--- a/dist/aclocal/types.m4 ++++ b/dist/aclocal/types.m4 +@@ -69,7 +69,7 @@ AC_SUBST(stdint_h_decl) + AC_MSG_CHECKING(for stdint.h) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include +- int main() { ++ int main(void) { + uint_least8_t x=0; + return x; + }])],[AC_MSG_RESULT(yes) +@@ -77,7 +77,7 @@ if test "$db_cv_cxx" = "yes"; then + AC_MSG_CHECKING([if stdint.h can be used by C++]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include +- int main() { ++ int main(void) { + uint_least8_t x=0; + return x; + }])],[AC_MSG_RESULT(yes) -- cgit v1.2.3