pacparser: fix build on GCC 14

This commit is contained in:
Petr Zahradnik 2025-04-27 15:02:17 +02:00
parent e61241410d
commit fa560bbd40
2 changed files with 24 additions and 4 deletions

View file

@ -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)

View file

@ -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";
};
}
})