librsvg/librsvg.spec
Bjørn Lie 448a796c28 Accepting request 793107 from GNOME:Next
- Update to version 2.48.3:
  + Librsvg now requires glib 2.50.0 or later.
  + rsvg-convert's --background-color option now accepts colors
    with transparency like #rrggbbaa, rgba(...), hsla(...); the
    transparency value was ignored before.
  + Fix arithmetic overflow when rendering to large GdkPixbufs.
  + Make librsvg build with Rust 1.39 again.
  + Don't require upcalls into C code for Debian powerpc.
- Add check section and run testsuite during build.
- Update to version 2.48.2:
  + Fix linking of the test suite against Harfbuzz.
- Update to version 2.48.1:
  + Fix baseline-shift for simple subscripts/superscripts and
    absolute offsets. This should fix a lot of Wikimedia images
    with formulas.
  + Support images with data: URLs that don't have a MIME-type.
    This fixes some Open Clip Art images generated by old versions
    of Adobe Illustrator.
  + Fix build of the test suite on Windows.
  + Support running the rsvg_internals tests on Windows.
- Update to version 2.48.0:
  + The following is a summary of changes between 2.46.x and
    2.48.0. For full details, please see the 2.47.x release notes
    below.
  + This release requires at least Rust 1.39.
  + New API, rsvg_handle_set_stylesheet(), to set a CSS stylesheet
    independent of the SVG document.
  + Support opacity in patterns.
  + Librsvg's XML parser now supports namespaces (xmlns), and is
    stricter than before about it. Files may fail to parse if there
    are attributes or elements with namespace prefixes (e.g.
    foo:bar instead of plain bar), but without a corresponding
    namespace declaration (e.g.
    xmlns:foo="http://example.com/foo").
    This may happen especially with incorrectly-written SVGs that
    use xlink:href or xi:include attributes without the
    corresponding namespace declarations. If you run into this,
    just add the following to your toplevel SVG element:
      <svg xmlns="http://www.w3.org/2000/svg"
           xmlns:xlink="http://www.w3.org/1999/xlink"
	   xmlns:xi="http://www.w3.org/2001/XInclude">
           ^^^^^^^^^ these ones
   + Librsvg no longer depends on libcroco, and now does all CSS
     processing using Rust crates from Mozilla Servo. As a result,
     librsvg can now handle much more complex CSS selectors than
     before.
  + Link-time optimization (LTO) is disabled by default on release
    builds, as this increased build time too much. Downstream
    distributors may want to turn it back on in the toplevel
    Cargo.toml.
  + (CVE-2019-20446) - Librsvg now has limits on the number of
    loaded XML elements, and the number of referenced elements
    within an SVG document. This is to mitigate malicious SVGs
    which try to consume all memory, and those which try to consume
    an exponential amount of CPU time.
  + Many bugfixes; please see the 2.47.x release notes below.
- Changes from version 2.47.4:
  + Fix rsvg-convert's multipage PDF output when the zoom option is
    used.
  + Do not stop rendering if an <image> element references a
    nonexistent file. This fixes a number of Open Clipart cases.
  + Compute the font-size cascade correctly when there are "em"
    #and "ex" units involved.
  + Updated the man page for rsvg-convert.
- Update to version 2.47.3:
  + New API, rsvg_handle_set_stylesheet(), to set a CSS
    stylesheet independent of the SVG document.
  + Support opacity in patterns.
  + Move away from the Cairo transform type to our own.
  + Update the gtk-rs version.
- Changes from version 2.47.2:
  + Handling of the "result", "in", "in2" attributes in filter
    primitives is slightly stricter now, and spec compliant.
  + Fix infinite loop when processing CSS sibling combinators.
  + feImage filters no longer clip their output to integer
    coordinates.
  + Documentation for the Rust crate.
  + Debug logs from RSVG_LOG=1 should now be more legible and
    contain better information on invalid CSS.
  + Remove link-time workarounds for Rust pre-1.35.
  + Unify internal error types to share the CSS code with
    gnome-shell.
  + Made handling of XML namespaces more spec-compliant.
  + Lots of refactoring to start moving away from Cairo internals.
- Changes from version 2.47.1:
  + Librsvg no longer depends on libcroco!  It now does all CSS
    processing using Rust crates from Mozilla Servo; these are also
    the crates that are in use in recent versions of Firefox.  As a
    result, librsvg can now handle much more complex CSS selectors
    than before.
- Drop pkgconfig(libcroco-0.6) BuildRequires: no longer needed.

OBS-URL: https://build.opensuse.org/request/show/793107
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=170
2020-04-14 10:19:59 +00:00

199 lines
6.2 KiB
RPMSpec

