Skip to content

Commit

Permalink
feat: sync from upstream (#4)
Browse files Browse the repository at this point in the history
Co-authored-by: dantmnf <[email protected]>
Co-authored-by: Hao Guan <[email protected]>
Co-authored-by: Koke_Cacao <[email protected]>
  • Loading branch information
4 people authored Sep 6, 2024
1 parent 39594c0 commit a1eb461
Show file tree
Hide file tree
Showing 37 changed files with 10,426 additions and 476 deletions.
6 changes: 0 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,6 @@ jobs:
ndk-version: r27
add-to-path: false

# # https://github.com/microsoft/vcpkg/issues/31332
# - name: Fix Android LDFLAGS error
# if: contains(matrix.arch, 'android')
# run: |
# git -C vcpkg apply ../vcpkg-overlay/scripts/remove_avoid-version.patch

- name: Install Packages on MacOS
if: runner.os == 'macOS'
run: |
Expand Down
3 changes: 1 addition & 2 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,7 @@ def sdk_filter(info: tarfile.TarInfo):
sdk_filter = None
with tarfile.TarFile.open(f"tarball/MaaDeps-{tarball_triplet}-devel.tar.xz", 'w:xz') as sdktar:
sdktar.add(f"./vcpkg/installed/{vcpkg.triplet}", filter=sdk_filter)
if 'android' not in session.target:
sdktar.add(f"./vcpkg/installed/{vcpkg.triplet.removeprefix('maa-').replace('arm64', 'x64')}/tools")
# sdktar.add(f"./vcpkg/installed/{vcpkg.triplet.removeprefix('maa-').replace('arm64', 'x64')}/tools")

for f in extra_files:
sdktar.add(f)
Expand Down
2 changes: 1 addition & 1 deletion vcpkg
Submodule vcpkg updated 921 files
12 changes: 12 additions & 0 deletions vcpkg-overlay/ports/abseil/avoid-export-internal.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt
index a1633514269..79682e8cbb2 100644
--- a/absl/container/CMakeLists.txt
+++ b/absl/container/CMakeLists.txt
@@ -212,6 +212,7 @@ absl_cc_library(
DEPS
absl::config
GTest::gmock
+ TESTONLY
)

absl_cc_test(
59 changes: 59 additions & 0 deletions vcpkg-overlay/ports/abseil/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
if (NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
REF "${VERSION}"
SHA512 5062e731ee8c9a757e6d75fc1c558652deb4dd1daab4d6143f7ad52a139501c61365f89acbf82480be0f9a4911a58286560068d8b1a8b6774e6afad51739766e
HEAD_REF master
PATCHES avoid-export-internal.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cxx17 ABSL_USE_CXX17
)

# With ABSL_PROPAGATE_CXX_STD=ON abseil automatically detect if it is being
# compiled with C++14 or C++17, and modifies the installed `absl/base/options.h`
# header accordingly. This works even if CMAKE_CXX_STANDARD is not set. Abseil
# uses the compiler default behavior to update `absl/base/options.h` as needed.
if (ABSL_USE_CXX17)
set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17")
endif ()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DABSL_PROPAGATE_CXX_STD=ON
${ABSL_USE_CXX17_OPTION}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME absl CONFIG_PATH lib/cmake/absl)
vcpkg_fixup_pkgconfig()

vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/include/absl/copts"
"${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata"
"${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata"
)

if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(GLOB_RECURSE headers "${CURRENT_PACKAGES_DIR}/include/absl/*.h")
foreach(header IN LISTS ${headers})
vcpkg_replace_string("${header}"
"!defined(ABSL_CONSUME_DLL)" "0"
)
vcpkg_replace_string("${header}"
"defined(ABSL_CONSUME_DLL)" "1"
)
endforeach()
endif()

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
26 changes: 26 additions & 0 deletions vcpkg-overlay/ports/abseil/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "abseil",
"version": "20240116.2",
"description": [
"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.",
"In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.",
"Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole."
],
"homepage": "https://github.com/abseil/abseil-cpp",
"license": "Apache-2.0",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"cxx17": {
"description": "Enable compiler C++17."
}
}
}
51 changes: 51 additions & 0 deletions vcpkg-overlay/ports/directml-bin/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

set(VERSION 1.5.1)

vcpkg_download_distfile(ARCHIVE
URLS "https://www.nuget.org/api/v2/package/Microsoft.AI.DirectML/1.14.1"
FILENAME "Microsoft.AI.DirectML.1.14.1.nupkg"
SHA512 362be04b10c5a443250909e0d57b2dc3e0e709e0651578cfea8a702e2d295b78d3d058533e728d1edd61963750c76359552dd02b1a66e8a55635347b73796637
)

