+#
+# Conditional build:
+%bcond_without static_libs # static library
+
Summary: Extensible Binary Meta Language access library
-Summary(pl): Biblioteka dostêpu rozszerzalnego metajêzyka binarnego
+Summary(pl.UTF-8): Biblioteka dostępu rozszerzalnego metajęzyka binarnego
Name: libebml
-Version: 0.6.4
-Release: 1
-License: GPL v2 or QPL
+Version: 1.4.2
+Release: 3
+License: LGPL v2.1+
Group: Libraries
-Source0: http://matroska.free.fr/downloads/%{name}/%{name}-%{version}.tar.gz
-# Source0-md5: 7ac6fb3f4bcadcd845f0e9446ff446b7
-Patch0: %{name}-makefile.patch
-URL: http://www.matroska.org/
-BuildRequires: libstdc++-devel
-BuildRequires: libtool
+Source0: https://dl.matroska.org/downloads/libebml/%{name}-%{version}.tar.xz
+# Source0-md5: 194095f4315334fcedacb4900c59c014
+Patch0: gcc11.patch
+URL: https://www.matroska.org/
+BuildRequires: cmake >= 3.1.2
+BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
reading and writing files with the Extensible Binary Meta Language, a
binary pendant to XML.
-%description -l pl
-Biblioteka rozszerzalnego metajêzyka binarnego (Extensible Binary Meta
-Language, w skrócie EBML) umo¿liwia czytanie i zapisywanie plików w
-tym metajêzyku, bêd±cym binarnym uzupe³nieniem XML-a.
+%description -l pl.UTF-8
+Biblioteka rozszerzalnego metajęzyka binarnego (Extensible Binary Meta
+Language, w skrócie EBML) umożliwia czytanie i zapisywanie plików w
+tym metajęzyku, będącym binarnym uzupełnieniem XML-a.
%package devel
Summary: Header files for Extensible Binary Meta Language library
-Summary(pl): Nag³ówki biblioteki rozszerzalnego metajêzyka binarnego
+Summary(pl.UTF-8): Nagłówki biblioteki rozszerzalnego metajęzyka binarnego
Group: Development/Libraries
-Requires: %{name} = %{version}
-Requires: libstdc++-devel
+Requires: %{name} = %{version}-%{release}
+Requires: libstdc++-devel >= 6:4.7
%description devel
Header files for Extensible Binary Meta Language library.
-%description devel -l pl
-Nag³ówki biblioteki rozszerzalnego metajêzyka binarnego.
+%description devel -l pl.UTF-8
+Nagłówki biblioteki rozszerzalnego metajęzyka binarnego.
%package static
Summary: Static version of Extensible Binary Meta Language library
-Summary(pl): Statyczna wersja biblioteki rozszerzalnego metajêzyka binarnego
+Summary(pl.UTF-8): Statyczna wersja biblioteki rozszerzalnego metajęzyka binarnego
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{version}-%{release}
%description static
Static version of Extensible Binary Meta Language library.
-%description static -l pl
-Statyczna wersja biblioteki rozszerzalnego metajêzyka binarnego.
+%description static -l pl.UTF-8
+Statyczna wersja biblioteki rozszerzalnego metajęzyka binarnego.
%prep
%setup -q
%patch0 -p1
%build
-%{__make} -C make/linux \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- CXX="%{__cxx}" \
- LD="%{__cxx}" \
- LDFLAGS="%{rpmldflags}"\
- DEBUGFLAGS="%{rpmcflags} %{?debug:-DDEBUG}"
+# .pc file generation expects relative CMAKE_INSTALL_{INCLUDE,LIB}DIR
+%if %{with static_libs}
+install -d build-static
+cd build-static
+%cmake .. \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DCMAKE_INSTALL_INCLUDEDIR=include \
+ -DCMAKE_INSTALL_LIBDIR=%{_lib}
+
+%{__make}
+cd ..
+%endif
+
+install -d build
+cd build
+%cmake .. \
+ -DCMAKE_INSTALL_INCLUDEDIR=include \
+ -DCMAKE_INSTALL_LIBDIR=%{_lib}
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -C make/linux install \
- DESTDIR=$RPM_BUILD_ROOT \
- prefix=%{_prefix} \
- libdir=%{_libdir}
+%if %{with static_libs}
+%{__make} -C build-static install \
+ DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
+%doc ChangeLog README.md
%attr(755,root,root) %{_libdir}/libebml.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libebml.so.5
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libebml.so
-%{_libdir}/libebml.la
%{_includedir}/ebml
+%{_pkgconfigdir}/libebml.pc
+%{_libdir}/cmake/EBML
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libebml.a
+%endif