#
# Conditional build
%bcond_without apidocs # disable gtk-doc
-%bcond_without gtk2 # legacy gtk+2 support
-%bcond_without libcroco # build without CSS support through libcroco
%bcond_without static_libs # don't build static library
+%bcond_without vala # Vala API (vala up to 0.38.x already contains librsvg-2.0.vapi)
-%define mver 2.40
-%define pver 0
+%define mver 2.48
+%define pver 7
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(uk.UTF-8): SVG бібліотека
Name: librsvg
Version: %{mver}.%{pver}
-Release: 2
+Release: 1
Epoch: 1
License: LGPL v2+
Group: X11/Libraries
Source0: http://ftp.gnome.org/pub/GNOME/sources/librsvg/%{mver}/%{name}-%{version}.tar.xz
-# Source0-md5: e16a84e9a86a18e5ca6ba95c512db6c6
+# Source0-md5: a09da8b133a3d79d1e3879f7808f27bd
Source1: rsvg
+Patch0: x32.patch
+Patch1: %{name}-gtkdoc.patch
URL: http://librsvg.sourceforge.net/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.50
BuildRequires: automake >= 1:1.9
-BuildRequires: cairo-devel >= 1.2.0
-BuildRequires: docbook-dtd412-xml
+BuildRequires: cairo-devel >= 1.16.0
+BuildRequires: cairo-gobject-devel >= 1.16.0
+BuildRequires: cargo
+BuildRequires: docbook-dtd43-xml
+BuildRequires: fontconfig-devel
+# pkgconfig(freetype) >= 20.0.14
+BuildRequires: freetype-devel >= 1:2.8
BuildRequires: gdk-pixbuf2-devel >= 2.20
-BuildRequires: glib2-devel >= 1:2.24.0
+BuildRequires: gettext-tools >= 0.19.8
+BuildRequires: glib2-devel >= 1:2.50.0
BuildRequires: gobject-introspection-devel >= 0.10.8
-%{?with_gtk2:BuildRequires: gtk+2-devel >= 2:2.16.0}
-BuildRequires: gtk+3-devel >= 3.2.0
%{?with_apidocs:BuildRequires: gtk-doc >= 1.13}
%{?with_apidocs:BuildRequires: gtk-doc-automake >= 1.13}
-%{?with_libcroco:BuildRequires: libcroco-devel >= 0.6.1}
+BuildRequires: libcroco-devel >= 0.6.1
BuildRequires: libtool >= 2:2.0
-BuildRequires: libxml2-devel >= 1:2.7.0
-BuildRequires: pango-devel >= 1:1.32.6
+BuildRequires: libxml2-devel >= 1:2.9.0
+BuildRequires: pango-devel >= 1:1.38.0
BuildRequires: pkgconfig
BuildRequires: rpm-pythonprov
+BuildRequires: rust >= 1.39
BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
+%{?with_vala:BuildRequires: vala >= 2:0.18}
BuildRequires: xz
Requires(post,postun): /sbin/ldconfig
-Requires: cairo >= 1.2.0
+Requires: cairo-gobject >= 1.16.0
+Requires: freetype >= 1:2.8
Requires: gdk-pixbuf2 >= 2.20
-Requires: glib2 >= 1:2.24.0
-%{?with_libcroco:Requires: libcroco >= 0.6.1}
-Requires: libxml2 >= 1:2.7.0
-Requires: pango >= 1:1.16.0
+Requires: glib2 >= 1:2.50.0
+Requires: libcroco >= 0.6.1
+Requires: libxml2 >= 1:2.9.0
+Requires: pango >= 1:1.38.0
Obsoletes: browser-plugin-librsvg
-Obsoletes: librsvg0
Obsoletes: librsvg-gtk+2
+Obsoletes: librsvg-gtk+3
+Obsoletes: librsvg0
Obsoletes: mozilla-plugin-rsvg
+# rust archs
+ExclusiveArch: %{x8664} %{ix86} aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# see gdk-pixbuf2.spec for source of these ifdefs
Summary(uk.UTF-8): Бібліотечні лінки та файли заголовків для розробки з librsvg
Group: X11/Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: cairo-devel >= 1.2.0
+Requires: cairo-gobject-devel >= 1.16.0
+Requires: freetype-devel >= 1:2.8
Requires: gdk-pixbuf2-devel >= 2.20
-Requires: glib2-devel >= 1:2.24.0
-Requires: gtk+3-devel >= 3.2.0
-%{?with_libcroco:Requires: libcroco-devel >= 0.6.1}
-Requires: libxml2-devel >= 1:2.7.0
-Requires: pango-devel >= 1:1.16.0
+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.38.0
Obsoletes: librsvg0-devel
%description devel
Summary(pl.UTF-8): Dokumentacja API biblioteki librsvg
Group: Documentation
Requires: gtk-doc-common
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
%description apidocs
librsvg API documentation.
%description apidocs -l pl.UTF-8
Dokumentacja API biblioteki librsvg.
-%package gtk+3
-Summary: librsvg/GTK+3 based SVG viewer
-Summary(pl.UTF-8): Przeglądarka plików SVG oparta na bibliotekach librsvg/GTK+3
-Group: X11/Applications/Graphics
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: gtk+3 >= 3.2.0
+%package -n vala-librsvg
+Summary: Vala API for librsvg library
+Summary(pl.UTF-8): API języka Vala do biblioteki librsvg
+Group: Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: vala >= 2:0.40
-%description gtk+3
-librsvg/GTK+3 based SVG viewer.
+%description -n vala-librsvg
+Vala API for librsvg library.
-%description gtk+3 -l pl.UTF-8
-Przeglądarka plików SVG oparta na bibliotekach librsvg/GTK+3.
+%description -n vala-librsvg -l pl.UTF-8
+API języka Vala do biblioteki librsvg.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%if %{without apidocs}
echo 'CLEANFILES=' > gtk-doc.make
echo 'AC_DEFUN([GTK_DOC_CHECK],[])' >> acinclude.m4
%endif
-# vala not ready yet here
-#echo 'AC_DEFUN([VAPIGEN_CHECK],[AM_CONDITIONAL([ENABLE_VAPIGEN], [false])])' >> acinclude.m4
-
%build
-mkdir m4
%{?with_apidocs:%{__gtkdocize}}
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
- --disable-silent-rules \
- %{__enable_disable static_libs static} \
%{__enable_disable apidocs gtk-doc} \
--enable-introspection \
- %{__with_without libcroco croco} \
+ --disable-silent-rules \
+ %{__enable_disable static_libs static} \
+ %{?with_vala:--enable-vala} \
--with-html-dir=%{_gtkdocdir}/%{name}
%{__make}
DESTDIR=$RPM_BUILD_ROOT \
pkgconfigdir=%{_pkgconfigdir}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf-2.0/2.*.*/loaders/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf-2.0/2.*.*/loaders/*.la
+%if %{with static_libs}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf-2.0/2.*.*/loaders/*.a
+%endif
%{__rm} $RPM_BUILD_ROOT%{_libdir}/librsvg-2.la
-%{__ln_s} rsvg-view-3 $RPM_BUILD_ROOT%{_bindir}/rsvg-view
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache
fi
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc ChangeLog AUTHORS NEWS
+%doc AUTHORS NEWS
%attr(755,root,root) %{_bindir}/rsvg
%attr(755,root,root) %{_bindir}/rsvg-convert
%attr(755,root,root) %{_libdir}/librsvg-2.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/librsvg-2.so.2
%{_libdir}/girepository-1.0/Rsvg-2.0.typelib
%attr(755,root,root) %{_libdir}/gdk-pixbuf-2.0/2.*.*/loaders/libpixbufloader-svg.so
+%{_datadir}/thumbnailers/librsvg.thumbnailer
%{_mandir}/man1/rsvg-convert.1*
%files devel
%{_gtkdocdir}/%{name}
%endif
-%files gtk+3
+%if %{with vala}
+%files -n vala-librsvg
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rsvg-view
-%attr(755,root,root) %{_bindir}/rsvg-view-3
+%{_datadir}/vala/vapi/librsvg-2.0.vapi
+%endif