diff options
author | Pascal Jäger <pascal.jaeger@leimstift.de> | 2023-09-22 16:00:27 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-10-01 08:47:04 +0100 |
commit | d64882b6a6356a0693f7137e3ea1e2c36c91ab85 (patch) | |
tree | f90ead953f7ab92549eb737b494b725f3e1155ae /dev-libs/log4cpp | |
parent | gui-wm/hyprland: add BDEPEND too (diff) | |
download | gentoo-d64882b6a6356a0693f7137e3ea1e2c36c91ab85.tar.gz gentoo-d64882b6a6356a0693f7137e3ea1e2c36c91ab85.tar.bz2 gentoo-d64882b6a6356a0693f7137e3ea1e2c36c91ab85.zip |
dev-libs/log4cpp: fix clang16 build
Closes: https://bugs.gentoo.org/906535
Closes: https://bugs.gentoo.org/895054
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
Closes: https://github.com/gentoo/gentoo/pull/32995
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/log4cpp')
-rw-r--r-- | dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch | 20 | ||||
-rw-r--r-- | dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild | 60 |
2 files changed, 80 insertions, 0 deletions
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch new file mode 100644 index 000000000000..9e21817ab890 --- /dev/null +++ b/dev-libs/log4cpp/files/log4cpp-1.1.3-fix-implicit-func-in-configure.patch @@ -0,0 +1,20 @@ +clang16 throws an error because of the implicit function declaration of exit(). +This leads to the wrong assumption that snprintf is not present on the system. + +Bug: https://bugs.gentoo.org/906535 +Upstream PR: https://sourceforge.net/p/log4cpp/codegit/merge-requests/10/ + +# Pascal Jäger <pascal.jaeger@leimstift.de> (2023-09-22) + +--- a/m4/AC_FUNC_SNPRINTF.m4 ++++ b/m4/AC_FUNC_SNPRINTF.m4 +@@ -12,7 +12,8 @@ dnl @author Caolan McNamara <caolan@skynet.ie> + dnl + AC_DEFUN([AC_FUNC_SNPRINTF], + [AC_CACHE_CHECK(for working snprintf, ac_cv_func_snprintf, +-[AC_TRY_RUN([#include <stdio.h> ++[AC_TRY_RUN([#include <stdlib.h> ++#include <stdio.h> + int main () { int l = snprintf(NULL,0,"%d",100); exit (!((3 <= l) || (-1 == l))); } + ], ac_cv_func_snprintf=yes, ac_cv_func_snprintf=no, + ac_cv_func_snprintf=no)]) diff --git a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild new file mode 100644 index 000000000000..0c849abac195 --- /dev/null +++ b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations" +HOMEPAGE="https://log4cpp.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="LGPL-2.1" +SLOT="0/5" +KEYWORDS="~amd64 ~arm ~ppc ~riscv ~s390 ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( app-doc/doxygen )" + +PATCHES=( + "${FILESDIR}"/1.0-doc_install_path.patch + "${FILESDIR}"/1.0-gcc43.patch + "${FILESDIR}"/1.0-asneeded.patch + "${FILESDIR}"/${PN}-1.1-cmath-fix.patch + "${FILESDIR}"/${PN}-1.1-automake-1.13.patch + "${FILESDIR}"/${PN}-1.1-glibc-2.31.patch + "${FILESDIR}"/${PN}-1.1.3-fix-version.patch + "${FILESDIR}"/${PN}-1.1.3-fix-implicit-func-in-configure.patch +) + +src_prepare() { + default + + mv configure.{in,ac} || die + + # Build tests conditionally + if ! use test; then + sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die + fi + + eautoreconf +} + +src_configure() { + append-cxxflags -Wno-register # https://bugs.gentoo.org/895054 + # Bashisms call configure tests to malfunction / config.h to be misgenerated + # which then causes a build failure later on in the package (w/ GCC 12, + # anyway). + CONFIG_SHELL="${BROOT}"/bin/bash econf \ + --without-idsa \ + $(use_enable doc doxygen) +} + +src_install() { + default + + # Package installs .pc files + find "${ED}" -name '*.la' -delete || die +} |