1 --- Modules/posixmodule.c.orig	2024-09-06 21:03:31.000000000 -0400
2 +++ Modules/posixmodule.c	2024-12-04 12:18:10.716252000 -0500
3 @@ -286,7 +286,7 @@
4  #  undef HAVE_SCHED_SETAFFINITY
5  #endif
6 
7 -#if defined(HAVE_SYS_XATTR_H) && defined(HAVE_LINUX_LIMITS_H) && !defined(__FreeBSD_kernel__) && !defined(__GNU__)
8 +#if defined(HAVE_SYS_XATTR_H) && defined(HAVE_LINUX_LIMITS_H) && !defined(__FreeBSD_kernel__) && !defined(__GNU__) && !defined(__MidnightBSD__)
9  #  define USE_XATTRS
10  #  include <linux/limits.h>  // Needed for XATTR_SIZE_MAX on musl libc.
11  #endif
12 @@ -295,7 +295,7 @@
13  #  include <sys/xattr.h>
14  #endif
15 
16 -#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
17 +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__MidnightBSD__)
18  #  ifdef HAVE_SYS_SOCKET_H
19  #    include <sys/socket.h>
20  #  endif
21 @@ -313,7 +313,8 @@
22      defined(__OpenBSD__)   || \
23      defined(__FreeBSD__)   || \
24      defined(__NetBSD__)    || \
25 -    defined(__APPLE__)
26 +    defined(__APPLE__)     || \
27 +    defined(__MidnightBSD__)
28  #  include <sys/sysctl.h>
29  #endif
30 
31 @@ -9697,7 +9698,7 @@
32      return buffer;
33  }
34 
35 -#if (defined(HAVE_SENDFILE) && (defined(__FreeBSD__) || defined(__DragonFly__) \
36 +#if (defined(HAVE_SENDFILE) && (defined(__FreeBSD__) || defined(__MidnightBSD__) || defined(__DragonFly__) \
37                                  || defined(__APPLE__))) \
38      || defined(HAVE_READV) || defined(HAVE_PREADV) || defined (HAVE_PREADV2) \
39      || defined(HAVE_WRITEV) || defined(HAVE_PWRITEV) || defined (HAVE_PWRITEV2)
40 @@ -10011,7 +10012,7 @@
41                   Py_off_t sbytes, PyObject *headers, PyObject *trailers,
42                   int flags)
43  /*[clinic end generated code: output=81c4bcd143f5c82b input=b0d72579d4c69afa]*/
44 -#elif defined(__FreeBSD__) || defined(__DragonFly__)
45 +#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__MidnightBSD__)
46  /*[clinic input]
47  os.sendfile
48 
49 @@ -10052,7 +10053,7 @@
50      Py_ssize_t ret;
51      int async_err = 0;
52 
53 -#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
54 +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__MidnightBSD__)
55  #ifndef __APPLE__
56      off_t sbytes;
57  #endif
58 @@ -13537,6 +13538,7 @@
59  #elif defined(__DragonFly__) || \
60        defined(__OpenBSD__)   || \
61        defined(__FreeBSD__)   || \
62 +      defined(__MidnightBSD__)   || \
63        defined(__NetBSD__)    || \
64        defined(__APPLE__)
65      int mib[2];
66