diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/zlmediakit | |
Diffstat (limited to 'vcpkg/ports/zlmediakit')
| -rw-r--r-- | vcpkg/ports/zlmediakit/add-include-chrono.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/zlmediakit/fix-android.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/zlmediakit/fix-dependency.patch | 42 | ||||
| -rw-r--r-- | vcpkg/ports/zlmediakit/portfile.cmake | 91 | ||||
| -rw-r--r-- | vcpkg/ports/zlmediakit/vcpkg.json | 53 |
5 files changed, 220 insertions, 0 deletions
diff --git a/vcpkg/ports/zlmediakit/add-include-chrono.patch b/vcpkg/ports/zlmediakit/add-include-chrono.patch new file mode 100644 index 0000000..747f65f --- /dev/null +++ b/vcpkg/ports/zlmediakit/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/src/Util/util.cpp b/src/Util/util.cpp +index 1da99cc..943a107 100644 +--- a/src/Util/util.cpp ++++ b/src/Util/util.cpp +@@ -9,6 +9,7 @@ + */ + + #include <cassert> ++#include <chrono> + #include <cstdio> + #include <cstdlib> + #include <cstring> diff --git a/vcpkg/ports/zlmediakit/fix-android.patch b/vcpkg/ports/zlmediakit/fix-android.patch new file mode 100644 index 0000000..c2414be --- /dev/null +++ b/vcpkg/ports/zlmediakit/fix-android.patch @@ -0,0 +1,22 @@ +Index: src/Rtcp/RtcpFCI.h +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/Rtcp/RtcpFCI.h b/src/Rtcp/RtcpFCI.h +--- a/src/Rtcp/RtcpFCI.h (revision 6b2fcf79435656be7797d396203adcc6c11ecc52) ++++ b/src/Rtcp/RtcpFCI.h (date 1727606590493) +@@ -247,8 +247,13 @@ + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + class FCI_NACK { + public: ++#if defined(ANDROID) ++ inline static constexpr size_t kSize = 4; ++ inline static constexpr size_t kBitSize = 16; ++#else + static constexpr size_t kSize = 4; + static constexpr size_t kBitSize = 16; ++#endif + + FCI_NACK(uint16_t pid_h, const std::vector<bool> &type); + diff --git a/vcpkg/ports/zlmediakit/fix-dependency.patch b/vcpkg/ports/zlmediakit/fix-dependency.patch new file mode 100644 index 0000000..32e2338 --- /dev/null +++ b/vcpkg/ports/zlmediakit/fix-dependency.patch @@ -0,0 +1,42 @@ +Index: 3rdpart/CMakeLists.txt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/3rdpart/CMakeLists.txt b/3rdpart/CMakeLists.txt +--- a/3rdpart/CMakeLists.txt (revision af3ef996b0ae265e000344e7faf753577f9abf4e) ++++ b/3rdpart/CMakeLists.txt (date 1711782947005) +@@ -24,6 +24,7 @@ + ############################################################################## + + # jsoncpp ++if (0) + file(GLOB JSONCPP_SRC_LIST + ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/include/json/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/src/lib_json/*.cpp +@@ -38,7 +39,8 @@ + PUBLIC + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/jsoncpp/include") + +-update_cached_list(MK_LINK_LIBRARIES jsoncpp) ++endif() ++update_cached_list(MK_LINK_LIBRARIES JsonCpp::JsonCpp) + + ############################################################################## + +Index: CMakeLists.txt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision af3ef996b0ae265e000344e7faf753577f9abf4e) ++++ b/CMakeLists.txt (date 1711782947012) +@@ -479,6 +479,7 @@ + # for assert.h + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpart) + ++find_package(jsoncpp CONFIG REQUIRED) + add_subdirectory(3rdpart) + + add_subdirectory(src) diff --git a/vcpkg/ports/zlmediakit/portfile.cmake b/vcpkg/ports/zlmediakit/portfile.cmake new file mode 100644 index 0000000..f039b04 --- /dev/null +++ b/vcpkg/ports/zlmediakit/portfile.cmake @@ -0,0 +1,91 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ZLMediaKit/ZLMediaKit
+ REF 6b2fcf79435656be7797d396203adcc6c11ecc52
+ SHA512 a2efe81f7fe6267418cc1e98f74283a10481b995815131324b7587c82f451d4bd35aa0190ef59efe46a057369208d4bf0658eaba44ae1a8532c6162cfb6e34f5
+ HEAD_REF master
+ PATCHES
+ fix-dependency.patch
+ fix-android.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH TOOL_KIT_SOURCE_PATH
+ REPO ZLMediaKit/ZLToolKit
+ REF 46231014e2a7ec1903d4a37e96222481ecc779d8
+ SHA512 2a0b834f072fbc64edc84f408050e2c992f8d59f2480c67a372cace17d49f21eb2f40587288481acc42118e94a5b7863043982680c3f56bdde3863f97ca69356
+ HEAD_REF master
+ PATCHES
+ add-include-chrono.patch #https://github.com/ZLMediaKit/ZLToolKit/pull/258
+)
+
+file(REMOVE_RECURSE "${SOURCE_PATH}/3rdpart/ZLToolKit")
+file(COPY "${TOOL_KIT_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/3rdpart/ZLToolKit")
+
+if ("mp4" IN_LIST FEATURES)
+ vcpkg_from_github(
+ OUT_SOURCE_PATH MEDIA_SRV_SOURCE_PATH
+ REPO ireader/media-server
+ REF 4e1a89c3247db72076893d3fc5ad80f4b3c04ec2
+ SHA512 baa7c8b69f86117e0eb8e3bb3769f3aa7fac498a7a59a24382a703a16ec8c5997e858b01a4681795ad0f8eab0408bf69fe1907400fa941dff588b1c739ffa324
+ HEAD_REF master
+ )
+
+ file(REMOVE_RECURSE "${SOURCE_PATH}/3rdpart/media-server")
+ file(COPY "${MEDIA_SRV_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/3rdpart/media-server")
+endif()
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" static ZLMEDIAKIT_BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" static ZLMEDIAKIT_CRT_STATIC)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ openssl ENABLE_OPENSSL
+ openssl CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL
+ mp4 ENABLE_MP4
+ mp4 ENABLE_RTPPROXY
+ mp4 ENABLE_HLS
+ sctp ENABLE_SCTP
+ webrtc ENABLE_WEBRTC
+ INVERTED_FEATURES
+ openssl CMAKE_DISABLE_FIND_PACKAGE_OpenSSL
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_POLICY_DEFAULT_CMP0057=NEW
+ -DENABLE_API=ON
+ -DENABLE_API_STATIC_LIB=${ZLMEDIAKIT_BUILD_STATIC}
+ -DENABLE_MSVC_MT=${ZLMEDIAKIT_CRT_STATIC}
+ -DENABLE_ASAN=OFF
+ -DENABLE_CXX_API=OFF
+ -DENABLE_JEMALLOC_STATIC=OFF
+ -DENABLE_FAAC=OFF
+ -DENABLE_FFMPEG=OFF
+ -DENABLE_PLAYER=OFF
+ -DENABLE_SERVER=ON
+ -DENABLE_SERVER_LIB=OFF
+ -DENABLE_SRT=ON
+ -DENABLE_MYSQL=OFF
+ -DENABLE_X264=OFF
+ -DENABLE_WEPOLL=ON
+ -DDISABLE_REPORT=OFF
+ -DUSE_SOLUTION_FOLDERS=ON
+ -DENABLE_TESTS=OFF
+ -DENABLE_MEM_DEBUG=OFF # only valid on Linux
+ -DCMAKE_DISABLE_FIND_PACKAGE_GIT=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_JEMALLOC=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=ON
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_copy_tools(TOOL_NAMES MediaServer AUTO_CLEAN)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/zlmediakit/vcpkg.json b/vcpkg/ports/zlmediakit/vcpkg.json new file mode 100644 index 0000000..104c05d --- /dev/null +++ b/vcpkg/ports/zlmediakit/vcpkg.json @@ -0,0 +1,53 @@ +{ + "name": "zlmediakit", + "version-date": "2024-09-29", + "port-version": 1, + "description": "A high-performance carrier-grade streaming media service framework based on C++11.", + "homepage": "https://github.com/ZLMediaKit/ZLMediaKit", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "jsoncpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "mp4", + "openssl", + "webrtc" + ], + "features": { + "mp4": { + "description": "Enable MP4" + }, + "openssl": { + "description": "Enable OpenSSL", + "dependencies": [ + "openssl" + ] + }, + "sctp": { + "description": "Enable SCTP", + "dependencies": [ + "usrsctp" + ] + }, + "webrtc": { + "description": "Enable WebRTC", + "dependencies": [ + { + "name": "libsrtp", + "features": [ + "openssl" + ] + } + ] + } + } +} |