libxml2 2.12 fix for incompatible-pointer-types errors with GCC 14

Also add a conditional BuildRequires: on python3-setuptools for
unbundled distutils in Python 3.12 and later.
This commit is contained in:
Florian Weimer 2024-01-21 18:10:42 +01:00
parent c88cb3117b
commit 87f60a083d
2 changed files with 54 additions and 2 deletions

43
lasso-libxml2.patch Normal file
View File

@ -0,0 +1,43 @@
Adjust to structured error callback argument change in libxml2 2.12
Submitted upstream: <https://listes.entrouvert.com/arc/lasso/2024-01/msg00000.html>
diff --git a/lasso/lasso.c b/lasso/lasso.c
index 42b7d6bb2392525e..bc75f5e674b5e657 100644
--- a/lasso/lasso.c
+++ b/lasso/lasso.c
@@ -138,7 +138,13 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#include "types.c"
static void
-lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data, xmlErrorPtr error)
+lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
{
g_log("libxml2", G_LOG_LEVEL_DEBUG, "libxml2: %s", error->message);
}
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index bbc87d9f1e7eb20d..4d5fa78a28222f1a 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -1450,7 +1450,14 @@ lasso_concat_url_query(const char *url, const char *query)
}
}
-static void structuredErrorFunc (void *userData, xmlErrorPtr error) {
+static void structuredErrorFunc (void *userData,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
+{
*(int*)userData = error->code;
}

View File

@ -64,7 +64,11 @@
%global configure_args %{configure_args} --enable-wsf --with-sasl2=%{_prefix}/sasl2
%endif
%if !%{with_python}
%if %{with_python}
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: (python3-setuptools if python3 >= 3.12)
%endif
%else
%global configure_args %{configure_args} --disable-python
%endif
@ -72,13 +76,14 @@
Summary: Liberty Alliance Single Sign On
Name: lasso
Version: 2.8.2
Release: 7%{?dist}
Release: 8%{?dist}
License: GPLv2+
URL: https://lasso.entrouvert.org/
Source: https://dev.entrouvert.org/lasso/lasso-%{version}.tar.gz
Patch01: fix-removed-xmlsec-deprecations.patch
Patch02: fix-openssl-implicit-declarations.patch
Patch3: lasso-libxml2.patch
BuildRequires: autoconf
BuildRequires: automake
@ -328,6 +333,10 @@ rm -fr %{buildroot}%{_defaultdocdir}/%{name}
%endif
%changelog
* Sun Jan 21 2024 Florian Weimer <fweimer@redhat.com> - 2.8.2-8
- libxml2 2.12 fix for incompatible-pointer-types errors
- Add conditional BuildRequires: on python3-setuptools for unbundled distutils
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild