diff --git a/pkgs/by-name/la/lasso/fix-gcc14-implicit-function-declaration.diff b/pkgs/by-name/la/lasso/fix-gcc14-implicit-function-declaration.diff new file mode 100644 index 000000000000..00cca2d5f446 --- /dev/null +++ b/pkgs/by-name/la/lasso/fix-gcc14-implicit-function-declaration.diff @@ -0,0 +1,12 @@ +diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c +index 385858d174..bbc87d9f1e 100644 +--- a/lasso/xml/tools.c ++++ b/lasso/xml/tools.c +@@ -47,6 +47,7 @@ + #include + + #include ++#include + + #include + #include diff --git a/pkgs/by-name/la/lasso/fix-gcc14-incompatible-pointer.diff b/pkgs/by-name/la/lasso/fix-gcc14-incompatible-pointer.diff new file mode 100644 index 000000000000..5fb959513f46 --- /dev/null +++ b/pkgs/by-name/la/lasso/fix-gcc14-incompatible-pointer.diff @@ -0,0 +1,53 @@ +From 1bf9184e1208e805f70ccb8ba06b4c3d63a1a04a Mon Sep 17 00:00:00 2001 +From: Benjamin Dauvergne +Date: Wed, 24 Jan 2024 15:15:39 +0100 +Subject: [PATCH] misc: adjust to structured error callback argument change in + libxml2 2.12 (#86080) + +--- + lasso/lasso.c | 8 +++++++- + lasso/xml/tools.c | 9 ++++++++- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/lasso/lasso.c b/lasso/lasso.c +index 9902512f..7ea5df44 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 385858d1..014f4040 100644 +--- a/lasso/xml/tools.c ++++ b/lasso/xml/tools.c +@@ -1449,7 +1449,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; + } + +-- +2.49.0 + diff --git a/pkgs/by-name/la/lasso/package.nix b/pkgs/by-name/la/lasso/package.nix index 88f77f42bdd5..a7a7afa7fa8e 100644 --- a/pkgs/by-name/la/lasso/package.nix +++ b/pkgs/by-name/la/lasso/package.nix @@ -32,6 +32,17 @@ stdenv.mkDerivation rec { url = "https://git.entrouvert.org/entrouvert/lasso/commit/ffaddeb015a61db3e52c391de00430107a23e2f1.patch"; hash = "sha256-D2npxpIuR/KrNYiKO3KXCvHEb/XVXUKIP0HQUd+w56k="; }) + # Fix GCC 14 implicit declaration of function + # backported patch of https://git.entrouvert.org/entrouvert/lasso/commit/9767cdf7645a146bcc596a705ce32b855855a590 + ./fix-gcc14-implicit-function-declaration.diff + # Fix GCC 14 incompatible pointer + # backported patch of https://git.entrouvert.org/entrouvert/lasso/commit/cbe2c45455d93ed793dc4be59e3d2d26f1bd1111 + ./fix-gcc14-incompatible-pointer.diff + # Fix GCC 14 int-conversion (xmlsec) + (fetchpatch { + url = "https://git.entrouvert.org/entrouvert/lasso/commit/66c9f50f1f6b00d621a9a0ca2f924875f94d14ae.patch"; + hash = "sha256-UkWxznKx2xAbjY29+NQ+cjIDhWLuyoWsmBTSiLUxWgU="; + }) ]; nativeBuildInputs = [