1
0
forked from ports/contrib

inkscape: 0.48.4 -> 0.48.5 now uses lcms2

This commit is contained in:
Danny Rawlins 2014-08-22 18:48:39 +10:00
parent 3d1b2b2221
commit 957da45644
13 changed files with 69 additions and 379 deletions

View File

@ -33,7 +33,6 @@ drwxr-xr-x root/root usr/share/inkscape/
drwxr-xr-x root/root usr/share/inkscape/clipart/
-rw-r--r-- root/root usr/share/inkscape/clipart/draw-freely.ru.svg
-rw-r--r-- root/root usr/share/inkscape/clipart/draw-freely.svg
-rw-r--r-- root/root usr/share/inkscape/clipart/inkscape.logo.svg
-rw-r--r-- root/root usr/share/inkscape/clipart/orav.svg
-rw-r--r-- root/root usr/share/inkscape/clipart/tux.svg
drwxr-xr-x root/root usr/share/inkscape/examples/

View File

@ -1,9 +1,2 @@
55b040d5e19cb9d58d3d5e975d9f5bac inkscape-0.48.0-spell.patch
c39ce62a9808ef4128f9766574fabb83 inkscape-0.48.3.1-desktop.patch
b0d0907c7b7673f0e6d6de6f30899bc6 inkscape-0.48.4-automake-1.13.patch
e35111b11fede1922869a5518bd16aea inkscape-0.48.4-fix-member-decl.patch
a05f3be80d68d57d5193120ac94e69c5 inkscape-0.48.4-freetype251.patch
9297a94fa1a076c34713d4585989d601 inkscape-0.48.4-gc74-configure.patch
19c6ba7677067a5d8cc20a4baa137be3 inkscape-0.48.4-gc74.patch
07971e05886f55b9e36eb254e57fcbdf inkscape-0.48.4-poppler26.patch
47bd8546e42ba396624eef9eb66b9b6c inkscape-0.48.4.tar.bz2
41cc3733b16dd6e1e30afd099c994e24 ime-placement.patch
431cda5cd40cd4fdf2b89db1bdcce61f inkscape-0.48.5.tar.bz2

View File

