summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Jäger <pascal.jaeger@leimstift.de>2023-09-22 16:00:27 +0200
committerSam James <sam@gentoo.org>2023-10-01 08:47:04 +0100
commitd64882b6a6356a0693f7137e3ea1e2c36c91ab85 (patch)
treef90ead953f7ab92549eb737b494b725f3e1155ae /dev-libs/log4cpp
parentgui-wm/hyprland: add BDEPEND too (diff)
downloadgentoo-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.patch20
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild60
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
+}