Unverified Commit 0eeaca80 authored by Yohann Boniface's avatar Yohann Boniface Committed by GitHub
Browse files

pacparser: fix build on GCC 14 (#402278)

parents a4b0bbc6 fa560bbd
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
--- 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
+13 −4
Original line number Diff line number Diff line
@@ -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";
  };
}
})