diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..7c253f7 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + ffmpeg-5-mini + diff --git a/ffmpeg-5-mini-rpmlintrc b/ffmpeg-5-mini-rpmlintrc new file mode 100644 index 0000000..4d5d67c --- /dev/null +++ b/ffmpeg-5-mini-rpmlintrc @@ -0,0 +1 @@ +addFilter("non-devel-file-in-devel-package") diff --git a/ffmpeg-5-mini.spec b/ffmpeg-5-mini.spec new file mode 100644 index 0000000..bb8d984 --- /dev/null +++ b/ffmpeg-5-mini.spec @@ -0,0 +1,137 @@ +# +# spec file for package ffmpeg-5-mini +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define _name ffmpeg + +Name: ffmpeg-5-mini +Version: 5.1.2 +Release: 0 +Summary: Set of libraries for working with various multimedia formats +License: GPL-3.0-or-later +URL: https://ffmpeg.org/ +#Git-Clone: git://source.ffmpeg.org/ffmpeg +Source: https://www.ffmpeg.org/releases/%_name-%version.tar.xz +Source2: https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc +Source3: %name-rpmlintrc +Source98: http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-5.keyring +Patch1: ffmpeg-arm6l.diff +Patch2: ffmpeg-new-coder-errors.diff +Patch3: ffmpeg-codec-choice.diff +Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch +Patch5: work-around-abi-break.patch +Patch9: ffmpeg-4.4-CVE-2020-22046.patch +Patch10: ffmpeg-chromium.patch +Patch11: ffmpeg-CVE-2022-3964.patch +Patch91: ffmpeg-dlopen-openh264.patch +BuildRequires: c_compiler + +%description +FFmpeg is a multimedia framework. +This package merely builds the API for the sake of other packages. + +%package libs +# Even with mini, we want ff5 libs to be coinstallable to ff4-devel(!), +# hence mini-libs and mini-devel are still separated. +Summary: Feature-reduced build of FFmpeg, a multimedia framework +Conflicts: libavcodec59 +Conflicts: libavdevice59 +Conflicts: libavfilter8 +Conflicts: libavformat59 +Conflicts: libavutil57 +Conflicts: libpostproc56 +Conflicts: libswresample4 +Conflicts: libswscale6 + +%description libs +FFmpeg is a multimedia framework. +This package contains a cut-down version for building other packages. + +%package devel +Summary: Header files for feature-reduced FFmpeg build +Provides: libavcodec-devel = %version-%release +Conflicts: libavcodec-devel +Provides: libavdevice-devel = %version-%release +Conflicts: libavdevice-devel +Provides: libavfilter-devel = %version-%release +Conflicts: libavfilter-devel +Provides: libavformat-devel = %version-%release +Conflicts: libavformat-devel +Provides: libavutil-devel = %version-%release +Conflicts: libavutil-devel +Provides: libpostproc-devel = %version-%release +Conflicts: libpostproc-devel +Provides: libswresample-devel = %version-%release +Conflicts: libswresample-devel +Provides: libswscale-devel = %version-%release +Conflicts: libswscale-devel +Requires: %name-libs = %version-%release + +%description devel +FFmpeg is a multimedia framework. +This package contains the headers accompanying %name. + +%prep +%autosetup -p1 -n %_name-%version + +%build +%define _lto_cflags %nil +CFLAGS="%optflags" \ +./configure \ + --prefix="%_prefix" \ + --libdir="%_libdir" \ + --shlibdir="%_libdir" \ + --incdir="%_includedir/ffmpeg" \ + --extra-cflags="%optflags" \ + --optflags="%optflags" \ + --disable-htmlpages --disable-stripping --disable-x86asm \ + --disable-static --enable-shared --enable-pic \ + --enable-gpl --enable-version3 \ + --disable-muxers --disable-demuxers \ + --disable-encoders --disable-decoders \ + --disable-programs --disable-doc +for i in MPEG4 H263 H264 HEVC VC1; do + grep -q "#define CONFIG_${i}_DECODER 0" config_components.h +done +cat config.h +%make_build + +%install +b="%buildroot" +%make_install +rm -Rf "$b/%_datadir/ffmpeg/examples" + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%files libs +%_libdir/libavcodec.so.* +%_libdir/libavdevice.so.* +%_libdir/libavfilter.so.* +%_libdir/libavformat.so.* +%_libdir/libavutil.so.* +%_libdir/libpostproc.so.* +%_libdir/libswresample.so.* +%_libdir/libswscale.so.* + +%files devel +%license COPYING.GPLv2 LICENSE.md +%_libdir/*.so +%_libdir/pkgconfig/*.pc +%_includedir/ffmpeg/ + +%changelog diff --git a/ffmpeg-5.changes b/ffmpeg-5.changes index 67c08a6..4c63511 100644 --- a/ffmpeg-5.changes +++ b/ffmpeg-5.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jan 5 12:57:10 UTC 2023 - Jan Engelhardt + +- Provide a ffmpeg-5-mini-devel build recipe to help split + anticipated build cycles. +- Reenable SDL2 for ffmpeg-5.spec. ffplay and -vf sdl should be + back. [boo#1206505] + ------------------------------------------------------------------- Mon Dec 12 21:18:30 UTC 2022 - Dirk Müller diff --git a/ffmpeg-5.spec b/ffmpeg-5.spec index 5d0a802..45d5afa 100644 --- a/ffmpeg-5.spec +++ b/ffmpeg-5.spec @@ -1,7 +1,7 @@ # # spec file for package ffmpeg-5 # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -171,6 +171,7 @@ BuildRequires: pkgconfig(rav1e) %if %{with rubberband} BuildRequires: pkgconfig(rubberband) %endif +BuildRequires: pkgconfig(sdl2) %if %{with smbclient} BuildRequires: pkgconfig(smbclient) %endif