about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch')
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
new file mode 100644
index 000000000000..984aaf983067
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
@@ -0,0 +1,89 @@
+From 76523ca5b2227085bb65253900e866b08a2b5efb Mon Sep 17 00:00:00 2001
+From: Tobias Mayer <tobim@fastmail.fm>
+Date: Fri, 30 Jul 2021 10:50:16 +0200
+Subject: [PATCH] Disable NAT64 address synthesis on darwin
+
+This intentionally breaks the feature by partially reverting
+https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51
+
+This is a stop-gap to get CMake to build without the SystemConfiguration
+framework.
+---
+ Utilities/cmcurl/CMakeLists.txt   |  8 --------
+ Utilities/cmcurl/lib/curl_setup.h |  4 ----
+ Utilities/cmcurl/lib/hostip.c     | 17 -----------------
+ 3 files changed, 29 deletions(-)
+
+diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
+index 16ef037ccc..17564bbb69 100644
+--- a/Utilities/cmcurl/CMakeLists.txt
++++ b/Utilities/cmcurl/CMakeLists.txt
+@@ -511,14 +511,6 @@ if(CMAKE_USE_SECTRANSP)
+   list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}")
+ endif()
+ 
+-if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+-  find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
+-  if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
+-     message(FATAL_ERROR "SystemConfiguration framework not found")
+-  endif()
+-  list(APPEND CURL_LIBS "${SYSTEMCONFIGURATION_FRAMEWORK}")
+-endif()
+-
+ if(CMAKE_USE_OPENSSL)
+   find_package(OpenSSL)
+   if(NOT OpenSSL_FOUND)
+diff --git a/Utilities/cmcurl/lib/curl_setup.h b/Utilities/cmcurl/lib/curl_setup.h
+index 2d13a40a55..35160bc0f5 100644
+--- a/Utilities/cmcurl/lib/curl_setup.h
++++ b/Utilities/cmcurl/lib/curl_setup.h
+@@ -251,11 +251,7 @@
+  * performing this task will result in a synthesized IPv6 address.
+  */
+ #if defined(__APPLE__) && !defined(USE_ARES)
+-#include <TargetConditionals.h>
+ #define USE_RESOLVE_ON_IPS 1
+-#  if defined(TARGET_OS_OSX) && TARGET_OS_OSX
+-#    define CURL_OSX_CALL_COPYPROXIES 1
+-#  endif
+ #endif
+ 
+ #ifdef USE_LWIPSOCK
+diff --git a/Utilities/cmcurl/lib/hostip.c b/Utilities/cmcurl/lib/hostip.c
+index e0e3cfc2cb..45190a100b 100644
+--- a/Utilities/cmcurl/lib/hostip.c
++++ b/Utilities/cmcurl/lib/hostip.c
+@@ -68,10 +68,6 @@
+ #include "curl_memory.h"
+ #include "memdebug.h"
+ 
+-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
+-#include <SystemConfiguration/SCDynamicStoreCopySpecific.h>
+-#endif
+-
+ #if defined(CURLRES_SYNCH) && \
+     defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP)
+ /* alarm-based timeouts can only be used with all the dependencies satisfied */
+@@ -533,19 +529,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
+         return CURLRESOLV_ERROR;
+     }
+ 
+-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
+-    /*
+-     * The automagic conversion from IPv4 literals to IPv6 literals only works
+-     * if the SCDynamicStoreCopyProxies system function gets called first. As
+-     * Curl currently doesn't support system-wide HTTP proxies, we therefore
+-     * don't use any value this function might return.
+-     *
+-     * This function is only available on a macOS and is not needed for
+-     * IPv4-only builds, hence the conditions above.
+-     */
+-    SCDynamicStoreCopyProxies(NULL);
+-#endif
+-
+ #ifndef USE_RESOLVE_ON_IPS
+     /* First check if this is an IPv4 address string */
+     if(Curl_inet_pton(AF_INET, hostname, &in) > 0)
+-- 
+2.32.0
+