aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libvmaf
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/libvmaf
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libvmaf')
-rw-r--r--vcpkg/ports/libvmaf/android-off_t.patch16
-rw-r--r--vcpkg/ports/libvmaf/no-tools.patch10
-rw-r--r--vcpkg/ports/libvmaf/portfile.cmake27
-rw-r--r--vcpkg/ports/libvmaf/vcpkg.json14
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
+ }
+ ]
+}