[abseil] Add patch that fixed the CoreFoundation linkage (#32781)

This commit is contained in:
Daniel Schürmann 2023-07-27 18:24:47 +02:00 committed by GitHub
parent 32675c830a
commit 8184c5e06c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 24 deletions

View File

@ -0,0 +1,36 @@
From c205ad7b772efcf8c03bd898eb54791b42f1f762 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= <daschuer@mixxx.org>
Date: Tue, 25 Jul 2023 00:20:55 +0200
Subject: [PATCH] Don't depend on CoreFoundation with an absolute path.
---
absl/time/CMakeLists.txt | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt
index 7b72054..c3392ae 100644
--- a/absl/time/CMakeLists.txt
+++ b/absl/time/CMakeLists.txt
@@ -54,10 +54,6 @@ absl_cc_library(
${ABSL_DEFAULT_COPTS}
)
-if(APPLE)
- find_library(CoreFoundation CoreFoundation)
-endif()
-
absl_cc_library(
NAME
time_zone
@@ -84,7 +80,7 @@ absl_cc_library(
COPTS
${ABSL_DEFAULT_COPTS}
DEPS
- $<$<PLATFORM_ID:Darwin>:${CoreFoundation}>
+ $<$<PLATFORM_ID:Darwin>:-Wl,-framework,CoreFoundation>
)
# Internal-only target, do not depend on directly.
--
2.25.1

View File

@ -1,23 +0,0 @@
diff --git a/absl/time/internal/cctz/src/zone_info_source.cc b/absl/time/internal/cctz/src/zone_info_source.cc
index 7209533..5ab5a59 100644
--- a/absl/time/internal/cctz/src/zone_info_source.cc
+++ b/absl/time/internal/cctz/src/zone_info_source.cc
@@ -65,7 +65,7 @@ ZoneInfoSourceFactory zone_info_source_factory __attribute__((weak)) =
extern ZoneInfoSourceFactory zone_info_source_factory;
extern ZoneInfoSourceFactory default_factory;
ZoneInfoSourceFactory default_factory = DefaultFactory;
-#if defined(_M_IX86)
+#if defined(_M_IX86) || defined(_M_ARM)
#pragma comment( \
linker, \
"/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \
@@ -83,8 +83,7 @@ ZoneInfoSourceFactory default_factory = DefaultFactory;
"@@U?$default_delete@VZoneInfoSource@cctz@time_internal@" ABSL_INTERNAL_MANGLED_NS \
"@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z@" ABSL_INTERNAL_MANGLED_BACKREFERENCE \
"@@ZA")
-#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM) || \
- defined(_M_ARM64)
+#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM64)
#pragma comment( \
linker, \
"/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \

View File

@ -10,6 +10,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
fix-dll-support.patch
core-foundation-deps.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS

View File

@ -1,6 +1,7 @@
{
"name": "abseil",
"version": "20230125.3",
"port-version": 1,
"description": [
"an open-source collection designed to augment the C++ standard library.",
"Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.",

View File

@ -1,5 +1,15 @@
{
"versions": [
{
"git-tree": "370a6da6fa1c5e259a8c8deec863e705aa423be6",
"version": "20230125.3",
"port-version": 1
},
{
"git-tree": "2209360b556a40cf034551f6f9063456eac63986",
"version": "20230125.3",
"port-version": 2
},
{
"git-tree": "6a337fa251c0ac4489d9c0ea1e2f1c9a7d019eb5",
"version": "20230125.3",

View File

@ -18,7 +18,7 @@
},
"abseil": {
"baseline": "20230125.3",
"port-version": 0
"port-version": 1
},
"absent": {
"baseline": "0.3.1",