@ -2,32 +2,18 @@
# URL: http://www.inkscape.org
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Huynh Ngoc Chau Tran, tran dot huynh at laposte dot net
# Depends on: boehm-gc boost gsl gtkmm intltool lcms libart_lgpl popt
# Depends on: boehm-gc boost gsl gtkmm intltool lcms2 libart_lgpl popt
name=inkscape
version=0.48.4
release=2
version=0.48.5
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2
$name-0.48.0-spell.patch
$name-0.48.3.1-desktop.patch
$name-0.48.4-fix-member-decl.patch
$name-0.48.4-automake-1.13.patch
$name-$version-gc74-configure.patch
$name-$version-gc74.patch
$name-$version-freetype251.patch
$name-$version-poppler26.patch)
ime-placement.patch)
build() {
cd $name-$version
patch -p1 -i $SRC/$name-0.48.0-spell.patch
patch -p1 -i $SRC/$name-0.48.3.1-desktop.patch
patch -p1 -i $SRC/$name-0.48.4-fix-member-decl.patch
patch -p1 -i $SRC/$name-0.48.4-automake-1.13.patch
patch -p1 -i $SRC/$name-$version-gc74-configure.patch
patch -p1 -i $SRC/$name-$version-gc74.patch
patch -p0 -i $SRC/$name-$version-freetype251.patch
patch -p1 -i $SRC/$name-$version-poppler26.patch
patch -p1 -i $SRC/ime-placement.patch
./configure \
--prefix=/usr \

View File

@ -0,0 +1,62 @@
diff -aur old/src/text-context.cpp new/src/text-context.cpp
--- old/src/text-context.cpp 2011-07-08 08:25:09.468790000 -1000
+++ new/src/text-context.cpp 2014-04-21 14:48:22.668759004 -1000
@@ -684,6 +684,17 @@
// articifically here, for the text object does not exist yet:
double cursor_height = sp_desktop_get_font_size_tool(desktop);
sp_ctrlline_set_coords(SP_CTRLLINE(tc->cursor), dtp, dtp + Geom::Point(0, cursor_height));
+ if (tc->imc) {
+ GdkRectangle im_cursor;
+ Geom::Point const top_left = SP_EVENT_CONTEXT(tc)->desktop->get_display_area().corner(3);
+ Geom::Point const cursor_size(0, cursor_height);
+ Geom::Point const im_position = SP_EVENT_CONTEXT(tc)->desktop->d2w(dtp + cursor_size - top_left);
+ im_cursor.x = (int) floor(im_position[Geom::X]);
+ im_cursor.y = (int) floor(im_position[Geom::Y]);
+ im_cursor.width = 0;
+ im_cursor.height = (int) -floor(SP_EVENT_CONTEXT(tc)->desktop->d2w(cursor_size)[Geom::Y]);
+ gtk_im_context_set_cursor_location(tc->imc, &im_cursor);
+ }
event_context->_message_context->set(Inkscape::NORMAL_MESSAGE, _("Type text; <b>Enter</b> to start new line.")); // FIXME:: this is a copy of a string from _update_cursor below, do not desync
event_context->within_tolerance = false;
@@ -1560,8 +1571,6 @@
static void
sp_text_context_update_cursor(SPTextContext *tc, bool scroll_to_see)
{
- GdkRectangle im_cursor = { 0, 0, 1, 1 };
-
// due to interruptible display, tc may already be destroyed during a display update before
// the cursor update (can't do both atomically, alas)
if (!tc->desktop) return;
@@ -1586,10 +1595,17 @@
sp_ctrlline_set_coords(SP_CTRLLINE(tc->cursor), d0, d1);
/* fixme: ... need another transformation to get canvas widget coordinate space? */
- im_cursor.x = (int) floor(d0[Geom::X]);
- im_cursor.y = (int) floor(d0[Geom::Y]);
- im_cursor.width = (int) floor(d1[Geom::X]) - im_cursor.x;
- im_cursor.height = (int) floor(d1[Geom::Y]) - im_cursor.y;
+ if (tc->imc) {
+ GdkRectangle im_cursor = { 0, 0, 1, 1 };
+ Geom::Point const top_left = SP_EVENT_CONTEXT(tc)->desktop->get_display_area().corner(3);
+ Geom::Point const im_d0 = SP_EVENT_CONTEXT(tc)->desktop->d2w(d0 - top_left);
+ Geom::Point const im_d1 = SP_EVENT_CONTEXT(tc)->desktop->d2w(d1 - top_left);
+ im_cursor.x = (int) floor(im_d0[Geom::X]);
+ im_cursor.y = (int) floor(im_d1[Geom::Y]);
+ im_cursor.width = (int) floor(im_d1[Geom::X]) - im_cursor.x;
+ im_cursor.height = (int) floor(im_d0[Geom::Y]) - im_cursor.y;
+ gtk_im_context_set_cursor_location(tc->imc, &im_cursor);
+ }
tc->show = TRUE;
tc->phase = 1;
@@ -1631,9 +1647,6 @@
}
}
- if (tc->imc) {
- gtk_im_context_set_cursor_location(tc->imc, &im_cursor);
- }
SP_EVENT_CONTEXT(tc)->desktop->emitToolSubselectionChanged((gpointer)tc);
}

View File

