From 20eaafa4033bfaeab15a5952bec5839e7f8684ea Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 23 Dec 2024 05:05:55 +0000 Subject: dev-libs/protobuf-c: fix tests with GCC 15 GCC 15 makes a change to union initialisation and exposes a bug in protobuf-c. Build with the new -fzero-init-padding-bits=unions flag if supported to fix the testsuite until the upstream bug is fixed. Note that the upstream bug has not yet been reported so keeping the Gentoo bug open. Bug: https://bugs.gentoo.org/946366 Signed-off-by: Sam James --- dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild | 56 ----------------------- dev-libs/protobuf-c/protobuf-c-1.4.1-r2.ebuild | 63 ++++++++++++++++++++++++++ dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild | 56 ----------------------- dev-libs/protobuf-c/protobuf-c-1.5.0-r3.ebuild | 63 ++++++++++++++++++++++++++ 4 files changed, 126 insertions(+), 112 deletions(-) delete mode 100644 dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild create mode 100644 dev-libs/protobuf-c/protobuf-c-1.4.1-r2.ebuild delete mode 100644 dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild create mode 100644 dev-libs/protobuf-c/protobuf-c-1.5.0-r3.ebuild (limited to 'dev-libs') diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild deleted file mode 100644 index f19d1016e21e..000000000000 --- a/dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools multilib-minimal - -MY_PV="${PV/_/-}" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="Protocol Buffers implementation in C" -HOMEPAGE="https://github.com/protobuf-c/protobuf-c" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD-2" -# Subslot == SONAME version -SLOT="0/1.0.0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-libs/protobuf-3:0 - virtual/pkgconfig -" -DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.4.0-include-path.patch - "${FILESDIR}"/${P}-protobuf-22.patch -) - -src_prepare() { - default - - if ! use test; then - eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch - fi - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - find "${ED}" -name '*.la' -type f -delete || die - einstalldocs -} diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.1-r2.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.1-r2.ebuild new file mode 100644 index 000000000000..9807ffedacc5 --- /dev/null +++ b/dev-libs/protobuf-c/protobuf-c-1.4.1-r2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal + +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Protocol Buffers implementation in C" +HOMEPAGE="https://github.com/protobuf-c/protobuf-c" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD-2" +# Subslot == SONAME version +SLOT="0/1.0.0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-libs/protobuf-3:0 + virtual/pkgconfig +" +DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.4.0-include-path.patch + "${FILESDIR}"/${P}-protobuf-22.patch +) + +src_prepare() { + default + + if ! use test; then + eapply "${FILESDIR}"/${PN}-1.3.0-no-build-tests.patch + fi + + eautoreconf +} + +src_configure() { + # Workaround for bug #946366 + append-flags $(test-flags-CC -fzero-init-padding-bits=unions) + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -type f -delete || die + einstalldocs +} diff --git a/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild b/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild deleted file mode 100644 index 5633caaa249d..000000000000 --- a/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools multilib-minimal - -MY_PV="${PV/_/-}" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="Protocol Buffers implementation in C" -HOMEPAGE="https://github.com/protobuf-c/protobuf-c" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD-2" -# Subslot == SONAME version -SLOT="0/1.0.0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86" -IUSE="static-libs" - -BDEPEND=" - >=dev-libs/protobuf-3:0 - virtual/pkgconfig -" -DEPEND=" - >=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]" -# NOTE -# protobuf links to abseil-cpp libraries via it's .pc files. -# To cause rebuild when the abseil-cpp version changes we add it to RDEPEND only. -RDEPEND="${DEPEND} - dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}] -" - -PATCHES=( - "${FILESDIR}/${PN}-1.5.0-Clean-CMake.patch" -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - --enable-year2038 - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - find "${ED}" -name '*.la' -type f -delete || die - einstalldocs -} diff --git a/dev-libs/protobuf-c/protobuf-c-1.5.0-r3.ebuild b/dev-libs/protobuf-c/protobuf-c-1.5.0-r3.ebuild new file mode 100644 index 000000000000..c37c0de027c7 --- /dev/null +++ b/dev-libs/protobuf-c/protobuf-c-1.5.0-r3.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal + +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Protocol Buffers implementation in C" +HOMEPAGE="https://github.com/protobuf-c/protobuf-c" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD-2" +# Subslot == SONAME version +SLOT="0/1.0.0" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86" +IUSE="static-libs" + +BDEPEND=" + >=dev-libs/protobuf-3:0 + virtual/pkgconfig +" +DEPEND=" + >=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]" +# NOTE +# protobuf links to abseil-cpp libraries via it's .pc files. +# To cause rebuild when the abseil-cpp version changes we add it to RDEPEND only. +RDEPEND="${DEPEND} + dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}] +" + +PATCHES=( + "${FILESDIR}/${PN}-1.5.0-Clean-CMake.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Workaround for bug #946366 + append-flags $(test-flags-CC -fzero-init-padding-bits=unions) + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + --enable-year2038 + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -type f -delete || die + einstalldocs +} -- cgit v1.2.3-65-gdbad