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

[new port] ZLMediaKit #33024

Merged
merged 30 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions ports/zlmediakit/fix-dependency.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
diff --git a/3rdpart/CMakeLists.txt b/3rdpart/CMakeLists.txt
index c90129d..06bde42 100644
--- a/3rdpart/CMakeLists.txt
+++ b/3rdpart/CMakeLists.txt
@@ -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 @@ target_include_directories(jsoncpp
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)

##############################################################################

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb85679..c9390bb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -434,6 +434,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
# for assert.h
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpart)

+find_package(jsoncpp CONFIG REQUIRED)
add_subdirectory(3rdpart)

add_subdirectory(src)
82 changes: 82 additions & 0 deletions ports/zlmediakit/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ZLMediaKit/ZLMediaKit
REF 2378617dd8bb208129ae7cbbafc26dfeae096d13
SHA512 ca1f212a9ccf20bdd38a2811909b8327df9fe3d1da17ecf15b996ab040071b267bbef697657b26001c157175d54c96f3156ffdf51f09b2ea1078a9ca283171d8
HEAD_REF master
PATCHES fix-dependency.patch
)

vcpkg_from_github(
OUT_SOURCE_PATH TOOL_KIT_SOURCE_PATH
REPO ZLMediaKit/ZLToolKit
REF d2016522a0e4b1d8df51a78b7415fe148f7245ca
SHA512 350730903fb24ce8e22710adea7af67dc1f74d157ae17b9f2e5fabd1c5aced8f45de0abce985130f5013871a3e31f9eaf78b161f734c16a9966da5b876a90e1b
HEAD_REF master
)

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 cdbb3d6b9ea254f454c6e466c5962af5ace01199
SHA512 c9b6ed487ec283572022fe6eb8562258063a84b513ccc3f8783e4da9f46b19705ce41baf9603277a7642683e24ac4168a11a0c4e7a18b5f56145bf4986064664
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
mp4 ENABLE_MP4
mp4 ENABLE_HLS_FMP4
mp4 ENABLE_RTPPROXY
mp4 ENABLE_HLS
sctp ENABLE_SCTP
webrtc ENABLE_WEBRTC
mysql ENABLE_MYSQL
INVERTED_FEATURES
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-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=ON
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
-DENABLE_SERVER=ON
-DENABLE_SERVER_LIB=OFF
-DENABLE_SRT=ON
-DENABLE_X264=OFF
-DENABLE_WEPOLL=ON
-DDISABLE_REPORT=OFF
-DUSE_SOLUTION_FOLDERS=ON
-DENABLE_TESTS=OFF
-DENABLE_MEM_DEBUG=OFF # only valid on Linux
${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")
59 changes: 59 additions & 0 deletions ports/zlmediakit/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"name": "zlmediakit",
"version-date": "2023-08-05",
"description": "A high-performance carrier-grade streaming media service framework based on C++11.",
"homepage": "https://github.com/ZLMediaKit/ZLMediaKit",
"license": "MIT",
"supports": "!uwp & !android",
"dependencies": [
"jsoncpp",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"default-features": [
"openssl"
],
"features": {
"mp4": {
"description": "Enable MP4"
},
"mysql": {
"description": "Enable mysql",
"dependencies": [
"libmysql"
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
]
},
"openssl": {
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
"description": "Enable OpenSSL",
"dependencies": [
"openssl"
]
},
"sctp": {
"description": "Enable SCTP",
"dependencies": [
"usrsctp"
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
]
},
"webrtc": {
"description": "Enable WebRTC",
"dependencies": [
"libsrtp",
{
"name": "zlmediakit",
"default-features": false,
"features": [
"openssl",
"sctp"
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
JackBoosY marked this conversation as resolved.
Show resolved Hide resolved
]
}
]
}
}
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -9032,6 +9032,10 @@
"baseline": "2.0.7",
"port-version": 0
},
"zlmediakit": {
"baseline": "2023-08-05",
"port-version": 0
},
"zookeeper": {
"baseline": "3.5.6",
"port-version": 1
Expand Down
9 changes: 9 additions & 0 deletions versions/z-/zlmediakit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "83e0741da21ceaae31c681d51662f3a432fa8919",
"version-date": "2023-08-05",
"port-version": 0
}
]
}