Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[7zip] restore missing sources and fix compilation on android #42911

Merged
merged 11 commits into from
Jan 3, 2025
24 changes: 10 additions & 14 deletions ports/7zip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,16 @@ target_sources(7zip PRIVATE
CPP/7zip/Common/UniqBlocks.cpp
CPP/7zip/Common/VirtThread.cpp

CPP/Windows/FileDir.cpp
CPP/Windows/FileFind.cpp
CPP/Windows/FileIO.cpp
CPP/Windows/FileName.cpp
CPP/Windows/PropVariant.cpp
CPP/Windows/PropVariantUtils.cpp
CPP/Windows/Synchronization.cpp
CPP/Windows/System.cpp
CPP/Windows/TimeUtils.cpp

CPP/7zip/Archive/ApmHandler.cpp
CPP/7zip/Archive/ArHandler.cpp
CPP/7zip/Archive/ArjHandler.cpp
Expand Down Expand Up @@ -300,20 +310,6 @@ target_sources(7zip PRIVATE
C/Util/LzmaLib/LzmaLib.def
)

if(WIN32)
target_sources(7zip PRIVATE
CPP/Windows/FileDir.cpp
CPP/Windows/FileFind.cpp
CPP/Windows/FileIO.cpp
CPP/Windows/FileName.cpp
CPP/Windows/PropVariant.cpp
CPP/Windows/PropVariantUtils.cpp
CPP/Windows/Synchronization.cpp
CPP/Windows/System.cpp
CPP/Windows/TimeUtils.cpp
)
endif()

# 7zCrcOpt
if(VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
Expand Down
13 changes: 13 additions & 0 deletions ports/7zip/fix_timespec_get_broken_on_android.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/CPP/Windows/TimeUtils.cpp b/CPP/Windows/TimeUtils.cpp
index bbd79ba..8df3ea3 100644
--- a/CPP/Windows/TimeUtils.cpp
+++ b/CPP/Windows/TimeUtils.cpp
@@ -259,7 +259,7 @@ bool GetSecondsSince1601(unsigned year, unsigned month, unsigned day,
Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11.3,
Cygwin 2.9, mingw, MSVC 14, Android 9.0.
*/
-#if defined(TIME_UTC)
+#if defined(TIME_UTC) && (!defined(__ANDROID__) || __ANDROID_API__ < 18)
msclock marked this conversation as resolved.
Show resolved Hide resolved
#define ZIP7_USE_timespec_get
// #pragma message("ZIP7_USE_timespec_get")
#elif defined(CLOCK_REALTIME)
2 changes: 2 additions & 0 deletions ports/7zip/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ vcpkg_from_github(
REF "${VERSION}"
SHA512 dc0241ed96907965445550912d1171fe32230a52997b089558a4cc73a662fc6a17940db8dcb0794b805268964899d9e5a48ddb444e92b56fd243bbaa17c20a1c
HEAD_REF main
PATCHES
fix_timespec_get_broken_on_android.patch
)

file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
Expand Down
1 change: 1 addition & 0 deletions ports/7zip/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "7zip",
"version-string": "24.09",
"port-version": 1,
"description": "Library for archiving file with a high compression ratio.",
"homepage": "https://www.7-zip.org",
"license": "LGPL-2.1-or-later",
Expand Down
5 changes: 5 additions & 0 deletions versions/7-/7zip.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5ad1af60bfd9198f2f12a029c3e54b3f615cb439",
"version-string": "24.09",
"port-version": 1
},
{
"git-tree": "29a42acc927078e1dc58fbbf354d1c59e01d0a03",
"version-string": "24.09",
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"7zip": {
"baseline": "24.09",
"port-version": 0
"port-version": 1
},
"ableton": {
"baseline": "3.0.6",
Expand Down