diff --git a/baselibs.conf b/baselibs.conf index 05cb448..abf7e13 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,9 +1,5 @@ librsvg-2-2 - provides "libsrvg- = " gdk-pixbuf-loader-rsvg - requires "gdk-pixbuf-query-loaders-" supplements "packageand(librsvg-2-2-:gdk-pixbuf-)" post "%gdk_pixbuf_loader_post" postun "%gdk_pixbuf_loader_postun" -gtk2-engine-svg - supplements "packageand(gtk2-engine-svg:gtk2-)" diff --git a/librsvg-2.31.0.tar.bz2 b/librsvg-2.31.0.tar.bz2 new file mode 100644 index 0000000..e876dbc --- /dev/null +++ b/librsvg-2.31.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:320b61ef5e6d65624f3733a83134df012a4156ed7f7ae38a6ed19febe1bfa732 +size 514232 diff --git a/librsvg-2.32.0.tar.bz2 b/librsvg-2.32.0.tar.bz2 deleted file mode 100644 index bda3482..0000000 --- a/librsvg-2.32.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0f6f936dab583de317cc0c36a48f80bdb9c93775225ee84140c7e5e3f841068 -size 516660 diff --git a/librsvg-gdk-pixbuf-render-gtk3.patch b/librsvg-gdk-pixbuf-render-gtk3.patch new file mode 100644 index 0000000..6c7f76a --- /dev/null +++ b/librsvg-gdk-pixbuf-render-gtk3.patch @@ -0,0 +1,107 @@ +From 18bbb79af0c798db6099dbe0dd6fff5b43f030be Mon Sep 17 00:00:00 2001 +From: Jasper St. Pierre +Date: Thu, 12 Aug 2010 04:44:36 -0400 +Subject: [PATCH] Apply Company's changes on the internal librsvg pixbuf engine to remove the gdk calls and move over to cairo. + +https://bugzilla.gnome.org/show_bug.cgi?id=626605 +--- + gtk-engine/svg-render.c | 70 +++++++++++++++++++++-------------------------- + 1 files changed, 31 insertions(+), 39 deletions(-) + +diff --git a/gtk-engine/svg-render.c b/gtk-engine/svg-render.c +index ebe2f22..15440cc 100644 +--- a/gtk-engine/svg-render.c ++++ b/gtk-engine/svg-render.c +@@ -418,21 +418,30 @@ pixbuf_render (GdkPixbuf *src, + y_offset = 0; + } + ++ cairo_t *cr; ++ + if (mask) + { +- gdk_pixbuf_render_threshold_alpha (tmp_pixbuf, mask, +- x_offset, y_offset, +- rect.x, rect.y, +- rect.width, rect.height, +- 128); ++ cr = gdk_cairo_create (mask); ++ ++ gdk_cairo_set_source_pixbuf (cr, tmp_pixbuf, ++ -x_offset + rect.x, ++ -y_offset + rect.y); ++ gdk_cairo_rectangle (cr, &rect); ++ cairo_fill (cr); ++ ++ cairo_destroy (cr); + } + +- gdk_draw_pixbuf (window, NULL, tmp_pixbuf, +- x_offset, y_offset, +- rect.x, rect.y, +- rect.width, rect.height, +- GDK_RGB_DITHER_NORMAL, +- 0, 0); ++ cr = gdk_cairo_create (window); ++ gdk_cairo_set_source_pixbuf (cr, ++ tmp_pixbuf, ++ -x_offset + rect.x, ++ -y_offset + rect.y); ++ gdk_cairo_rectangle (cr, &rect); ++ cairo_fill (cr); ++ ++ cairo_destroy (cr); + g_object_unref (tmp_pixbuf); + } + +@@ -827,37 +836,20 @@ theme_pixbuf_render (ThemePixbuf *theme_pb, + } + else + { +- GdkPixmap *tmp_pixmap; +- GdkGC *tmp_gc; +- GdkGCValues gc_values; +- +- tmp_pixmap = gdk_pixmap_new (window, +- pixbuf_width, +- pixbuf_height, +- -1); +- tmp_gc = gdk_gc_new (tmp_pixmap); +- gdk_draw_pixbuf (tmp_pixmap, tmp_gc, pixbuf, +- 0, 0, +- 0, 0, +- pixbuf_width, pixbuf_height, +- GDK_RGB_DITHER_NORMAL, +- 0, 0); +- g_object_unref (tmp_gc); +- +- gc_values.fill = GDK_TILED; +- gc_values.tile = tmp_pixmap; +- tmp_gc = gdk_gc_new_with_values (window, +- &gc_values, GDK_GC_FILL | GDK_GC_TILE); ++ cairo_t *cr = gdk_cairo_create (window); ++ ++ gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); ++ cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); ++ + if (clip_rect) +- gdk_draw_rectangle (window, tmp_gc, TRUE, +- clip_rect->x, clip_rect->y, clip_rect->width, clip_rect->height); ++ gdk_cairo_rectangle (cr, clip_rect); + else +- gdk_draw_rectangle (window, tmp_gc, TRUE, x, y, width, height); ++ cairo_rectangle (cr, x, y, width, height); + +- g_object_unref (tmp_gc); +- g_object_unref (tmp_pixmap); +- } +- } ++ cairo_fill (cr); + ++ cairo_destroy (cr); ++ } ++ } + g_object_unref(pixbuf); + } +-- +1.7.2.1 diff --git a/librsvg-gdkkeysym-compat.patch b/librsvg-gdkkeysym-compat.patch new file mode 100644 index 0000000..1fec2d1 --- /dev/null +++ b/librsvg-gdkkeysym-compat.patch @@ -0,0 +1,16 @@ +diff --git a/test-display.c b/test-display.c +index ff12945..9bead01 100644 +--- a/test-display.c ++++ b/test-display.c +@@ -29,7 +29,11 @@ + + #include + #include ++#if GTK_CHECK_VERSION(2,21,8) ++#include ++#else + #include ++#endif + + #define DEFAULT_WIDTH 640 + #define DEFAULT_HEIGHT 480 diff --git a/librsvg.changes b/librsvg.changes index 6ef4cf8..fb20c7f 100644 --- a/librsvg.changes +++ b/librsvg.changes @@ -1,32 +1,3 @@ -------------------------------------------------------------------- -Mon Oct 11 21:24:08 CEST 2010 - vuntz@opensuse.org - -- Add a Provides for librsvg to librsvg-2-2 in baselibs.conf, like - in the .spec file. -- Add missing Requires for gdk-pixbuf-query-loaders to - gdk-pixbuf-loader-rsvg in baselibs.conf. -- Add gtk2-engine-svg to baselibs.conf, since we want theme engines - to be bi-arch too. - -------------------------------------------------------------------- -Mon Oct 4 11:54:03 CEST 2010 - vuntz@opensuse.org - -- Fix librsvg-2-2 Provides/Obsoletes to work: they were using - %{name} instead of %{version} for the version. Fix bnc#642068. - -------------------------------------------------------------------- -Mon Sep 27 08:16:51 CEST 2010 - vuntz@opensuse.org - -- Update to version 2.32.0: - + Disable gtk3 build since it's currently broken. -- Drop librsvg-gdk-pixbuf-render-gtk3.patch and - librsvg-gdkkeysym-compat.patch: those patches are only needed for - gtk3 support, and the gtk3 support will be enabled upstream when - they will get fixed. -- Add build_gtk3_support define in .spec, to easily add back the - gtk3 support to the package. Right now, this means we lose the - gtk3-engine-svg subpackage. - ------------------------------------------------------------------- Sat Sep 18 17:12:53 CEST 2010 - vuntz@opensuse.org diff --git a/librsvg.spec b/librsvg.spec index 23c784d..b3d754a 100644 --- a/librsvg.spec +++ b/librsvg.spec @@ -1,5 +1,5 @@ # -# spec file for package librsvg (Version 2.32.0) +# spec file for package librsvg (Version 2.31.0) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -15,11 +15,12 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%define build_gtk3_support 0 +# norootforbuild + Name: librsvg -Version: 2.32.0 -Release: 1 +Version: 2.31.0 +Release: 3 License: GPLv2+ Summary: A Library for Rendering SVG Data Url: http://librsvg.sourceforge.net/ @@ -29,6 +30,10 @@ Source99: baselibs.conf # PATCH-FIX-OPENSUSE librsvg-gdk-pixbuf-query-loaders-64.patch vuntz@opensuse.org -- Fix check for gdk-pixbuf-query-loaders on 64bit systems Patch0: librsvg-gdk-pixbuf-query-loaders-64.patch Patch1: env-paths.diff +# PATCH-FIX-UPSTREAM librsvg-gdk-pixbuf-render-gtk3.patch bgo#626605 vuntz@opensuse.org -- Fix build with recent gtk+ 3. The patch is technically correct, but suboptimal; see comments in bugzilla. Still, okay for us as we don't use this engine by default. +Patch2: librsvg-gdk-pixbuf-render-gtk3.patch +# PATCH-FIX-UPSTREAM librsvg-gdkkeysym-compat.patch bgo#629881 vuntz@opensuse.org -- Fix build with recent versions of gtk+ +Patch3: librsvg-gdkkeysym-compat.patch BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) @@ -36,9 +41,7 @@ BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gtk+-2.0) -%if %{build_gtk3_support} BuildRequires: pkgconfig(gtk+-3.0) -%endif BuildRequires: pkgconfig(libcroco-0.6) BuildRequires: pkgconfig(libgsf-1) BuildRequires: pkgconfig(libxml-2.0) @@ -58,10 +61,10 @@ Summary: A Library for Rendering SVG Data Obsoletes: librsvg-64bit %endif # -Provides: librsvg2 = %{version} -Obsoletes: librsvg2 < %{version} -Provides: librsvg = %{version} -Obsoletes: librsvg < %{version} +Provides: librsvg2 = %{name} +Obsoletes: librsvg2 < %{name} +Provides: librsvg = %{name} +Obsoletes: librsvg < %{name} %description -n librsvg-2-2 This package contains a library to render SVG (scalable vector @@ -107,7 +110,6 @@ Group: System/Libraries %description -n gtk2-engine-svg This package provides a librsvg-based GTK+ 2 theme engine. -%if %{build_gtk3_support} %package -n gtk3-engine-svg License: LGPLv2.1+ Summary: SVG-based GTK+ 3 Theme Engine @@ -115,7 +117,6 @@ Group: System/Libraries %description -n gtk3-engine-svg This package provides a librsvg-based GTK+ 3 theme engine. -%endif %package -n rsvg-view License: LGPLv2.1+ @@ -136,6 +137,8 @@ http://www.w3c.org). touch aclocal.m4 %endif %patch1 +%patch2 -p1 +%patch3 -p1 %build %configure\ @@ -175,22 +178,18 @@ rm -rf $RPM_BUILD_ROOT %dir %{_datadir}/themes/bubble %{_datadir}/themes/bubble/gtk-2.0/ -%if %{build_gtk3_support} %files -n gtk3-engine-svg %defattr(-,root,root) %{_libdir}/gtk-3.0/*/engines/libsvg-3.so %dir %{_datadir}/themes/bubble %{_datadir}/themes/bubble/gtk-3.0/ -%endif %files -n rsvg-view %defattr(-,root,root) %{_bindir}/rsvg %{_bindir}/rsvg-convert %{_bindir}/rsvg-view -%if %{build_gtk3_support} %{_bindir}/rsvg-view-3 -%endif %{_datadir}/pixmaps/svg-viewer.svg %doc %{_mandir}/man?/rsvg.1*