aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/libarchive/CONTROL4
-rw-r--r--ports/libarchive/override-broken-feature-checks.patch55
-rw-r--r--ports/libarchive/portfile.cmake4
3 files changed, 60 insertions, 3 deletions
diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL
index c035a891e..96f2de7dd 100644
--- a/ports/libarchive/CONTROL
+++ b/ports/libarchive/CONTROL
@@ -1,4 +1,4 @@
Source: libarchive
-Version: 3.2.2
+Version: 3.2.2-2
Description: Library for reading and writing streaming archives
-Build-Depends: zlib, bzip2, libxml2, libiconv, lz4, liblzma, openssl
+Build-Depends: zlib, bzip2, libxml2, lz4, liblzma, openssl
diff --git a/ports/libarchive/override-broken-feature-checks.patch b/ports/libarchive/override-broken-feature-checks.patch
new file mode 100644
index 000000000..63c65a10f
--- /dev/null
+++ b/ports/libarchive/override-broken-feature-checks.patch
@@ -0,0 +1,55 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2d035a1..1e32afd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1226,7 +1226,8 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R)
+ CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT)
+ CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES)
+ CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC)
+-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE)
++#CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE)
++set(HAVE_MEMMOVE 1)
+ CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR)
+ CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO)
+ CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD)
+@@ -1257,11 +1258,16 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME)
+ CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES)
+ CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT)
+ CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK)
+-CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB)
+-CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP)
+-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY)
+-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN)
+-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
++#CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB)
++set(HAVE_WCRTOMB 1)
++#CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP)
++set(HAVE_WCSCMP 1)
++#CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY)
++set(HAVE_WCSCPY 1)
++#CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN)
++set(HAVE_WCSLEN 1)
++#CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
++set(HAVE_WCTOMB 1)
+ CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S)
+ CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64)
+ CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE)
+@@ -1273,10 +1279,14 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH)
+ CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
+ CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R)
+ CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME)
+-CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
+-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP)
+-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY)
+-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE)
++#CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
++set(HAVE_VPRINTF 1)
++#CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP)
++set(HAVE_WMEMCMP 1)
++#CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY)
++set(HAVE_WMEMCPY 1)
++#CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE)
++set(HAVE_WMEMMOVE 1)
+
+ CMAKE_POP_CHECK_STATE() # Restore the state of the variables
+
diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake
index 26d175516..5a60f1d6d 100644
--- a/ports/libarchive/portfile.cmake
+++ b/ports/libarchive/portfile.cmake
@@ -16,7 +16,8 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.patch
- ${CMAKE_CURRENT_LIST_DIR}/use-memset-not-bzero.patch)
+ ${CMAKE_CURRENT_LIST_DIR}/use-memset-not-bzero.patch
+ ${CMAKE_CURRENT_LIST_DIR}/override-broken-feature-checks.patch)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -32,6 +33,7 @@ vcpkg_configure_cmake(
-DENABLE_XATTR=OFF
-DENABLE_ACL=OFF
-DENABLE_TEST=OFF
+ -DENABLE_ICONV=OFF
-DPOSIX_REGEX_LIB=NONE
OPTIONS_DEBUG
-DARCHIVE_SKIP_HEADERS=ON)