vcpkg_extract_source_archive(
SOURCE_PATH
ARCHIVE ${ARCHIVE}
NO_REMOVE_ONE_LEVEL
)

file(MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/include
${CURRENT_PACKAGES_DIR}/lib
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/lib
${CURRENT_PACKAGES_DIR}/debug/bin
)

file(COPY
${SOURCE_PATH}/include
DESTINATION ${CURRENT_PACKAGES_DIR}
)


file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)

file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)

# file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.Debug.dll
# DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
# file(COPY ${SOURCE_PATH}/bin/${VCPKG_TARGET_ARCHITECTURE}-win/DirectML.Debug.pdb
# DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)

# # Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
8 changes: 8 additions & 0 deletions vcpkg-overlay/ports/directml-bin/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "directml-bin",
"version": "1.14.1",
"port-version": 1,
"description": "DirectML (standalone)",
"homepage": "https://www.nuget.org/packages/Microsoft.AI.DirectML",
"supports": "windows"
}
20 changes: 20 additions & 0 deletions vcpkg-overlay/ports/flatbuffers/fix-uwp-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
diff --git a/src/util.cpp b/src/util.cpp
index aabc23a..06e9ebe 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -434,9 +434,15 @@ bool ReadEnvironmentVariable(const char *var_name, std::string *_value) {
#ifdef _MSC_VER
__pragma(warning(disable : 4996)); // _CRT_SECURE_NO_WARNINGS
#endif
+#if _WIN32_WINNT < 0x0A00
auto env_str = std::getenv(var_name);
if (!env_str) return false;
if (_value) *_value = std::string(env_str);
+#else
+ //There is no support for environment variables in UWP
+ var_name; // Do nothing
+ *_value = std::string("");
+#endif
return true;
}

47 changes: 47 additions & 0 deletions vcpkg-overlay/ports/flatbuffers/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/flatbuffers
REF "v${VERSION}"
SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
HEAD_REF master
PATCHES
fix-uwp-build.patch
)

set(options "")
if(VCPKG_CROSSCOMPILING)
list(APPEND options -DFLATBUFFERS_BUILD_FLATC=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF)
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
# The option may cause "#error Unsupported architecture"
list(APPEND options -DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF)
endif()
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFLATBUFFERS_BUILD_TESTS=OFF
-DFLATBUFFERS_BUILD_GRPCTEST=OFF
${options}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/flatbuffers)
vcpkg_fixup_pkgconfig()

file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*)
if(flatc_path)
vcpkg_copy_tools(TOOL_NAMES flatc AUTO_CLEAN)
else()
file(APPEND "${CURRENT_PACKAGES_DIR}/share/flatbuffers/flatbuffers-config.cmake"
"\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/share/flatbuffers/FlatcTargets.cmake\")\n")
endif()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")

# Handle copyright
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
21 changes: 21 additions & 0 deletions vcpkg-overlay/ports/flatbuffers/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "flatbuffers",
"version": "23.5.26",
"description": "FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.",
"homepage": "https://google.github.io/flatbuffers/",
"license": "Apache-2.0",
"dependencies": [
{
"name": "flatbuffers",
"host": true
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
17 changes: 0 additions & 17 deletions vcpkg-overlay/ports/maa-fastdeploy/000-fix-rpath.patch

This file was deleted.

6 changes: 2 additions & 4 deletions vcpkg-overlay/ports/maa-fastdeploy/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO MaaAssistantArknights/FastDeploy
REF 0ef77d33216a7335efbe2470b1532c96c3bbf71e
SHA512 9a328a8113707d7883e128d74217f21bd5e7241e59773709b4e8894e4491cb47b363080231399d43ced4b118e3023aaf856bef2c5a573de5091d7740ec885213
PATCHES
000-fix-rpath.patch
REF 2896b6d3641c18218209c496ea149a773373fa8b
SHA512 2d8a9072763b9ccf7968dd43aa0077fcf45659caa1f90db7af6b1cbf7a74872729625a74faefee09b655ff9ec17fe9f589935335f3c393412e9e9b93feef8a1f
)

vcpkg_cmake_configure(
Expand Down
2 changes: 1 addition & 1 deletion vcpkg-overlay/ports/maa-fastdeploy/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "maa-fastdeploy",
"version": "2023-01-19",
"version": "2024-05-29",
"port-version": 1,
"description": "derp learning routines",
"homepage": "https://github.com/MaaAssistantArknights/FastDeploy",
Expand Down
Loading

0 comments on commit a1eb461

Please sign in to comment.