mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 04:16:46 +02:00
main/inkscape: rebuild against new poppler
This commit is contained in:
parent
3270e77a12
commit
2814e2175e
@ -1,7 +1,7 @@
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=inkscape
|
||||
pkgver=0.48.0
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="A vector-based drawing program - svg compliant"
|
||||
url="http://inkscape.sourceforge.net/"
|
||||
arch="x86 x86_64"
|
||||
@ -19,15 +19,24 @@ popt-dev
|
||||
lcms-dev
|
||||
libxml2-dev
|
||||
boost-dev
|
||||
autoconf automake
|
||||
"
|
||||
depends="desktop-file-utils"
|
||||
install=
|
||||
source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
|
||||
source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
|
||||
inkscape-0.48.0-poppler.patch
|
||||
"
|
||||
|
||||
_builddir="$srcdir"/$pkgname-$pkgver
|
||||
|
||||
prepare() {
|
||||
cd "$_builddir"
|
||||
for i in $source; do
|
||||
case $i in
|
||||
*.patch) msg "$i"; patch -p1 -i "$srcdir"/$i || return 1;;
|
||||
esac
|
||||
done
|
||||
aclocal -I m4 && autoconf && automake -a && autoheader
|
||||
}
|
||||
|
||||
build() {
|
||||
@ -48,4 +57,5 @@ package() {
|
||||
cd "$_builddir"
|
||||
make DESTDIR="$pkgdir" install || return 1
|
||||
}
|
||||
md5sums="bb94543b813157d83281657a89465d46 inkscape-0.48.0.tar.gz"
|
||||
md5sums="bb94543b813157d83281657a89465d46 inkscape-0.48.0.tar.gz
|
||||
fa6eae3c40bf4560ee8ab7cb843b19da inkscape-0.48.0-poppler.patch"
|
||||
|
||||
117
main/inkscape/inkscape-0.48.0-poppler.patch
Normal file
117
main/inkscape/inkscape-0.48.0-poppler.patch
Normal file
@ -0,0 +1,117 @@
|
||||
From 646a577c1a10ec62cd4e65e34f7af7e6f8900aee Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Sun, 14 Nov 2010 17:12:58 +0100
|
||||
Subject: [PATCH] Fix build with Poppler 0.15.1
|
||||
|
||||
---
|
||||
config.h.in | 3 ++
|
||||
configure.ac | 29 ++++++++++++++++++++---
|
||||
src/extension/internal/pdfinput/pdf-parser.cpp | 10 ++++++++
|
||||
3 files changed, 38 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/config.h.in b/config.h.in
|
||||
index 909c36b..cab6f0d 100644
|
||||
--- a/config.h.in
|
||||
+++ b/config.h.in
|
||||
@@ -246,6 +246,9 @@
|
||||
/* Use color space API from Poppler >= 0.12.2 */
|
||||
#undef POPPLER_NEW_COLOR_SPACE_API
|
||||
|
||||
+/* GfxPatch no longer uses GfxColor in >= 0.15.1 */
|
||||
+#undef POPPLER_NEW_GFXPATCH
|
||||
+
|
||||
/* Use GfxFont from Poppler >= 0.8.3 */
|
||||
#undef POPPLER_NEW_GFXFONT
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b3c9fd0..815a402 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -611,11 +611,12 @@ if test "x$popplernew" = "xyes"; then
|
||||
AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3])
|
||||
fi
|
||||
|
||||
-AC_MSG_CHECKING(for new color space API in Poppler)
|
||||
ink_svd_CPPFLAGS=$CPPFLAGS
|
||||
ink_svd_LIBS=$LIBS
|
||||
CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS"
|
||||
LIBS="$LIBS $POPPLER_LIBS"
|
||||
+
|
||||
+AC_MSG_CHECKING(for new color space API in Poppler)
|
||||
popplercolor="no"
|
||||
AC_COMPILE_IFELSE([
|
||||
#include <GfxState.h>
|
||||
@@ -627,9 +628,6 @@ int main() {
|
||||
return 0;
|
||||
}
|
||||
], [popplercolor=yes])
|
||||
-CPPFLAGS=$ink_svd_CPPFLAGS
|
||||
-LIBS=$ink_svd_LIBS
|
||||
-
|
||||
if test "x$popplercolor" = "xyes"; then
|
||||
AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2])
|
||||
AC_MSG_RESULT(yes)
|
||||
@@ -637,6 +635,29 @@ else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
+# Poppler's b604a008 commit changes this
|
||||
+AC_MSG_CHECKING(whether Poppler''s GfxPatch no longer uses GfxColor)
|
||||
+popplergfxcolor="no"
|
||||
+AC_COMPILE_IFELSE([
|
||||
+#include <GfxState.h>
|
||||
+
|
||||
+int main() {
|
||||
+ GfxPatch::ColorValue color = {c: {0}};
|
||||
+ GfxPatch patch;
|
||||
+ patch.color[[0]][[0]] = color;
|
||||
+ return 0;
|
||||
+}
|
||||
+], [popplergfxcolor=yes])
|
||||
+if test "x$popplergfxcolor" = "xyes"; then
|
||||
+ AC_DEFINE(POPPLER_NEW_GFXPATCH, 1, [GfxPatch no longer uses GfxColor in >= 0.15.1])
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+else
|
||||
+ AC_MSG_RESULT(no)
|
||||
+fi
|
||||
+
|
||||
+CPPFLAGS=$ink_svd_CPPFLAGS
|
||||
+LIBS=$ink_svd_LIBS
|
||||
+
|
||||
dnl ******************************
|
||||
dnl Inkboard dependency checking
|
||||
dnl ******************************
|
||||
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
|
||||
index b37cbb7..ef31cd3 100644
|
||||
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
|
||||
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
|
||||
@@ -1874,6 +1874,9 @@ void PdfParser::doPatchMeshShFill(GfxPatchMeshShading *shading) {
|
||||
|
||||
void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) {
|
||||
GfxPatch patch00, patch01, patch10, patch11;
|
||||
+#ifdef POPPLER_NEW_GFXPATCH
|
||||
+ GfxColor color;
|
||||
+#endif
|
||||
double xx[4][8], yy[4][8];
|
||||
double xxm, yym;
|
||||
double patchColorDelta = colorDeltas[pdfPatchMeshShading-1];
|
||||
@@ -1890,9 +1893,16 @@ void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) {
|
||||
> patchColorDelta) {
|
||||
break;
|
||||
}
|
||||
+#ifdef POPPLER_NEW_GFXPATCH
|
||||
+ color.c[i] = GfxColorComp(patch->color[0][0].c[i]);
|
||||
+#endif
|
||||
}
|
||||
if (i == nComps || depth == maxDepths[pdfPatchMeshShading-1]) {
|
||||
+#ifdef POPPLER_NEW_GFXPATCH
|
||||
+ state->setFillColor(&color);
|
||||
+#else
|
||||
state->setFillColor(&patch->color[0][0]);
|
||||
+#endif
|
||||
state->moveTo(patch->x[0][0], patch->y[0][0]);
|
||||
state->curveTo(patch->x[0][1], patch->y[0][1],
|
||||
patch->x[0][2], patch->y[0][2],
|
||||
--
|
||||
1.7.3.2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user