Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
188da5d
[ffmpeg] Warn/fail when selecting unsupported features.
Sibras Apr 8, 2021
d3f29fb
Merge branch 'master' into master
Sibras Apr 20, 2021
5f84a2e
Update ffmpeg.json
Sibras Apr 20, 2021
e00fa6f
Merge remote-tracking branch 'origin/master' into HEAD
BillyONeal Apr 29, 2021
416a58a
Bump port-version
BillyONeal Apr 29, 2021
07a32cb
Merge branch 'master' into master
Sibras May 5, 2021
de98461
Update ffmpeg.json
Sibras May 5, 2021
8de1285
[ffmpeg] Check for gpl/nonfree aswell as all option.
Sibras May 5, 2021
96b9b9c
avisynth now support static linking
Sibras May 5, 2021
e3c0139
fixup typo
Sibras May 5, 2021
66a14ae
Merge branch 'master' into master
Sibras May 8, 2021
d91a2e0
Update ffmpeg.json
Sibras May 8, 2021
2942933
Revert to fatal error on even when all is selected
Sibras May 8, 2021
4dedff5
Update ffmpeg.json
Sibras May 8, 2021
6144958
Merge remote-tracking branch 'upstream/master'
Sibras May 26, 2021
84146ec
[ffmpeg] Disable openh264 on uwp
Sibras May 26, 2021
b419ad3
update
Sibras May 26, 2021
ccb8975
Update versions/f-/ffmpeg.json
JackBoosY May 26, 2021
a1cdee4
update
Sibras Jun 1, 2021
48fd08a
Merge branch 'master' of https://github.com/Sibras/vcpkg
Sibras Jun 1, 2021
eba9374
Update ffmpeg.json
Sibras Jun 1, 2021
fb6bd6d
Merge branch 'master' into master
Sibras Jun 4, 2021
86822be
update
Sibras Jun 4, 2021
f39ff37
Merge branch 'master' into master
Sibras Jun 10, 2021
1fee050
update
Sibras Jun 10, 2021
092dae8
Merge branch 'master' into master
Sibras Jun 12, 2021
3d0ebd5
Update
Sibras Jun 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions ports/ffmpeg/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Source: ffmpeg
Version: 4.3.2
Port-Version: 6
Port-Version: 7
Homepage: https://ffmpeg.org
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
Expand Down Expand Up @@ -55,15 +55,15 @@ Feature: version3
Description: Upgrade (L)GPL to version 3

Feature: all
Build-Depends: ffmpeg[bzip2,iconv,freetype,lzma,mp3lame,openjpeg,opus,snappy,soxr,speex,theora,vorbis,vpx,webp,zlib], ffmpeg[ass] (!(uwp | arm)), ffmpeg[dav1d] (!(uwp | arm | x86 | osx)), ffmpeg[fontconfig] (!(windows & static) & !(uwp | arm)), ffmpeg[fribidi] (!(uwp | arm)), ffmpeg[ilbc] (!(arm & uwp)), ffmpeg[modplug] (!(windows & static) & !uwp), ffmpeg[nvcodec] ((windows | linux) & !uwp & !arm), ffmpeg[opencl] (!uwp), ffmpeg[ssh] (!(uwp | arm) & !static), ffmpeg[opengl] (!uwp & !(windows & arm) & !osx), ffmpeg[sdl2] (!osx), ffmpeg[tensorflow] (!(x86 | arm | uwp) & !static), ffmpeg[tesseract] (!uwp & !(windows & arm) & !static), ffmpeg[wavpack] (!arm), ffmpeg[xml2] (!static)
Build-Depends: ffmpeg[ffmpeg,ffplay,ffprobe,ass,bzip2,iconv,dav1d,fontconfig,freetype,fribidi,ilbc,lzma,modplug,mp3lame,nvcodec,opencl,opengl,openjpeg,opus,sdl2,snappy,soxr,speex,ssh,tensorflow,tesseract,theora,vorbis,vpx,wavpack,webp,xml2,zlib]
Description: Build with all allowed dependencies selected that are compatible with the lgpl license

Feature: all-gpl
Build-Depends: ffmpeg[gpl,all], ffmpeg[avisynthplus] (windows & !arm & !uwp & !static), ffmpeg[x264] (!arm), ffmpeg[x265] (!arm & !uwp)
Build-Depends: ffmpeg[gpl,all,avisynthplus,x264,x265]
Description: Build with all allowed dependencies selected that are compatible with the gpl license

Feature: all-nonfree
Build-Depends: ffmpeg[nonfree,all-gpl,openssl], ffmpeg[fdk-aac] (!arm & !uwp)
Build-Depends: ffmpeg[nonfree,all-gpl,fdk-aac,openssl]
Description: Build with all allowed dependencies selected with a non-redistributable license

Feature: ass
Expand Down
194 changes: 178 additions & 16 deletions ports/ffmpeg/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,165 @@
#Check for unsupported features
if("all" IN_LIST FEATURES)
set(MESSAGE_TYPE WARNING)
else()
set(MESSAGE_TYPE FATAL_ERROR)
endif()

