aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/live555
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/live555
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/live555')
-rw-r--r--vcpkg/ports/live555/CMakeLists.txt68
-rw-r--r--vcpkg/ports/live555/fix-RTSPClient.patch13
-rw-r--r--vcpkg/ports/live555/fix_operator_overload.patch13
-rw-r--r--vcpkg/ports/live555/portfile.cmake37
-rw-r--r--vcpkg/ports/live555/vcpkg.json19
5 files changed, 150 insertions, 0 deletions
diff --git a/vcpkg/ports/live555/CMakeLists.txt b/vcpkg/ports/live555/CMakeLists.txt
new file mode 100644
index 0000000..57cca4b
--- /dev/null
+++ b/vcpkg/ports/live555/CMakeLists.txt
@@ -0,0 +1,68 @@
+cmake_minimum_required(VERSION 3.5)
+project(live555 C CXX)
+
+set(CMAKE_CXX_STANDARD 20)
+include_directories(
+ BasicUsageEnvironment/include
+ groupsock/include
+ liveMedia/include
+ UsageEnvironment/include
+)
+
+if (WIN32)
+ add_definitions(-DNO_GETIFADDRS)
+endif(WIN32)
+
+if (NOT MSVC)
+ add_compile_options(-DSOCKLEN_T=socklen_t)
+endif()
+
+if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ add_compile_options(-DBSD=1)
+ add_compile_options(-DHAVE_SOCKADDR_LEN=1)
+ add_compile_options(-DTIME_BASE=int)
+ add_compile_options(-DNEED_XLOCALE_H=1)
+endif()
+
+file(GLOB BASIC_USAGE_ENVIRONMENT_SRCS BasicUsageEnvironment/*.c BasicUsageEnvironment/*.cpp)
+add_library(BasicUsageEnvironment ${BASIC_USAGE_ENVIRONMENT_SRCS})
+target_include_directories(BasicUsageEnvironment PUBLIC $<INSTALL_INTERFACE:include>)
+
+file(GLOB GROUPSOCK_SRCS groupsock/*.c groupsock/*.cpp)
+add_library(groupsock ${GROUPSOCK_SRCS})
+target_include_directories(groupsock PUBLIC $<INSTALL_INTERFACE:include>)
+
+file(GLOB LIVEMEDIA_SRCS liveMedia/*.c liveMedia/*.cpp)
+add_library(liveMedia ${LIVEMEDIA_SRCS})
+find_package(OpenSSL REQUIRED)
+target_include_directories(liveMedia PRIVATE "${OPENSSL_INCLUDE_DIR}" PUBLIC $<INSTALL_INTERFACE:include>)
+
+file(GLOB USAGE_ENVIRONMENT_SRCS UsageEnvironment/*.c UsageEnvironment/*.cpp)
+add_library(UsageEnvironment ${USAGE_ENVIRONMENT_SRCS})
+target_include_directories(UsageEnvironment PUBLIC $<INSTALL_INTERFACE:include>)
+
+file(WRITE "${CMAKE_BINARY_DIR}/unofficial-live555-config.cmake"
+[[
+include(CMakeFindDependencyMacro)
+
+find_dependency(OpenSSL)
+
+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-live555-targets.cmake")
+]]
+)
+
+install(FILES "${CMAKE_BINARY_DIR}/unofficial-live555-config.cmake" DESTINATION share/unofficial-live555)
+
+install(TARGETS groupsock BasicUsageEnvironment liveMedia UsageEnvironment
+ EXPORT unofficial-live555-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(
+ EXPORT unofficial-live555-targets
+ FILE unofficial-live555-targets.cmake
+ NAMESPACE unofficial::
+ DESTINATION share/unofficial-live555
+)
diff --git a/vcpkg/ports/live555/fix-RTSPClient.patch b/vcpkg/ports/live555/fix-RTSPClient.patch
new file mode 100644
index 0000000..bdf36cf
--- /dev/null
+++ b/vcpkg/ports/live555/fix-RTSPClient.patch
@@ -0,0 +1,13 @@
+diff --git a/liveMedia/RTSPClient.cpp b/liveMedia/RTSPClient.cpp
+index 66e0c79..13255af 100644
+--- a/liveMedia/RTSPClient.cpp
++++ b/liveMedia/RTSPClient.cpp
+@@ -2029,7 +2029,7 @@ int RTSPClient::write(const char* data, unsigned count) {
+ if (fOutputTLS->isNeeded) {
+ return fOutputTLS->write(data, count);
+ } else {
+- return send(fOutputSocketNum, data, count, MSG_NOSIGNAL);
++ return send(fOutputSocketNum, (const char *)data, count, MSG_NOSIGNAL);
+ }
+ }
+
diff --git a/vcpkg/ports/live555/fix_operator_overload.patch b/vcpkg/ports/live555/fix_operator_overload.patch
new file mode 100644
index 0000000..0920618
--- /dev/null
+++ b/vcpkg/ports/live555/fix_operator_overload.patch
@@ -0,0 +1,13 @@
+diff --git a/liveMedia/MPEGVideoStreamFramer.cpp b/liveMedia/MPEGVideoStreamFramer.cpp
+index 59c4656..a705e68 100644
+--- a/liveMedia/MPEGVideoStreamFramer.cpp
++++ b/liveMedia/MPEGVideoStreamFramer.cpp
+@@ -129,7 +129,7 @@ void MPEGVideoStreamFramer
+ fPictureTimeBase = fFrameRate == 0.0 ? 0.0 : tc.pictures/fFrameRate;
+ fTcSecsBase = (((tc.days*24)+tc.hours)*60+tc.minutes)*60+tc.seconds;
+ fHaveSeenFirstTimeCode = True;
+- } else if (fCurGOPTimeCode == fPrevGOPTimeCode) {
++ } else if (fCurGOPTimeCode.TimeCode::operator==(fPrevGOPTimeCode)) {
+ // The time code has not changed since last time. Adjust for this:
+ fPicturesAdjustment += picturesSinceLastGOP;
+ } else {
diff --git a/vcpkg/ports/live555/portfile.cmake b/vcpkg/ports/live555/portfile.cmake
new file mode 100644
index 0000000..b1cc11b
--- /dev/null
+++ b/vcpkg/ports/live555/portfile.cmake
@@ -0,0 +1,37 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+string(REPLACE "-" "." format_version ${VERSION})
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://live555.com/liveMedia/public/live.${format_version}.tar.gz"
+ FILENAME "live.${format_version}.tar.gz"
+ SHA512 ee2bf17d2803c4bb6f49408a123de9238273749b9c110113facbf78eb01b9961bbd04178335f40d36425c9f96a26ee3da57e970f86d4912b4ec42ab6f4b2c7e9
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ PATCHES
+ fix-RTSPClient.patch
+ fix_operator_overload.patch
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-live555)
+
+file(GLOB HEADERS
+ "${SOURCE_PATH}/BasicUsageEnvironment/include/*.h*"
+ "${SOURCE_PATH}/groupsock/include/*.h*"
+ "${SOURCE_PATH}/liveMedia/include/*.h*"
+ "${SOURCE_PATH}/UsageEnvironment/include/*.h*"
+)
+
+file(COPY ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/live555/vcpkg.json b/vcpkg/ports/live555/vcpkg.json
new file mode 100644
index 0000000..b519c88
--- /dev/null
+++ b/vcpkg/ports/live555/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "name": "live555",
+ "version-date": "2024-11-28",
+ "description": "A complete RTSP server application",
+ "homepage": "http://www.live555.com/liveMedia",
+ "license": "GPL-3.0-or-later",
+ "supports": "!xbox",
+ "dependencies": [
+ "openssl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}