From fa560bbd4039055dc6d604ec9dc9129e598976d3 Mon Sep 17 00:00:00 2001 From: Petr Zahradnik Date: Sun, 27 Apr 2025 15:02:17 +0200 Subject: [PATCH] pacparser: fix build on GCC 14 --- .../pa/pacparser/fix-invalid-pointer-type.patch | 11 +++++++++++ pkgs/by-name/pa/pacparser/package.nix | 17 +++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 pkgs/by-name/pa/pacparser/fix-invalid-pointer-type.patch diff --git a/pkgs/by-name/pa/pacparser/fix-invalid-pointer-type.patch b/pkgs/by-name/pa/pacparser/fix-invalid-pointer-type.patch new file mode 100644 index 000000000000..936de11a2aba --- /dev/null +++ b/pkgs/by-name/pa/pacparser/fix-invalid-pointer-type.patch @@ -0,0 +1,11 @@ +--- a/src/spidermonkey/js/src/jsapi.c ++++ b/src/spidermonkey/js/src/jsapi.c +@@ -93,7 +93,7 @@ + #ifdef HAVE_VA_LIST_AS_ARRAY + #define JS_ADDRESSOF_VA_LIST(ap) ((va_list *)(ap)) + #else +-#define JS_ADDRESSOF_VA_LIST(ap) (&(ap)) ++#define JS_ADDRESSOF_VA_LIST(ap) ((va_list *)(&(ap))) + #endif + + #if defined(JS_PARANOID_REQUEST) && defined(JS_THREADSAFE) \ No newline at end of file diff --git a/pkgs/by-name/pa/pacparser/package.nix b/pkgs/by-name/pa/pacparser/package.nix index b3230107a1ac..378a81b02dcf 100644 --- a/pkgs/by-name/pa/pacparser/package.nix +++ b/pkgs/by-name/pa/pacparser/package.nix @@ -4,22 +4,31 @@ fetchFromGitHub, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "pacparser"; version = "1.4.5"; src = fetchFromGitHub { owner = "manugarg"; repo = "pacparser"; - rev = "v${version}"; - sha256 = "sha256-X842+xPjM404aQJTc2JwqU4vq8kgyKhpnqVu70pNLks="; + rev = "v${finalAttrs.version}"; + hash = "sha256-X842+xPjM404aQJTc2JwqU4vq8kgyKhpnqVu70pNLks="; }; + patches = [ + # jsapi.c:96:35: error: passing argument 5 of 'TryArgumentFormatter' from incompatible pointer type [] + # 96 | #define JS_ADDRESSOF_VA_LIST(ap) (&(ap)) + # suggested by https://github.com/manugarg/pacparser/issues/194#issuecomment-2262030966 + ./fix-invalid-pointer-type.patch + ]; + makeFlags = [ "NO_INTERNET=1" "PREFIX=${placeholder "out"}" ]; + enableParallelBuilding = true; + preConfigure = '' patchShebangs tests/runtests.sh cd src @@ -35,4 +44,4 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ abbradar ]; mainProgram = "pactester"; }; -} +})