[ffmpeg] Update dependency support for recent changes.#21980
[ffmpeg] Update dependency support for recent changes.#21980BillyONeal merged 13 commits intomicrosoft:masterfrom
Conversation
Updates for changes in commits: 7bb175e [aom/libavif] Add support for ARM and UWP a8204d9 [fribidi] Support new platform
PhoebeHui
left a comment
There was a problem hiding this comment.
LGTM, thanks for your PR!
BillyONeal
left a comment
There was a problem hiding this comment.
I think these messages should just be deleted; they are implied by the dependencies and vcpkg will already print such messages long before attempting to build ffmpeg:
PS C:\Dev\vcpkg> .\vcpkg.exe install ffmpeg[aom]:arm-windows
Computing installation plan...
Error: aom[core] is only supported on '!(windows & arm & !uwp)'
PS C:\Dev\vcpkg>
Similarly, I believe supports expressions on features that exist only to accommodate dependencies should be removed.
Thanks for noticing the duplicate message!
|
The supports 'platform' values in vcpkg.json are there to enable the 'all' feature to work correctly and the error messages were added to the portfile because at the time vcpkg wasn't generating error messages when unsupported features were enabled (#17153) and im not entirely sure if that situation has been resolved. I should also point out that some of the errors in the portfile and not just due to the dependencies support requirements but also additional requirements of ffmpeg (i.e. vcpkg may be able to build a dependency with configuration x but ffmpeg doesnt support using it) |
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.
Error: Local changes detected for ffmpeg but no changes to version or port version.
-- Version: 4.4.1#3
-- Old SHA: 00480edd2a451f2a3a55452779f524709ee52585
-- New SHA: ae9a4b22462b3aea1423c43cc24b4de746df8ab9
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 772fe6cbce530cb3a5f0fee67b57e9861676e5d0 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json
index e15e945..01ca59e 100644
--- a/versions/f-/ffmpeg.json
+++ b/versions/f-/ffmpeg.json
@@ -6,7 +6,7 @@
"port-version": 4
},
{
- "git-tree": "ae9a4b22462b3aea1423c43cc24b4de746df8ab9",
+ "git-tree": "00480edd2a451f2a3a55452779f524709ee52585",
"version": "4.4.1",
"port-version": 3
},
ports/ffmpeg/portfile.cmake
Outdated
| if("aom" IN_LIST FEATURES) | ||
| if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP) | ||
| message(FATAL_ERROR "Feature 'aom' does not support 'uwp | arm'") | ||
| if ((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND NOT VCPKG_TARGET_IS_UWP) | ||
| message(FATAL_ERROR "Feature 'aom' does not support 'windows & arm & !uwp'") | ||
| endif() | ||
| endif() |
There was a problem hiding this comment.
I think Billy means these messages should just be deleted, it looks doesn't support arm or arm64, which the dependency port aom already have the message.
PS F:\vcpkg\21980\vcpkg> ./vcpkg install ffmpeg[aom]:arm-windows
Computing installation plan...
Error: aom[core] is only supported on '!(windows & arm & !uwp)'
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 772fe6cbce530cb3a5f0fee67b57e9861676e5d0 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json
index e15e945..f51e031 100644
--- a/versions/f-/ffmpeg.json
+++ b/versions/f-/ffmpeg.json
@@ -1,12 +1,12 @@
{
"versions": [
{
- "git-tree": "f61b69b7b8d727e4caf45d7f39d9dcf77e620090",
+ "git-tree": "705505c43d32e7d62a0df59e506b8a3a81d742bd",
"version": "4.4.1",
"port-version": 4
},
{
- "git-tree": "ae9a4b22462b3aea1423c43cc24b4de746df8ab9",
+ "git-tree": "00480edd2a451f2a3a55452779f524709ee52585",
"version": "4.4.1",
"port-version": 3
},
That's not correct; feature resolution does not inspect
In such cases we can leave the message :). I just don't want |
No, but it does check "platform" which is what I was referring to
I can go through and delete everything thats not ffmpeg specific. I wasnt a big fan of adding that in the first place for just the reasons you mentioned. |
|
Thanks for the updated reporting and working with us on code review feedback! |
In microsoft#21980 , we removed all the blocks for tensorflow which were merely replicating that upstream's "supports" expression. That is the correct behavior: if upstream adds support for a thing, it should start being tested downstream. However, the "all" and "all-nonfree" features of ffmpeg attempt to turn on what is really "all supported" rather than "all", so the feature-dependency needs to be guarded. Note that the ffmpeg[tensorflow] feature remains unguarded! It is ffmpeg[all]'s *dependency* on ffmpeg[tensorflow] that is guarded.
…64. (#22984) * [ffmpeg] Block "tensorflow" for the "all" feature on non-x64. In #21980 , we removed all the blocks for tensorflow which were merely replicating that upstream's "supports" expression. That is the correct behavior: if upstream adds support for a thing, it should start being tested downstream. However, the "all" and "all-nonfree" features of ffmpeg attempt to turn on what is really "all supported" rather than "all", so the feature-dependency needs to be guarded. Note that the ffmpeg[tensorflow] feature remains unguarded! It is ffmpeg[all]'s *dependency* on ffmpeg[tensorflow] that is guarded. * Also guard ass, tensorflow, and fontconfig for uwp
…64. (#22984) * [ffmpeg] Block "tensorflow" for the "all" feature on non-x64. In microsoft/vcpkg#21980 , we removed all the blocks for tensorflow which were merely replicating that upstream's "supports" expression. That is the correct behavior: if upstream adds support for a thing, it should start being tested downstream. However, the "all" and "all-nonfree" features of ffmpeg attempt to turn on what is really "all supported" rather than "all", so the feature-dependency needs to be guarded. Note that the ffmpeg[tensorflow] feature remains unguarded! It is ffmpeg[all]'s *dependency* on ffmpeg[tensorflow] that is guarded. * Also guard ass, tensorflow, and fontconfig for uwp
…64. (#22984) * [ffmpeg] Block "tensorflow" for the "all" feature on non-x64. In microsoft/vcpkg#21980 , we removed all the blocks for tensorflow which were merely replicating that upstream's "supports" expression. That is the correct behavior: if upstream adds support for a thing, it should start being tested downstream. However, the "all" and "all-nonfree" features of ffmpeg attempt to turn on what is really "all supported" rather than "all", so the feature-dependency needs to be guarded. Note that the ffmpeg[tensorflow] feature remains unguarded! It is ffmpeg[all]'s *dependency* on ffmpeg[tensorflow] that is guarded. * Also guard ass, tensorflow, and fontconfig for uwp
Updates for changes in commits:
7bb175e [aom/libavif] Add support for ARM and UWP
a8204d9 [fribidi] Support new platform