aboutsummaryrefslogtreecommitdiff
path: root/ports/avcpp
diff options
context:
space:
mode:
authorCharlie Barto <chbarto@microsoft.com>2021-05-18 16:00:50 -0700
committerGitHub <noreply@github.com>2021-05-18 16:00:50 -0700
commit113880e5222220db532b102671c75afe99f96818 (patch)
treea6bbf42c3201edfaee9460b8232b5dd31110bf6d /ports/avcpp
parentf68f30c1e1aebe53081d722e8add85cd85ef8f11 (diff)
downloadvcpkg-113880e5222220db532b102671c75afe99f96818.tar.gz
vcpkg-113880e5222220db532b102671c75afe99f96818.zip
[avcpp] Add new port (#17716)
* add avcpp port * add avcpp * apply code review comments * update versions
Diffstat (limited to 'ports/avcpp')
-rw-r--r--ports/avcpp/0001-remove-problematic-compound-literal.patch14
-rw-r--r--ports/avcpp/portfile.cmake34
-rw-r--r--ports/avcpp/vcpkg.json28
3 files changed, 76 insertions, 0 deletions
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<int64_t>(AV_NOPTS_VALUE);
+ constexpr auto TimeBase = static_cast<int>(AV_TIME_BASE);
+-constexpr auto TimeBaseQ = static_cast<AVRational>(AV_TIME_BASE_Q);
++constexpr auto TimeBaseQ = AVRational{1, AV_TIME_BASE};
+
+
+ template<typename R, typename T>
+
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
+ }
+ ]
+}