diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libvmaf | |
Diffstat (limited to 'vcpkg/ports/libvmaf')
| -rw-r--r-- | vcpkg/ports/libvmaf/android-off_t.patch | 16 | ||||
| -rw-r--r-- | vcpkg/ports/libvmaf/no-tools.patch | 10 | ||||
| -rw-r--r-- | vcpkg/ports/libvmaf/portfile.cmake | 27 | ||||
| -rw-r--r-- | vcpkg/ports/libvmaf/vcpkg.json | 14 |
4 files changed, 67 insertions, 0 deletions
diff --git a/vcpkg/ports/libvmaf/android-off_t.patch b/vcpkg/ports/libvmaf/android-off_t.patch new file mode 100644 index 0000000..4b70e77 --- /dev/null +++ b/vcpkg/ports/libvmaf/android-off_t.patch @@ -0,0 +1,16 @@ +--- a/libvmaf/src/meson.build ++++ b/libvmaf/src/meson.build +@@ -13,6 +13,13 @@ if cc.get_id() != 'msvc' + '-pedantic', + '-DOC_NEW_STYLE_INCLUDES', + ] ++ # If the target is Android, define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS unconditionally ++ # to work around the fact that meson always defines _FILE_OFFSET_BITS=64, which ++ # causes issues for API levels below 24 in 32-bit architectures. ++ # See https://github.com/mesonbuild/meson/issues/3049 for more details. ++ if target_machine.system() == 'android' ++ vmaf_cflags_common += '-D_LIBCPP_HAS_NO_OFF_T_FUNCTIONS' ++ endif + else + vmaf_cflags_common = [ + '-wd4028', # parameter different from declaration diff --git a/vcpkg/ports/libvmaf/no-tools.patch b/vcpkg/ports/libvmaf/no-tools.patch new file mode 100644 index 0000000..d93d37c --- /dev/null +++ b/vcpkg/ports/libvmaf/no-tools.patch @@ -0,0 +1,10 @@ +Skip tools subdir in libvmaf to build only the library. +--- a/libvmaf/meson.build ++++ b/libvmaf/meson.build +@@ -51,6 +51,5 @@ endif + + subdir('include') + subdir('src') +-subdir('tools') + subdir('doc') + subdir('test') diff --git a/vcpkg/ports/libvmaf/portfile.cmake b/vcpkg/ports/libvmaf/portfile.cmake new file mode 100644 index 0000000..1d4df5e --- /dev/null +++ b/vcpkg/ports/libvmaf/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Netflix/vmaf + REF "v${VERSION}" + SHA512 9e356bb274ce7d5d85a64d2a1a122ea9d267809edd83bb6e663fb348a1a46355882eb9044982bf679f03df7f93c6f66c9b0d9a94661979b2c722db30b21c4f32 + HEAD_REF master + PATCHES + no-tools.patch + android-off_t.patch +) + +vcpkg_find_acquire_program(NASM) +get_filename_component(NASM_PATH "${NASM}" DIRECTORY) +vcpkg_add_to_path("${NASM_PATH}") + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}/libvmaf" + OPTIONS + -Denable_tests=false + -Denable_docs=false +) + +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/libvmaf/vcpkg.json b/vcpkg/ports/libvmaf/vcpkg.json new file mode 100644 index 0000000..6908982 --- /dev/null +++ b/vcpkg/ports/libvmaf/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libvmaf", + "version": "3.0.0", + "description": "libvmaf is a library developed by Netflix to compute the VMAF (Video Multi-Method Assessment Fusion) metric.", + "homepage": "https://github.com/Netflix/vmaf", + "license": "BSD-2-Clause-Patent", + "supports": "!windows", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} |