[libheif] x265 as feature to allow non-GPL build (#36857)

x265 is still included as a default feature when installed as:

`vcpkg.exe install libheif`

but to avoid linking to a GPL library, x265 can now be optionally
excluded with:

`vcpkg.exe install libheif[core,libde265]`

 (libheif cannot encode without x265, only decode)

### Checklist
(please forgive if completed inaccurately)

- [✔️] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [N/A ] The name of the port matches an existing name for this
component on https://repology.org/ if possible, and/or is strongly
associated with that component on search engines.
- [N/A] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ N/A] The versioning scheme in `vcpkg.json` matches what upstream
says.
- [N/A] The license declaration in `vcpkg.json` matches what upstream
says.
- [ N/A] The installed as the "copyright" file matches what upstream
says.
- [ N/A] The source code of the component installed comes from an
authoritative source.
- [ N/A ?] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ N/A] The version database is fixed by rerunning `./vcpkg
x-add-version --all` and committing the result.
- [ N/A] Only one version is in the new port's versions file.
- [ N/A] Only one version is added to each modified port's versions
file.

---------

Co-authored-by: Lily Wang <94091114+LilyWangLL@users.noreply.github.com>
This commit is contained in:
MajorMurphy 2024-02-23 15:00:28 -08:00 committed by GitHub
parent 4df73a37b2
commit 37c3e63a13
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 27 additions and 4 deletions

View File

@ -8,12 +8,18 @@ vcpkg_from_github(
gdk-pixbuf.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
hevc WITH_X265
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DWITH_EXAMPLES=OFF
-DWITH_DAV1D=OFF
-DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()

View File

@ -1,6 +1,7 @@
{
"name": "libheif",
"version": "1.17.6",
"port-version": 1,
"description": "libheif is an HEIF and AVIF file format decoder and encoder.",
"homepage": "http://www.libheif.org/",
"license": "LGPL-3.0-only",
@ -18,7 +19,18 @@
{
"name": "vcpkg-cmake-config",
"host": true
},
"x265"
]
}
],
"default-features": [
"hevc"
],
"features": {
"hevc": {
"description": "HEVC encoding via x265",
"license": "GPL-2.0-or-later",
"dependencies": [
"x265"
]
}
}
}

View File

@ -4434,7 +4434,7 @@
},
"libheif": {
"baseline": "1.17.6",
"port-version": 0
"port-version": 1
},
"libhsplasma": {
"baseline": "2023-05-08",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "09b2045951b7521e2d597082009265a70427581d",
"version": "1.17.6",
"port-version": 1
},
{
"git-tree": "b5871a26f6e90560089b413fc136e7f0062885b8",
"version": "1.17.6",