#
# spec file for package librsvg
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Don't forget to update this in baselibs.conf too!
%define librsvg_sover 2
Name: librsvg
Version: 2.48.3
Release: 0
Summary: A Library for Rendering SVG Data
License: LGPL-2.0-or-later AND GPL-2.0-or-later AND Apache-2.0 AND MIT
Group: Development/Libraries/C and C++
URL: https://wiki.gnome.org/Projects/LibRsvg
Source0: https://download.gnome.org/sources/librsvg/2.48/%{name}-%{version}.tar.xz
Source99: baselibs.conf
BuildRequires: cargo
BuildRequires: gobject-introspection-devel
BuildRequires: pkgconfig
BuildRequires: rust >= 1.39
BuildRequires: vala
BuildRequires: pkgconfig(cairo) >= 1.16.0
BuildRequires: pkgconfig(cairo-png) >= 1.2.0
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2) >= 20.0.14
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.20
BuildRequires: pkgconfig(gio-2.0) >= 2.24.0
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.50.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gthread-2.0) >= 2.12.0
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.0
BuildRequires: pkgconfig(pangocairo) >= 1.38.0
BuildRequires: pkgconfig(pangoft2) >= 1.38.0
# Avoid cycle: we do not require the adwaita-icon-theme to be present. libgtk-3.0 requires this for end users
#!BuildIgnore: adwaita-icon-theme
%description
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
%package -n librsvg-2-%{librsvg_sover}
Summary: A Library for Rendering SVG Data
License: LGPL-2.0-or-later AND Apache-2.0 AND MIT
Group: System/Libraries
Provides: librsvg2 = %{version}
Obsoletes: librsvg2 < %{version}
Provides: librsvg = %{version}
Obsoletes: librsvg < %{version}
Obsoletes: rsvg-view <= %{version}
%description -n librsvg-2-%{librsvg_sover}
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
%package -n typelib-1_0-Rsvg-2_0
Summary: Introspection bindings for librsvg, a SVG render library
License: LGPL-2.0-or-later
Group: System/Libraries
%description -n typelib-1_0-Rsvg-2_0
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
This package provides the GObject Introspection bindings for librsvg.
%package devel
Summary: Development files for librsvg, a SVG render library
License: LGPL-2.0-or-later
Group: Development/Libraries/C and C++
Requires: librsvg-2-%{librsvg_sover} = %{version}
Requires: typelib-1_0-Rsvg-2_0 = %{version}
Provides: librsvg2-devel = %{version}
Obsoletes: librsvg2-devel < %{version}
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n gdk-pixbuf-loader-rsvg
Summary: A gdk-pixbuf loader for SVG using librsvg
License: LGPL-2.0-or-later
Group: System/Libraries
Supplements: (librsvg-2-%{librsvg_sover} and gdk-pixbuf)
%{gdk_pixbuf_loader_requires}
%description -n gdk-pixbuf-loader-rsvg
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
This package provides a librsvg-based gdk-pixbuf loader.
%package -n rsvg-convert
Summary: SVG Convert using the GNOME Render SVG library
License: LGPL-2.0-or-later
Group: Productivity/Graphics/Viewers
Conflicts: rsvg-view <= 2.45.7
%description -n rsvg-convert
This package contains a tool to convert SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
%package -n rsvg-thumbnailer
Summary: SVG thumbnailer using the GNOME Render SVG library
License: LGPL-2.0-or-later
Group: Productivity/Graphics/Other
BuildArch: noarch
%description -n rsvg-thumbnailer
This package contains a thumbnailer to render SVG (scalable vector
graphics) data.
%lang_package
%prep
%autosetup -p1
%build
%configure \
--disable-static\
--enable-introspection\
--enable-vala \
%{nil}
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# %%doc is used to package such contents
rm -rf %{buildroot}%{_datadir}/doc/%{name}
%find_lang %{name} %{?no_lang_C}
%check
%make_build check
%post -n librsvg-2-%{librsvg_sover} -p /sbin/ldconfig
%post -n gdk-pixbuf-loader-rsvg
%{gdk_pixbuf_loader_post}
%postun -n librsvg-2-%{librsvg_sover} -p /sbin/ldconfig
%postun -n gdk-pixbuf-loader-rsvg
%{gdk_pixbuf_loader_postun}
%files -n librsvg-2-%{librsvg_sover}
%license COPYING.LIB
%doc NEWS README.md
%{_libdir}/librsvg-2.so.*
%files -n typelib-1_0-Rsvg-2_0
%{_libdir}/girepository-1.0/Rsvg-2.0.typelib
%files -n gdk-pixbuf-loader-rsvg
%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so
%files -n rsvg-convert
%{_bindir}/rsvg-convert
%{_mandir}/man1/rsvg-convert.1%{?ext_man}
%files -n rsvg-thumbnailer
%dir %{_datadir}/thumbnailers
%{_datadir}/thumbnailers/librsvg.thumbnailer
%files devel
%doc AUTHORS COMPILING.md CONTRIBUTING.md
%{_includedir}/librsvg-2.0/
%{_libdir}/librsvg-2.so
%{_libdir}/pkgconfig/librsvg-2.0.pc
%{_datadir}/gir-1.0/Rsvg-2.0.gir
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/librsvg-2.0.vapi
# Own these directories to not depend on gtk-doc while building
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%doc %{_datadir}/gtk-doc/html/rsvg-2.0
%files lang -f %{name}.lang
%changelog