aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpastdue <30942300+past-due@users.noreply.github.com>2021-01-19 15:00:59 -0500
committerGitHub <noreply@github.com>2021-01-19 12:00:59 -0800
commit2ac5b0564c9bd703cdc8d1acb31b721326e54227 (patch)
tree433bc387ebc6f8dd2a46a02b6d17f113a431548f
parentd33b06d80867f870afc7322423bc93de6cf6fc71 (diff)
downloadvcpkg-2ac5b0564c9bd703cdc8d1acb31b721326e54227.tar.gz
vcpkg-2ac5b0564c9bd703cdc8d1acb31b721326e54227.zip
[physfs] Fix arm64-windows (#15684)
-rw-r--r--port_versions/baseline.json2
-rw-r--r--port_versions/p-/physfs.json5
-rw-r--r--ports/physfs/fix-lzmasdk-arm64-windows.patch20
-rw-r--r--ports/physfs/portfile.cmake5
-rw-r--r--ports/physfs/vcpkg.json3
-rw-r--r--scripts/ci.baseline.txt1
6 files changed, 29 insertions, 7 deletions
diff --git a/port_versions/baseline.json b/port_versions/baseline.json
index efcb6008c..fe6e0f26f 100644
--- a/port_versions/baseline.json
+++ b/port_versions/baseline.json
@@ -4478,7 +4478,7 @@
},
"physfs": {
"baseline": "3.0.2",
- "port-version": 3
+ "port-version": 4
},
"physx": {
"baseline": "4.1.1",
diff --git a/port_versions/p-/physfs.json b/port_versions/p-/physfs.json
index 2eb7ea138..3a3b9371c 100644
--- a/port_versions/p-/physfs.json
+++ b/port_versions/p-/physfs.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "bef97b95b7c30545c4ec9d0a55f672c3a6e3325f",
+ "version-string": "3.0.2",
+ "port-version": 4
+ },
+ {
"git-tree": "e46ccc22c717ad69bb6b6730669da403c86178d5",
"version-string": "3.0.2",
"port-version": 3
diff --git a/ports/physfs/fix-lzmasdk-arm64-windows.patch b/ports/physfs/fix-lzmasdk-arm64-windows.patch
new file mode 100644
index 000000000..0fad2b580
--- /dev/null
+++ b/ports/physfs/fix-lzmasdk-arm64-windows.patch
@@ -0,0 +1,20 @@
+diff --git a/src/physfs_lzmasdk.h b/src/physfs_lzmasdk.h
+--- a/src/physfs_lzmasdk.h
++++ b/src/physfs_lzmasdk.h
+@@ -506,6 +506,7 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem
+ #endif
+
+ #if defined(MY_CPU_AMD64) \
++ || defined(_M_ARM64) \
+ || defined(_M_IA64) \
+ || defined(__AARCH64EL__) \
+ || defined(__AARCH64EB__)
+@@ -531,6 +532,8 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem
+
+ #if defined(_WIN32) && defined(_M_ARM)
+ #define MY_CPU_ARM_LE
++#elif defined(_WIN64) && defined(_M_ARM64)
++#define MY_CPU_ARM_LE
+ #endif
+
+ #if defined(_WIN32) && defined(_M_IA64)
diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake
index 18080f5e6..2ce216e4d 100644
--- a/ports/physfs/portfile.cmake
+++ b/ports/physfs/portfile.cmake
@@ -1,6 +1,3 @@
-if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_TARGET_ARCHITECTURE} MATCHES "arm64")
- message(FATAL_ERROR "Architecture 'arm64' not supported on target 'Windows' by physfs!\n")
-endif()
set(PHYSFS_VERSION 3.0.2)
vcpkg_download_distfile(ARCHIVE
@@ -14,6 +11,8 @@ vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PHYSFS_VERSION}
+ PATCHES
+ "fix-lzmasdk-arm64-windows.patch"
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC)
diff --git a/ports/physfs/vcpkg.json b/ports/physfs/vcpkg.json
index 7eb40b2a7..0c0dfceb9 100644
--- a/ports/physfs/vcpkg.json
+++ b/ports/physfs/vcpkg.json
@@ -1,10 +1,9 @@
{
"name": "physfs",
"version-string": "3.0.2",
- "port-version": 3,
+ "port-version": 4,
"description": "a library to provide abstract access to various archives",
"homepage": "https://icculus.org/physfs/",
- "supports": "!(arm64 & windows)",
"dependencies": [
"zlib"
]
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 8177e7e62..3ad110d80 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -1234,7 +1234,6 @@ pfring:x64-osx=fail
# pfring on Linux currently fails because its build scripts enable warnings as
# errors, and warnings trigger with the Linux kernel headers in the Azure images.
pfring:x64-linux=fail
-physfs:arm64-windows=fail
physx:arm64-windows=fail
piex:x64-osx=fail
pistache:arm64-windows=fail