deal with a poppler API change (additional argument of functions dealing
with color profiles to implement caching): pass NULL (which disables the cache), depend on new poppler headers and bump PKGREVISION (While this is a poppler API change, it is in an unofficial interface, so inkscape just gets what it deserves.) problem reported by Tobias Nygren
This commit is contained in:
parent
03a5fdd958
commit
1c51489270
3 changed files with 98 additions and 25 deletions
|
@ -1,7 +1,7 @@
|
|||
# $NetBSD: Makefile,v 1.44 2009/11/15 15:40:01 drochner Exp $
|
||||
# $NetBSD: Makefile,v 1.45 2009/11/22 16:08:46 drochner Exp $
|
||||
|
||||
DISTNAME= inkscape-0.46
|
||||
PKGREVISION= 5
|
||||
PKGREVISION= 6
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=inkscape/}
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
@ -45,6 +45,7 @@ CONFIGURE_ARGS+= --with-gnome-vfs
|
|||
.include "../../sysutils/gnome-vfs/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
BUILDLINK_API_DEPENDS.poppler-includes+= poppler-includes>=0.12.2
|
||||
.include "../../devel/boehm-gc/buildlink3.mk"
|
||||
.include "../../devel/boost-libs/buildlink3.mk"
|
||||
.include "../../devel/pango/buildlink3.mk"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$NetBSD: distinfo,v 1.28 2009/10/06 00:53:26 dmcmahill Exp $
|
||||
$NetBSD: distinfo,v 1.29 2009/11/22 16:08:46 drochner Exp $
|
||||
|
||||
SHA1 (inkscape-0.46.tar.bz2) = ca68fc9bf539d7bcfc31f36d24f884255b2154e7
|
||||
RMD160 (inkscape-0.46.tar.bz2) = c90713493557bdc17515de1287c9af401a4a3e26
|
||||
|
@ -13,7 +13,7 @@ SHA1 (patch-ag) = 6b6000f3940ec6db9404a206f9757928c1d5740b
|
|||
SHA1 (patch-ah) = 964e51dca7e1212037a9f0122fa0ef812bf8f46c
|
||||
SHA1 (patch-ai) = 56271685b207f4056952929895f1fdd2ec74e3ef
|
||||
SHA1 (patch-aj) = ae258d2b4f3d5bdbfbc6d76d13361b6e672de73c
|
||||
SHA1 (patch-ak) = 7ce80942f955a63dd6f6e772cbf03cf7b89db2c0
|
||||
SHA1 (patch-ak) = ec8a8ff767da9adeec8e40453d7a2c56fa373cd9
|
||||
SHA1 (patch-al) = 0059368f58bc41395d96125c010c6cb574cfca6a
|
||||
SHA1 (patch-am) = 0ca65739b623945283569580fe0b194fe89fb392
|
||||
SHA1 (patch-an) = 6426a52af7b16c3dfeb51f5e48d879d56f067807
|
||||
|
|
|
@ -1,13 +1,68 @@
|
|||
$NetBSD: patch-ak,v 1.1 2009/06/04 00:05:19 reed Exp $
|
||||
$NetBSD: patch-ak,v 1.2 2009/11/22 16:08:46 drochner Exp $
|
||||
|
||||
from https://bugs.launchpad.net/inkscape/+bug/237574
|
||||
|
||||
diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp
|
||||
--- src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:26:20.000000000 +0200
|
||||
+++ src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:51:47.000000000 +0200
|
||||
@@ -2194,11 +2194,11 @@
|
||||
void PdfParser::doShowText(GooString *s) {
|
||||
GfxFont *font;
|
||||
--- src/extension/internal/pdfinput/pdf-parser.cpp.orig 2008-03-11 05:20:21.000000000 +0100
|
||||
+++ src/extension/internal/pdfinput/pdf-parser.cpp
|
||||
@@ -810,7 +810,7 @@ void PdfParser::opSetExtGState(Object ar
|
||||
blendingColorSpace = NULL;
|
||||
isolated = knockout = gFalse;
|
||||
if (!obj4.dictLookup("CS", &obj5)->isNull()) {
|
||||
- blendingColorSpace = GfxColorSpace::parse(&obj5);
|
||||
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
|
||||
}
|
||||
obj5.free();
|
||||
if (obj4.dictLookup("I", &obj5)->isBool()) {
|
||||
@@ -1010,9 +1010,9 @@ void PdfParser::opSetFillColorSpace(Obje
|
||||
state->setFillPattern(NULL);
|
||||
res->lookupColorSpace(args[0].getName(), &obj);
|
||||
if (obj.isNull()) {
|
||||
- colorSpace = GfxColorSpace::parse(&args[0]);
|
||||
+ colorSpace = GfxColorSpace::parse(&args[0], NULL);
|
||||
} else {
|
||||
- colorSpace = GfxColorSpace::parse(&obj);
|
||||
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
|
||||
}
|
||||
obj.free();
|
||||
if (colorSpace) {
|
||||
@@ -1033,9 +1033,9 @@ void PdfParser::opSetStrokeColorSpace(Ob
|
||||
state->setStrokePattern(NULL);
|
||||
res->lookupColorSpace(args[0].getName(), &obj);
|
||||
if (obj.isNull()) {
|
||||
- colorSpace = GfxColorSpace::parse(&args[0]);
|
||||
+ colorSpace = GfxColorSpace::parse(&args[0], NULL);
|
||||
} else {
|
||||
- colorSpace = GfxColorSpace::parse(&obj);
|
||||
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
|
||||
}
|
||||
obj.free();
|
||||
if (colorSpace) {
|
||||
@@ -1102,7 +1102,7 @@ void PdfParser::opSetFillColorN(Object a
|
||||
builder->updateStyle(state);
|
||||
}
|
||||
if (args[numArgs-1].isName() &&
|
||||
- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
|
||||
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
|
||||
state->setFillPattern(pattern);
|
||||
builder->updateStyle(state);
|
||||
}
|
||||
@@ -1146,7 +1146,7 @@ void PdfParser::opSetStrokeColorN(Object
|
||||
builder->updateStyle(state);
|
||||
}
|
||||
if (args[numArgs-1].isName() &&
|
||||
- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
|
||||
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
|
||||
state->setStrokePattern(pattern);
|
||||
builder->updateStyle(state);
|
||||
}
|
||||
@@ -1544,7 +1544,7 @@ void PdfParser::opShFill(Object args[],
|
||||
double *matrix = NULL;
|
||||
GBool savedState = gFalse;
|
||||
|
||||
- if (!(shading = res->lookupShading(args[0].getName()))) {
|
||||
+ if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2196,7 +2196,7 @@ void PdfParser::doShowText(GooString *s)
|
||||
int wMode;
|
||||
double riseX, riseY;
|
||||
CharCode code;
|
||||
|
@ -16,11 +71,7 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
|
|||
double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, lineX, lineY;
|
||||
double originX, originY, tOriginX, tOriginY;
|
||||
double oldCTM[6], newCTM[6];
|
||||
double *mat;
|
||||
Object charProc;
|
||||
@@ -2242,11 +2242,11 @@
|
||||
oldParser = parser;
|
||||
p = s->getCString();
|
||||
@@ -2244,7 +2244,7 @@ void PdfParser::doShowText(GooString *s)
|
||||
len = s->getLength();
|
||||
while (len > 0) {
|
||||
n = font->getNextChar(p, len, &code,
|
||||
|
@ -29,11 +80,7 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
|
|||
&dx, &dy, &originX, &originY);
|
||||
dx = dx * state->getFontSize() + state->getCharSpace();
|
||||
if (n == 1 && *p == ' ') {
|
||||
dx += state->getWordSpace();
|
||||
}
|
||||
@@ -2291,11 +2291,11 @@
|
||||
state->textTransformDelta(0, state->getRise(), &riseX, &riseY);
|
||||
p = s->getCString();
|
||||
@@ -2293,7 +2293,7 @@ void PdfParser::doShowText(GooString *s)
|
||||
len = s->getLength();
|
||||
while (len > 0) {
|
||||
n = font->getNextChar(p, len, &code,
|
||||
|
@ -42,5 +89,30 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
|
|||
&dx, &dy, &originX, &originY);
|
||||
|
||||
if (wMode) {
|
||||
dx *= state->getFontSize();
|
||||
dy = dy * state->getFontSize() + state->getCharSpace();
|
||||
@@ -2487,7 +2487,7 @@ void PdfParser::doImage(Object *ref, Str
|
||||
}
|
||||
}
|
||||
if (!obj1.isNull()) {
|
||||
- colorSpace = GfxColorSpace::parse(&obj1);
|
||||
+ colorSpace = GfxColorSpace::parse(&obj1, NULL);
|
||||
} else if (csMode == streamCSDeviceGray) {
|
||||
colorSpace = new GfxDeviceGrayColorSpace();
|
||||
} else if (csMode == streamCSDeviceRGB) {
|
||||
@@ -2572,7 +2572,7 @@ void PdfParser::doImage(Object *ref, Str
|
||||
obj2.free();
|
||||
}
|
||||
}
|
||||
- maskColorSpace = GfxColorSpace::parse(&obj1);
|
||||
+ maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
|
||||
obj1.free();
|
||||
if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
|
||||
goto err1;
|
||||
@@ -2747,7 +2747,7 @@ void PdfParser::doForm(Object *str) {
|
||||
if (obj1.dictLookup("S", &obj2)->isName("Transparency")) {
|
||||
transpGroup = gTrue;
|
||||
if (!obj1.dictLookup("CS", &obj3)->isNull()) {
|
||||
- blendingColorSpace = GfxColorSpace::parse(&obj3);
|
||||
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
|
||||
}
|
||||
obj3.free();
|
||||
if (obj1.dictLookup("I", &obj3)->isBool()) {
|
||||
|
|
Loading…
Reference in a new issue