Cleanup spec, Use %%license, Drop (now unneeded) perl requirements (rhbz#579390), Drop ChangeLog as details are covered in NEWS

This commit is contained in:
Peter Robinson 2015-02-12 15:29:08 +00:00
parent 52d4bbfff9
commit ea1bf04ac4
13 changed files with 26 additions and 3623 deletions

View File

@ -1,112 +0,0 @@
From 127777fe3298bcdfe45d74b36f77b8238ebb6937 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 27 May 2014 16:47:39 +0200
Subject: [PATCH] switch to librevenge-based import libs
---
configure.ac | 19 ++---------------
src/extension/internal/wpg-input.cpp | 41 ++++++++++++------------------------
2 files changed, 15 insertions(+), 45 deletions(-)
diff --git a/configure.ac b/configure.ac
index fcff879..4bce58c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -676,23 +676,8 @@ dnl ******************************
with_libwpg=no
-PKG_CHECK_MODULES(LIBWPG01, libwpg-0.1 libwpg-stream-0.1, with_libwpg01=yes, with_libwpg01=no)
-if test "x$with_libwpg01" = "xyes"; then
- AC_DEFINE(WITH_LIBWPG01,1,[Build in libwpg 0.1.x])
- with_libwpg=yes
- AC_SUBST(LIBWPG_LIBS, $LIBWPG01_LIBS)
- AC_SUBST(LIBWPG_CFLAGS, $LIBWPG01_CFLAGS)
-fi
-AM_CONDITIONAL(WITH_LIBWPG01, test "x$with_libwpg01" = "xyes")
-
-PKG_CHECK_MODULES(LIBWPG02, libwpg-0.2 libwpd-0.9 libwpd-stream-0.9, with_libwpg02=yes, with_libwpg02=no)
-if test "x$with_libwpg02" = "xyes"; then
- AC_DEFINE(WITH_LIBWPG02,1,[Build in libwpg 0.2.x])
- with_libwpg=yes
- AC_SUBST(LIBWPG_LIBS, $LIBWPG02_LIBS)
- AC_SUBST(LIBWPG_CFLAGS, $LIBWPG02_CFLAGS)
-fi
-AM_CONDITIONAL(WITH_LIBWPG02, test "x$with_libwpg02" = "xyes")
+PKG_CHECK_MODULES(LIBWPG, libwpg-0.3 librevenge-0.0 librevenge-stream-0.0, with_libwpg=yes, with_libwpg=no)
+AM_CONDITIONAL(WITH_LIBWPG01, test "x$with_libwpg" = "xyes")
if test "x$with_libwpg" = "xyes"; then
AC_DEFINE(WITH_LIBWPG,1,[Build in libwpg])
diff --git a/src/extension/internal/wpg-input.cpp b/src/extension/internal/wpg-input.cpp
index 5c5cb65..71c7b44 100644
--- a/src/extension/internal/wpg-input.cpp
+++ b/src/extension/internal/wpg-input.cpp
@@ -48,17 +48,8 @@
#include "extension/input.h"
#include "document.h"
-// Take a guess and fallback to 0.1.x if no configure has run
-#if !defined(WITH_LIBWPG01) && !defined(WITH_LIBWPG02)
-#define WITH_LIBWPG01 1
-#endif
-
#include "libwpg/libwpg.h"
-#if WITH_LIBWPG01
-#include "libwpg/WPGStreamImplementation.h"
-#elif WITH_LIBWPG02
-#include "libwpd-stream/libwpd-stream.h"
-#endif
+#include "librevenge-stream/librevenge-stream.h"
using namespace libwpg;
@@ -69,17 +60,9 @@ namespace Internal {
SPDocument *
WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) {
-#if WITH_LIBWPG01
- WPXInputStream* input = new libwpg::WPGFileStream(uri);
-#elif WITH_LIBWPG02
- WPXInputStream* input = new WPXFileStream(uri);
-#endif
- if (input->isOLEStream()) {
-#if WITH_LIBWPG01
- WPXInputStream* olestream = input->getDocumentOLEStream();
-#elif WITH_LIBWPG02
- WPXInputStream* olestream = input->getDocumentOLEStream("PerfectOffice_MAIN");
-#endif
+ librevenge::RVNGInputStream* input = new librevenge::RVNGFileStream(uri);
+ if (input->isStructured()) {
+ librevenge::RVNGInputStream* olestream = input->getSubStreamByName("PerfectOffice_MAIN");
if (olestream) {
delete input;
input = olestream;
@@ -94,15 +77,17 @@ WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) {
return NULL;
}
-#if WITH_LIBWPG01
- libwpg::WPGString output;
-#elif WITH_LIBWPG02
- WPXString output;
-#endif
- if (!libwpg::WPGraphics::generateSVG(input, output)) {
+ librevenge::RVNGStringVector vec;
+ librevenge::RVNGSVGDrawingGenerator generator(vec, "");
+
+ if (!libwpg::WPGraphics::parse(input, &generator) || vec.empty() || vec[0].empty())
+ {
delete input;
return NULL;
- }
+ }
+
+ librevenge::RVNGString output("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
+ output.append(vec[0]);
//printf("I've got a doc: \n%s", painter.document.c_str());
--
1.9.3

View File

@ -1,22 +0,0 @@
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/10398
=== modified file 'src/graphlayout.cpp'
--- src/graphlayout.cpp 2010-12-12 08:40:34 +0000
+++ src/graphlayout.cpp 2011-07-02 12:08:37 +0000
@@ -156,11 +156,12 @@
++i)
{
SPItem *iu=*i;
- map<string,unsigned>::iterator i=nodelookup.find(iu->getId());
- if(i==nodelookup.end()) {
+ map<string,unsigned>::iterator i_iter=nodelookup.find(iu->getId());
+ map<string,unsigned>::iterator i_iter_end=nodelookup.end();
+ if(i_iter==i_iter_end) {
continue;
}
- unsigned u=i->second;
+ unsigned u=i_iter->second;
GSList *nlist=iu->avoidRef->getAttachedConnectors(Avoid::runningFrom);
list<SPItem *> connectors;

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +0,0 @@
From: inkscape upstream
Fix compilation against libpng-1.5
=== modified file 'src/extension/internal/pdfinput/svg-builder.cpp'
--- src/extension/internal/pdfinput/svg-builder.cpp 2011-10-27 04:55:51 +0000
+++ src/extension/internal/pdfinput/svg-builder.cpp 2011-10-29 20:34:00 +0000
@@ -1481,7 +1481,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;
}
=== modified file 'src/helper/png-write.cpp'
--- src/helper/png-write.cpp 2011-08-07 10:53:12 +0000
+++ src/helper/png-write.cpp 2011-10-29 20:34:00 +0000
@@ -166,8 +166,8 @@
/* 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 we get here, we had a problem reading the file */
+ 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);
return false;

View File

@ -1,23 +0,0 @@
From: inkscape upstream
Fix compilation against libpng-1.5
=== modified file 'src/sp-image.cpp'
--- src/sp-image.cpp 2011-02-21 07:59:34 +0000
+++ src/sp-image.cpp 2011-02-21 08:57:28 +0000
@@ -387,9 +387,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,683 +0,0 @@
diff -up inkscape-0.48.2/configure.ac.poppler_020 inkscape-0.48.2/configure.ac
--- inkscape-0.48.2/configure.ac.poppler_020 2011-07-08 14:23:16.270623076 -0500
+++ inkscape-0.48.2/configure.ac 2012-06-23 12:01:38.918678539 -0500
@@ -623,6 +623,12 @@ if test "x$popplernew" = "xyes"; then
AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3])
fi
+PKG_CHECK_MODULES(POPPLER_NEWERRORAPI, poppler >= 0.20.0, popplernewerror=yes, popplernewerror=no)
+if test "x$popplernewerror" = "xyes"; then
+ AC_DEFINE(POPPLER_NEW_ERRORAPI, 1, [Use new error API from Poppler >= 0.20.0])
+fi
+
+
ink_svd_CPPFLAGS=$CPPFLAGS
ink_svd_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS"
diff -up inkscape-0.48.2/src/extension/internal/pdfinput/pdf-parser.cpp.poppler_020 inkscape-0.48.2/src/extension/internal/pdfinput/pdf-parser.cpp
--- inkscape-0.48.2/src/extension/internal/pdfinput/pdf-parser.cpp.poppler_020 2011-07-08 13:25:09.468790000 -0500
+++ inkscape-0.48.2/src/extension/internal/pdfinput/pdf-parser.cpp 2012-06-23 12:08:49.285298266 -0500
@@ -367,15 +367,23 @@ void PdfParser::parse(Object *obj, GBool
for (i = 0; i < obj->arrayGetLength(); ++i) {
obj->arrayGet(i, &obj2);
if (!obj2.isStream()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errInternal, -1, "Weird page contents");
+#else
error(-1, const_cast<char*>("Weird page contents"));
+#endif
obj2.free();
return;
}
obj2.free();
}
} else if (!obj->isStream()) {
- error(-1, const_cast<char*>("Weird page contents"));
- return;
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errInternal, -1, "Weird page contents");
+#else
+ error(-1, const_cast<char*>("Weird page contents"));
+#endif
+ return;
}
parser = new Parser(xref, new Lexer(xref, obj), gFalse);
go(topLevel);
@@ -419,7 +427,11 @@ void PdfParser::go(GBool topLevel) {
// too many arguments - something is wrong
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Too many args in content stream");
+#else
error(getPos(), const_cast<char*>("Too many args in content stream"));
+#endif
if (printCommands) {
printf("throwing away arg: ");
obj.print(stdout);
@@ -436,7 +448,11 @@ void PdfParser::go(GBool topLevel) {
// args at end with no command
if (numArgs > 0) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Leftover args in content stream");
+#else
error(getPos(), const_cast<char*>("Leftover args in content stream"));
+#endif
if (printCommands) {
printf("%d leftovers:", numArgs);
for (i = 0; i < numArgs; ++i) {
@@ -502,7 +518,11 @@ void PdfParser::execOp(Object *cmd, Obje
name = cmd->getCmd();
if (!(op = findOp(name))) {
if (ignoreUndef == 0)
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Unknown operator '{0:s}'", name);
+#else
error(getPos(), const_cast<char*>("Unknown operator '%s'"), name);
+#endif
return;
}
@@ -510,26 +530,42 @@ void PdfParser::execOp(Object *cmd, Obje
argPtr = args;
if (op->numArgs >= 0) {
if (numArgs < op->numArgs) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Too few ({0:d}) args to '{1:d}' operator", numArgs, name);
+#else
error(getPos(), const_cast<char*>("Too few (%d) args to '%s' operator"), numArgs, name);
+#endif
return;
}
if (numArgs > op->numArgs) {
#if 0
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Too many ({0:d}) args to '{1:s}' operator", numArgs, name);
+#else
error(getPos(), "Too many (%d) args to '%s' operator", numArgs, name);
#endif
+#endif
argPtr += numArgs - op->numArgs;
numArgs = op->numArgs;
}
} else {
if (numArgs > -op->numArgs) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Too many ({0:d}) args to '{1:s}' operator",
+#else
error(getPos(), const_cast<char*>("Too many (%d) args to '%s' operator"),
+#endif
numArgs, name);
return;
}
}
for (i = 0; i < numArgs; ++i) {
if (!checkArg(&argPtr[i], op->tchk[i])) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Arg #{0:d} to '{1:s}' operator is wrong type ({2:s})",
+#else
error(getPos(), const_cast<char*>("Arg #%d to '%s' operator is wrong type (%s)"),
+#endif
i, name, argPtr[i].getTypeName());
return;
}
@@ -690,7 +726,11 @@ void PdfParser::opSetExtGState(Object ar
return;
}
if (!obj1.isDict()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "ExtGState '{0:s}' is wrong type"), args[0].getName();
+#else
error(getPos(), const_cast<char*>("ExtGState '%s' is wrong type"), args[0].getName());
+#endif
obj1.free();
return;
}
@@ -705,7 +745,11 @@ void PdfParser::opSetExtGState(Object ar
if (state->parseBlendMode(&obj2, &mode)) {
state->setBlendMode(mode);
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid blend mode in ExtGState");
+#else
error(getPos(), const_cast<char*>("Invalid blend mode in ExtGState"));
+#endif
}
}
obj2.free();
@@ -764,7 +808,11 @@ void PdfParser::opSetExtGState(Object ar
state->setTransfer(funcs);
}
} else if (!obj2.isNull()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid transfer function in ExtGState");
+#else
error(getPos(), const_cast<char*>("Invalid transfer function in ExtGState"));
+#endif
}
obj2.free();
@@ -784,8 +832,11 @@ void PdfParser::opSetExtGState(Object ar
funcs[0] = Function::parse(&obj3);
if (funcs[0]->getInputSize() != 1 ||
funcs[0]->getOutputSize() != 1) {
- error(getPos(),
- const_cast<char*>("Invalid transfer function in soft mask in ExtGState"));
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid transfer function in soft mask in ExtGState");
+#else
+ error(getPos(), const_cast<char*>("Invalid transfer function in soft mask in ExtGState"));
+#endif
delete funcs[0];
funcs[0] = NULL;
}
@@ -809,7 +860,7 @@ void PdfParser::opSetExtGState(Object ar
blendingColorSpace = NULL;
isolated = knockout = gFalse;
if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
#else
blendingColorSpace = GfxColorSpace::parse(&obj5);
@@ -840,15 +891,27 @@ void PdfParser::opSetExtGState(Object ar
delete funcs[0];
}
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group");
+#else
error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group"));
+#endif
}
obj4.free();
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group");
+#else
error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group"));
+#endif
}
obj3.free();
} else if (!obj2.isNull()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState");
+#else
error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState"));
+#endif
}
}
obj2.free();
@@ -876,7 +939,11 @@ void PdfParser::doSoftMask(Object *str,
// check form type
dict->lookup(const_cast<char*>("FormType"), &obj1);
if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Unknown form type");
+#else
error(getPos(), const_cast<char*>("Unknown form type"));
+#endif
}
obj1.free();
@@ -884,7 +951,11 @@ void PdfParser::doSoftMask(Object *str,
dict->lookup(const_cast<char*>("BBox"), &obj1);
if (!obj1.isArray()) {
obj1.free();
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Bad form bounding box");
+#else
error(getPos(), const_cast<char*>("Bad form bounding box"));
+#endif
return;
}
for (i = 0; i < 4; ++i) {
@@ -1012,7 +1083,7 @@ void PdfParser::opSetFillColorSpace(Obje
state->setFillPattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
colorSpace = GfxColorSpace::parse(&args[0], NULL);
} else {
@@ -1032,7 +1103,11 @@ void PdfParser::opSetFillColorSpace(Obje
state->setFillColor(&color);
builder->updateStyle(state);
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Bad color space (fill)");
+#else
error(getPos(), const_cast<char*>("Bad color space (fill)"));
+#endif
}
}
@@ -1043,7 +1118,7 @@ void PdfParser::opSetStrokeColorSpace(Ob
state->setStrokePattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
colorSpace = GfxColorSpace::parse(&args[0], NULL);
} else {
@@ -1063,7 +1138,11 @@ void PdfParser::opSetStrokeColorSpace(Ob
state->setStrokeColor(&color);
builder->updateStyle(state);
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Bad color space (stroke)");
+#else
error(getPos(), const_cast<char*>("Bad color space (stroke)"));
+#endif
}
}
@@ -1072,7 +1151,11 @@ void PdfParser::opSetFillColor(Object ar
int i;
if (numArgs != state->getFillColorSpace()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'sc' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'sc' command"));
+#endif
return;
}
state->setFillPattern(NULL);
@@ -1088,7 +1171,11 @@ void PdfParser::opSetStrokeColor(Object
int i;
if (numArgs != state->getStrokeColorSpace()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'SC' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SC' command"));
+#endif
return;
}
state->setStrokePattern(NULL);
@@ -1109,7 +1196,11 @@ void PdfParser::opSetFillColorN(Object a
if (!((GfxPatternColorSpace *)state->getFillColorSpace())->getUnder() ||
numArgs - 1 != ((GfxPatternColorSpace *)state->getFillColorSpace())
->getUnder()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'scn' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command"));
+#endif
return;
}
for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) {
@@ -1120,7 +1211,7 @@ void PdfParser::opSetFillColorN(Object a
state->setFillColor(&color);
builder->updateStyle(state);
}
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
(pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
state->setFillPattern(pattern);
@@ -1136,7 +1227,11 @@ void PdfParser::opSetFillColorN(Object a
} else {
if (numArgs != state->getFillColorSpace()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'scn' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command"));
+#endif
return;
}
state->setFillPattern(NULL);
@@ -1161,7 +1256,11 @@ void PdfParser::opSetStrokeColorN(Object
->getUnder() ||
numArgs - 1 != ((GfxPatternColorSpace *)state->getStrokeColorSpace())
->getUnder()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'SCN' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command"));
+#endif
return;
}
for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) {
@@ -1172,7 +1271,7 @@ void PdfParser::opSetStrokeColorN(Object
state->setStrokeColor(&color);
builder->updateStyle(state);
}
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
(pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
state->setStrokePattern(pattern);
@@ -1188,7 +1287,11 @@ void PdfParser::opSetStrokeColorN(Object
} else {
if (numArgs != state->getStrokeColorSpace()->getNComps()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Incorrect number of arguments in 'SCN' command");
+#else
error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command"));
+#endif
return;
}
state->setStrokePattern(NULL);
@@ -1212,7 +1315,11 @@ void PdfParser::opMoveTo(Object args[],
void PdfParser::opLineTo(Object args[], int numArgs) {
if (!state->isCurPt()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No current point in lineto");
+#else
error(getPos(), const_cast<char*>("No current point in lineto"));
+#endif
return;
}
state->lineTo(args[0].getNum(), args[1].getNum());
@@ -1222,7 +1329,11 @@ void PdfParser::opCurveTo(Object args[],
double x1, y1, x2, y2, x3, y3;
if (!state->isCurPt()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No current point in curveto");
+#else
error(getPos(), const_cast<char*>("No current point in curveto"));
+#endif
return;
}
x1 = args[0].getNum();
@@ -1238,7 +1349,11 @@ void PdfParser::opCurveTo1(Object args[]
double x1, y1, x2, y2, x3, y3;
if (!state->isCurPt()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No current point in curveto1");
+#else
error(getPos(), const_cast<char*>("No current point in curveto1"));
+#endif
return;
}
x1 = state->getCurX();
@@ -1254,7 +1369,11 @@ void PdfParser::opCurveTo2(Object args[]
double x1, y1, x2, y2, x3, y3;
if (!state->isCurPt()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No current point in curveto2");
+#else
error(getPos(), const_cast<char*>("No current point in curveto2"));
+#endif
return;
}
x1 = args[0].getNum();
@@ -1282,7 +1401,11 @@ void PdfParser::opRectangle(Object args[
void PdfParser::opClosePath(Object args[], int numArgs) {
if (!state->isCurPt()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No current point in closepath");
+#else
error(getPos(), const_cast<char*>("No current point in closepath"));
+#endif
return;
}
state->closePath();
@@ -1440,7 +1563,11 @@ void PdfParser::doPatternFillFallback(GB
doShadingPatternFillFallback((GfxShadingPattern *)pattern, gFalse, eoFill);
break;
default:
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errUnimplemented, getPos(), "Unimplemented pattern type (%d) in fill",
+#else
error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in fill"),
+#endif
pattern->getType());
break;
}
@@ -1459,7 +1586,11 @@ void PdfParser::doPatternStrokeFallback(
doShadingPatternFillFallback((GfxShadingPattern *)pattern, gTrue, gFalse);
break;
default:
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errUnimplemented, getPos(), "Unimplemented pattern type ({0:d}) in stroke",
+#else
error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in stroke"),
+#endif
pattern->getType());
break;
}
@@ -1579,7 +1710,7 @@ void PdfParser::opShFill(Object args[],
double *matrix = NULL;
GBool savedState = gFalse;
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
return;
}
@@ -2156,7 +2287,11 @@ void PdfParser::opTextNextLine(Object ar
void PdfParser::opShowText(Object args[], int numArgs) {
if (!state->getFont()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No font in show");
+#else
error(getPos(), const_cast<char*>("No font in show"));
+#endif
return;
}
if (fontChanged) {
@@ -2170,7 +2305,11 @@ void PdfParser::opMoveShowText(Object ar
double tx, ty;
if (!state->getFont()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No font in move/show");
+#else
error(getPos(), const_cast<char*>("No font in move/show"));
+#endif
return;
}
if (fontChanged) {
@@ -2188,7 +2327,11 @@ void PdfParser::opMoveSetShowText(Object
double tx, ty;
if (!state->getFont()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No font in move/set/show");
+#else
error(getPos(), const_cast<char*>("No font in move/set/show"));
+#endif
return;
}
if (fontChanged) {
@@ -2211,7 +2354,11 @@ void PdfParser::opShowSpaceText(Object a
int i;
if (!state->getFont()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "No font in show/space");
+#else
error(getPos(), const_cast<char*>("No font in show/space"));
+#endif
return;
}
if (fontChanged) {
@@ -2236,7 +2383,11 @@ void PdfParser::opShowSpaceText(Object a
} else if (obj.isString()) {
doShowText(obj.getString());
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Element of show/space array must be number or string");
+#else
error(getPos(), const_cast<char*>("Element of show/space array must be number or string"));
+#endif
}
obj.free();
}
@@ -2334,7 +2485,11 @@ void PdfParser::doShowText(GooString *s)
if (charProc.isStream()) {
//parse(&charProc, gFalse); // TODO: parse into SVG font
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Missing or bad Type3 CharProc entry");
+#else
error(getPos(), const_cast<char*>("Missing or bad Type3 CharProc entry"));
+#endif
}
//out->endType3Char(state);
if (resDict) {
@@ -2410,7 +2565,11 @@ void PdfParser::opXObject(Object args[],
return;
}
if (!obj1.isStream()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "XObject '{0:s}' is wrong type", name);
+#else
error(getPos(), const_cast<char*>("XObject '%s' is wrong type"), name);
+#endif
obj1.free();
return;
}
@@ -2426,9 +2585,17 @@ void PdfParser::opXObject(Object args[],
/* out->psXObject(obj1.getStream(),
obj3.isStream() ? obj3.getStream() : (Stream *)NULL);*/
} else if (obj2.isName()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Unknown XObject subtype '{0:s}'", obj2.getName());
+#else
error(getPos(), const_cast<char*>("Unknown XObject subtype '%s'"), obj2.getName());
+#endif
} else {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "XObject subtype is missing or wrong type");
+#else
error(getPos(), const_cast<char*>("XObject subtype is missing or wrong type"));
+#endif
}
obj2.free();
obj1.free();
@@ -2559,7 +2726,7 @@ void PdfParser::doImage(Object *ref, Str
}
}
if (!obj1.isNull()) {
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
colorSpace = GfxColorSpace::parse(&obj1, NULL);
#else
colorSpace = GfxColorSpace::parse(&obj1);
@@ -2648,7 +2815,7 @@ void PdfParser::doImage(Object *ref, Str
obj2.free();
}
}
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
#else
maskColorSpace = GfxColorSpace::parse(&obj1);
@@ -2758,7 +2925,11 @@ void PdfParser::doImage(Object *ref, Str
err2:
obj1.free();
err1:
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Bad image parameters");
+#else
error(getPos(), const_cast<char*>("Bad image parameters"));
+#endif
}
void PdfParser::doForm(Object *str) {
@@ -2783,7 +2954,11 @@ void PdfParser::doForm(Object *str) {
// check form type
dict->lookup(const_cast<char*>("FormType"), &obj1);
if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Unknown form type");
+#else
error(getPos(), const_cast<char*>("Unknown form type"));
+#endif
}
obj1.free();
@@ -2791,7 +2966,11 @@ void PdfParser::doForm(Object *str) {
dict->lookup(const_cast<char*>("BBox"), &bboxObj);
if (!bboxObj.isArray()) {
bboxObj.free();
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Bad form bounding box");
+#else
error(getPos(), const_cast<char*>("Bad form bounding box"));
+#endif
return;
}
for (i = 0; i < 4; ++i) {
@@ -2827,7 +3006,7 @@ void PdfParser::doForm(Object *str) {
if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) {
transpGroup = gTrue;
if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
-#ifdef POPPLER_NEW_COLOR_SPACE_API
+#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
#else
blendingColorSpace = GfxColorSpace::parse(&obj3);
@@ -2990,7 +3169,11 @@ Stream *PdfParser::buildImageStream() {
parser->getObj(&obj);
while (!obj.isCmd(const_cast<char*>("ID")) && !obj.isEOF()) {
if (!obj.isName()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "Inline image dictionary key must be a name object");
+#else
error(getPos(), const_cast<char*>("Inline image dictionary key must be a name object"));
+#endif
obj.free();
} else {
key = copyString(obj.getName());
@@ -3005,7 +3188,11 @@ Stream *PdfParser::buildImageStream() {
parser->getObj(&obj);
}
if (obj.isEOF()) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errSyntaxError, getPos(), "End of file in inline image");
+#else
error(getPos(), const_cast<char*>("End of file in inline image"));
+#endif
obj.free();
dict.free();
return NULL;
@@ -3020,11 +3207,19 @@ Stream *PdfParser::buildImageStream() {
}
void PdfParser::opImageData(Object args[], int numArgs) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errInternal, getPos(), "Internal: got 'ID' operator");
+#else
error(getPos(), const_cast<char*>("Internal: got 'ID' operator"));
+#endif
}
void PdfParser::opEndImage(Object args[], int numArgs) {
+#ifdef POPPLER_NEW_ERRORAPI
+ error(errInternal, getPos(), "Internal: got 'EI' operator");
+#else
error(getPos(), const_cast<char*>("Internal: got 'EI' operator"));
+#endif
}
//------------------------------------------------------------------------
diff -up inkscape-0.48.2/src/extension/internal/pdfinput/svg-builder.cpp.poppler_020 inkscape-0.48.2/src/extension/internal/pdfinput/svg-builder.cpp
--- inkscape-0.48.2/src/extension/internal/pdfinput/svg-builder.cpp.poppler_020 2012-06-23 12:01:38.912678613 -0500
+++ inkscape-0.48.2/src/extension/internal/pdfinput/svg-builder.cpp 2012-06-23 12:01:38.920678513 -0500
@@ -961,9 +961,7 @@ void SvgBuilder::updateFont(GfxState *st
_font_style = sp_repr_css_attr_new();
GfxFont *font = state->getFont();
// Store original name
- if (font->getOrigName()) {
- _font_specification = font->getOrigName()->getCString();
- } else if (font->getName()) {
+ if (font->getName()) {
_font_specification = font->getName()->getCString();
} else {
_font_specification = (char*) "Arial";

View File

@ -1,11 +0,0 @@
--- src/xml/repr-io.cpp~ 2011-07-08 13:25:09.000000000 -0500
+++ src/xml/repr-io.cpp 2012-11-01 08:59:23.620360123 -0500
@@ -294,7 +294,7 @@
&src,
localFilename,
src.getEncoding(),
- XML_PARSE_NOENT );
+ XML_PARSE_NOENT | XML_PARSE_HUGE);
}
}

View File

@ -1,11 +0,0 @@
--- src/libnrtype/FontFactory.h~ 2011-07-08 13:25:09.000000000 -0500
+++ src/libnrtype/FontFactory.h 2014-03-31 10:30:21.908992050 -0500
@@ -31,7 +31,7 @@
#include <pango/pangowin32.h>
#else
#include <pango/pangoft2.h>
-#include <freetype/freetype.h>
+#include <freetype2/freetype.h>
#endif
namespace Glib

View File

@ -1,12 +0,0 @@
diff -rupN inkscape-0.48.4/configure.ac inkscape-0.48.4-new/configure.ac
--- inkscape-0.48.4/configure.ac 2012-12-15 17:50:19.205918190 +0100
+++ inkscape-0.48.4-new/configure.ac 2014-05-15 00:29:24.076377009 +0200
@@ -263,7 +263,7 @@ if test "x$gc_ok" = "xyes" && test "x$cr
# include <gc.h>
#endif
#include <stdio.h>
- extern unsigned GC_version;
+ unsigned GC_version = GC_get_version();
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,90 +0,0 @@
diff -rupN inkscape-0.48.4/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.48.4-new/src/extension/internal/pdfinput/pdf-parser.cpp
--- inkscape-0.48.4/src/extension/internal/pdfinput/pdf-parser.cpp 2012-12-13 18:00:46.726633000 +0100
+++ inkscape-0.48.4-new/src/extension/internal/pdfinput/pdf-parser.cpp 2014-05-15 00:06:39.247501345 +0200
@@ -861,7 +861,7 @@ void PdfParser::opSetExtGState(Object ar
isolated = knockout = gFalse;
if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
- blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL, NULL);
#else
blendingColorSpace = GfxColorSpace::parse(&obj5);
#endif
@@ -1085,9 +1085,9 @@ void PdfParser::opSetFillColorSpace(Obje
res->lookupColorSpace(args[0].getName(), &obj);
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0], NULL);
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
} else {
- colorSpace = GfxColorSpace::parse(&obj, NULL);
+ colorSpace = GfxColorSpace::parse(&obj, NULL, NULL);
}
#else
if (obj.isNull()) {
@@ -1120,9 +1120,9 @@ void PdfParser::opSetStrokeColorSpace(Ob
res->lookupColorSpace(args[0].getName(), &obj);
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0], NULL);
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
} else {
- colorSpace = GfxColorSpace::parse(&obj, NULL);
+ colorSpace = GfxColorSpace::parse(&obj, NULL, NULL);
}
#else
if (obj.isNull()) {
@@ -1213,7 +1213,7 @@ void PdfParser::opSetFillColorN(Object a
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL, NULL))) {
state->setFillPattern(pattern);
builder->updateStyle(state);
}
@@ -1273,7 +1273,7 @@ void PdfParser::opSetStrokeColorN(Object
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL, NULL))) {
state->setStrokePattern(pattern);
builder->updateStyle(state);
}
@@ -1711,7 +1711,7 @@ void PdfParser::opShFill(Object args[],
GBool savedState = gFalse;
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
- if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
+ if (!(shading = res->lookupShading(args[0].getName(), NULL, NULL))) {
return;
}
#else
@@ -2727,7 +2727,7 @@ void PdfParser::doImage(Object *ref, Str
}
if (!obj1.isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
- colorSpace = GfxColorSpace::parse(&obj1, NULL);
+ colorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
#else
colorSpace = GfxColorSpace::parse(&obj1);
#endif
@@ -2816,7 +2816,7 @@ void PdfParser::doImage(Object *ref, Str
}
}
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
- maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
+ maskColorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
#else
maskColorSpace = GfxColorSpace::parse(&obj1);
#endif
@@ -3007,7 +3007,7 @@ void PdfParser::doForm(Object *str) {
transpGroup = gTrue;
if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
#if defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
- blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL, NULL);
#else
blendingColorSpace = GfxColorSpace::parse(&obj3);
#endif

View File

@ -1,11 +0,0 @@
--- src/widgets/desktop-widget.h~ 2011-07-08 13:25:09.000000000 -0500
+++ src/widgets/desktop-widget.h 2013-02-15 16:04:45.806910365 -0600
@@ -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,90 +0,0 @@
--- inkscape-0.48.5/configure.ac
+++ inkscape-0.48.5/configure.ac
@@ -593,6 +593,11 @@ if test "x$popplernewercolorspaceapi" =
AC_DEFINE(POPPLER_EVEN_NEWER_COLOR_SPACE_API, 1, [Use even newer color space API from Poppler >= 0.26.0])
fi
+PKG_CHECK_MODULES(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API, poppler >= 0.29.0, popplernewernewcolorspaceapi=yes, popplernewernewcolorspaceapi=no)
+if test "x$popplernewernewcolorspaceapi" = "xyes"; then
+ AC_DEFINE(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API, 1, [Use even newer new color space API from Poppler >= 0.29.0])
+fi
+
# Poppler's b604a008 commit changes this
AC_MSG_CHECKING([whether Poppler's GfxPatch no longer uses GfxColor])
popplergfxcolor="no"
--- inkscape-0.48.5/src/extension/internal/pdfinput/pdf-parser.cpp
+++ inkscape-0.48.5/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -860,7 +860,9 @@ void PdfParser::opSetExtGState(Object ar
blendingColorSpace = NULL;
isolated = knockout = gFalse;
if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(NULL, &obj5, NULL, NULL);
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
blendingColorSpace = GfxColorSpace::parse(&obj5, NULL, NULL);
#elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
@@ -1085,7 +1087,13 @@ void PdfParser::opSetFillColorSpace(Obje
state->setFillPattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ if (obj.isNull()) {
+ colorSpace = GfxColorSpace::parse(NULL, &args[0], NULL, NULL);
+ } else {
+ colorSpace = GfxColorSpace::parse(NULL, &obj, NULL, NULL);
+ }
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
if (obj.isNull()) {
colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
} else {
@@ -1126,7 +1134,13 @@ void PdfParser::opSetStrokeColorSpace(Ob
state->setStrokePattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ if (obj.isNull()) {
+ colorSpace = GfxColorSpace::parse(NULL, &args[0], NULL, NULL);
+ } else {
+ colorSpace = GfxColorSpace::parse(NULL, &obj, NULL, NULL);
+ }
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
if (obj.isNull()) {
colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
} else {
@@ -2756,7 +2770,9 @@ void PdfParser::doImage(Object *ref, Str
}
}
if (!obj1.isNull()) {
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ colorSpace = GfxColorSpace::parse(NULL, &obj1, NULL, NULL);
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
colorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
#elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
colorSpace = GfxColorSpace::parse(&obj1, NULL);
@@ -2847,7 +2863,9 @@ void PdfParser::doImage(Object *ref, Str
obj2.free();
}
}
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ GfxColorSpace *maskColorSpace = GfxColorSpace::parse(NULL, &obj1, NULL, NULL);
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
GfxColorSpace *maskColorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
#elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
@@ -3040,7 +3058,9 @@ void PdfParser::doForm(Object *str) {
if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) {
transpGroup = gTrue;
if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(NULL, &obj3, NULL, NULL);
+#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
blendingColorSpace = GfxColorSpace::parse(&obj3, NULL, NULL);
#elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);

View File

@ -8,54 +8,33 @@ License: GPLv2+
URL: http://inkscape.sourceforge.net/
Source0: http://downloads.sourceforge.net/inkscape/%{name}-%{version}.tar.bz2
Patch0: inkscape-0.48.2-types.patch
#Patch4: inkscape-0.48.2-glib.patch
#Patch5: inkscape-0.48.2-png.patch
#Patch6: inkscape-0.48.2-png-write.patch
#Patch7: inkscape-0.48.2-gcc47.patch
#Patch8: inkscape-0.48.2-poppler_020.patch
#Patch9: inkscape-0.48.3.1-hugexml.patch
#Patch10: inkscape-0.48.4-spuriouscomma.h
#Patch11: inkscape-0.48.4-freetype.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1097945
#Patch12: inkscape-0.48.4-poppler-0.26.patch
#Patch13: inkscape-0.48.4-gc-7.4.patch
#Patch14: 0001-update-to-new-libwpg.patch
#Patch15: inkscape-0.48.5-poppler-0.29.0.patch
Patch16: inkscape-0.91-desktop.patch
%if 0%{?fedora} && 0%{?fedora} < 18
%define desktop_vendor fedora
%endif
Patch1: inkscape-0.91-desktop.patch
BuildRequires: aspell-devel
BuildRequires: atk-devel
BuildRequires: boost-devel
BuildRequires: cairo-devel
BuildRequires: dos2unix
BuildRequires: desktop-file-utils
BuildRequires: freetype-devel
BuildRequires: gc-devel >= 6.4
BuildRequires: gettext
BuildRequires: gsl-devel
BuildRequires: gtkmm24-devel >= 2.8.0
BuildRequires: gtkspell-devel
BuildRequires: gnome-vfs2-devel >= 2.0
BuildRequires: ImageMagick-c++-devel
BuildRequires: intltool
BuildRequires: lcms2-devel
BuildRequires: libpng-devel >= 1.2
BuildRequires: libwpg-devel
BuildRequires: libxml2-devel >= 2.6.11
BuildRequires: libxslt-devel >= 1.0.15
BuildRequires: pango-devel
BuildRequires: pkgconfig
BuildRequires: lcms2-devel
BuildRequires: cairo-devel
BuildRequires: dos2unix
BuildRequires: python-devel
BuildRequires: poppler-glib-devel
BuildRequires: boost-devel
BuildRequires: gsl-devel
BuildRequires: libwpg-devel
BuildRequires: ImageMagick-c++-devel
BuildRequires: perl(XML::Parser)
BuildRequires: perl(ExtUtils::Embed)
BuildRequires: intltool
BuildRequires: popt-devel
# We detect new poppler in inkscape-0.48.2-poppler_020.patch
BuildRequires: automake
BuildRequires: aspell-devel
# Disable all for now. TODO: Be smarter
%if 0
@ -69,34 +48,11 @@ Requires: transfig
Requires: gimp
Requires: numpy
Requires: python-lxml
# TODO: Deal with these (autoreqs, disabled now):
# perl(Cwd)
# perl(Exporter)
# perl(File::Basename)
# perl(Getopt::Long)
# perl(Getopt::Std)
# perl(MIME::Base64)
# perl(Pod::Usage)
# perl(SVG)
# perl(SVG::Parser)
# perl(XML::XQL)
# perl(XML::XQL::DOM)
# perl(strict)
# perl(vars)
# perl(warnings)
%endif
Requires: python-lxml
Requires: numpy
Requires: uniconvertor
# the package requires libperl.so, so it also has to require this:
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
# Filter out perl requires and provides
# XXX: For now _all_
%global __perl_provides %{nil}
%global __perl_requires %{nil}
%description
Inkscape is a vector graphics editor, with capabilities similar to
Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector
@ -112,8 +68,6 @@ trace bitmaps and much more.
%package view
Summary: Viewing program for SVG files
Group: Applications/Productivity
# the package requires libperl.so, so it also has to require this:
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description view
Viewer for files in W3C standard Scalable Vector Graphics (SVG) file
@ -133,19 +87,7 @@ graphics in W3C standard Scalable Vector Graphics (SVG) file format.
%prep
%setup -q
%patch0 -p1 -b .types
#%patch4 -p1 -b .glib
#%patch5 -p0 -b .png
#%patch6 -p0 -b .png-write
#%patch7 -p0 -b .gcc47
#%patch8 -p1 -b .poppler_020
#%patch9 -p0 -b .hugexml
#%patch10 -p0 -b .spuriouscomma
#%patch11 -p0 -b .freetype
#%patch12 -p1 -b .poppler
#%patch13 -p1 -b .gc
#%patch14 -p1 -b .libwpg
#%patch15 -p1 -b .poppler-0.29.0
%patch16 -p1 -b .desktop
%patch1 -p1 -b .desktop
# https://bugs.launchpad.net/inkscape/+bug/314381
# A couple of files have executable bits set,
@ -157,9 +99,6 @@ find share/extensions -name '*.py' | xargs chmod -x
# Fix end of line encodings
dos2unix -k -q share/extensions/*.py
#autoreconf -if
%build
%configure \
--with-python \
@ -169,11 +108,10 @@ dos2unix -k -q share/extensions/*.py
--enable-lcms2 \
--enable-poppler-cairo
make %{?_smp_mflags}
make %{?_smp_mflags} V=1
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
desktop-file-install --vendor="%{?desktop_vendor}" --delete-original \
@ -191,9 +129,6 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions/sk2svg.sh
make -k check || :
%clean
rm -rf $RPM_BUILD_ROOT
%post
/bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
@ -210,13 +145,17 @@ fi
%files -f %{name}.lang
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license COPYING
%doc AUTHORS NEWS README
%{_bindir}/inkscape
%dir %{_datadir}/inkscape
%{_datadir}/inkscape/attributes
%{_datadir}/inkscape/branding
#%{_datadir}/inkscape/clipart
%{_datadir}/inkscape/extensions
# Pulls in perl, if needed should go into a -perl subpackage
%exclude %{_datadir}/inkscape/extensions/embed_raster_in_svg.pl
%{_datadir}/inkscape/filters
%{_datadir}/inkscape/fonts
%{_datadir}/inkscape/gradients
@ -234,24 +173,29 @@ fi
%{_mandir}/*/*gz
%{_mandir}/*/*/*gz
%exclude %{_mandir}/man1/inkview.1*
%doc AUTHORS COPYING ChangeLog NEWS README
%{_datadir}/inkscape/tutorials
%files view
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license COPYING
%doc AUTHORS NEWS README
%{_bindir}/inkview
%{_mandir}/man1/inkview.1*
%doc AUTHORS COPYING ChangeLog NEWS README
%files docs
%defattr(-,root,root,-)
%dir %{_datadir}/inkscape
%{_datadir}/inkscape/examples
%changelog
* Thu Feb 12 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.91-4
- Cleanup spec
- Use %%license
- Drop (now unneeded) perl requirements (rhbz#579390)
- Drop ChangeLog as details are covered in NEWS
* Wed Feb 04 2015 Petr Machata <pmachata@redhat.com> - 0.91-3
- Bump for rebuild.