if("ffmpeg" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'ffmpeg' does not support 'uwp'")
list(REMOVE_ITEM FEATURES "ffmpeg")
endif()
endif()

if("ffplay" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'ffplay' does not support 'uwp'")
list(REMOVE_ITEM FEATURES "ffplay")
endif()
endif()

if("ffprobe" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'ffprobe' does not support 'uwp'")
list(REMOVE_ITEM FEATURES "ffprobe")
endif()
endif()


if("ass" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'ass' does not support 'uwp | arm'")
list(REMOVE_ITEM FEATURES "ass")
endif()
endif()

if("avisynthplus" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR (NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") OR VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(${MESSAGE_TYPE} "Feature 'avisynthplus' does not support '!windows | arm | uwp | static'")
list(REMOVE_ITEM FEATURES "avisynthplus")
endif()
endif()

if("dav1d" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(${MESSAGE_TYPE} "Feature 'dav1d' does not support 'uwp | arm | x86 | osx'")
list(REMOVE_ITEM FEATURES "dav1d")
endif()
endif()

if("fdk-aac" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'fdk-aac' does not support 'uwp | arm'")
list(REMOVE_ITEM FEATURES "fdk-aac")
endif()
endif()

if("fontconfig" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR ("${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static"))
message(${MESSAGE_TYPE} "Feature 'fontconfig' does not support 'uwp | arm | (windows & static)'")
list(REMOVE_ITEM FEATURES "fontconfig")
endif()
endif()

if("fribidi" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'fribidi' does not support 'uwp | arm'")
list(REMOVE_ITEM FEATURES "fribidi")
endif()
endif()

if("ilbc" IN_LIST FEATURES)
if ((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'ilbc' does not support 'uwp & arm'")
list(REMOVE_ITEM FEATURES "ilbc")
endif()
endif()

if("modplug" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR ("${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static"))
message(${MESSAGE_TYPE} "Feature 'modplug' does not support 'uwp | (windows & static)'")
list(REMOVE_ITEM FEATURES "modplug")
endif()
endif()

if("nvcodec" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR ((NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") AND (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")))
message(${MESSAGE_TYPE} "Feature 'nvcodec' does not support '!(windows | linux) | uwp | arm'")
list(REMOVE_ITEM FEATURES "nvcodec")
endif()
endif()

if("opencl" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'opencl' does not support 'uwp'")
list(REMOVE_ITEM FEATURES "opencl")
endif()
endif()

if("opengl" IN_LIST FEATURES)
if (((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(${MESSAGE_TYPE} "Feature 'opengl' does not support 'uwp | (windows & arm) | osx'")
list(REMOVE_ITEM FEATURES "opengl")
endif()
endif()

if("sdl2" IN_LIST FEATURES)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(${MESSAGE_TYPE} "Feature 'sdl2' does not support 'osx'")
list(REMOVE_ITEM FEATURES "sdl2")
endif()
endif()

if("ssh" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(${MESSAGE_TYPE} "Feature 'ssh' does not support 'uwp | arm | static'")
list(REMOVE_ITEM FEATURES "ssh")
endif()
endif()

if("tensorflow" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
message(${MESSAGE_TYPE} "Feature 'tensorflow' does not support 'x86 | arm | uwp | static'")
list(REMOVE_ITEM FEATURES "tensorflow")
endif()
endif()

if("tesseract" IN_LIST FEATURES)
if (((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(${MESSAGE_TYPE} "Feature 'tesseract' does not support 'uwp | (windows & arm) | static'")
list(REMOVE_ITEM FEATURES "tesseract")
endif()
endif()

if("wavpack" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
message(${MESSAGE_TYPE} "Feature 'wavpack' does not support 'arm'")
list(REMOVE_ITEM FEATURES "wavpack")
endif()
endif()

if("x264" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
message(${MESSAGE_TYPE} "Feature 'x264' does not support 'arm'")
list(REMOVE_ITEM FEATURES "x264")
endif()
endif()

if("x265" IN_LIST FEATURES)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(${MESSAGE_TYPE} "Feature 'x265' does not support 'uwp | arm'")
list(REMOVE_ITEM FEATURES "x265")
endif()
endif()

if("xml2" IN_LIST FEATURES)
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(${MESSAGE_TYPE} "Feature 'xml2' does not support 'static'")
list(REMOVE_ITEM FEATURES "xml2")
endif()
endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ffmpeg/ffmpeg
Expand Down Expand Up @@ -226,22 +388,6 @@ else()
set(OPTIONS "${OPTIONS} --disable-libdav1d")
endif()

set(ENABLE_ICONV OFF)
if("iconv" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-iconv")
set(ENABLE_ICONV ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-iconv")
endif()

set(ENABLE_ILBC OFF)
if("ilbc" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libilbc")
set(ENABLE_ILBC ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libilbc")
endif()

set(ENABLE_FDKAAC OFF)
if("fdk-aac" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libfdk-aac")
Expand Down Expand Up @@ -274,6 +420,22 @@ else()
set(OPTIONS "${OPTIONS} --disable-libfribidi")
endif()

set(ENABLE_ICONV OFF)
if("iconv" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-iconv")
set(ENABLE_ICONV ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-iconv")
endif()

set(ENABLE_ILBC OFF)
if("ilbc" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libilbc")
set(ENABLE_ILBC ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libilbc")
endif()

set(ENABLE_LZMA OFF)
if("lzma" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-lzma")
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -1950,7 +1950,7 @@
},
"ffmpeg": {
"baseline": "4.3.2",
"port-version": 6
"port-version": 7
},
"ffnvcodec": {
"baseline": "10.0.26.0",
Expand Down
5 changes: 5 additions & 0 deletions versions/f-/ffmpeg.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "773c9936a001a8faf65be4f8f66468d75db35fda",
"version-string": "4.3.2",
"port-version": 7
},
{
"git-tree": "a6d19d895b8c522d7d1179d93ae1e9386ac38ac2",
"version-string": "4.3.2",
Expand Down