mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
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>
This commit is contained in:
@@ -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)])
|
||||
60
dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
Normal file
60
dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user