Skip to content

Commit

Permalink
[fontconfig] fixes for macos (#16905)
Browse files Browse the repository at this point in the history
  • Loading branch information
abique authored Mar 31, 2021
1 parent c603403 commit 9c2aae7
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 4 deletions.
4 changes: 2 additions & 2 deletions ports/fontconfig/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Source: fontconfig
Version: 2.13.1
Port-Version: 3
Port-Version: 4
Homepage: https://www.freedesktop.org/software/fontconfig/front.html
Description: Library for configuring and customizing font access.
Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext
Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext
34 changes: 34 additions & 0 deletions ports/fontconfig/macos_arm_fccache.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
src/fcatomic.h | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/fcatomic.h b/src/fcatomic.h
index cc28a883c13fadf2ad9900586a9cae3097354671..657a5f551adfc37415231b7002746ad6cd031c78 100644
--- a/src/fcatomic.h
+++ b/src/fcatomic.h
@@ -70,24 +70,16 @@ typedef LONG fc_atomic_int_t;
#elif !defined(FC_NO_MT) && defined(__APPLE__)

#include <libkern/OSAtomic.h>
-#ifdef __MAC_OS_X_MIN_REQUIRED
#include <AvailabilityMacros.h>
-#elif defined(__IPHONE_OS_MIN_REQUIRED)
-#include <Availability.h>
-#endif

typedef int fc_atomic_int_t;
#define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V))

#define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P))
-#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
+#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100)
#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
#else
-#if __ppc64__ || __x86_64__
-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
-#else
-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P))
-#endif
+#error "Your macOS / iOS targets are too old"
#endif

#elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES)
3 changes: 2 additions & 1 deletion ports/fontconfig/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ vcpkg_from_gitlab(
build.patch
build2.patch
disable-install-data.patch
macos_arm_fccache.patch
${PATCHES}
)

Expand Down Expand Up @@ -86,7 +87,7 @@ endif()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)


## Build the fontconfig cache
# Build the fontconfig cache
if(NOT VCPKG_TARGET_IS_WINDOWS)
set(ENV{FONTCONFIG_PATH} "${CURRENT_PACKAGES_DIR}/etc/fonts")
set(ENV{FONTCONFIG_FILE} "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf")
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2018,7 +2018,7 @@
},
"fontconfig": {
"baseline": "2.13.1",
"port-version": 3
"port-version": 4
},
"foonathan-memory": {
"baseline": "2019-07-21-1",
Expand Down
5 changes: 5 additions & 0 deletions versions/f-/fontconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "2b49a3ee02b25efc3101d849a0df38280a1ca299",
"version-string": "2.13.1",
"port-version": 4
},
{
"git-tree": "e4e2d26ab9639fb737206592a04791d998461fa3",
"version-string": "2.13.1",
Expand Down

0 comments on commit 9c2aae7

Please sign in to comment.