%bcond_without static_libs # static library
%bcond_without vala # Vala API (vala up to 0.38.x already contains librsvg-2.0.vapi)
+%define crates_ver 2.56.1
+
Summary: A Raph's Library for Rendering SVG Data
Summary(pl.UTF-8): Biblioteka Raph's SVG do renderowania danych SVG
Summary(pt_BR.UTF-8): Biblioteca SVG
Summary(ru.UTF-8): SVG библиотека
Summary(uk.UTF-8): SVG бібліотека
Name: librsvg
-Version: 2.54.4
+Version: 2.56.1
Release: 1
Epoch: 1
License: LGPL v2+
Group: X11/Libraries
-Source0: https://download.gnome.org/sources/librsvg/2.54/%{name}-%{version}.tar.xz
-# Source0-md5: 03ed641e182b2813b445d4f4974b752e
-Source1: rsvg
+Source0: https://download.gnome.org/sources/librsvg/2.56/%{name}-%{version}.tar.xz
+# Source0-md5: 023e34798503c964ad982d130ee369c9
+Source1: %{name}-crates-%{crates_ver}.tar.xz
+# Source1-md5: 10249215e606c8fc13e9c40aa54bc556
+Source2: rsvg
Patch0: x32.patch
URL: https://wiki.gnome.org/Projects/LibRsvg
BuildRequires: autoconf >= 2.69
BuildRequires: glib2-devel >= 1:2.50.0
BuildRequires: gobject-introspection-devel >= 0.10.8
BuildRequires: harfbuzz-devel >= 2.0.0
-BuildRequires: libcroco-devel >= 0.6.1
BuildRequires: libtool >= 2:2.0
BuildRequires: libxml2-devel >= 1:2.9.0
BuildRequires: pango-devel >= 1:1.48.11
BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.752
-BuildRequires: rust >= 1.56
+BuildRequires: rust >= 1.65.0
BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
%{?with_vala:BuildRequires: vala >= 2:0.18}
Requires: gdk-pixbuf2 >= 2.20
Requires: glib2 >= 1:2.50.0
Requires: harfbuzz >= 2.0.0
-Requires: libcroco >= 0.6.1
Requires: libxml2 >= 1:2.9.0
Requires: pango >= 1:1.48.11
Obsoletes: browser-plugin-librsvg < 1:2.15
Requires: freetype-devel >= 1:2.8
Requires: gdk-pixbuf2-devel >= 2.20
Requires: glib2-devel >= 1:2.50.0
-Requires: libcroco-devel >= 0.6.1
Requires: libxml2-devel >= 1:2.9.0
Requires: pango-devel >= 1:1.48.11
Obsoletes: librsvg0-devel < 2
API języka Vala do biblioteki librsvg.
%prep
-%setup -q
+%setup -q -a1
%patch0 -p1
%ifarch x32
%{__sed} -i -e 's/test "\?x\?\$cross_compiling"\? = "\?x\?yes"\?/true/' configure.ac
%endif
+%{__mv} librsvg-%{crates_ver}/* .
+sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
+
+# use our offline registry
+export CARGO_HOME="$(pwd)/.cargo"
+
+mkdir -p "$CARGO_HOME"
+cat >.cargo/config <<EOF
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$PWD/vendor'
+EOF
+
%build
+export CARGO_HOME="$(pwd)/.cargo"
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%install
rm -rf $RPM_BUILD_ROOT
+export CARGO_HOME="$(pwd)/.cargo"
+
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
pkgconfigdir=%{_pkgconfigdir}
%endif
%{__rm} $RPM_BUILD_ROOT%{_libdir}/librsvg-2.la
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}
%if %{with apidocs}
install -d $RPM_BUILD_ROOT%{_gtkdocdir}
%files
%defattr(644,root,root,755)
-%doc AUTHORS NEWS.md README.md
+%doc AUTHORS NEWS README.md
%attr(755,root,root) %{_bindir}/rsvg
%attr(755,root,root) %{_bindir}/rsvg-convert
%attr(755,root,root) %{_libdir}/librsvg-2.so.*.*.*