Unverified Commit 81093a6c authored by toonn's avatar toonn Committed by GitHub
Browse files

Merge pull request #262580 from reckenrode/dante-fix

dante: fix build with clang 16
parents 3de81b07 7b4e8f91
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
diff -ur a/osdep.m4 b/osdep.m4
--- a/osdep.m4	2017-01-18 09:11:20.000000000 -0500
+++ b/osdep.m4	2023-10-21 12:43:59.464797030 -0400
@@ -381,6 +381,7 @@
 unset have_sa_len
 AC_MSG_CHECKING([for sa_len in sockaddr])
 AC_TRY_COMPILE([
+#include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 ], [struct sockaddr sa;
@@ -397,12 +398,13 @@
    unset sa_len_type_found
    for type in uint8_t "unsigned char"; do
        AC_TRY_COMPILE([
+#include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>], [
 struct sockaddr sa;
 $type *sa_len_ptr;
 sa_len_ptr = &sa.sa_len;
-sa_len_ptr++; /* use to avoid warning/error */],
+(*sa_len_ptr)++; /* use to avoid warning/error */],
        [AC_DEFINE_UNQUOTED(sa_len_type, [$type], [sa_len type])
         sa_len_type_found=t
         break])
@@ -636,6 +638,7 @@
 		in_port_t, in_addr_t],
 		, ,
 [
+#include <stdint.h>
 #include <sys/types.h>
 #include <netinet/in.h>
 ])
+7 −2
Original line number Diff line number Diff line
@@ -22,12 +22,17 @@ stdenv.mkDerivation rec {

  dontAddDisableDepTrack = stdenv.isDarwin;

  patches = lib.optionals remove_getaddrinfo_checks [
  patches = [
    # Fixes several issues with `osint.m4` that causes incorrect check failures when using newer
    # versions of clang: missing `stdint.h` for `uint8_t` and unused `sa_len_ptr`.
    ./clang-osint-m4.patch
  ] ++ lib.optionals remove_getaddrinfo_checks [
    (fetchpatch {
      name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
      url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
      sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y=";
    }) ];
    })
  ];

  postPatch = ''
    substituteInPlace include/redefgen.sh --replace 'PATH=/bin:/usr/bin:/sbin:/usr/sbin' ""