[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES
|
|
|
|
FEATURES
|
|
|
|
he-aac HE_AAC
|
2017-11-04 01:33:48 +08:00
|
|
|
)
|
|
|
|
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
set(legal_notes "NOTICE")
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
if(HE_AAC)
|
|
|
|
vcpkg_from_github(
|
|
|
|
REPO mstorsjo/fdk-aac
|
|
|
|
REF v2.0.2
|
|
|
|
SHA512 616207e85035d1659a2b7808ca6ec02ef53c1c4b39eb280fe861f82a4cf548e5db2ac381c496bad37dfc2b8c6677fe704d9fd8449e43d1f93d3e636239e0191b
|
|
|
|
HEAD_REF master
|
|
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
PATCHES
|
|
|
|
cxx-linkage-pkgconfig.patch
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
)
|
|
|
|
else()
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
list(PREPEND legal_notes "README.fedora")
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
vcpkg_from_gitlab(
|
|
|
|
GITLAB_URL https://gitlab.freedesktop.org/
|
|
|
|
REPO wtaymans/fdk-aac-stripped
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
REF 529b87452cd33d45e1d0a5066d20b64f10b38845 # corresponds to v2.0.2 tag in mstorsjo/fdk-aac GitHub repository
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
HEAD_REF stripped4
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
SHA512 0c37f8fd1bd0e817d2b3970138bef5b2a7a3150ab1a772273c8f5cba09be04afa2f31780f0ea063dd786a71844aa4cb5821349a4bcc5ebe70e827c3561eda2a9
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
PATCHES
|
|
|
|
cxx-linkage-pkgconfig.patch
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
vcpkg_cmake_configure(
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
|
|
OPTIONS
|
|
|
|
-DBUILD_PROGRAMS=OFF
|
2017-11-04 01:33:48 +08:00
|
|
|
)
|
|
|
|
|
[fdk-aac] make patent-encumbered HE-AAC optional (#16007)
* [fdk-aac] make patent-encumbered HE-AAC optional
By default, use a fork of fdk-aac (which was originally written
by Fraunhofer for the Android Open Source Project) which has
support for the patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC
profiles removed. This fork is used by Fedora and Arch Linux to
provide support for most AAC use cases without patent licensing
fees and to permit combining it with GPL software. The upstream
fdk-aac with support for all AAC profiles can be built with the
new 'he-aac' option for this port.
Fedora Legal's opinion, from
https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 :
The Fedora Project is aware that the Free Software Foundation
has stated that the Fraunhofer FDK AAC license is GPL
incompatible, specifically, because of Clause 3.
We believe that the fdk-aac software codec implementation that we
wish to include in Fedora is no longer encumbered by AAC patents.
This fact means that Clause 3 in the FDK AAC license is a "no op",
or to put it plainly, if no patents are in play, there are no
patent licenses to disclaim. For this (and only this) specific
implementation of fdk-aac, we believe that the FDK AAC license is
GPL compatible.
Also:
* remove restriction on dynamic linking. Upstream has a .def
file which is used by CMake.
* replace deprecated vcpkg functions
* [ffmpeg] use fdk-aac[he-aac] for fdk-aac feature
There is no point to this feature without HE-AAC because FFmpeg has
its own AAC codec that does not support HE-AAC.
2021-08-13 06:56:51 +08:00
|
|
|
vcpkg_cmake_install()
|
|
|
|
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
|
2021-06-25 04:16:59 +08:00
|
|
|
vcpkg_fixup_pkgconfig()
|
2017-11-04 01:33:48 +08:00
|
|
|
vcpkg_copy_pdbs()
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
|
2021-06-25 04:16:59 +08:00
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
[alsa,fdk-aac,ffmpeg,libsrt,snappy,x265] Code cleanup, fix and use pkg-config (#39077)
- Setup and use pkg-config for ffmpeg dependencies.
https://github.com/microsoft/vcpkg/pull/38011#discussion_r1623174355.
- Export actual c++ link libraries for fdk-aac via pkg-config. (Same
pattern as lerc, geos.)
- Rectify link libraries in pkg-config for alsa, libsrt, snappy, x265.
- Burn-in dllimport for libsrt and x265.
- Pass detected STRIP to ffmpeg. Fixes
https://github.com/microsoft/vcpkg/issues/36852.
2024-06-06 15:48:31 +08:00
|
|
|
|
|
|
|
list(TRANSFORM legal_notes PREPEND "${SOURCE_PATH}/")
|
|
|
|
vcpkg_install_copyright(FILE_LIST ${legal_notes})
|