@ -1,45 +0,0 @@
--- inkscape-0.48.0/configure.ac.orig 2010-10-26 21:22:06.000000000 +0200
+++ inkscape-0.48.0/configure.ac 2010-10-26 21:33:39.000000000 +0200
@@ -433,10 +433,15 @@
fi
AM_CONDITIONAL(INKJAR, test "$with_ij" = "yes")
+AC_ARG_WITH([gtkspell],
+ AS_HELP_STRING([--without-gtkspell], [disable gtk spelling widget]),[with_gtkspell=$withval], [with_gtkspell=yes])
+
ink_spell_pkg=
-if pkg-config --exists gtkspell-2.0; then
- ink_spell_pkg=gtkspell-2.0
- AC_DEFINE(WITH_GTKSPELL, 1, [enable gtk spelling widget])
+if test "x$with_gtkspell" = "xyes"; then
+ if pkg-config --exists gtkspell-2.0; then
+ ink_spell_pkg=gtkspell-2.0
+ AC_DEFINE(WITH_GTKSPELL, 1, [enable gtk spelling widget])
+ fi
fi
dnl ******************************
@@ -758,12 +763,17 @@
dnl **************************
dnl Check for aspell
dnl ******************************
-AC_CHECK_LIB(aspell, new_aspell_config, [AC_CHECK_HEADER(aspell.h, aspell_ok=yes, aspell_ok=no)], aspell_ok=no, -lz -lm)
-if test "x$aspell_ok" = "xyes"; then
- AC_DEFINE(HAVE_ASPELL, 1, [Use aspell for built-in spellchecker])
- INKSCAPE_LIBS="$INKSCAPE_LIBS -laspell"
-else
- AC_MSG_CHECKING([Aspell not found, spell checker will be disabled])
+AC_ARG_WITH([aspell],
+ AS_HELP_STRING([--without-aspell], [disable aspell spell checker]),[with_aspell=$withval], [with_aspell=yes])
+
+if test "x$with_aspell" = "xyes"; then
+ AC_CHECK_LIB(aspell, new_aspell_config, [AC_CHECK_HEADER(aspell.h, aspell_ok=yes, aspell_ok=no)], aspell_ok=no, -lz -lm)
+ if test "x$aspell_ok" = "xyes"; then
+ AC_DEFINE(HAVE_ASPELL, 1, [Use aspell for built-in spellchecker])
+ INKSCAPE_LIBS="$INKSCAPE_LIBS -laspell"
+ else
+ AC_MSG_CHECKING([Aspell not found, spell checker will be disabled])
+ fi
fi
dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.

View File

@ -1,40 +0,0 @@
--- inkscape-0.48.1/src/extension/internal/pdfinput/svg-builder.cpp
+++ inkscape-0.48.1-mod//src/extension/internal/pdfinput/svg-builder.cpp
@@ -1443,7 +1443,7 @@
return NULL;
}
// Set error handler
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return NULL;
}
--- inkscape-0.48.1/src/helper/png-write.cpp
+++ inkscape-0.48.1-mod//src/helper/png-write.cpp
@@ -165,7 +165,7 @@
/* Set error handling. REQUIRED if you aren't supplying your own
* error hadnling functions in the png_create_write_struct() call.
*/
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
/* If we get here, we had a problem reading the file */
fclose(fp);
png_destroy_write_struct(&png_ptr, &info_ptr);
--- inkscape-0.48.1/src/sp-image.cpp
+++ inkscape-0.48.1-mod//src/sp-image.cpp
@@ -386,9 +386,13 @@
#if defined(PNG_iCCP_SUPPORTED)
{
- char* name = 0;
+ png_charp name = 0;
int compression_type = 0;
- char* profile = 0;
+#if (PNG_LIBPNG_VER < 10500)
+ png_charp profile = 0;
+#else
+ png_bytep profile = 0;
+#endif
png_uint_32 proflen = 0;
if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) {
// g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type);

View File

@ -1,11 +0,0 @@
--- inkscape-0.48.3.1/inkscape.desktop.in
+++ inkscape-0.48.3.1/inkscape.desktop.in
@@ -5,7 +5,7 @@
_X-GNOME-FullName=Inkscape Vector Graphics Editor
_Comment=Create and edit Scalable Vector Graphics images
Type=Application
-Categories=Graphics;VectorGraphics;GTK;
+Categories=Graphics;2DGraphics;VectorGraphics;GTK;
MimeType=image/svg+xml;image/svg+xml-compressed;application/vnd.corel-draw;application/pdf;application/postscript;image/x-eps;application/illustrator;
Exec=inkscape %F
TryExec=inkscape

View File

@ -1,21 +0,0 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Thu Apr 25 15:06:01 UTC 2013
Subject: fix building with automake-1.3
--- inkscape-0.48.4/configure.ac
+++ inkscape-0.48.4/configure.ac
@@ -21,12 +21,12 @@
export CC CXX
])
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AC_LANG(C++)
AC_ISC_POSIX
AC_PROG_CXX
-AM_PROG_CC_STDC
+AC_PROG_CC
AM_PROG_AS
AC_PROG_RANLIB
AC_PROG_INTLTOOL(0.22)

