# TODO: handle GMP plugins better in browser-plugins architecture (only firefox33+ based browsers supported)
#
# Conditional build:
-%bcond_without xulrunner # GMP plugin
+%bcond_with gmp_api # Firefox (GeckoMediaPlugins based) plugin
#
+%ifarch x32
+%undefine with_gmp_api
+%endif
Summary: H.264 codec library
Summary(pl.UTF-8): Biblioteka kodeka H.264
Name: openh264
-Version: 1.4.0
+Version: 2.4.1
Release: 1
License: BSD
Group: Libraries
+#Source0Download: https://github.com/cisco/openh264/releases/
Source0: https://github.com/cisco/openh264/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 06d92ee5bd231814394b7e29f0545e57
+# Source0-md5: 08396d6c467f7ae063d40b3a378870b0
Patch0: %{name}-libdir.patch
+Patch1: no-forced-arch.patch
+Patch2: x32-asm.patch
URL: http://www.openh264.org/
+%{?with_gmp_api:BuildRequires: gmp-api}
BuildRequires: libstdc++-devel
%ifarch %{ix86} %{x8664}
BuildRequires: nasm
%endif
BuildRequires: rpmbuild(macros) >= 1.357
-%{?with_xulrunner:BuildRequires: xulrunner-devel >= 2:33}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define gmp_plugindir %{_browserpluginsdir}
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
-%if %{with xulrunner}
-ln -s $(pkg-config --variable=includedir mozilla-plugin) gmp-api
+%if %{with gmp_api}
+ln -s /usr/include/gmp-api gmp-api
%endif
%build
-%{__make} libraries binaries %{?with_xulrunner:plugin} \
+%{__make} libraries binaries %{?with_gmp_api:plugin} \
ARCH=%{_target_base_arch} \
+%ifarch x32
+ IS_X32=Yes \
+%endif
CXX="%{__cxx}" \
CFLAGS_OPT="%{rpmcxxflags}"
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{_prefix} \
- LIBDIR=%{_libdir}
+ LIBDIR_NAME=%{_lib}
install h264dec h264enc $RPM_BUILD_ROOT%{_bindir}
-%if %{with xulrunner}
+%if %{with gmp_api}
# see https://wiki.mozilla.org/GeckoMediaPlugins
install -d $RPM_BUILD_ROOT%{gmp_plugindir}/gmp-openh264
install libgmpopenh264.so $RPM_BUILD_ROOT%{gmp_plugindir}/gmp-openh264
%doc CONTRIBUTORS LICENSE README.md RELEASES
%attr(755,root,root) %{_bindir}/h264dec
%attr(755,root,root) %{_bindir}/h264enc
-%attr(755,root,root) %{_libdir}/libopenh264.so.0
+%attr(755,root,root) %{_libdir}/libopenh264.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopenh264.so.7
%files devel
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%{_libdir}/libopenh264.a
-%if %{with xulrunner}
+%if %{with gmp_api}
%files -n browser-gmp-openh264
%defattr(644,root,root,755)
%dir %{gmp_plugindir}/gmp-openh264