From 113880e5222220db532b102671c75afe99f96818 Mon Sep 17 00:00:00 2001 From: Charlie Barto Date: Tue, 18 May 2021 16:00:50 -0700 Subject: [avcpp] Add new port (#17716) * add avcpp port * add avcpp * apply code review comments * update versions --- .../0001-remove-problematic-compound-literal.patch | 14 +++++++++ ports/avcpp/portfile.cmake | 34 ++++++++++++++++++++++ ports/avcpp/vcpkg.json | 28 ++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 ports/avcpp/0001-remove-problematic-compound-literal.patch create mode 100644 ports/avcpp/portfile.cmake create mode 100644 ports/avcpp/vcpkg.json (limited to 'ports/avcpp') diff --git a/ports/avcpp/0001-remove-problematic-compound-literal.patch b/ports/avcpp/0001-remove-problematic-compound-literal.patch new file mode 100644 index 000000000..aa6c58cc2 --- /dev/null +++ b/ports/avcpp/0001-remove-problematic-compound-literal.patch @@ -0,0 +1,14 @@ +diff --git a/src/avutils.h b/src/avutils.h +index 29c4ae0..3bfaf82 100644 +--- a/src/avutils.h ++++ b/src/avutils.h +@@ -42,7 +42,7 @@ namespace av { + // Basic FFmpeg constants + constexpr auto NoPts = static_cast(AV_NOPTS_VALUE); + constexpr auto TimeBase = static_cast(AV_TIME_BASE); +-constexpr auto TimeBaseQ = static_cast(AV_TIME_BASE_Q); ++constexpr auto TimeBaseQ = AVRational{1, AV_TIME_BASE}; + + + template + diff --git a/ports/avcpp/portfile.cmake b/ports/avcpp/portfile.cmake new file mode 100644 index 000000000..d6412fce8 --- /dev/null +++ b/ports/avcpp/portfile.cmake @@ -0,0 +1,34 @@ +# avcpp doesn't export any symbols +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO h4tr3d/avcpp + REF d1a39cf6e1ccfe78ababe5a65d02d57f1e65bea1 + SHA512 48eb3bdd8729c9f61c53b152f0bb7283b40d2c8f043a1d6bb4fb1fadb0ceebf754822eeb7fa85edcacbca267eea0999dd9e78e378b04984db6dc25f9a6fab7d0 + HEAD_REF master + PATCHES + 0001-remove-problematic-compound-literal.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AVCPP_ENABLE_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" AVCPP_ENABLE_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DAV_ENABLE_STATIC=${AVCPP_ENABLE_STATIC} + -DAV_ENABLE_SHARED=${AVCPP_ENABLE_SHARED} + -DAV_BUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/avcpp/vcpkg.json b/ports/avcpp/vcpkg.json new file mode 100644 index 000000000..afb9a18a4 --- /dev/null +++ b/ports/avcpp/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "avcpp", + "version-date": "2021-05-06", + "description": "Wrapper for the FFmpeg that simplify usage it from C++ projects.", + "homepage": "https://github.com/h4tr3d/avcpp", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec", + "avdevice", + "avfilter", + "avformat", + "swresample", + "swscale" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} -- cgit v1.2.3