ffmpeg: adding version 5.1.2 (#33758)
* ffmpeg: add version 5.1.2 and switch to conditional variants Also: py-torchvision: restrict ffmpeg dependency
This commit is contained in:
parent
567532b9e5
commit
8c0fb91d4e
@ -15,6 +15,7 @@ class Ffmpeg(AutotoolsPackage):
|
||||
|
||||
maintainers = ["xjrc"]
|
||||
|
||||
version("5.1.2", sha256="39a0bcc8d98549f16c570624678246a6ac736c066cebdb409f9502e915b22f2b")
|
||||
version("4.4.1", sha256="8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42")
|
||||
version("4.3.2", sha256="ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a")
|
||||
version("4.2.2", sha256="b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c")
|
||||
@ -43,30 +44,32 @@ class Ffmpeg(AutotoolsPackage):
|
||||
# spack packages.
|
||||
|
||||
# meta variants: These will toggle several settings
|
||||
variant("X", default=False, description="X11 support")
|
||||
variant("X", default=False, when="@2.4:", description="X11 support")
|
||||
variant("drawtext", default=False, description="drawtext filter")
|
||||
|
||||
# options
|
||||
variant("bzlib", default=True, description="bzip2 support")
|
||||
variant("libaom", default=False, description="AV1 video encoding/decoding")
|
||||
variant("libaom", default=False, when="@4.0:", description="AV1 video encoding/decoding")
|
||||
variant("libmp3lame", default=False, description="MP3 encoding")
|
||||
variant("libopenjpeg", default=False, description="JPEG 2000 de/encoding")
|
||||
variant("libopus", default=False, description="Opus de/encoding")
|
||||
variant("libsnappy", default=False, description="Snappy compression, needed for hap encoding")
|
||||
variant(
|
||||
"libsnappy",
|
||||
default=False,
|
||||
when="@2.7:",
|
||||
description="Snappy compression, needed for hap encoding",
|
||||
)
|
||||
variant("libspeex", default=False, description="Speex de/encoding")
|
||||
variant("libssh", default=False, description="SFTP protocol")
|
||||
variant("libssh", default=False, when="@2.1:", description="SFTP protocol")
|
||||
variant("libvorbis", default=False, description="Vorbis en/decoding")
|
||||
variant("libvpx", default=False, description="VP9 en/decoding")
|
||||
variant("libwebp", default=False, description="WebP encoding via libwebp")
|
||||
# TODO: There is an issue with the spack headers property in the libxml2
|
||||
# package recipe. Comment out the libxml2 variant until that is resolved.
|
||||
# variant('libxml2', default=False,
|
||||
# description='XML parsing, needed for dash demuxing support')
|
||||
variant("libzmq", default=False, description="message passing via libzmq")
|
||||
variant("lzma", default=False, description="lzma support")
|
||||
variant("avresample", default=False, description="AV reasmpling component")
|
||||
variant("libwebp", default=False, when="@2.2:", description="WebP encoding via libwebp")
|
||||
variant("libxml2", default=False, description="XML parsing, needed for dash demuxing support")
|
||||
variant("libzmq", default=False, when="@2.0:", description="message passing via libzmq")
|
||||
variant("lzma", default=False, when="@2.4:", description="lzma support")
|
||||
variant("avresample", default=False, when="@0.11:4.4", description="AV reasmpling component")
|
||||
variant("openssl", default=False, description="needed for https support")
|
||||
variant("sdl2", default=False, description="sdl2 support")
|
||||
variant("sdl2", default=False, when="@3.2:", description="sdl2 support")
|
||||
variant("shared", default=True, description="build shared libraries")
|
||||
variant("libx264", default=False, description="H.264 encoding")
|
||||
|
||||
@ -85,33 +88,19 @@ class Ffmpeg(AutotoolsPackage):
|
||||
depends_on("libvorbis", when="+libvorbis")
|
||||
depends_on("libvpx", when="+libvpx")
|
||||
depends_on("libwebp", when="+libwebp")
|
||||
# TODO: enable libxml2 when libxml2 header issue is resolved
|
||||
# depends_on('libxml2', when='+libxml2')
|
||||
depends_on("libxml2", when="+libxml2")
|
||||
depends_on("libxv", when="+X")
|
||||
depends_on("libzmq", when="+libzmq")
|
||||
depends_on("openjpeg", when="+libopenjpeg")
|
||||
depends_on("openssl", when="+openssl")
|
||||
depends_on("opus", when="+libopus")
|
||||
depends_on("sdl2@:2.0.22", when="@3.2:4.4+sdl2")
|
||||
depends_on("sdl2", when="+sdl2")
|
||||
depends_on("snappy", when="+libsnappy")
|
||||
depends_on("speex", when="+libspeex")
|
||||
depends_on("xz", when="+lzma")
|
||||
depends_on("x264", when="+libx264")
|
||||
|
||||
# TODO: enable when libxml2 header issue is resolved
|
||||
# conflicts('+libxml2', when='@:3')
|
||||
# See: https://www.ffmpeg.org/index.html#news (search AV1)
|
||||
conflicts("+libaom", when="@:3")
|
||||
# All of the following constraints were sourced from the official 'ffmpeg'
|
||||
# change log, which can be found here:
|
||||
# https://raw.githubusercontent.com/FFmpeg/FFmpeg/release/4.0/Changelog
|
||||
conflicts("+sdl2", when="@:3.1")
|
||||
conflicts("+libsnappy", when="@:2.7")
|
||||
conflicts("+X", when="@:2.4")
|
||||
conflicts("+lzma", when="@2.3:")
|
||||
conflicts("+libwebp", when="@2.1:")
|
||||
conflicts("+libssh", when="@2.1:")
|
||||
conflicts("+libzmq", when="@:1")
|
||||
conflicts("%nvhpc")
|
||||
|
||||
@property
|
||||
@ -173,30 +162,21 @@ def configure_args(self):
|
||||
"libvorbis",
|
||||
"libvpx",
|
||||
"libx264",
|
||||
"avresample",
|
||||
"nonfree",
|
||||
"openssl",
|
||||
"shared",
|
||||
"version3",
|
||||
"avresample",
|
||||
"libzmq",
|
||||
"libssh",
|
||||
"libwebp",
|
||||
"lzma",
|
||||
"libsnappy",
|
||||
"sdl2",
|
||||
"libaom",
|
||||
"libxml2",
|
||||
]
|
||||
|
||||
if spec.satisfies("@2.0:"):
|
||||
variant_opts.append("libzmq")
|
||||
if spec.satisfies("@2.1:"):
|
||||
variant_opts.append("libssh")
|
||||
if spec.satisfies("@2.2:"):
|
||||
variant_opts.append("libwebp")
|
||||
if spec.satisfies("@2.4:"):
|
||||
variant_opts.append("lzma")
|
||||
if spec.satisfies("@2.8:"):
|
||||
variant_opts.append("libsnappy")
|
||||
if spec.satisfies("@3.2:"):
|
||||
variant_opts.append("sdl2")
|
||||
if spec.satisfies("@4:"):
|
||||
variant_opts.append("libaom")
|
||||
# TODO: enable when libxml2 header issue is resolved
|
||||
# variant_opts.append('libxml2')
|
||||
|
||||
for variant_opt in variant_opts:
|
||||
config_args += self.enable_or_disable(variant_opt)
|
||||
|
||||
|
@ -111,7 +111,8 @@ class PyTorchvision(PythonPackage):
|
||||
depends_on("libpng@1.6.0:", when="backend=png")
|
||||
depends_on("jpeg") # seems to be required for all backends
|
||||
|
||||
depends_on("ffmpeg@3.1:", when="@0.4.2:")
|
||||
depends_on("ffmpeg@3.1:4.4", when="@0.4.2:0.12.0")
|
||||
depends_on("ffmpeg@3.1:", when="@13.0:")
|
||||
|
||||
# Many of the datasets require additional dependencies to use.
|
||||
# These can be installed after the fact.
|
||||
|
Loading…
Reference in New Issue
Block a user