#
# Conditional build:
%bcond_with bootstrap # no ffmpeg/gpac support in x264 utility
-#
-%define snap 20140824
-%define snaph 2245
+%bcond_without asm # disable asm
+%bcond_without lsmash # lsmash for MP4 (preferred over gpac)
+
+%ifnarch %{ix86} %{x8664} aarch64
+%undefine with_asm
+%endif
+
+%define gitref 12426f5f4906e34d483a07da0debb6d56c6f8434
%define rel 2
+%define snap 20240220
+%define api_ver 164
Summary: H264 encoder library
Summary(pl.UTF-8): Biblioteka kodująca H264
Name: libx264
-Version: 0.1.3
-Release: 1.%{snap}_%{snaph}.%{rel}
+Version: 0.%{api_ver}
+Release: 0.%{snap}.%{rel}
License: GPL v2+
Group: Libraries
# still no releases, use snapshots
-Source0: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-%{snap}-%{snaph}.tar.bz2
-# Source0-md5: d2a779a864254ca426dfb1f3115987a0
+# previously available at https://download.videolan.org/videolan/x264/snapshots/
+# for further changes see: https://code.videolan.org/videolan/x264/
+Source0: https://code.videolan.org/videolan/x264/-/archive/%{gitref}/x264-%{gitref}.tar.bz2
+# Source0-md5: b46bb3b0521e2d5fdefeed345bd42f94
Patch0: %{name}-alpha.patch
-Patch1: altivec-no-vand.patch
-Patch2: %{name}-gpac.patch
+Patch1: %{name}-gpac.patch
+Patch2: x32.patch
URL: http://www.videolan.org/developers/x264.html
-BuildRequires: pkgconfig
%ifarch %{ix86} %{x8664}
-BuildRequires: yasm >= 0.6.0
+%{?with_asm:BuildRequires: nasm >= 2.13}
%endif
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.673
%if %{without bootstrap}
# which version exactly???
# for full x264 CLI utility functionality it wants:
# libswscale >= 0.9.0 (in pkgconfig file)
# libav{format,codec,util} from ffmpeg >= r21854
BuildRequires: ffmpeg-devel >= 0.7.1
-BuildRequires: ffmpegsource-devel >= 2.16
+BuildRequires: ffms2-devel >= 2.21
# gpac >= 2007-06-21
-BuildRequires: gpac-devel >= 0.5.0-3
+%{!?with_lsmash:BuildRequires: gpac-devel >= 0.8.0}
+%{?with_lsmash:BuildRequires: l-smash-devel >= 1.5}
%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
%if %{without bootstrap}
-Requires: gpac >= 0.5.0-3
+Requires: ffms2 >= 2.21
+%if %{with lsmash}
+Requires: l-smash >= 1.5
+%else
+Requires: gpac >= 0.8.0
+%endif
%endif
%description -n x264
Dekoder x264 działający z linii poleceń.
%prep
-%setup -q -n x264-snapshot-%{snap}-%{snaph}
+%setup -q -n x264-%{gitref}
%patch0 -p1
-%if "%{pld_release}" == "ac"
%patch1 -p1
-%endif
%patch2 -p1
%build
CC="%{__cc}" \
./configure \
+ --host=%{_target_platform} \
--prefix=%{_prefix} \
--exec-prefix=%{_prefix} \
--bindir=%{_bindir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--extra-cflags="%{rpmcflags}" \
+ --bashcompletionsdir="%{bash_compdir}" \
+ %{!?with_asm:--disable-asm} \
--enable-pic \
--enable-shared \
--enable-static
%files
%defattr(644,root,root,755)
%doc AUTHORS
-%attr(755,root,root) %{_libdir}/libx264.so.142
+%attr(755,root,root) %{_libdir}/libx264.so.%{api_ver}
%files devel
%defattr(644,root,root,755)
%files -n x264
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/x264
+%{bash_compdir}/x264