diff --git a/ports/gst-rtsp-server/portfile.cmake b/ports/gst-rtsp-server/portfile.cmake index d184c1affc5d1d..bfc071e5bc3ff5 100644 --- a/ports/gst-rtsp-server/portfile.cmake +++ b/ports/gst-rtsp-server/portfile.cmake @@ -17,18 +17,45 @@ vcpkg_configure_meson( vcpkg_install_meson() +vcpkg_copy_pdbs() + +# For pkgconfig +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB_RECURSE GST_EXT_PKGS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/*.pc") + if (GST_EXT_PKGS) + foreach(GST_EXT_PKG IN LISTS GST_EXT_PKGS) + file(READ "${GST_EXT_PKG}" GST_EXT_PKG_CONTENT) + string(REPLACE [[libdir=${prefix}/lib]] [[libdir=${prefix}/lib/gstreamer-1.0]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + file(WRITE "${GST_EXT_PKG}" "${GST_EXT_PKG_CONTENT}") + file(COPY "${GST_EXT_PKG}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + endforeach() + endif() +endif() + +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB_RECURSE GST_EXT_PKGS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/*.pc") + if (GST_EXT_PKGS) + foreach(GST_EXT_PKG IN LISTS GST_EXT_PKGS) + file(READ "${GST_EXT_PKG}" GST_EXT_PKG_CONTENT) + string(REPLACE [[libdir=${prefix}/lib]] [[libdir=${prefix}/lib/gstreamer-1.0]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + file(WRITE "${GST_EXT_PKG}" "${GST_EXT_PKG_CONTENT}") + file(COPY "${GST_EXT_PKG}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endforeach() + endif() +endif() + +vcpkg_fixup_pkgconfig() + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB DBG_BINS ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb + file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.dll" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" ) - file(COPY ${DBG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(GLOB REL_BINS ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb + file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.dll" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" ) - file(COPY ${REL_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") file(REMOVE ${DBG_BINS} ${REL_BINS}) endif() -vcpkg_fixup_pkgconfig() - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gst-rtsp-server/vcpkg.json b/ports/gst-rtsp-server/vcpkg.json index cd58d37f023230..d3037ae7530c9b 100644 --- a/ports/gst-rtsp-server/vcpkg.json +++ b/ports/gst-rtsp-server/vcpkg.json @@ -1,10 +1,22 @@ { "name": "gst-rtsp-server", "version": "1.19.2", - "port-version": 1, + "port-version": 2, "description": "gst-rtsp-server is a library on top of GStreamer for building an RTSP server", + "homepage": "https://gstreamer.freedesktop.org", + "license": "GPL-2.0-or-later", + "supports": "!osx", "dependencies": [ - "gstreamer", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad", + "plugins-base", + "plugins-good", + "plugins-ugly" + ] + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/gstreamer/fix-package-search.patch b/ports/gstreamer/fix-package-search.patch new file mode 100644 index 00000000000000..5bcec9551b1ee5 --- /dev/null +++ b/ports/gstreamer/fix-package-search.patch @@ -0,0 +1,19 @@ +diff --git a/subprojects/gst-plugins-good/ext/lame/meson.build b/subprojects/gst-plugins-good/ext/lame/meson.build +index 2169fde..4a33f6e 100644 +--- a/subprojects/gst-plugins-good/ext/lame/meson.build ++++ b/subprojects/gst-plugins-good/ext/lame/meson.build +@@ -1,9 +1,13 @@ + lame_option = get_option('lame') + + lame_extra_c_args = [] +-lame_dep = cc.find_library('mp3lame', required: false) + have_lame = cc.has_header_symbol('lame/lame.h', 'lame_init') + if have_lame ++ if host_system == 'windows' # vcpkg port 'mp3lame' ++ lame_dep = cc.find_library('libmp3lame', required: true) ++ else ++ lame_dep = cc.find_library('mp3lame', required: true) ++ endif + if cc.has_header_symbol('lame/lame.h', 'lame_set_VBR_quality') + lame_extra_c_args += ['-DHAVE_LAME_SET_VBR_QUALITY'] + endif diff --git a/ports/gstreamer/plugins-base-use-zlib.patch b/ports/gstreamer/plugins-base-use-zlib.patch deleted file mode 100644 index 57b997ca7d9d8c..00000000000000 --- a/ports/gstreamer/plugins-base-use-zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build -index 5ec3739..a6cff8d 100644 ---- a/gst-libs/gst/tag/meson.build -+++ b/gst-libs/gst/tag/meson.build -@@ -70,7 +70,7 @@ endif - core_conf.set('HAVE_ISO_CODES', have_iso_codes) - - # could drop optional zlib dep and use g_zlib_decompressor_new() --zlib_dep = dependency('zlib', required : false) -+zlib_dep = dependency('zlib', required : true) - if not zlib_dep.found() - zlib_dep = cc.find_library('z', required : false) - if not zlib_dep.found() or not cc.has_header('zlib.h') diff --git a/ports/gstreamer/plugins-good-use-zlib.patch b/ports/gstreamer/plugins-good-use-zlib.patch deleted file mode 100644 index efea351f165ea6..00000000000000 --- a/ports/gstreamer/plugins-good-use-zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index 9de3b01..091a7f0 100644 ---- a/meson.build -+++ b/meson.build -@@ -326,7 +326,7 @@ if have_gstgl - endif - endif - --zlib_dep = dependency('zlib', required : false) -+zlib_dep = dependency('zlib', required : true) - if not zlib_dep.found() - zlib_dep = cc.find_library('z', required : false) - if not zlib_dep.found() or not cc.has_header('zlib.h') diff --git a/ports/gstreamer/portfile.cmake b/ports/gstreamer/portfile.cmake index 25cfb74b8fcb9c..efae7b46e01064 100644 --- a/ports/gstreamer/portfile.cmake +++ b/ports/gstreamer/portfile.cmake @@ -1,110 +1,28 @@ vcpkg_from_github( - OUT_SOURCE_PATH GST_BUILD_SOURCE_PATH - REPO gstreamer/gst-build - REF 1.19.2 - SHA512 d6b8e9fc195a60dfb83fe8a49040c21ca5603e3ada2036d56851e6e61a1cd2653ad45f33e39388bde859dfb4806f4a60d9dbfac5fe41b6d2a8b395c44d4525e3 - HEAD_REF master - PATCHES gstreamer-disable-hot-doc.patch -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_SOURCE_PATH + OUT_SOURCE_PATH SOURCE_PATH REPO gstreamer/gstreamer - REF 1.19.2 - SHA512 6070f1febf2a1bcc6e68f1e03c1b76891db210773065696e26fac20f0bd3ff47e1634222a49f93a10f6e47717ff21084c9ae0feed6a20facb9650aeb879cc380 - HEAD_REF master - PATCHES gstreamer-disable-no-unused.patch -) -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND PLUGIN_BASE_PATCHES plugins-base-use-zlib.patch plugin-base-disable-no-unused.patch) - list(APPEND PLUGIN_GOOD_PATCHES plugins-good-use-zlib.patch) - list(APPEND PLUGIN_UGLY_PATCHES plugins-ugly-disable-doc.patch) -endif() -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_BASE_SOURCE_PATH - REPO gstreamer/gst-plugins-base - REF 1.19.2 - SHA512 d2005e6a3bda5f08395b131347e8f4054c2469e04e65d1acc1a1572bf10d81d4dad4e43d6a8600346b6175a2310f81157a0cd27398ef69b5363b16346febfb39 - HEAD_REF master - PATCHES ${PLUGIN_BASE_PATCHES} -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_GOOD_SOURCE_PATH - REPO gstreamer/gst-plugins-good - REF 1.19.2 - SHA512 71e9f36d407db3b75d9a68f6447093aa011b2b586b06e0a1bb79c7db37c9114de505699e99a4dad06d8d9c742e91f48dd35457283babe440f88a9e40d3da465b + REF 1.19.3 + SHA512 a132b7d3eeae19a1021abf7d5604c212a29039847ec851c8a24b54a60559a4b68c5b4d26c6a2aaac0a4b03c8939fcf4bb1c2716371407cb75bf2e75dab35a805 HEAD_REF master - PATCHES ${PLUGIN_GOOD_PATCHES} + PATCHES fix-package-search.patch ) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_BAD_SOURCE_PATH - REPO gstreamer/gst-plugins-bad - REF 1.19.2 - SHA512 f63ca3abf380bba92dca4ac3a51cba5ea95093693cf64d167a7a9c0bf6341c35a74fd42332673dbd1581ea70da0a35026aa3e2ce99b5e573268ccb55b5491c1d - HEAD_REF master -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_UGLY_SOURCE_PATH - REPO gstreamer/gst-plugins-ugly - REF 1.19.2 - SHA512 70dcd4a36d3bd35f680eaa3c980842fbb57f55f17d1453c6a95640709b1b33a263689bf54caa367154267d281e5474686fedaa980de24094de91886a57b6547a - HEAD_REF master - PATCHES ${PLUGIN_UGLY_PATCHES} -) -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.freedesktop.org - OUT_SOURCE_PATH GST_MESON_PORTS_SOURCE_PATH - REPO gstreamer/meson-ports/gl-headers - REF 5c8c7c0d3ca1f0b783272dac0b95e09414e49bc8 # master commit. Date 2021-04-21 - SHA512 d001535e1c1b5bb515ac96c7d15b25ca51460a5af0c858df53b11c7bae87c4a494e4a1b1b9c3c41a5989001db083645dde2054b82acbbeab7f9939308b676f9c - HEAD_REF master -) - -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gstreamer") - file(RENAME "${GST_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gstreamer") -endif() -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-base") - file(RENAME "${GST_PLUGIN_BASE_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-base") -endif() -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-good") - file(RENAME "${GST_PLUGIN_GOOD_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-good") -endif() -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-bad") - file(RENAME "${GST_PLUGIN_BAD_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-bad") -endif() -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-ugly") - file(RENAME "${GST_PLUGIN_UGLY_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-ugly") -endif() -if (NOT EXISTS "${GST_BUILD_SOURCE_PATH}/subprojects/gl-headers") - file(RENAME "${GST_MESON_PORTS_SOURCE_PATH}" "${GST_BUILD_SOURCE_PATH}/subprojects/gl-headers") -endif() - -if(VCPKG_TARGET_IS_OSX) - # In Darwin platform, there can be an old version of `bison`, - # Which can't be used for `gst-build`. It requires 2.4+ - vcpkg_find_acquire_program(BISON) - execute_process( - COMMAND ${BISON} --version - OUTPUT_VARIABLE BISON_OUTPUT - ) - string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") - set(BISON_MAJOR ${CMAKE_MATCH_1}) - set(BISON_MINOR ${CMAKE_MATCH_2}) - message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") - if(NOT (BISON_MAJOR GREATER_EQUAL 2 AND BISON_MINOR GREATER_EQUAL 4)) - message(WARNING "'bison' upgrade is required. Please check the https://stackoverflow.com/a/35161881") - endif() -endif() # make tools like 'glib-mkenums' visible get_filename_component(GLIB_TOOL_DIR "${CURRENT_INSTALLED_DIR}/tools/glib" ABSOLUTE) message(STATUS "Using glib tools: ${GLIB_TOOL_DIR}") vcpkg_add_to_path(PREPEND "${GLIB_TOOL_DIR}") +# Some features might require GPL option. -Dgpl=enabled if ("x264" IN_LIST FEATURES) set(PLUGIN_UGLY_X264 enabled) else() set(PLUGIN_UGLY_X264 disabled) endif() +if ("flac" IN_LIST FEATURES) + set(PLUGIN_GOOD_FLAC enabled) +else() + set(PLUGIN_GOOD_FLAC disabled) +endif() if("plugins-base" IN_LIST FEATURES) set(PLUGIN_BASE_SUPPORT enabled) @@ -130,55 +48,51 @@ else() set(GL_GRAPHENE disabled) endif() -if ("flac" IN_LIST FEATURES) - set(PLUGIN_GOOD_FLAC enabled) -else() - set(PLUGIN_GOOD_FLAC disabled) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LIBRARY_LINKAGE "shared") -else() - set(LIBRARY_LINKAGE "static") -endif() - # gst-build's meson configuration needs git. Make the tool visible. vcpkg_find_acquire_program(GIT) get_filename_component(GIT_DIR "${GIT}" DIRECTORY) vcpkg_add_to_path("${GIT_DIR}") -# -# check scripts/cmake/vcpkg_configure_meson.cmake -# --wrap-mode=nodownload -# -# References -# https://github.com/GStreamer/gst-build/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-base/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-good/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-bad/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-ugly/blob/1.18.4/meson_options.txt -# +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND PLATFORM_OPTIONS + -Dgst-full-version-script=data/misc/gstreamer-full-default.map + # We can use EGL in Windows if port 'angle' is already installed. + # In the case, GL API should be 'gles2'. + -Dgst-plugins-base:gl_platform=auto # -Dgst-plugins-base:gl_platform=egl + -Dgst-plugins-base:gl_api=opengl # -Dgst-plugins-base:gl_api=gles2 + # use 'winrt' if system version is high enough? + -Dgst-plugins-base:gl_winsys=win32 + ) +elseif(VCPKG_TARGET_IS_OSX) + list(APPEND PLATFORM_OPTIONS + -Dgst-full-version-script= # this empty string intended + -Dgst-plugins-base:gl_platform=cgl + -Dgst-plugins-base:gl_winsys=cocoa + ) +elseif(VCPKG_TARGET_IS_ANDROID) + list(APPEND PLATFORM_OPTIONS + -Dgst-plugins-base:gl_platform=egl + -Dgst-plugins-base:gl_winsys=android + ) +endif() + vcpkg_configure_meson( - SOURCE_PATH "${GST_BUILD_SOURCE_PATH}" + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - # gstreamer - -Dgstreamer:default_library=${LIBRARY_LINKAGE} - -Dgstreamer:check=disabled - -Dgstreamer:libunwind=disabled - -Dgstreamer:libdw=disabled - -Dgstreamer:dbghelp=disabled - -Dgstreamer:bash-completion=disabled - -Dgstreamer:coretracers=disabled - -Dgstreamer:examples=disabled - -Dgstreamer:tests=disabled - -Dgstreamer:benchmarks=disabled - -Dgstreamer:tools=disabled - -Dgstreamer:doc=disabled - -Dgstreamer:introspection=disabled - -Dgstreamer:nls=disabled + ${PLATFORM_OPTIONS} + # gstreamer/meson_options.txt + -Dtests=disabled + -Dexamples=disabled + -Dintrospection=disabled + -Dnls=disabled + -Ddoc=disabled + -Dorc=disabled + -Dges=disabled + # subprojects + -Drtsp_server=disabled + -Ddevtools=disabled # gst-plugins-base - -Dbase=${PLUGIN_BASE_SUPPORT} - -Dgst-plugins-base:default_library=${LIBRARY_LINKAGE} + -Dgst-plugins-base:package-origin="vcpkg" -Dgst-plugins-base:examples=disabled -Dgst-plugins-base:tests=disabled -Dgst-plugins-base:doc=disabled @@ -188,10 +102,12 @@ vcpkg_configure_meson( -Dgst-plugins-base:orc=disabled -Dgst-plugins-base:pango=disabled -Dgst-plugins-base:gl-graphene=${GL_GRAPHENE} + -Dgst-plugins-base:doc=disabled # gst-plugins-good - -Dgst-plugins-good:default_library=${LIBRARY_LINKAGE} + -Dgst-plugins-good:package-origin="vcpkg" -Dgst-plugins-good:qt5=disabled -Dgst-plugins-good:soup=disabled + -Dgst-plugins-good:lame=enabled # mp3lame -Dgst-plugins-good:cairo=auto # cairo[gobject] -Dgst-plugins-good:speex=auto # speex -Dgst-plugins-good:taglib=auto # taglib @@ -204,104 +120,92 @@ vcpkg_configure_meson( -Dgst-plugins-good:flac=${PLUGIN_GOOD_FLAC} # gst-plugins-bad -Dbad=${PLUGIN_BAD_SUPPORT} - -Dgst-plugins-bad:default_library=${LIBRARY_LINKAGE} + -Dgst-plugins-bad:package-origin="vcpkg" -Dgst-plugins-bad:opencv=disabled -Dgst-plugins-bad:hls-crypto=openssl -Dgst-plugins-bad:examples=disabled -Dgst-plugins-bad:tests=disabled -Dgst-plugins-bad:doc=disabled -Dgst-plugins-bad:introspection=disabled - -Dgst-plugins-bad:nls=${LIBRARY_LINKAGE} + -Dgst-plugins-bad:nls=disabled -Dgst-plugins-bad:orc=disabled # gst-plugins-ugly -Dugly=${PLUGIN_UGLY_SUPPORT} - -Dgst-plugins-ugly:default_library=${LIBRARY_LINKAGE} + -Dgst-plugins-ugly:package-origin="vcpkg" -Dgst-plugins-ugly:tests=disabled -Dgst-plugins-ugly:doc=disabled -Dgst-plugins-ugly:nls=disabled -Dgst-plugins-ugly:orc=disabled - -Dgst-plugins-ugly:x264=${PLUGIN_UGLY_X264} - # see ${GST_BUILD_SOURCE_PATH}/meson_options.txt - -Dpython=disabled - -Dlibav=disabled - -Dlibnice=disabled # libnice - -Ddevtools=disabled - -Dges=disabled - -Drtsp_server=disabled - -Domx=disabled - -Dvaapi=disabled - -Dsharp=disabled - -Drs=disabled - -Dgst-examples=disabled - -Dtls=disabled - -Dtests=disabled # common options - -Dexamples=disabled - -Dintrospection=disabled - -Dnls=disabled - -Dorc=disabled - -Ddoc=disabled - -Dgtk_doc=disabled - -Ddevtools=disabled - OPTIONS_DEBUG - -Dgstreamer:gst_debug=true # plugins will reference this value + # -Dgst-plugins-ugly:x264=${PLUGIN_UGLY_X264} OPTIONS_RELEASE - -Dgstreamer:gst_debug=false - -Dgstreamer:gobject-cast-checks=disabled - -Dgstreamer:glib-asserts=disabled - -Dgstreamer:glib-checks=disabled - -Dgstreamer:extra-checks=disabled - -Dgst-plugins-base:gobject-cast-checks=disabled -Dgst-plugins-base:glib-asserts=disabled -Dgst-plugins-base:glib-checks=disabled - -Dgst-plugins-good:gobject-cast-checks=disabled - -Dgst-plugins-good:glib-asserts=disabled - -Dgst-plugins-good:glib-checks=disabled - -Dgst-plugins-bad:gobject-cast-checks=disabled - -Dgst-plugins-bad:glib-asserts=disabled - -Dgst-plugins-bad:glib-checks=disabled ) vcpkg_install_meson() +vcpkg_copy_tools(TOOL_NAMES gst-inspect-1.0 gst-launch-1.0 gst-stats-1.0 gst-typefind-1.0 AUTO_CLEAN) +vcpkg_copy_pdbs() + +set(pkg_name "gstreamer-1.0") +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/include/gst/gl/gstglconfig.h" + "${CURRENT_PACKAGES_DIR}/include/${pkg_name}/gst/gl/gstglconfig.h" +) # Remove duplicated GL headers (we already have `opengl-registry`) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/KHR" "${CURRENT_PACKAGES_DIR}/include/GL" -) -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h" - "${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gl/gstglconfig.h" -) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/libexec" - "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${pkg_name}/include" "${CURRENT_PACKAGES_DIR}/libexec" - "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/include" +) + +# For pkgconfig +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB_RECURSE GST_EXT_PKGS "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/pkgconfig/*.pc") + if (GST_EXT_PKGS) + foreach(GST_EXT_PKG IN LISTS GST_EXT_PKGS) + file(READ "${GST_EXT_PKG}" GST_EXT_PKG_CONTENT) + string(REPLACE [[libdir=${prefix}/lib]] [[libdir=${prefix}/lib/gstreamer-1.0]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + string(REPLACE [[flac >= 1.1.4]] [[flac]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + file(WRITE "${GST_EXT_PKG}" "${GST_EXT_PKG_CONTENT}") + file(COPY "${GST_EXT_PKG}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + endforeach() + endif() +endif() +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB_RECURSE GST_EXT_PKGS "${CURRENT_PACKAGES_DIR}/debug/lib/${pkg_name}/pkgconfig/*.pc") + if (GST_EXT_PKGS) + foreach(GST_EXT_PKG IN LISTS GST_EXT_PKGS) + file(READ "${GST_EXT_PKG}" GST_EXT_PKG_CONTENT) + string(REPLACE [[libdir=${prefix}/lib]] [[libdir=${prefix}/lib/gstreamer-1.0]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + string(REPLACE [[flac >= 1.1.4]] [[flac]] GST_EXT_PKG_CONTENT "${GST_EXT_PKG_CONTENT}") + file(WRITE "${GST_EXT_PKG}" "${GST_EXT_PKG_CONTENT}") + file(COPY "${GST_EXT_PKG}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endforeach() + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${pkg_name}/pkgconfig" + "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/pkgconfig" ) +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin" ) - set(PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") - set(SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" - "${CURRENT_PACKAGES_DIR}/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" +elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/${pkg_name}/*.dll" + "${CURRENT_PACKAGES_DIR}/debug/lib/${pkg_name}/*.pdb" ) -endif() - -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - if (NOT VCPKG_BUILD_TYPE) - file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.dll" - "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" - ) - file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() - file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.dll" - "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" + file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/*.dll" + "${CURRENT_PACKAGES_DIR}/lib/${pkg_name}/*.pdb" ) - file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/${pkg_name}") + file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/${pkg_name}") file(REMOVE ${DBG_BINS} ${REL_BINS}) endif() -vcpkg_fixup_pkgconfig() - -file(INSTALL "${GST_BUILD_SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gstreamer/vcpkg.json b/ports/gstreamer/vcpkg.json index 43bfd15e654f30..79b8f0e8c25631 100644 --- a/ports/gstreamer/vcpkg.json +++ b/ports/gstreamer/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gstreamer", - "version": "1.19.2", - "port-version": 5, + "version": "1.19.3", "description": "GStreamer open-source multimedia framework core library", "homepage": "https://gstreamer.freedesktop.org/", "license": "LGPL-2.0", @@ -106,6 +105,7 @@ "libjpeg-turbo", "libpng", "libvpx", + "mp3lame", "mpg123", "speex", "taglib" diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 2bbf62cdbabc81..268a5a8038221d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1044,6 +1044,8 @@ qt5-x11extras:x86-windows=fail qt5-x11extras:x64-windows=fail qt5-x11extras:x64-windows-static=fail qt5-x11extras:x64-windows-static-md=fail +# Don't trigger gstreamer[plugins-bad] because it requires other dependencies not included in vcpkg +qtmultimedia:x64-osx=skip qwt:x64-osx=fail qwt-qt6:x64-osx=fail qwtw:x64-windows=fail diff --git a/versions/baseline.json b/versions/baseline.json index d09df1e2f48a41..4a518eb7c0b8d5 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2658,11 +2658,11 @@ }, "gst-rtsp-server": { "baseline": "1.19.2", - "port-version": 1 + "port-version": 2 }, "gstreamer": { - "baseline": "1.19.2", - "port-version": 5 + "baseline": "1.19.3", + "port-version": 0 }, "gtest": { "baseline": "1.11.0", diff --git a/versions/g-/gst-rtsp-server.json b/versions/g-/gst-rtsp-server.json index 695937996b7e7a..26c958c64433f9 100644 --- a/versions/g-/gst-rtsp-server.json +++ b/versions/g-/gst-rtsp-server.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "16a3b1ae884d447b619cdee3c2e3c540236d4451", + "version": "1.19.2", + "port-version": 2 + }, { "git-tree": "d769d57cd8c5c732146992a174266c11e7ef52ec", "version": "1.19.2", diff --git a/versions/g-/gstreamer.json b/versions/g-/gstreamer.json index 4accf168ca7504..512d7d974d2ad8 100644 --- a/versions/g-/gstreamer.json +++ b/versions/g-/gstreamer.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a904126034e3a6a66642fd52e5f8c612cdba83fb", + "version": "1.19.3", + "port-version": 0 + }, { "git-tree": "0524a22dbda0c09201b9c677b6f72dbce870d6df", "version": "1.19.2",