diff -ur qt-everywhere-src-5.15.11.ORIG/qtbase/mkspecs/features/toolchain.prf qt-everywhere-src-5.15.11/qtbase/mkspecs/features/toolchain.prf
--- qt-everywhere-src-5.15.11.ORIG/qtbase/mkspecs/features/toolchain.prf	2023-06-09 23:30:54
+++ qt-everywhere-src-5.15.11/qtbase/mkspecs/features/toolchain.prf	2023-11-19 00:02:58
@@ -288,9 +288,12 @@
                 }
             }
         }
-        isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \
+        isEmpty(QMAKE_DEFAULT_INCDIRS): \
             !integrity: \
-                error("failed to parse default search paths from compiler output")
+                error("failed to parse default include paths from compiler output")
+        isEmpty(QMAKE_DEFAULT_LIBDIRS): \
+            !integrity:!darwin: \
+                error("failed to parse default library paths from compiler output")
         QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
     } else: ghs {
         cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp
@@ -354,7 +357,6 @@
                 error("Failed to find the Visual C installation directory.")
             cmd += $$system_quote($$dir\\vcvarsall.bat) $$arch
         }
-        winrt: cmd += store
 
         isEmpty(WINSDK_VER): \
             error("Mkspec does not specify WINSDK_VER. Cannot continue.")
@@ -412,7 +414,7 @@
         QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP)
     }
 
-    unix:if(!cross_compile|host_build) {
+    unix:!darwin:if(!cross_compile|host_build) {
         isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include
         isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
     }
diff -ur qt-everywhere-src-5.15.11.ORIG/qtbase/src/corelib/global/qcompilerdetection.h qt-everywhere-src-5.15.11/qtbase/src/corelib/global/qcompilerdetection.h
--- qt-everywhere-src-5.15.11.ORIG/qtbase/src/corelib/global/qcompilerdetection.h	2023-06-09 23:30:54
+++ qt-everywhere-src-5.15.11/qtbase/src/corelib/global/qcompilerdetection.h	2023-11-18 23:51:02
@@ -1050,15 +1050,23 @@
 #   endif // !_HAS_CONSTEXPR
 #  endif // !__GLIBCXX__ && !_LIBCPP_VERSION
 # endif // Q_OS_QNX
-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \
-    && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
+//# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \
+//    && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
+# if defined(Q_CC_CLANG) && defined(Q_OS_MAC) 
+#  if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
 // Apple has not updated libstdc++ since 2007, which means it does not have
 // <initializer_list> or std::move. Let's disable these features
-#  undef Q_COMPILER_INITIALIZER_LISTS
-#  undef Q_COMPILER_RVALUE_REFS
-#  undef Q_COMPILER_REF_QUALIFIERS
+#   undef Q_COMPILER_INITIALIZER_LISTS
+#   undef Q_COMPILER_RVALUE_REFS
+#   undef Q_COMPILER_REF_QUALIFIERS
 // Also disable <atomic>, since it's clearly not there
-#  undef Q_COMPILER_ATOMICS
+#   undef Q_COMPILER_ATOMICS
+#  endif
+#  if defined(__cpp_lib_memory_resource) \
+    &&  ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED)  && __MAC_OS_X_VERSION_MIN_REQUIRED  < 140000) \
+    || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000))
+#   undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17
+#  endif
 # endif
 # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500
 // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode
diff -ur qt-everywhere-src-5.15.11.ORIG/qtbase/src/corelib/tools/qduplicatetracker_p.h qt-everywhere-src-5.15.11/qtbase/src/corelib/tools/qduplicatetracker_p.h
--- qt-everywhere-src-5.15.11.ORIG/qtbase/src/corelib/tools/qduplicatetracker_p.h	2023-06-09 23:30:54
+++ qt-everywhere-src-5.15.11/qtbase/src/corelib/tools/qduplicatetracker_p.h	2023-11-18 23:51:02
@@ -52,7 +52,8 @@
 
 #include <qglobal.h>
 
-#if QT_HAS_INCLUDE(<memory_resource>) && __cplusplus > 201402L
+//#if QT_HAS_INCLUDE(<memory_resource>) && __cplusplus > 201402L
+#ifdef __cpp_lib_memory_resource
 #  include <unordered_set>
 #  include <memory_resource>
 #else
diff -ur qt-everywhere-src-5.15.11.ORIG/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp
--- qt-everywhere-src-5.15.11.ORIG/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp	2023-06-09 23:08:55
+++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp	2023-11-19 00:45:56
@@ -3,6 +3,7 @@
 #include <typeinfo>
 #include <type_traits>
 #include <stdexcept>
+#include <utility>
 namespace mbgl {
 namespace util {
 
diff -ur qt-everywhere-src-5.15.11.ORIG/qtmultimedia/src/plugins/avfoundation/camera/avfcamerautility.mm qt-everywhere-src-5.15.11/qtmultimedia/src/plugins/avfoundation/camera/avfcamerautility.mm
--- qt-everywhere-src-5.15.11.ORIG/qtmultimedia/src/plugins/avfoundation/camera/avfcamerautility.mm	2023-06-09 23:09:00
+++ qt-everywhere-src-5.15.11/qtmultimedia/src/plugins/avfoundation/camera/avfcamerautility.mm	2023-11-19 00:45:56
@@ -101,7 +101,11 @@
     }
 };
 
+#if 0
 struct FormatHasNoFPSRange : std::unary_function<AVCaptureDeviceFormat *, bool>
+#else
+struct FormatHasNoFPSRange : std::function<bool(AVCaptureDeviceFormat *)>
+#endif
 {
     bool operator() (AVCaptureDeviceFormat *format)
     {