View File

@ -1,11 +0,0 @@
--- inkscape-0.48.4/src/widgets/desktop-widget.h
+++ inkscape-0.48.4/src/widgets/desktop-widget.h
@@ -239,7 +239,7 @@
private:
GtkWidget *tool_toolbox;
GtkWidget *aux_toolbox;
- GtkWidget *commands_toolbox,;
+ GtkWidget *commands_toolbox;
GtkWidget *snap_toolbox;
static void init(SPDesktopWidget *widget);

View File

@ -1,14 +0,0 @@
=== modified file 'src/libnrtype/FontFactory.h'
--- src/libnrtype/FontFactory.h 2010-04-15 19:00:11 +0000
+++ src/libnrtype/FontFactory.h 2013-11-28 05:54:34 +0000
@@ -31,7 +31,8 @@
#include <pango/pangowin32.h>
#else
#include <pango/pangoft2.h>
-#include <freetype/freetype.h>
+#include <ft2build.h>
+#include FT_FREETYPE_H
#endif
namespace Glib

View File

@ -1,15 +0,0 @@
--- inkscape-0.48.4/configure.ac 2013-12-31 00:38:18.592732496 +0400
+++ inkscape-0.48.4/configure.ac 2013-12-31 00:39:13.558730872 +0400
@@ -263,7 +263,11 @@
# include <gc.h>
#endif
#include <stdio.h>
- extern unsigned GC_version;
+ #if (GC_VERSION_MAJOR >= 7 && GC_VERSION_MINOR >= 4)
+ unsigned GC_version = GC_get_version();
+ #else
+ extern unsigned GC_version;
+ #endif
int main(void){
unsigned min = ((6 << 16) | (4 << 8) | 0);
printf("%d.%d.%d ",GC_version >> 16, (GC_version >> 8) & 0xFF, GC_version & 0xFF);

View File

@ -1,54 +0,0 @@
--- inkscape-0.48.4/src/gc-core.h.old 2013-12-31 01:22:38.976653890 +0400
+++ inkscape-0.48.4/src/gc-core.h 2013-12-31 01:22:48.525653608 +0400
@@ -57,7 +57,7 @@
CleanupFunc *old_func,
void **old_data);
int (*general_register_disappearing_link)(void **p_ptr,
- void *base);
+ const void *base);
int (*unregister_disappearing_link)(void **p_ptr);
std::size_t (*get_heap_size)();
std::size_t (*get_free_bytes)();
--- inkscape-0.48.4/src/gc.cpp.old 2013-12-31 01:23:50.462651778 +0400
+++ inkscape-0.48.4/src/gc.cpp 2013-12-31 01:40:37.718622017 +0400
@@ -70,8 +70,8 @@
return base + debug_base_fixup();
}
-int debug_general_register_disappearing_link(void **p_ptr, void *base) {
- char *real_base=reinterpret_cast<char *>(base) - debug_base_fixup();
+int debug_general_register_disappearing_link(void **p_ptr, const void *base) {
+ char *real_base=const_cast<char *>(reinterpret_cast<const char *>(base)) - debug_base_fixup();
return GC_general_register_disappearing_link(p_ptr, real_base);
}
@@ -90,7 +90,7 @@
}
}
-int dummy_general_register_disappearing_link(void **, void *) { return false; }
+int dummy_general_register_disappearing_link(void **, const void *) { return false; }
int dummy_unregister_disappearing_link(void **/*link*/) { return false; }
@@ -112,7 +112,11 @@
&GC_malloc_atomic_uncollectable,
&GC_base,
&GC_register_finalizer_ignore_self,
+#if (GC_MAJOR_VERSION >= 7 && GC_MINOR_VERSION >= 4)
&GC_general_register_disappearing_link,
+#else
+ (int (*)(void**, const void*))(&GC_general_register_disappearing_link),
+#endif
&GC_unregister_disappearing_link,
&GC_get_heap_size,
&GC_get_free_bytes,
@@ -202,7 +206,7 @@
die_because_not_initialized();
}
-int stub_general_register_disappearing_link(void **, void *) {
+int stub_general_register_disappearing_link(void **, const void *) {
die_because_not_initialized();
return 0;
}

View File

@ -1,139 +0,0 @@
diff -ruN inkscape-0.48.4.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.48.4/src/extension/internal/pdfinput/pdf-parser.cpp
--- inkscape-0.48.4.orig/src/extension/internal/pdfinput/pdf-parser.cpp 2012-12-13 18:00:46.726633000 +0100
+++ inkscape-0.48.4/src/extension/internal/pdfinput/pdf-parser.cpp 2014-05-07 22:50:03.891488716 +0200
@@ -56,6 +56,11 @@
#define M_PI 3.14159265358979323846
#endif
+#include "poppler-features.h"
+#if POPPLER_CHECK_VERSION(0, 26, 0)
+#define POPPLER_26
+#endif
+
//------------------------------------------------------------------------
// constants
//------------------------------------------------------------------------
@@ -861,8 +866,12 @@
isolated = knockout = gFalse;
if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+#ifndef POPPLER_26
blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
#else
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL, NULL);
+#endif
+#else
blendingColorSpace = GfxColorSpace::parse(&obj5);
#endif
}
@@ -1085,9 +1094,17 @@
res->lookupColorSpace(args[0].getName(), &obj);
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
+#ifndef POPPLER_26
colorSpace = GfxColorSpace::parse(&args[0], NULL);
+#else
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
+#endif
} else {
+#ifndef POPPLER_26
colorSpace = GfxColorSpace::parse(&obj, NULL);
+#else
+ colorSpace = GfxColorSpace::parse(&obj, NULL, NULL);
+#endif
}
#else
if (obj.isNull()) {
@@ -1120,9 +1137,17 @@
res->lookupColorSpace(args[0].getName(), &obj);
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
+#ifndef POPPLER_26
colorSpace = GfxColorSpace::parse(&args[0], NULL);
+#else
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
+#endif
} else {
+#ifndef POPPLER_26
colorSpace = GfxColorSpace::parse(&obj, NULL);
+#else
+ colorSpace = GfxColorSpace::parse(&obj, NULL, NULL);
+#endif
}
#else
if (obj.isNull()) {
@@ -1213,7 +1238,11 @@
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
+#ifndef POPPLER_26
(pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+#else
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL, NULL))) {
+#endif
state->setFillPattern(pattern);
builder->updateStyle(state);
}
@@ -1273,7 +1302,11 @@
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
+#ifndef POPPLER_26
(pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+#else
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL, NULL))) {
+#endif
state->setStrokePattern(pattern);
builder->updateStyle(state);
}
@@ -1711,7 +1744,11 @@
GBool savedState = gFalse;
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+#ifndef POPPLER_26
if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
+#else
+ if (!(shading = res->lookupShading(args[0].getName(), NULL, NULL))) {
+#endif
return;
}
#else
@@ -2727,8 +2764,12 @@
}
if (!obj1.isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+#ifndef POPPLER_26
colorSpace = GfxColorSpace::parse(&obj1, NULL);
#else
+ colorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
+#endif
+#else
colorSpace = GfxColorSpace::parse(&obj1);
#endif
} else if (csMode == streamCSDeviceGray) {
@@ -2816,8 +2857,12 @@
}
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+#ifndef POPPLER_26
maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
#else
+ maskColorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
+#endif
+#else
maskColorSpace = GfxColorSpace::parse(&obj1);
#endif
obj1.free();
@@ -3007,8 +3052,12 @@
transpGroup = gTrue;
if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+#ifndef POPPLER_26
blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
#else
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL, NULL);
+#endif
+#else
blendingColorSpace = GfxColorSpace::parse(&obj3);
#endif
}