-# TODO
-# - check what browsers can be supported by browser plugin
#
# Conditional build
%bcond_without apidocs # disable gtk-doc
-%bcond_without libgsf # build without libgsf (used for run-time decompression)
-%bcond_without libcroco # build without CSS support through libcroco
-%bcond_without gnomeprint # build without gnome-print support in viewer
-%bcond_without gnomevfs # build without gnome-vfs support
-%bcond_without mozilla # do not build mozilla plugin
-#
+%bcond_without gtk2 # legacy gtk+2 support
+%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.44
+%define pver 12
Summary: A Raph's Library for Rendering SVG Data
-Summary(pl): Biblioteka Raph's SVG
-Summary(pt_BR): Biblioteca SVG
-Summary(ru): SVG ÂÉÂÌÉÏÔÅËÁ
-Summary(uk): SVG ¦Â̦ÏÔÅËÁ
+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.14.4
+Version: %{mver}.%{pver}
Release: 1
Epoch: 1
License: LGPL v2+
-Vendor: GNOME
-Group: Libraries
-Source0: http://ftp.gnome.org/pub/gnome/sources/librsvg/2.14/%{name}-%{version}.tar.bz2
-# Source0-md5: 945617bb094975d7353a3852302297c1
+Group: X11/Libraries
+Source0: http://ftp.gnome.org/pub/GNOME/sources/librsvg/%{mver}/%{name}-%{version}.tar.xz
+# Source0-md5: 300f6a5981323c9ac2b65a98d24c7005
+Source1: rsvg
+Patch0: x32.patch
URL: http://librsvg.sourceforge.net/
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: cairo-devel >= 1.0.2
-BuildRequires: gtk+2-devel >= 2:2.8.6
-%{?with_apidocs:BuildRequires: gtk-doc >= 0.9}
-%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.10.0-2}
-%{?with_libcroco:BuildRequires: libcroco-devel >= 0.6.1}
-%{?with_gnomeprint:BuildRequires: libgnomeprintui-devel >= 2.12.1}
-%{?with_libgsf:BuildRequires: libgsf-devel >= 1.13.2}
-BuildRequires: libtool
-BuildRequires: libxml2-devel >= 1:2.6.22
-%{?with_mozilla:BuildRequires: mozilla-devel}
-%{?with_mozilla:BuildRequires: rpmbuild(macros) >= 1.236}
-BuildRequires: popt-devel >= 1.5
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.9
+BuildRequires: cairo-devel >= 1.15.12
+BuildRequires: cargo
+BuildRequires: docbook-dtd412-xml
+# pkgconfig(freetype) >= 20.0.14
+BuildRequires: freetype-devel >= 1:2.8
+BuildRequires: gdk-pixbuf2-devel >= 2.20
+BuildRequires: glib2-devel >= 1:2.48.0
+BuildRequires: gobject-introspection-devel >= 0.10.8
+%{?with_gtk2:BuildRequires: gtk+2-devel >= 2:2.16.0}
+BuildRequires: gtk+3-devel >= 3.10.0
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.13}
+%{?with_apidocs:BuildRequires: gtk-doc-automake >= 1.13}
+BuildRequires: libcroco-devel >= 0.6.1
+BuildRequires: libtool >= 2:2.0
+BuildRequires: libxml2-devel >= 1:2.9.0
+BuildRequires: pango-devel >= 1:1.38.0
BuildRequires: pkgconfig
BuildRequires: rpm-pythonprov
-%{!?with_gnomeprint:BuildConflicts: libgnomeprintui-devel}
-Requires(post,postun): gtk+2
-Requires: cairo >= 1.0.2
-Requires: gtk+2 >= 2:2.8.6
-%{?with_libcroco:Requires: libcroco >= 0.6.1}
-%{?with_libgsf:Requires: libgsf >= 1.13.2}
-Requires: libxml2 >= 1:2.6.22
-Requires: popt >= 1.5
+BuildRequires: rust >= 1.27
+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.15.12
+Requires: freetype >= 1:2.8
+Requires: gdk-pixbuf2 >= 2.20
+Requires: glib2 >= 1:2.48.0
+Requires: libcroco >= 0.6.1
+Requires: libxml2 >= 1:2.9.0
+Requires: pango >= 1:1.38.0
+Obsoletes: browser-plugin-librsvg
+Obsoletes: librsvg-gtk+2
Obsoletes: librsvg0
+Obsoletes: mozilla-plugin-rsvg
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _plugindir %{_libdir}/browser-plugins
-
-# list of supported browsers, in free form text
-%define browsers mozilla, mozilla-firefox, netscape, seamonkey
+# see gdk-pixbuf2.spec for source of these ifdefs
+%if "%{_lib}" != "lib"
+%define libext %(lib="%{_lib}"; echo ${lib#lib})
+%define pqext -%{libext}
+%else
+%define pqext %{nil}
+%endif
%description
-An library to render SVG (scalable vector graphics), databased upon libart.
+An library to render SVG (scalable vector graphics), databased upon
+libart.
-%description -l pl
-Biblioteka do obs³ugi grafiki wektorowej.
+%description -l pl.UTF-8
+Biblioteka do renderowania SVG (skalowalnej grafiki wektorowej) oparta
+na kodzie libart.
-%description -l pt_BR
-Biblioteca de Extensão da Eazel.
+%description -l ru.UTF-8
+Библиотека SVG, базирующаяся на libart.
-%description -l ru
-âÉÂÌÉÏÔÅËÁ SVG, ÂÁÚÉÒÕÀÝÁÑÓÑ ÎÁ libart.
-
-%description -l uk
-â¦Â̦ÏÔÅËÁ SVG, ÂÁÚÏ×ÁÎÁ ÎÁ libart.
+%description -l uk.UTF-8
+Бібліотека SVG, базована на libart.
%package devel
Summary: Include files for developing with librsvg
-Summary(pl): Pliki nag³ówkowe do tworzenia oprogramowania z u¿yciem librsvg
-Summary(pt_BR): Bibliotecas e arquivos de inclusão para desenvolvimento com a librsvg
-Summary(ru): âÉÂÌÉÏÔÅÞÎÙÅ ÌÉÎËÉ É ÆÁÊÌÙ ÚÁÇÏÌÏ×ËÏ× ÄÌÑ ÒÁÚÒÁÂÏÔËÉ Ó librsvg
-Summary(uk): â¦Â̦ÏÔÅÞΦ ̦ÎËÉ ÔÁ ÆÁÊÌÉ ÚÁÇÏÌÏ×Ë¦× ÄÌÑ ÒÏÚÒÏÂËÉ Ú librsvg
-Group: Development/Libraries
+Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia oprogramowania z użyciem librsvg
+Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento com a librsvg
+Summary(ru.UTF-8): Библиотечные линки и файлы заголовков для разработки с librsvg
+Summary(uk.UTF-8): Бібліотечні лінки та файли заголовків для розробки з librsvg
+Group: X11/Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
-%{?with_gnomevfs:Requires: gnome-vfs2-devel >= 2.10.0-2}
-Requires: gtk+2-devel >= 2:2.8.6
-Requires: libart_lgpl-devel >= 2.3.15
-%{?with_libcroco:Requires: libcroco-devel >= 0.6.0}
-%{?with_libgsf:Requires: libgsf-devel >= 1.13.2}
-Requires: libxml2-devel >= 2.6.22
+Requires: cairo-devel >= 1.15.12
+Requires: freetype-devel >= 1:2.8
+Requires: gdk-pixbuf2-devel >= 2.20
+Requires: glib2-devel >= 1:2.48.0
+Requires: gtk+3-devel >= 3.10.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
This package provides the necessary development libraries and include
files to allow you to develop with librsvg.
-%description devel -l pl
-Pakiet zawiera pliki nag³ówkowe potrzebne do tworzenia oprogramowania
+%description devel -l pl.UTF-8
+Pakiet zawiera pliki nagłówkowe potrzebne do tworzenia oprogramowania
z wykorzystaniem librsvg.
-%description devel -l pt_BR
-Este pacote contém os arquivos necessários para desenvolver com base
+%description devel -l pt_BR.UTF-8
+Este pacote contém os arquivos necessários para desenvolver com base
na biblioteca librsvg.
-%description devel -l ru
-üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÎÅÏÂÈÏÄÉÍÙÅ ÆÁÊÌÙ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍ Ó
-ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ librsvg.
+%description devel -l ru.UTF-8
+Этот пакет содержит необходимые файлы для разработки программ с
+использованием librsvg.
-%description devel -l uk
-ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÎÅÏÂȦÄΦ ÆÁÊÌÉ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ
+%description devel -l uk.UTF-8
+Цей пакет містить необхідні файли для розробки програм з використанням
librsvg.
%package static
Summary: Static libraries for developing with librsvg
-Summary(es): Archivos estáticos necesarios para el desarrollo de aplicaciones con librsvg
-Summary(pl): Statyczne biblioteki librsvg
-Summary(pt_BR): Arquivos estáticos necessários para o desenvolvimento de aplicações com librsvg
-Group: Development/Libraries
+Summary(es.UTF-8): Archivos estáticos necesarios para el desarrollo de aplicaciones con librsvg
+Summary(pl.UTF-8): Statyczne biblioteki librsvg
+Summary(pt_BR.UTF-8): Arquivos estáticos necessários para o desenvolvimento de aplicações com librsvg
+Group: X11/Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
This package contains static version of librsvg libraries.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna wersja bibliotek librsvg.
-%description static -l pt_BR
-Bibliotecas estáticas para o desenvolvimento de aplicações com
+%description static -l pt_BR.UTF-8
+Bibliotecas estáticas para o desenvolvimento de aplicações com
librsvg.
-%package -n browser-plugin-%{name}
-Summary: SVG browse plugin using librsvg
-Summary(pl): Wtyczka SVG do przegl±darski WWW wykorzystuj±ca librsvg
-Group: X11/Applications/Multimedia
-Requires: browser-plugins(%{_target_base_arch})
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: mozilla-plugin-rsvg
-Obsoletes: mozilla-plugin-rsvg
+%package apidocs
+Summary: librsvg API documentation
+Summary(pl.UTF-8): Dokumentacja API biblioteki librsvg
+Group: Documentation
+Requires: gtk-doc-common
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
+
+%description apidocs
+librsvg API documentation.
-%description -n browser-plugin-%{name}
-This plugin allows Mozilla-family browsers to view Scalable Vector
-Graphics content using librsvg.
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki librsvg.
-Supported browsers: %{browsers}.
+%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: vala >= 2:0.40
-%description -n browser-plugin-%{name} -l pl
-Ta wtyczka pozwala na ogl±danie grafiki w formacie SVG (Scalable
-Vector Graphics) w przegl±darkach z rodziny Mozilli.
+%description -n vala-librsvg
+Vala API for librsvg library.
-Obs³ugiwane przegl±darki: %{browsers}.
+%description -n vala-librsvg -l pl.UTF-8
+API języka Vala do 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.10.0
+
+%description gtk+3
+librsvg/GTK+3 based SVG viewer.
+
+%description gtk+3 -l pl.UTF-8
+Przeglądarka plików SVG oparta na bibliotekach librsvg/GTK+3.
%prep
%setup -q
+%patch0 -p1
+
+%if %{without apidocs}
+echo 'CLEANFILES=' > gtk-doc.make
+echo 'AC_DEFUN([GTK_DOC_CHECK],[])' >> acinclude.m4
+%endif
%build
-%{!?with_mozilla:export MOZILLA_CONFIG=no}
+%{?with_apidocs:%{__gtkdocize}}
%{__libtoolize}
%{__aclocal}
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
- %{!?with_libcroco:--without-croco} \
- %{!?with_libgsf:--without-svgz} \
- %{!?with_gnomevfs:--disable-gnome-vfs} \
- %{?with_apidocs:--enable-gtk-doc} \
+ %{__enable_disable apidocs gtk-doc} \
+ --enable-introspection \
+ --disable-silent-rules \
+ %{__enable_disable static_libs static} \
+ %{?with_vala:--enable-vala} \
--with-html-dir=%{_gtkdocdir}/%{name}
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
- plugindir=%{_plugindir} \
pkgconfigdir=%{_pkgconfigdir}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.*/{engines,loaders}/*.{la,a}
-rm -f $RPM_BUILD_ROOT%{_plugindir}/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf-2.0/2.*.*/loaders/*.{la,a}
+%{__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}
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig
umask 022
-gdk-pixbuf-query-loaders > %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
+%{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || :
%postun
/sbin/ldconfig
umask 022
-gdk-pixbuf-query-loaders > %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
-
-%triggerin -n browser-plugin-%{name} -- mozilla
-%nsplugin_install -d %{_libdir}/mozilla/plugins libmozsvgdec.so
-
-%triggerun -n browser-plugin-%{name} -- mozilla
-%nsplugin_uninstall -d %{_libdir}/mozilla/plugins libmozsvgdec.so
-
-%triggerin -n browser-plugin-%{name} -- mozilla-firefox
-%nsplugin_install -d %{_libdir}/mozilla-firefox/plugins libmozsvgdec.so
-
-%triggerun -n browser-plugin-%{name} -- mozilla-forefox
-%nsplugin_uninstall -d %{_libdir}/mozilla-firefox/plugins libmozsvgdec.so
-
-%triggerin -n browser-plugin-%{name} -- netscape-common
-%nsplugin_install -d %{_libdir}/netscape/plugins libmozsvgdec.so
-
-%triggerun -n browser-plugin-%{name} -- netscape-common
-%nsplugin_uninstall -d %{_libdir}/netscape/plugins libmozsvgdec.so
-
-%triggerin -n browser-plugin-%{name} -- seamonkey
-%nsplugin_install -d %{_libdir}/seamonkey/plugins libmozsvgdec.so
-
-%triggerun -n browser-plugin-%{name} -- seamonkey
-%nsplugin_uninstall -d %{_libdir}/seamonkey/plugins libmozsvgdec.so
-
-# as rpm removes the old obsoleted package files after the triggers
-# are ran, add another trigger to make the links there.
-%triggerpostun -n browser-plugin-%{name} -- mozilla-plugin-rsvg
-%nsplugin_install -f -d %{_libdir}/mozilla/plugins libmozsvgdec.so
+if [ -x %{_bindir}/gdk-pixbuf-query-loaders%{pqext} ]; then
+ %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache
+fi
%files
%defattr(644,root,root,755)
-%doc ChangeLog AUTHORS NEWS
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%attr(755,root,root) %{_libdir}/gtk-2.0/2.*/engines/*.so
-%attr(755,root,root) %{_libdir}/gtk-2.0/2.*/loaders/*.so
-%{_mandir}/man1/rsvg.1*
-%{_pixmapsdir}/*
+%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
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_pkgconfigdir}/*.pc
-%{_includedir}/librsvg-2
-%{_gtkdocdir}/%{name}
+%attr(755,root,root) %{_libdir}/librsvg-2.so
+%{_includedir}/librsvg-2.0
+%{_datadir}/gir-1.0/Rsvg-2.0.gir
+%{_pkgconfigdir}/librsvg-2.0.pc
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/librsvg-2.a
+%endif
-%if %{with mozilla}
-%files -n browser-plugin-%{name}
+%if %{with apidocs}
+%files apidocs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_plugindir}/*.so
+%{_gtkdocdir}/%{name}
%endif
+
+%if %{with vala}
+%files -n vala-librsvg
+%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/librsvg-2.0.vapi
+%endif
+
+%files gtk+3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rsvg-view
+%attr(755,root,root) %{_bindir}/rsvg-view-3