Get ffmpeg7 building on EPEL 9

Signed-off-by: Troy Dawson <tdawson@redhat.com>
This commit is contained in:
Troy Dawson 2025-11-17 08:10:30 -08:00
commit e262e143f5
3 changed files with 349 additions and 122 deletions

View file

@ -0,0 +1,27 @@
From d1479d95c3b7f9b0a6541e416e19373f8f8c7487 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Tue, 4 Nov 2025 10:25:40 -0800
Subject: [PATCH] lower dvd req
---
configure | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index e0e7678..2a3d6d7 100755
--- a/configure
+++ b/configure
@@ -6915,8 +6915,8 @@ enabled libdav1d && require_pkg_config libdav1d "dav1d >= 0.5.0" "dav1d
enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2.h davs2_decoder_open
enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new
enabled libdrm && check_pkg_config libdrm libdrm xf86drm.h drmGetVersion
-enabled libdvdnav && require_pkg_config libdvdnav "dvdnav >= 6.1.1" dvdnav/dvdnav.h dvdnav_open2
-enabled libdvdread && require_pkg_config libdvdread "dvdread >= 6.1.2" dvdread/dvd_reader.h DVDOpen2
+enabled libdvdnav && require_pkg_config libdvdnav "dvdnav >= 6.1.0" dvdnav/dvdnav.h dvdnav_open2
+enabled libdvdread && require_pkg_config libdvdread "dvdread >= 6.1.1" dvdread/dvd_reader.h DVDOpen2
enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen ||
{ require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac &&
warn "using libfdk without pkg-config"; } }
--
2.47.3

View file

@ -0,0 +1,73 @@
From 80bf83e3099652a3e7f8d1e8b6d902fea1ce4db9 Mon Sep 17 00:00:00 2001
From: James Almer <jamrial@gmail.com>
Date: Sun, 24 Aug 2025 15:57:16 -0300
Subject: [PATCH] configure: support linking to base profile libxev{d,e}
Addresses issue #20328.
Signed-off-by: James Almer <jamrial@gmail.com>
---
configure | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index aa41b2a7b3..5386ae8b9a 100755
--- a/configure
+++ b/configure
@@ -299,7 +299,9 @@ External library support:
--enable-libx264 enable H.264 encoding via x264 [no]
--enable-libx265 enable HEVC encoding via x265 [no]
--enable-libxeve enable EVC encoding via libxeve [no]
+ --enable-libxeveb enable EVC encoding via libxeve (Base profile) [no]
--enable-libxevd enable EVC decoding via libxevd [no]
+ --enable-libxevdb enable EVC decoding via libxevd (Base profile) [no]
--enable-libxavs enable AVS encoding via xavs [no]
--enable-libxavs2 enable AVS2 encoding via xavs2 [no]
--enable-libxcb enable X11 grabbing using XCB [autodetect]
@@ -1992,7 +1994,9 @@ EXTERNAL_LIBRARY_LIST="
libvvenc
libwebp
libxevd
+ libxevdb
libxeve
+ libxeveb
libxml2
libzimg
libzmq
@@ -3669,8 +3673,8 @@ libx265_encoder_deps="libx265"
libx265_encoder_select="atsc_a53 dovi_rpuenc"
libxavs_encoder_deps="libxavs"
libxavs2_encoder_deps="libxavs2"
-libxevd_decoder_deps="libxevd"
-libxeve_encoder_deps="libxeve"
+libxevd_decoder_deps_any="libxevd libxevdb"
+libxeve_encoder_deps_any="libxeve libxeveb"
libxvid_encoder_deps="libxvid"
libzvbi_teletext_decoder_deps="libzvbi"
vapoursynth_demuxer_deps="vapoursynth"
@@ -4615,6 +4619,12 @@ enabled_all gnutls mbedtls &&
enabled_all openssl mbedtls &&
die "OpenSSL and mbedTLS must not be enabled at the same time."
+enabled_all libxevd libxevdb &&
+ die "libxevd and libxevdb must not be enabled at the same time."
+
+enabled_all libxeve libxeveb &&
+ die "libxeve and libxevdb must not be enabled at the same time."
+
# Disable all the library-specific components if the library itself
# is disabled, see AVCODEC_LIST and following _LIST variables.
@@ -7204,7 +7214,9 @@ enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"
enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get
enabled libxevd && require_pkg_config libxevd "xevd >= 0.4.1" "xevd.h" xevd_decode
+enabled libxevdb && require_pkg_config libxevdb "xevdb >= 0.4.1" "xevd.h" xevd_decode
enabled libxeve && require_pkg_config libxeve "xeve >= 0.5.1" "xeve.h" xeve_encode
+enabled libxeveb && require_pkg_config libxeveb "xeveb >= 0.5.1" "xeve.h" xeve_encode
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
enabled libzimg && require_pkg_config libzimg "zimg >= 2.7.0" zimg.h zimg_get_api_version
enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h zmq_ctx_new
--
2.49.1

