]> git.pld-linux.org Git - packages/librsvg.git/blobdiff - librsvg.spec
up to 2.56.1
[packages/librsvg.git] / librsvg.spec
index 50fb7ee5a0f50331656833d7cbd0c1de8ca194be..8fe052f6883d912012635a3e6fcdeef1ee6e9a34 100644 (file)
@@ -1,60 +1,72 @@
 #
 # Conditional build
-%bcond_without apidocs         # disable gtk-doc
-%bcond_without gtk2            # legacy gtk+2 support
-%bcond_without static_libs     # don't build static library
-%bcond_with    vala            # Vala API (vala up to 0.30 already contains librsvg-2.0.vapi)
+%bcond_without apidocs         # gi-docgen based API documentation
+%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
 
-%define                mver    2.40
-%define                pver    18
 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:       %{mver}.%{pver}
+Version:       2.56.1
 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: eaa5c8a8bbe2600ab5194c0d3b1b621b
-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:           http://librsvg.sourceforge.net/
-BuildRequires: autoconf >= 2.50
+URL:           https://wiki.gnome.org/Projects/LibRsvg
+BuildRequires: autoconf >= 2.69
 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: docutils
+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
+%{?with_apidocs:BuildRequires: gi-docgen}
+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.10.0
-%{?with_apidocs:BuildRequires: gtk-doc >= 1.13}
-%{?with_apidocs:BuildRequires: gtk-doc-automake >= 1.13}
-BuildRequires: libcroco-devel >= 0.6.1
+BuildRequires: harfbuzz-devel >= 2.0.0
 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.48.11
 BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: rust >= 1.65.0
 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(post,postun): gdk-pixbuf2
+Requires:      cairo-gobject >= 1.16.0
+Requires:      freetype >= 1:2.8
 Requires:      gdk-pixbuf2 >= 2.20
-Requires:      glib2 >= 1:2.24.0
-Requires:      libcroco >= 0.6.1
-Requires:      libxml2 >= 1:2.7.0
-Requires:      pango >= 1:1.32.6
-Obsoletes:     browser-plugin-librsvg
-Obsoletes:     librsvg-gtk+2
-Obsoletes:     librsvg0
-Obsoletes:     mozilla-plugin-rsvg
+Requires:      glib2 >= 1:2.50.0
+Requires:      harfbuzz >= 2.0.0
+Requires:      libxml2 >= 1:2.9.0
+Requires:      pango >= 1:1.48.11
+Obsoletes:     browser-plugin-librsvg < 1:2.15
+Obsoletes:     librsvg-gtk+2 < 1:2.40
+Obsoletes:     librsvg-gtk+3 < 1:2.46
+Obsoletes:     librsvg0 < 2
+Obsoletes:     mozilla-plugin-rsvg < 1:2.16.1
+# rust archs
+ExclusiveArch: %{x8664} %{ix86} x32 aarch64 armv6hl armv7hl armv7hnl
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # see gdk-pixbuf2.spec for source of these ifdefs
@@ -87,14 +99,13 @@ Summary(ru.UTF-8):  Библиотечные линки и файлы загол
 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.10.0
-Requires:      libcroco-devel >= 0.6.1
-Requires:      libxml2-devel >= 1:2.7.0
-Requires:      pango-devel >= 1:1.32.6
-Obsoletes:     librsvg0-devel
+Requires:      glib2-devel >= 1:2.50.0
+Requires:      libxml2-devel >= 1:2.9.0
+Requires:      pango-devel >= 1:1.48.11
+Obsoletes:     librsvg0-devel < 2
 
 %description devel
 This package provides the necessary development libraries and include
@@ -139,9 +150,7 @@ 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.
@@ -153,7 +162,9 @@ Dokumentacja API biblioteki 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.18
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+Requires:      vala >= 2:0.40
+BuildArch:     noarch
 
 %description -n vala-librsvg
 Vala API for librsvg library.
@@ -161,57 +172,72 @@ Vala API for librsvg library.
 %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
+%setup -q -a1
 %patch0 -p1
 
-%if %{without apidocs}
-echo 'CLEANFILES=' > gtk-doc.make
-echo 'AC_DEFUN([GTK_DOC_CHECK],[])' >> acinclude.m4
+%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
-%{?with_apidocs:%{__gtkdocize}}
+export CARGO_HOME="$(pwd)/.cargo"
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoconf}
 %{__autoheader}
 %{__automake}
 %configure \
+%ifarch x32
+       RUST_TARGET=x86_64-unknown-linux-gnux32 \
+%endif
        %{__enable_disable apidocs gtk-doc} \
        --enable-introspection \
        --disable-silent-rules \
        %{__enable_disable static_libs static} \
-       %{?with_vala:--enable-vala} \
-       --with-html-dir=%{_gtkdocdir}/%{name}
+       %{?with_vala:--enable-vala}
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
+export CARGO_HOME="$(pwd)/.cargo"
+
 %{__make} install \
        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 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}
 
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gtkdocdir}
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/doc/Rsvg-2.0 $RPM_BUILD_ROOT%{_gtkdocdir}
+%endif
+# README.md packaged as %doc, the rest useful just for developers
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/librsvg
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -230,7 +256,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc ChangeLog AUTHORS NEWS
+%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.*.*.*
@@ -256,7 +282,7 @@ fi
 %if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
-%{_gtkdocdir}/%{name}
+%{_gtkdocdir}/Rsvg-2.0
 %endif
 
 %if %{with vala}
@@ -264,8 +290,3 @@ fi
 %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
This page took 0.224949 seconds and 4 git commands to generate.