- Add GTK3 port of the libraries

This commit is contained in:
Bastien Nocera 2010-06-11 13:13:30 +00:00
parent 661518f466
commit 5a8cec2544
3 changed files with 614 additions and 18 deletions

View File

@ -0,0 +1,43 @@
From 0cc1279c5033a30cb715735fab0af54813b11c45 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Fri, 11 Jun 2010 14:02:49 +0100
Subject: [PATCH] Fix compilation of GTK+ theme engine for GTK+ 3.0
->draw_string() has been removed in GTK+ 3.x.
---
gtk-engine/svg-draw.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/gtk-engine/svg-draw.c b/gtk-engine/svg-draw.c
index 3602a9b..8363546 100644
--- a/gtk-engine/svg-draw.c
+++ b/gtk-engine/svg-draw.c
@@ -583,6 +583,7 @@ draw_diamond (GtkStyle *style,
x, y, width, height);
}
+#if ! (GTK_CHECK_VERSION(2,90,0))
static void
draw_string (GtkStyle * style,
GdkWindow * window,
@@ -624,6 +625,7 @@ draw_string (GtkStyle * style,
gdk_gc_set_clip_rectangle(style->fg_gc[state], NULL);
}
}
+#endif /* ! (GTK_CHECK_VERSION(2,90,0)) */
static void
draw_box (GtkStyle *style,
@@ -1024,7 +1026,9 @@ rsvg_style_class_init (RsvgStyleClass *klass)
style_class->draw_shadow = draw_shadow;
style_class->draw_arrow = draw_arrow;
style_class->draw_diamond = draw_diamond;
+#if ! (GTK_CHECK_VERSION(2,90,0))
style_class->draw_string = draw_string;
+#endif
style_class->draw_box = draw_box;
style_class->draw_flat_box = draw_flat_box;
style_class->draw_check = draw_check;
--
1.7.0.1

477
gtk3-port.patch Normal file
View File

@ -0,0 +1,477 @@
diff -upr librsvg-2.26.3/configure.in librsvg-2.26.3.new/configure.in
--- librsvg-2.26.3/configure.in 2010-04-29 12:28:16.000000000 +0100
+++ librsvg-2.26.3.new/configure.in 2010-06-11 13:08:36.000000000 +0100
@@ -1,10 +1,23 @@
-AC_INIT(rsvg.h)
+m4_define([rsvg_major_version],[2])
+m4_define([rsvg_minor_version],[26])
+m4_define([rsvg_micro_version],[4])
+m4_define([rsvg_extra_version],[])
+m4_define([rsvg_version],[rsvg_major_version.rsvg_minor_version.rsvg_micro_version()rsvg_extra_version])
+m4_define([rsvg_lt_version_info],m4_eval(rsvg_major_version + rsvg_minor_version):rsvg_micro_version:rsvg_minor_version)
+
+AC_INIT([RSVG],[rsvg_version],[https://bugzilla.gnome.org/enter_bug.cgi?product=librsvg],[rsvg])
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_SRCDIR([rsvg.h])
+
+AM_INIT_AUTOMAKE([1.9 foreign no-dist-gzip dist-bzip2])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AM_MAINTAINER_MODE([enable])
+
dnl ===========================================================================
FONTCONFIG_REQUIRED=1.0.1 dnl Same as in Pango, ???
-GDK_PIXBUF_REQUIRED=1.3.7
GLIB_REQUIRED=2.12.0
GIO_REQUIRED=2.15.4
LIBXML_REQUIRED=2.4.7
@@ -12,34 +25,50 @@ CAIRO_REQUIRED=1.2.0
PANGOFT2_REQUIRED=1.2.0
PANGOCAIRO_REQUIRED=1.10.0
-AC_SUBST(GDK_PIXBUF_REQUIRED)
-AC_SUBST(GLIB_REQUIRED)
-AC_SUBST(GIO_REQUIRED)
-AC_SUBST(CAIRO_REQUIRED)
-AC_SUBST(LIBXML_REQUIRED)
-AC_SUBST(PANGOFT2_REQUIRED)
+# ===========================================================================
-dnl ===========================================================================
+AC_MSG_CHECKING([which gtk+ version to compile against])
+AC_ARG_WITH([gtk],
+ [AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
+ [case "$with_gtk" in
+ 2.0|3.0) ;;
+ *) AC_MSG_ERROR([invalid gtk version specified]) ;;
+ esac],
+ [with_gtk=2.0])
+AC_MSG_RESULT([$with_gtk])
+
+case "$with_gtk" in
+ 2.0) RSVG_API_VERSION=2.0
+ RSVG_API_MAJOR_VERSION=2
+ GTK_API_VERSION=2.0
+ GDK_PIXBUF_REQUIRED=1.3.7
+ GTK_REQUIRED=2.16.0
+ GTK_X11_REQUIRED=2.0.0
+ ;;
+ 3.0) RSVG_API_VERSION=3.0
+ RSVG_API_MAJOR_VERSION=3
+ GTK_API_VERSION=3.0
+ GDK_PIXBUF_REQUIRED=2.90.0
+ GTK_REQUIRED=2.90.0
+ GTK_X11_REQUIRED=2.90.0
+ ;;
+esac
-LIBRSVG_MAJOR_VERSION=2
-LIBRSVG_MINOR_VERSION=26
-LIBRSVG_MICRO_VERSION=3
-AC_SUBST(LIBRSVG_MAJOR_VERSION)
-AC_SUBST(LIBRSVG_MINOR_VERSION)
-AC_SUBST(LIBRSVG_MICRO_VERSION)
+AC_SUBST([RSVG_API_VERSION])
+AC_SUBST([RSVG_API_MAJOR_VERSION])
+AC_SUBST([GTK_API_VERSION])
-LIBRSVG_VERSION=$LIBRSVG_MAJOR_VERSION.$LIBRSVG_MINOR_VERSION.$LIBRSVG_MICRO_VERSION
+AC_SUBST([RSVG_LT_VERSION_INFO],[rsvg_lt_version_info])
+AC_SUBST([LIBRSVG_MAJOR_VERSION],[rsvg_major_version])
+AC_SUBST([LIBRSVG_MINOR_VERSION],[rsvg_minor_version])
+AC_SUBST([LIBRSVG_MICRO_VERSION],[rsvg_micro_version])
-VERSION_INFO=`expr $LIBRSVG_MAJOR_VERSION + $LIBRSVG_MINOR_VERSION`:$LIBRSVG_MICRO_VERSION:$LIBRSVG_MINOR_VERSION
-AC_SUBST(VERSION_INFO)
+AM_CONDITIONAL([GTK_API_VERSION_2],[test "$GTK_API_VERSION" = "2.0"])
+AM_CONDITIONAL([GTK_API_VERSION_3],[test "$GTK_API_VERSION" = "3.0"])
dnl ===========================================================================
-AM_INIT_AUTOMAKE(librsvg, $LIBRSVG_VERSION)
-AM_CONFIG_HEADER(config.h)
-
-AM_MAINTAINER_MODE
-
+AC_PROG_LN_S
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
@@ -91,7 +120,7 @@ GLIB_MKENUMS=`$PKG_CONFIG --variable=gli
AC_SUBST(GLIB_MKENUMS)
PKG_CHECK_MODULES(LIBRSVG, \
- gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED \
+ gdk-pixbuf-$GTK_API_VERSION >= $GDK_PIXBUF_REQUIRED \
glib-2.0 >= $GLIB_REQUIRED \
libxml-2.0 >= $LIBXML_REQUIRED \
pangoft2 >= $PANGOFT2_REQUIRED \
@@ -216,20 +245,20 @@ else
fi
have_gtk=no
-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16.0, have_gtk=yes,
+PKG_CHECK_MODULES(GTK, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED, have_gtk=yes,
have_gtk=no)
GTK_VERSION=
if test "x$have_gtk" = "xyes"; then
- GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
+ GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-$GTK_API_VERSION`
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
-AC_SUBST(GTK_VERSION)
+AC_SUBST(GTK_BINARY_VERSION)
AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
have_gdk_x11=no
-PKG_CHECK_MODULES(GDK_X11, gdk-x11-2.0 >= 2.0.0, have_gdk_x11=yes, have_gdk_x11=no)
+PKG_CHECK_MODULES(GDK_X11, gdk-x11-$GTK_API_VERSION >= $GTK_X11_REQUIRED, have_gdk_x11=yes, have_gdk_x11=no)
if test "x$have_gdk_x11" = "xyes"; then
AC_PATH_XTRA
@@ -259,14 +288,17 @@ fi
AM_CONDITIONAL(ENABLE_GTK_ENGINE, test "x$enable_gtk_theme" = "xyes")
-AC_PATH_PROG(QUERYLOADERS, gdk-pixbuf-query-loaders, true)
+case "$with_gtk" in
+ 2.0) AC_PATH_PROG([GDK_PIXBUF_QUERYLOADERS],[gdk-pixbuf-query-loaders],[true]) ;;
+ 3.0) AC_PATH_PROG([GDK_PIXBUF_QUERYLOADERS],[gdk-pixbuf-query-loaders-3],[true]) ;;
+esac
AC_ARG_ENABLE(pixbuf-loader,
[ --enable-pixbuf-loader Enable a RSVG based GdkPixbuf loader [default=auto]],
enable_pixbuf_loader="$enableval", enable_pixbuf_loader=auto)
if test "x$enable_pixbuf_loader" = xauto ; then
- if test x$QUERYLOADERS != x ; then
+ if test "x$GDK_PIXBUF_QUERYLOADERS" != x ; then
enable_pixbuf_loader=yes
else
enable_pixbuf_loader=no
@@ -325,15 +357,11 @@ AC_CONFIG_FILES([
librsvg.spec
librsvg-features.h
Makefile
-librsvg-2.0.pc
-librsvg-2.0-uninstalled.pc
librsvg-zip
-rsvg
data/Makefile
gtk-engine/Makefile
gtk-engine/examples/Makefile
gtk-engine/examples/bubble/Makefile
-gtk-engine/examples/bubble/gtk-2.0/Makefile
gdk-pixbuf-loader/Makefile
tests/Makefile
tests/pdiff/Makefile
@@ -341,11 +369,18 @@ tools/Makefile
doc/Makefile
])
+AC_CONFIG_FILES([librsvg-${RSVG_API_VERSION}.pc:librsvg.pc.in],[RSVG_API_VERSION=$RSVG_API_VERSION])
+AC_CONFIG_FILES([librsvg-${RSVG_API_VERSION}-uninstalled.pc:librsvg-uninstalled.pc.in],[RSVG_API_VERSION=$RSVG_API_VERSION])
+
+if test "$with_gtk" = "2.0"; then
+ AC_CONFIG_FILES([rsvg])
+fi
+
AC_OUTPUT
dnl =============================================================================================
echo "
-librsvg-$LIBRSVG_VERSION
+librsvg-$VERSION for gtk+-$GTK_API_VERSION
prefix: ${prefix}
compiler: ${CC}
diff -upr librsvg-2.26.3/doc/Makefile.am librsvg-2.26.3.new/doc/Makefile.am
--- librsvg-2.26.3/doc/Makefile.am 2010-04-14 04:31:39.000000000 +0100
+++ librsvg-2.26.3.new/doc/Makefile.am 2010-06-11 13:05:42.000000000 +0100
@@ -3,6 +3,9 @@
# The name of the module.
DOC_MODULE=rsvg
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+DOC_MODULE_VERSION = $(RSVG_API_VERSION)
+
# The top-level SGML file.
DOC_MAIN_SGML_FILE=rsvg-docs.sgml
@@ -57,7 +60,7 @@ extra_files=
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = -I$(top_srcdir) $(LIBRSVG_CFLAGS)
-GTKDOC_LIBS = $(top_builddir)/librsvg-2.la $(LIBRSVG_LIBS)
+GTKDOC_LIBS = $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la $(LIBRSVG_LIBS)
if GTK_DOC_INSTALLED
include $(top_srcdir)/gtk-doc.make
diff -upr librsvg-2.26.3/gdk-pixbuf-loader/Makefile.am librsvg-2.26.3.new/gdk-pixbuf-loader/Makefile.am
--- librsvg-2.26.3/gdk-pixbuf-loader/Makefile.am 2010-04-14 04:31:39.000000000 +0100
+++ librsvg-2.26.3.new/gdk-pixbuf-loader/Makefile.am 2010-06-11 13:05:42.000000000 +0100
@@ -1,5 +1,4 @@
-
-loaderdir = $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders
+loaderdir = $(libdir)/gtk-$(GTK_API_VERSION)/$(GTK_BINARY_VERSION)/loaders
if PLATFORM_WIN32
no_undefined = -no-undefined
@@ -21,7 +20,7 @@ endif
svg_loader_la_SOURCES = io-svg.c
svg_loader_la_LDFLAGS = -avoid-version -module $(no_undefined)
svg_loader_la_LIBADD = \
- $(top_builddir)/librsvg-2.la \
+ $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la \
$(LIBRSVG_LIBS) \
$(LIBGSF_LIBS) $(LIBCROCO_LIBS)
@@ -29,7 +28,7 @@ loader_LTLIBRARIES = $(target_pixbuf_loa
install-data-hook:
if [ -z "$(DESTDIR)" ] ; then \
- $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \
- $(QUERYLOADERS) > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \
+ $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-$(GTK_API_VERSION) ; \
+ $(GDK_PIXBUF_QUERYLOADERS) > $(DESTDIR)$(sysconfdir)/gtk-$(GTK_API_VERSION)/gdk-pixbuf.loaders ; \
fi
diff -upr librsvg-2.26.3/gtk-engine/examples/bubble/Makefile.am librsvg-2.26.3.new/gtk-engine/examples/bubble/Makefile.am
--- librsvg-2.26.3/gtk-engine/examples/bubble/Makefile.am 2010-03-19 00:06:24.000000000 +0000
+++ librsvg-2.26.3.new/gtk-engine/examples/bubble/Makefile.am 2010-06-11 13:05:42.000000000 +0100
@@ -1,4 +1,12 @@
-SUBDIRS=gtk-2.0
+themedir = $(datadir)/themes/bubble/gtk-$(GTK_API_VERSION)
+theme_DATA = \
+ gtkrc \
+ blue.svg \
+ green.svg \
+ orange.svg \
+ purple.svg \
+ red.svg
-themedir = $(datadir)/themes/bubble
-theme_DATA = README
+EXTRA_DIST = \
+ $(theme_DATA) \
+ README
diff -upr librsvg-2.26.3/gtk-engine/Makefile.am librsvg-2.26.3.new/gtk-engine/Makefile.am
--- librsvg-2.26.3/gtk-engine/Makefile.am 2010-04-14 04:31:39.000000000 +0100
+++ librsvg-2.26.3.new/gtk-engine/Makefile.am 2010-06-11 13:05:42.000000000 +0100
@@ -6,7 +6,7 @@ endif
INCLUDES = -I$(top_srcdir) $(GTK_CFLAGS) $(LIBGSF_CFLAGS) $(LIBCROCO_CFLAGS) $(LIBRSVG_CFLAGS)
-enginedir = $(libdir)/gtk-2.0/$(GTK_VERSION)/engines
+enginedir = $(libdir)/gtk-$(GTK_API_VERSION)/$(GTK_BINARY_VERSION)/engines
themedir = $(datadir)/themes
if ENABLE_GTK_ENGINE
@@ -29,6 +29,6 @@ libsvg_la_SOURCES = \
svg.h
libsvg_la_LDFLAGS = -avoid-version -module $(no_undefined)
-libsvg_la_LIBADD = $(top_builddir)/librsvg-2.la $(GTK_LIBS) $(LIBRSVG_LIBS) $(LIBCROCO_LIBS)
+libsvg_la_LIBADD = $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la $(GTK_LIBS) $(LIBRSVG_LIBS) $(LIBCROCO_LIBS)
EXTRA_DIST = $(libsvg_la_SOURCES)
diff -upr librsvg-2.26.3/Makefile.am librsvg-2.26.3.new/Makefile.am
--- librsvg-2.26.3/Makefile.am 2010-04-30 12:45:33.000000000 +0100
+++ librsvg-2.26.3.new/Makefile.am 2010-06-11 13:05:42.000000000 +0100
@@ -1,15 +1,11 @@
-if HAVE_GTK
-target_rsvg_view = rsvg-view
-else
-target_rsvg_view =
-endif
-
SUBDIRS = . gdk-pixbuf-loader gtk-engine data tests tools doc
-lib_LTLIBRARIES = librsvg-2.la
-bin_PROGRAMS = rsvg-convert $(target_rsvg_view)
+lib_LTLIBRARIES = librsvg-@RSVG_API_MAJOR_VERSION@.la
-man_MANS = rsvg.1
+bin_PROGRAMS = rsvg-convert-@RSVG_API_MAJOR_VERSION@
+if HAVE_GTK
+bin_PROGRAMS += rsvg-view-@RSVG_API_MAJOR_VERSION@
+endif
if OS_WIN32
else
@@ -24,7 +20,7 @@ enum_sources = \
librsvg-enum-types.h \
librsvg-enum-types.c
-librsvg_2_la_SOURCES = \
+librsvg_@RSVG_API_MAJOR_VERSION@_la_SOURCES = \
rsvg-affine.c \
librsvg-features.c \
rsvg-bpath-util.c \
@@ -68,10 +64,10 @@ librsvg_2_la_SOURCES = \
rsvg-gobject.c \
rsvg-file-util.c
-librsvg_2_la_LDFLAGS = -version-info @VERSION_INFO@ -export-dynamic -no-undefined -export-symbols $(srcdir)/librsvg.def
-librsvg_2_la_LIBADD = $(LIBGSF_LIBS) $(LIBCROCO_LIBS) $(LIBRSVG_LIBS) -lm
+librsvg_@RSVG_API_MAJOR_VERSION@_la_LDFLAGS = -version-info @RSVG_LT_VERSION_INFO@ -export-dynamic -no-undefined -export-symbols $(srcdir)/librsvg.def
+librsvg_@RSVG_API_MAJOR_VERSION@_la_LIBADD = $(LIBGSF_LIBS) $(LIBCROCO_LIBS) $(LIBRSVG_LIBS) -lm
-librsvgincdir = $(includedir)/librsvg-2/librsvg
+librsvgincdir = $(includedir)/librsvg-$(RSVG_API_VERSION)/librsvg
librsvginc_HEADERS = \
$(headers) \
librsvg-features.h \
@@ -88,26 +84,29 @@ INCLUDES = \
-DG_LOG_DOMAIN=\"librsvg\" \
-DLIBRSVG_DATADIR="\"$(datadir)\""
-DEPS = $(top_builddir)/librsvg-2.la
+DEPS = $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la
LDADDS = \
$(LIBGSF_LIBS) \
$(GLIB_LIBS) \
$(LIBCROCO_LIBS) \
$(LIBRSVG_LIBS) \
- $(top_builddir)/librsvg-2.la
+ $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la
-bin_SCRIPTS=rsvg
+if GTK_API_VERSION_2
+nodist_bin_SCRIPTS = rsvg
+man_MANS = rsvg.1
+endif
-rsvg_convert_SOURCES=rsvg-convert.c
-rsvg_convert_LDFLAGS =
-rsvg_convert_DEPENDENCIES = $(DEPS)
-rsvg_convert_LDADD = $(LDADDS) $(libm)
+rsvg_convert_@RSVG_API_MAJOR_VERSION@_SOURCES=rsvg-convert.c
+rsvg_convert_@RSVG_API_MAJOR_VERSION@_LDFLAGS =
+rsvg_convert_@RSVG_API_MAJOR_VERSION@_DEPENDENCIES = $(DEPS)
+rsvg_convert_@RSVG_API_MAJOR_VERSION@_LDADD = $(LDADDS) $(libm)
-rsvg_view_SOURCES = \
+rsvg_view_@RSVG_API_MAJOR_VERSION@_SOURCES = \
test-display.c
-rsvg_view_LDFLAGS =
-rsvg_view_DEPENDENCIES = $(DEPS)
-rsvg_view_LDADD = $(GTK_LIBS) $(GDK_X11_LIBS) $(libm) $(LDADDS)
+rsvg_view_@RSVG_API_MAJOR_VERSION@_LDFLAGS =
+rsvg_view_@RSVG_API_MAJOR_VERSION@_DEPENDENCIES = $(DEPS)
+rsvg_view_@RSVG_API_MAJOR_VERSION@_LDADD = $(GTK_LIBS) $(GDK_X11_LIBS) $(libm) $(LDADDS)
EXTRA_DIST = \
MAINTAINERS \
@@ -116,13 +115,10 @@ EXTRA_DIST = \
TODO \
COPYING.LIB \
librsvg.spec.in \
- librsvg-2.0.pc.in \
- librsvg-2.0-uninstalled.pc.in \
librsvg-zip.in \
rsvg.in \
librsvg.def \
$(man_MANS) \
- $(rsvg_view_SOURCES) \
gtk-doc.make
CLEANFILES = \
@@ -133,7 +129,7 @@ CLEANFILES = \
## `install-exec', not `install-data'.
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = librsvg-2.0.pc
+pkgconfig_DATA = librsvg-$(RSVG_API_VERSION).pc
dist-hook: librsvg.spec
cp librsvg.spec $(distdir)
@@ -142,7 +138,7 @@ librsvg-enum-types.h: s-enum-types-h
@true
s-enum-types-h: $(headers) Makefile
- ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
--fhead "#ifndef __LIBRSVG_ENUM_TYPES_H__\n#define __LIBRSVG_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void);\n#define RSVG_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
@@ -156,7 +152,7 @@ librsvg-enum-types.c: s-enum-types-c lib
@true
s-enum-types-c: $(headers) Makefile
- ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
--fhead "#include \"librsvg-enum-types.h\"\n#include \"rsvg.h\"" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
@@ -168,3 +164,9 @@ s-enum-types-c: $(headers) Makefile
&& echo timestamp > $(@F)
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+
+if GTK_API_VERSION_2
+install-exec-hook:
+ (cd $(DESTDIR)$(bindir) && $(LN_S) rsvg-convert-2 rsvg-convert)
+ (cd $(DESTDIR)$(bindir) && $(LN_S) rsvg-view-2 rsvg-view)
+endif
diff -upr librsvg-2.26.3/tests/Makefile.am librsvg-2.26.3.new/tests/Makefile.am
--- librsvg-2.26.3/tests/Makefile.am 2010-05-01 02:15:48.000000000 +0100
+++ librsvg-2.26.3.new/tests/Makefile.am 2010-06-11 13:05:49.000000000 +0100
@@ -8,7 +8,7 @@ TESTS = \
noinst_LTLIBRARIES = \
libtest-utils.la
-LDADD = $(top_builddir)/librsvg-2.la \
+LDADD = $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la \
$(top_builddir)/tests/libtest-utils.la \
$(top_builddir)/tests/pdiff/libpdiff.la
diff -upr librsvg-2.26.3/tools/Makefile.am librsvg-2.26.3.new/tools/Makefile.am
--- librsvg-2.26.3/tools/Makefile.am 2010-04-29 12:28:16.000000000 +0100
+++ librsvg-2.26.3.new/tools/Makefile.am 2010-06-11 13:06:52.000000000 +0100
@@ -13,13 +13,13 @@ INCLUDES = \
-DG_LOG_DOMAIN=\"librsvg\" \
-DLIBRSVG_DATADIR="\"$(datadir)\""
-DEPS = $(top_builddir)/librsvg-2.la
+DEPS = $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la
LDADDS = \
$(LIBGSF_LIBS) \
$(GLIB_LIBS) \
$(LIBCROCO_LIBS) \
$(LIBRSVG_LIBS) \
- $(top_builddir)/librsvg-2.la
+ $(top_builddir)/librsvg-@RSVG_API_MAJOR_VERSION@.la
test_performance_SOURCES = test-performance.c
test_performance_LDFLAGS =
diff -upr a/librsvg-2.0.pc.in b/librsvg-2.0.pc.in
--- a/librsvg-2.0.pc.in 2010-04-29 12:28:16.000000000 +0100
+++ b/librsvg-2.0.pc.in 2010-06-11 13:06:52.000000000 +0100
@@ -9,7 +9,7 @@ css_supported=@CSS_SUPPORTED@
Name: librsvg
Description: library that renders svg files
Version: @VERSION@
-Requires: glib-2.0 gdk-pixbuf-2.0 cairo
+Requires: glib-2.0 gdk-pixbuf-@GTK_API_VERSION@ cairo
Requires.private:
-Libs: -L${libdir} -lrsvg-2 -lm
-Cflags: -I${includedir}/librsvg-2
+Libs: -L${libdir} -lrsvg-@RSVG_API_MAJOR_VERSION@ -lm
+Cflags: -I${includedir}/librsvg-@RSVG_API_VERSION@
diff --git a/librsvg-2.0-uninstalled.pc.in b/librsvg-2.0-uninstalled.pc.in
--- a/librsvg-2.0-uninstalled.pc.in
+++ b/librsvg-2.0-uninstalled.pc.in
@@ -9,6 +9,6 @@ css_supported=@CSS_SUPPORTED@
Name: librsvg
Description: library that renders svg files
Version: @VERSION@
-Requires: glib-2.0 gdk-pixbuf-2.0
-Libs: ${pc_top_builddir}/${pcfiledir}/librsvg-2.la
+Requires: glib-2.0 gdk-pixbuf-@GTK_API_VERSION@
+Libs: ${pc_top_builddir}/${pcfiledir}/librsvg-@RSVG_API_MAJOR_VERSION@.la
Cflags: -I${pc_top_builddir}/${pcfiledir}

View File

@ -2,6 +2,7 @@
%define libxml2_version 2.4.12 %define libxml2_version 2.4.12
%define gtk2_version 2.9.0 %define gtk2_version 2.9.0
%define gtk3_version 2.90.0
%define glib2_version 2.15.4 %define glib2_version 2.15.4
%define freetype_version 2.0.1 %define freetype_version 2.0.1
%define cairo_version 1.1.2 %define cairo_version 1.1.2
@ -13,7 +14,7 @@
Name: librsvg2 Name: librsvg2
Summary: An SVG library based on cairo Summary: An SVG library based on cairo
Version: 2.26.3 Version: 2.26.3
Release: 1%{?dist} Release: 2%{?dist}
License: LGPLv2+ License: LGPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
@ -40,6 +41,11 @@ BuildRequires: libgsf-devel >= %{libgsf_version}
# grr, librsvg does not install api docs if --disable-gtk-doc # grr, librsvg does not install api docs if --disable-gtk-doc
BuildRequires: gtk-doc BuildRequires: gtk-doc
# https://bugzilla.gnome.org/show_bug.cgi?id=618475
BuildRequires: automake autoconf libtool intltool gnome-common
Patch0: gtk3-port.patch
Patch1: 0001-Fix-compilation-of-GTK-theme-engine-for-GTK-3.0.patch
%description %description
An SVG library based on cairo. An SVG library based on cairo.
@ -59,29 +65,83 @@ Requires: pkgconfig
This package provides the necessary development libraries and include This package provides the necessary development libraries and include
files to allow you to develop with librsvg. files to allow you to develop with librsvg.
%package -n librsvg3
Summary: An SVG library based on cairo
Group: Development/Libraries
Requires: gtk3 >= %{gtk3_version}
Requires: libxml2 >= %{libxml2_version}
Requires: freetype >= %{freetype_version}
Requires: cairo >= %{cairo_version}
Requires: libgsf >= %{libgsf_version}
Requires(post): gtk3 >= %{gtk3_version}
Requires(postun): gtk3 >= %{gtk3_version}
%description -n librsvg3
An SVG library based on cairo. This version is linked against
libraries from the GTK+ 3.x series.
%package -n librsvg3-devel
Summary: Libraries and include files for developing with librsvg3
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: gtk3-devel >= %{gtk2_version}
Requires: libxml2-devel >= %{libxml2_version}
Requires: freetype-devel >= %{freetype_version}
Requires: libgsf-devel >= %{libgsf_version}
Requires: libcroco-devel >= %{libcroco_version}
Requires: pkgconfig
%description -n librsvg3-devel
This package provides the necessary development libraries and include
files to allow you to develop with librsvg3.
%prep %prep
%setup -q -n librsvg-%{version} %setup -q -n librsvg-%{version} -c
pushd librsvg-%{version}
%patch0 -p1 -b .gtk3
%patch1 -p1 -b .gtk3-build
mv librsvg-2.0.pc.in librsvg.pc.in
mv librsvg-2.0-uninstalled.pc.in librsvg-uninstalled.pc.in
popd
cp -a librsvg-%{version} gtk3
mv librsvg-%{version} gtk2
%build %build
pushd gtk2
libtoolize -f
autoreconf -f
%configure --with-svgz \ %configure --with-svgz \
--disable-gtk-doc \ --disable-gtk-doc \
--enable-gtk-theme \ --enable-gtk-theme \
--with-croco \ --with-croco \
--with-gtk=2.0
make make %{?_smp_mflags}
popd
pushd gtk3
libtoolize -f
autoreconf -f
%configure --with-svgz \
--disable-gtk-doc \
--enable-gtk-theme \
--with-croco \
--with-gtk=3.0
make %{?_smp_mflags}
popd
%install %install
rm -rf $RPM_BUILD_ROOT pushd gtk3
make install DESTDIR=$RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la popd
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a pushd gtk2
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/engines/libsvg.a make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/engines/libsvg.la popd
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/loaders/svg_loader.a rm -f $RPM_BUILD_ROOT%{_libdir}/*.{a,la}
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/loaders/svg_loader.la rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-?.0/*/{engines,loaders}/*.{a,la}
rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/libmozsvgdec.a rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/
rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/libmozsvgdec.la
rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/libmozsvgdec.so
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders rm -f $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
rm -f $RPM_BUILD_ROOT%{_datadir}/pixmaps/svg-viewer.svg rm -f $RPM_BUILD_ROOT%{_datadir}/pixmaps/svg-viewer.svg
@ -98,8 +158,8 @@ rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-, root, root) %defattr(-, root, root)
%doc AUTHORS COPYING COPYING.LIB NEWS README %doc gtk2/AUTHORS gtk2/COPYING gtk2/COPYING.LIB gtk2/NEWS gtk2/README
%{_libdir}/*.so.* %{_libdir}/librsvg-2.so.*
%{_libdir}/gtk-2.0/*/engines/libsvg.so %{_libdir}/gtk-2.0/*/engines/libsvg.so
%{_libdir}/gtk-2.0/*/loaders/svg_loader.so %{_libdir}/gtk-2.0/*/loaders/svg_loader.so
%{_bindir}/rsvg %{_bindir}/rsvg
@ -109,12 +169,28 @@ rm -rf $RPM_BUILD_ROOT
%files devel %files devel
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/*.so %{_libdir}/librsvg-2.so
%{_includedir}/librsvg-2 %{_includedir}/librsvg-2.0
%{_libdir}/pkgconfig/librsvg-2.0.pc %{_libdir}/pkgconfig/librsvg-2.0.pc
%doc %{_datadir}/gtk-doc/html/rsvg %doc %{_datadir}/gtk-doc/html/rsvg-2.0
%files -n librsvg3
%defattr(-, root, root)
%{_libdir}/librsvg-3.so.*
%{_libdir}/gtk-3.0/*/engines/libsvg.so
%{_libdir}/gtk-3.0/*/loaders/svg_loader.so
%files -n librsvg3-devel
%defattr(-, root, root)
%{_libdir}/librsvg-3.so
%{_includedir}/librsvg-3.0
%{_libdir}/pkgconfig/librsvg-3.0.pc
%doc %{_datadir}/gtk-doc/html/rsvg-3.0
%changelog %changelog
* Fri Jun 11 2010 Bastien Nocera <bnocera@redhat.com> 2.26.3-2
- Add GTK3 port of the libraries
* Sat May 1 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.3-1 * Sat May 1 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.3-1
- Update to 2.26.3 - Update to 2.26.3