View file

@ -1,15 +1,25 @@
# For a complete build enable these two
%bcond upstream_tarball 0
# For a complete build enable this
%bcond all_codecs 0
# Break dependency cycles by disabling certain optional dependencies.
%bcond bootstrap 0
# If you want to do a build with the upstream source tarball, then set the
# pkg_suffix to %%nil. We can't handle this with a conditional, as srpm
# If building with all codecs, then set the pkg_suffix to %%nil.
# We can't handle this with a conditional, as srpm
# generation would not take it into account.
%global pkg_suffix -free
# For alternative builds (do not enable in Fedora!)
%bcond freeworld_lavc 0
%if %{with freeworld_lavc}
# Freeworld builds enable all codecs
%global with_all_codecs 1
# Freeworld builds do not need a package suffix
%global pkg_suffix %{nil}
%global basepkg_suffix -free
%endif
# Fails due to asm issue
%ifarch %{ix86} %{arm}
%bcond lto 0
@ -37,32 +47,35 @@
# Disable dependencies not available or wanted on RHEL/EPEL
%bcond chromaprint 0
%bcond flite 0
%bcond lc3 0
%else
# Break chromaprint dependency cycle (Fedora-only):
# ffmpeg (libavcodec-free) → chromaprint → ffmpeg
%bcond chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1}
%bcond flite 1
%bcond lc3 1
%endif
%if 0%{?rhel} && 0%{?rhel} <= 9
# Disable some features because RHEL 9 packages are too old
%bcond lcms2 0
%bcond placebo 0
%bcond lc3 0
%bcond xev 0
%else
%bcond lcms2 1
%bcond placebo 1
%bcond lc3 1
%bcond xev 1
%endif
# For using an alternative build of EVC codecs
%bcond evc_main 0
%if %{with all_codecs}
%bcond evc 1
%bcond rtmp 1
%bcond vvc 1
%bcond x264 1
%bcond x265 1
%else
%bcond evc 0
%bcond rtmp 0
%bcond vvc 0
%bcond x264 0
@ -89,7 +102,7 @@ Name: ffmpeg
%global pkg_name %{name}%{?pkg_suffix}
Version: 7.1.2
Release: 1%{?dist}
Release: 4%{?dist}
Summary: A complete solution to record, convert and stream audio and video
License: GPL-3.0-or-later
URL: https://ffmpeg.org/
@ -106,6 +119,8 @@ Patch1: ffmpeg-codec-choice.patch
# Allow to build with fdk-aac-free
# See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112
Patch2: ffmpeg-allow-fdk-aac-free.patch
# Support building with EVC base profile libraries
Patch3: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20329.patch#/ffmpeg-support-evc-base-libraries.patch
# Backport fix for CVE-2025-22921
Patch10: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57#/ffmpeg-CVE-2025-22921.patch
@ -115,6 +130,9 @@ Patch10: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/7f9c7f9849a215522
# Reference: https://crbug.com/1306560
Patch1002: ffmpeg-chromium.patch
%if 0%{?rhel} && 0%{?rhel} <= 9
Patch2001: ffmpeg-lower-libdvd-req.patch
%endif
Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release}
Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -167,7 +185,7 @@ BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libilbc)
BuildRequires: pkgconfig(jack)
%if %{with lc3}
BuildRequires: pkgconfig(lc3) >= 1.1.0
BuildRequires: pkgconfig(lc3)
%endif
%if %{with lcms2}
BuildRequires: pkgconfig(lcms2) >= 2.13
@ -253,9 +271,14 @@ BuildRequires: librtmp-devel
%if %{with vpl}
BuildRequires: pkgconfig(vpl) >= 2.6
%endif
%if %{with evc}
BuildRequires: pkgconfig(libxevd)
BuildRequires: pkgconfig(libxeve)
%if %{with xev}
%if %{with evc_main}
BuildRequires: pkgconfig(xevd)
BuildRequires: pkgconfig(xeve)
%else
BuildRequires: pkgconfig(xevdb)
BuildRequires: pkgconfig(xeveb)
%endif
%endif
%if %{with x264}
BuildRequires: pkgconfig(x264)
@ -279,6 +302,10 @@ community or a corporation.
This build of ffmpeg is limited in the number of codecs supported.
%endif
%dnl --------------------------------------------------------------------------------
%if ! %{with freeworld_lavc}
%if "x%{?pkg_suffix}" != "x"
%package -n %{pkg_name}
Summary: A complete solution to record, convert and stream audio and video
@ -306,6 +333,18 @@ This build of ffmpeg is limited in the number of codecs supported.
#/ "x%%{?pkg_suffix}" != "x"
%endif
%files -n %{pkg_name}
%doc CREDITS README.md
%{_bindir}/ffmpeg
%{_bindir}/ffplay
%{_bindir}/ffprobe
%{_mandir}/man1/ff*.1*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/ffprobe.xsd
%{_datadir}/%{name}/libvpx-*.ffpreset
%dnl --------------------------------------------------------------------------------
%package -n %{pkg_name}-devel
Summary: Development package for %{name}
Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release}
@ -325,6 +364,12 @@ 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.
%files -n %{pkg_name}-devel
%doc MAINTAINERS doc/APIchanges doc/*.txt
%doc _doc/examples
%dnl --------------------------------------------------------------------------------
%package -n libavcodec%{?pkg_suffix}
Summary: FFmpeg codec library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -342,6 +387,12 @@ subtitle streams, and several bitstream filters.
This build of ffmpeg is limited in the number of codecs supported.
%endif
%files -n libavcodec%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libavcodec%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's codec library
Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release}
@ -355,6 +406,14 @@ subtitle streams, and several bitstream filters.
This subpackage contains the headers for FFmpeg libavcodec.
%files -n libavcodec%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavcodec
%{_libdir}/pkgconfig/libavcodec.pc
%{_libdir}/libavcodec.so
%{_mandir}/man3/libavcodec.3*
%dnl --------------------------------------------------------------------------------
%package -n libavdevice%{?pkg_suffix}
Summary: FFmpeg device library
Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -368,6 +427,12 @@ and rendering to many common multimedia input/output devices, and
supports several input and output devices, including Video4Linux2, VfW,
DShow, and ALSA.
%files -n libavdevice%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libavdevice%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's device library
Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release}
@ -388,6 +453,14 @@ DShow, and ALSA.
This subpackage contains the headers for FFmpeg libavdevice.
%files -n libavdevice%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavdevice
%{_libdir}/pkgconfig/libavdevice.pc
%{_libdir}/libavdevice.so
%{_mandir}/man3/libavdevice.3*
%dnl --------------------------------------------------------------------------------
%package -n libavfilter%{?pkg_suffix}
Summary: FFmpeg audio and video filtering library
Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -401,6 +474,12 @@ Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release}
The libavfilter library provides a generic audio/video filtering
framework containing several filters, sources and sinks.
%files -n libavfilter%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libavfilter%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's audio/video filter library
Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release}
@ -418,6 +497,14 @@ framework containing several filters, sources and sinks.
This subpackage contains the headers for FFmpeg libavfilter.
%files -n libavfilter%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavfilter
%{_libdir}/pkgconfig/libavfilter.pc
%{_libdir}/libavfilter.so
%{_mandir}/man3/libavfilter.3*
%dnl --------------------------------------------------------------------------------
%package -n libavformat%{?pkg_suffix}
Summary: FFmpeg's stream format library
Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -433,6 +520,12 @@ container formats.
This build of ffmpeg is limited in the number of codecs supported.
%endif
%files -n libavformat%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavformat.so.%{av_format_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libavformat%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's stream format library
Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release}
@ -449,6 +542,14 @@ container formats.
This subpackage contains the headers for FFmpeg libavformat.
%files -n libavformat%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavformat
%{_libdir}/pkgconfig/libavformat.pc
%{_libdir}/libavformat.so
%{_mandir}/man3/libavformat.3*
%dnl --------------------------------------------------------------------------------
%package -n libavutil%{?pkg_suffix}
Summary: FFmpeg's utility library
Group: System/Libraries
@ -460,6 +561,12 @@ number generators, data structures, additional mathematics functions,
cryptography and multimedia related functionality (like enumerations
for pixel and sample formats).
%files -n libavutil%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavutil.so.%{av_util_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libavutil%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's utility library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -474,6 +581,14 @@ for pixel and sample formats).
This subpackage contains the headers for FFmpeg libavutil.
%files -n libavutil%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavutil
%{_libdir}/pkgconfig/libavutil.pc
%{_libdir}/libavutil.so
%{_mandir}/man3/libavutil.3*
%dnl --------------------------------------------------------------------------------
%package -n libpostproc%{?pkg_suffix}
Summary: FFmpeg post-processing library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -483,6 +598,12 @@ A library with video postprocessing filters, such as deblocking and
deringing filters, noise reduction, automatic contrast and brightness
correction, linear/cubic interpolating deinterlacing.
%files -n libpostproc%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libpostproc%{?pkg_suffix}-devel
Summary: Development files for the FFmpeg post-processing library
Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release}
@ -496,6 +617,13 @@ correction, linear/cubic interpolating deinterlacing.
This subpackage contains the headers for FFmpeg libpostproc.
%files -n libpostproc%{?pkg_suffix}-devel
%{_includedir}/%{name}/libpostproc
%{_libdir}/pkgconfig/libpostproc.pc
%{_libdir}/libpostproc.so
%dnl --------------------------------------------------------------------------------
%package -n libswresample%{?pkg_suffix}
Summary: FFmpeg software resampling library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -504,6 +632,12 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
The libswresample library performs audio conversion between different
sample rates, channel layout and channel formats.
%files -n libswresample%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswresample.so.%{swresample_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libswresample%{?pkg_suffix}-devel
Summary: Development files for the FFmpeg software resampling library
Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release}
@ -515,6 +649,14 @@ sample rates, channel layout and channel formats.
This subpackage contains the headers for FFmpeg libswresample.
%files -n libswresample%{?pkg_suffix}-devel
%{_includedir}/%{name}/libswresample
%{_libdir}/pkgconfig/libswresample.pc
%{_libdir}/libswresample.so
%{_mandir}/man3/libswresample.3*
%dnl --------------------------------------------------------------------------------
%package -n libswscale%{?pkg_suffix}
Summary: FFmpeg image scaling and colorspace/pixel conversion library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
@ -523,6 +665,12 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
The libswscale library performs image scaling and colorspace and
pixel format conversion operations.
%files -n libswscale%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswscale.so.%{swscale_soversion}{,.*}
%dnl --------------------------------------------------------------------------------
%package -n libswscale%{?pkg_suffix}-devel
Summary: Development files for FFmpeg's image scaling and colorspace library
Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release}
@ -536,10 +684,48 @@ pixel format conversion operations.
This subpackage contains the headers for FFmpeg libswscale.
%prep
%if %{with upstream_tarball}
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%files -n libswscale%{?pkg_suffix}-devel
%{_includedir}/%{name}/libswscale
%{_libdir}/pkgconfig/libswscale.pc
%{_libdir}/libswscale.so
%{_mandir}/man3/libswscale.3*
%endif
# freeworld_lavc bcond
%dnl --------------------------------------------------------------------------------
%if %{with freeworld_lavc}
%package -n libavcodec-freeworld
Summary: FFmpeg codec library - freeworld overlay
Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release}
Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release}
Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release}
# We require libopenh264 library, which has a dummy implementation and a real one
# In the event that this is being installed, we want to install this version
Requires: openh264%{_isa}
%description -n libavcodec-freeworld
The libavcodec library provides a generic encoding/decoding framework
and contains multiple decoders and encoders for audio, video and
subtitle streams, and several bitstream filters.
This build includes the full range of codecs offered by ffmpeg.
%files -n libavcodec-freeworld
%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf
%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*}
# Re-enable ldconfig_scriptlets macros
%{!?ldconfig:%global ldconfig /sbin/ldconfig}
%ldconfig_scriptlets -n libavcodec-freeworld
%endif
%dnl --------------------------------------------------------------------------------
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -S git_am
install -m 0644 %{SOURCE20} enable_decoders
@ -622,8 +808,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libfreetype \
--enable-libfribidi \
--enable-libgme \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libgsm \
%if %{with dc1394}
--enable-libiec61883 \
%endif
@ -700,9 +886,14 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libxcb-shape \
--enable-libxcb-shm \
--enable-libxcb-xfixes \
%if %{with evc}
%if %{with xev}
%if %{with evc_main}
--enable-libxeve \
--enable-libxevd \
%else
--enable-libxeveb \
--enable-libxevdb \
%endif
%endif
--enable-libxml2 \
--enable-libxvid \
@ -719,9 +910,6 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-nvdec \
--enable-nvenc \
%endif
--enable-openal \
--enable-opencl \
--enable-opengl \
--disable-openssl \
--enable-postproc \
--enable-pthreads \
@ -742,7 +930,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-hwaccels \
--disable-encoders \
--disable-decoders \
--disable-decoder="h264,hevc,libxevd,vc1,vvc" \
--disable-decoder="h264,hevc,vc1,vvc" \
--enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_encoders)" \
--enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_decoders)" \
%endif
@ -808,114 +996,53 @@ done
# We will package is as %%doc in the devel package
rm -rf %{buildroot}%{_datadir}/%{name}/examples
%ldconfig_scriptlets -n libavcodec%{?pkg_suffix}
%ldconfig_scriptlets -n libavdevice%{?pkg_suffix}
%ldconfig_scriptlets -n libavfilter%{?pkg_suffix}
%ldconfig_scriptlets -n libavformat%{?pkg_suffix}
%ldconfig_scriptlets -n libavutil%{?pkg_suffix}
%ldconfig_scriptlets -n libpostproc%{?pkg_suffix}
%ldconfig_scriptlets -n libswresample%{?pkg_suffix}
%ldconfig_scriptlets -n libswscle%{?pkg_suffix}
%if %{with freeworld_lavc}
# Install the libavcodec freeworld counterpart
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
mkdir -p %{buildroot}%{_libdir}/%{name}
echo -e "%{_libdir}/%{name}\n" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf
cp -pa %{buildroot}%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} %{buildroot}%{_libdir}/%{name}
# Drop unneeded stuff
rm -f %{buildroot}%{_libdir}/*.*
rm -rf %{buildroot}%{_libdir}/pkgconfig
rm -rf %{buildroot}%{_includedir}
rm -rf %{buildroot}%{_bindir}
rm -rf %{buildroot}%{_datadir}
%endif
%files -n %{pkg_name}
%doc CREDITS README.md
%{_bindir}/ffmpeg
%{_bindir}/ffplay
%{_bindir}/ffprobe
%{_mandir}/man1/ff*.1*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/ffprobe.xsd
%{_datadir}/%{name}/libvpx-*.ffpreset
%files -n %{pkg_name}-devel
%doc MAINTAINERS doc/APIchanges doc/*.txt
%doc _doc/examples
%files -n libavcodec%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*}
%files -n libavcodec%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavcodec
%{_libdir}/pkgconfig/libavcodec.pc
%{_libdir}/libavcodec.so
%{_mandir}/man3/libavcodec.3*
%files -n libavdevice%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*}
%files -n libavdevice%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavdevice
%{_libdir}/pkgconfig/libavdevice.pc
%{_libdir}/libavdevice.so
%{_mandir}/man3/libavdevice.3*
%files -n libavfilter%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*}
%files -n libavfilter%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavfilter
%{_libdir}/pkgconfig/libavfilter.pc
%{_libdir}/libavfilter.so
%{_mandir}/man3/libavfilter.3*
%files -n libavformat%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavformat.so.%{av_format_soversion}{,.*}
%files -n libavformat%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavformat
%{_libdir}/pkgconfig/libavformat.pc
%{_libdir}/libavformat.so
%{_mandir}/man3/libavformat.3*
%files -n libavutil%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavutil.so.%{av_util_soversion}{,.*}
%files -n libavutil%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavutil
%{_libdir}/pkgconfig/libavutil.pc
%{_libdir}/libavutil.so
%{_mandir}/man3/libavutil.3*
%files -n libpostproc%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*}
%files -n libpostproc%{?pkg_suffix}-devel
%{_includedir}/%{name}/libpostproc
%{_libdir}/pkgconfig/libpostproc.pc
%{_libdir}/libpostproc.so
%files -n libswresample%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswresample.so.%{swresample_soversion}{,.*}
%files -n libswresample%{?pkg_suffix}-devel
%{_includedir}/%{name}/libswresample
%{_libdir}/pkgconfig/libswresample.pc
%{_libdir}/libswresample.so
%{_mandir}/man3/libswresample.3*
%files -n libswscale%{?pkg_suffix}
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswscale.so.%{swscale_soversion}{,.*}
%files -n libswscale%{?pkg_suffix}-devel
%{_includedir}/%{name}/libswscale
%{_libdir}/pkgconfig/libswscale.pc
%{_libdir}/libswscale.so
%{_mandir}/man3/libswscale.3*
%changelog
* Tue Nov 04 2025 Troy Dawson <tdawson@redhat.com> - 7.1.2-3
- Get things building on EPEL 9
* Thu Oct 02 2025 Robert-André Mauchin <zebob.m@gmail.com> - 7.1.2-2
- Rebuild for svt-av1 soname bump
* Wed Sep 24 2025 Simone Caronni <negativo17@gmail.com> - 7.1.2-1
- Update to 7.1.2.
- Enable VANC processing for SDI.
- Explicitly list all implicitly enabled/disabled options.
* Tue Aug 26 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-10
- Disable all subpackages except libavcodec-freeworld with the freeworld bcond
* Mon Aug 25 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-9
- Enable support for MPEG-5/EVC
* Thu Aug 21 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-8
- Reorganize spec to group subpackage definitions together
- Add freeworld conditional for third-party builds
- Drop unneeded scriptlets
* Fri Aug 01 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-7
- Always verify sources
* Tue Jul 29 2025 Nicolas Chauvet <kwizart@gmail.com> - 7.1.1-6
- Rebuilt for libplacebo
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 13 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-4
- Switch to regular upstream sources for package build
- Enable more codecs