summaryrefslogtreecommitdiff
path: root/dev-libs/log4cpp/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/log4cpp/files')
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch20
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch11
2 files changed, 31 insertions, 0 deletions
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch b/dev-libs/log4cpp/files/log4cpp-1.1.4-fix-implicit-func-in-configure.patch
new file mode 100644
index 000000000000..78a5dd4c8e54
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.4-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); return !((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/files/log4cpp-1.1.4-gcc43.patch b/dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch
new file mode 100644
index 000000000000..9a1fd466c274
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1.4-gcc43.patch
@@ -0,0 +1,11 @@
+--- a/src/PatternLayout.cpp
++++ b/src/PatternLayout.cpp
+@@ -373,7 +373,7 @@
+ literal = "";
+ }
+ if ((minWidth != 0) || (maxWidth != 0)) {
+- component = new FormatModifierComponent(component, std::abs(minWidth), maxWidth, minWidth < 0);
++ component = new FormatModifierComponent(component, std::abs((float)minWidth), maxWidth, minWidth < 0);
+ minWidth = maxWidth = 0;
+ }
+ _components.push_back(component);