From 70c38b649680abb28956fa9a88f6561ac92ccec1 Mon Sep 17 00:00:00 2001 From: Hervy Qurrotul Ainur Rozi Date: Sat, 16 Jul 2022 15:50:09 +0700 Subject: [PATCH] inkscape: update to 1.2.1 --- ...ibility-with-Poppler-22.03-and-later.patch | 50 ------ .../Fix-build-with-poppler-21.11.0.patch | 29 ---- .../Fix-build-with-poppler-22.04.patch | 143 ------------------ srcpkgs/inkscape/template | 14 +- 4 files changed, 8 insertions(+), 228 deletions(-) delete mode 100644 srcpkgs/inkscape/patches/Ensure-compatibility-with-Poppler-22.03-and-later.patch delete mode 100644 srcpkgs/inkscape/patches/Fix-build-with-poppler-21.11.0.patch delete mode 100644 srcpkgs/inkscape/patches/Fix-build-with-poppler-22.04.patch diff --git a/srcpkgs/inkscape/patches/Ensure-compatibility-with-Poppler-22.03-and-later.patch b/srcpkgs/inkscape/patches/Ensure-compatibility-with-Poppler-22.03-and-later.patch deleted file mode 100644 index 297ef677665e..000000000000 --- a/srcpkgs/inkscape/patches/Ensure-compatibility-with-Poppler-22.03-and-later.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75 Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras -Date: Sun, 20 Mar 2022 22:41:51 -0300 -Subject: [PATCH] Ensure compatibility with Poppler 22.03 and later - -This change ensures that Inkscape will build against Poppler 22.03 after -the changes that were made to the constructor of `PDFDoc`. - -See: https://gitlab.freedesktop.org/poppler/poppler/-/commit/4f2abd3ef - -Co-authored-by: Rafael Siejakowski ---- - src/extension/internal/pdfinput/pdf-input.cpp | 3 +-- - src/extension/internal/pdfinput/poppler-transition-api.h | 6 ++++++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp -index 3dabc94ba2..079b0dc713 100644 ---- a/src/extension/internal/pdfinput/pdf-input.cpp -+++ b/src/extension/internal/pdfinput/pdf-input.cpp -@@ -688,8 +688,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) { - - // poppler does not use glib g_open. So on win32 we must use unicode call. code was copied from - // glib gstdio.c -- GooString *filename_goo = new GooString(uri); -- pdf_doc = std::make_shared(filename_goo, nullptr, nullptr, nullptr); // TODO: Could ask for password -+ pdf_doc = _POPPLER_MAKE_SHARED_PDFDOC(uri); // TODO: Could ask for password - - if (!pdf_doc->isOk()) { - int error = pdf_doc->getErrorCode(); -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 87a19d4c42..50b617c25c 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -14,6 +14,12 @@ - - #include - -+#if POPPLER_CHECK_VERSION(22, 3, 0) -+#define _POPPLER_MAKE_SHARED_PDFDOC(uri) std::make_shared(std::make_unique(uri)) -+#else -+#define _POPPLER_MAKE_SHARED_PDFDOC(uri) std::make_shared(new GooString(uri), nullptr, nullptr, nullptr) -+#endif -+ - #if POPPLER_CHECK_VERSION(0, 83, 0) - #define _POPPLER_CONST_83 const - #else --- -GitLab - diff --git a/srcpkgs/inkscape/patches/Fix-build-with-poppler-21.11.0.patch b/srcpkgs/inkscape/patches/Fix-build-with-poppler-21.11.0.patch deleted file mode 100644 index 5d7f4801273d..000000000000 --- a/srcpkgs/inkscape/patches/Fix-build-with-poppler-21.11.0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5724c21b9cb7b6176a7b36ca24068b148c817e82 Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras -Date: Mon, 1 Nov 2021 21:45:38 +0200 -Subject: [PATCH] Fix build with poppler 21.11.0 - -GfxFont::tag is now of type std::string instead of GooString *. ---- - src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index e3d04d544b..feecefa043 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -2169,7 +2169,11 @@ void PdfParser::opSetFont(Object args[], int /*numArgs*/) - } - if (printCommands) { - printf(" font: tag=%s name='%s' %g\n", -+#if POPPLER_CHECK_VERSION(21,11,0) -+ font->getTag().c_str(), -+#else - font->getTag()->getCString(), -+#endif - font->getName() ? font->getName()->getCString() : "???", - args[1].getNum()); - fflush(stdout); --- -GitLab - diff --git a/srcpkgs/inkscape/patches/Fix-build-with-poppler-22.04.patch b/srcpkgs/inkscape/patches/Fix-build-with-poppler-22.04.patch deleted file mode 100644 index f12054268a3c..000000000000 --- a/srcpkgs/inkscape/patches/Fix-build-with-poppler-22.04.patch +++ /dev/null @@ -1,143 +0,0 @@ -From d989cdf1059c78bc3bb6414330242073768d640b Mon Sep 17 00:00:00 2001 -From: Rafael Siejakowski -Date: Mon, 4 Apr 2022 22:09:39 -0300 -Subject: [PATCH] Compatibility with Poppler 22.04 - -Replace vanilla pointers with std::shared_ptr for pointers to fonts; -eliminate manual ref-counting. - -Fixes https://gitlab.com/inkscape/inkscape/-/issues/3387 ---- - src/extension/internal/pdfinput/pdf-parser.cpp | 14 ++++++++------ - .../internal/pdfinput/poppler-transition-api.h | 6 ++++++ - src/extension/internal/pdfinput/svg-builder.cpp | 7 +------ - src/extension/internal/pdfinput/svg-builder.h | 1 - - 4 files changed, 15 insertions(+), 13 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index feecefa043..d6e2ede4f3 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -30,6 +30,7 @@ - #include "Gfx.h" - #include "pdf-parser.h" - #include "util/units.h" -+#include "poppler-transition-api.h" - - #include "glib/poppler-features.h" - #include "goo/gmem.h" -@@ -2158,7 +2159,7 @@ void PdfParser::opSetCharSpacing(Object args[], int /*numArgs*/) - // TODO not good that numArgs is ignored but args[] is used: - void PdfParser::opSetFont(Object args[], int /*numArgs*/) - { -- GfxFont *font = res->lookupFont(args[0].getName()); -+ auto font = res->lookupFont(args[0].getName()); - - if (!font) { - // unsetting the font (drawing no text) is better than using the -@@ -2179,7 +2180,9 @@ void PdfParser::opSetFont(Object args[], int /*numArgs*/) - fflush(stdout); - } - -+#if !POPPLER_CHECK_VERSION(22, 4, 0) - font->incRefCnt(); -+#endif - state->setFont(font, args[1].getNum()); - fontChanged = gTrue; - } -@@ -2373,7 +2376,6 @@ void PdfParser::doShowText(const GooString *s) { - #else - void PdfParser::doShowText(GooString *s) { - #endif -- GfxFont *font; - int wMode; - double riseX, riseY; - CharCode code; -@@ -2392,7 +2394,7 @@ void PdfParser::doShowText(GooString *s) { - #endif - int len, n, uLen; - -- font = state->getFont(); -+ auto font = state->getFont(); - wMode = font->getWMode(); - - builder->beginString(state); -@@ -2445,10 +2447,10 @@ void PdfParser::doShowText(GooString *s) { - //out->updateCTM(state, 1, 0, 0, 1, 0, 0); - if (false){ /*!out->beginType3Char(state, curX + riseX, curY + riseY, tdx, tdy, - code, u, uLen)) {*/ -- _POPPLER_CALL_ARGS(charProc, ((Gfx8BitFont *)font)->getCharProc, code); -- if ((resDict = ((Gfx8BitFont *)font)->getResources())) { -+ _POPPLER_CALL_ARGS(charProc, _POPPLER_FONTPTR_TO_GFX8(font)->getCharProc, code); -+ if (resDict = _POPPLER_FONTPTR_TO_GFX8(font)->getResources()) { - pushResources(resDict); -- } -+ } - if (charProc.isStream()) { - //parse(&charProc, gFalse); // TODO: parse into SVG font - } else { -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 50b617c25c..dc9e47e45b 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -14,6 +14,12 @@ - - #include - -+#if POPPLER_CHECK_VERSION(22, 4, 0) -+#define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get()) -+#else -+#define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr) -+#endif -+ - #if POPPLER_CHECK_VERSION(22, 3, 0) - #define _POPPLER_MAKE_SHARED_PDFDOC(uri) std::make_shared(std::make_unique(uri)) - #else -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index eede668893..901cc8cddb 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -108,7 +108,6 @@ SvgBuilder::~SvgBuilder() = default; - - void SvgBuilder::_init() { - _font_style = nullptr; -- _current_font = nullptr; - _font_specification = nullptr; - _font_scaling = 1; - _need_font_update = true; -@@ -1064,11 +1063,8 @@ void SvgBuilder::updateFont(GfxState *state) { - _need_font_update = false; - updateTextMatrix(state); // Ensure that we have a text matrix built - -- if (_font_style) { -- //sp_repr_css_attr_unref(_font_style); -- } - _font_style = sp_repr_css_attr_new(); -- GfxFont *font = state->getFont(); -+ auto font = state->getFont(); - // Store original name - if (font->getName()) { - _font_specification = font->getName()->getCString(); -@@ -1213,7 +1209,6 @@ void SvgBuilder::updateFont(GfxState *state) { - sp_repr_css_set_property(_font_style, "writing-mode", "tb"); - } - -- _current_font = font; - _invalidated_style = true; - } - -diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h -index fb4e64fa19..e91febd717 100644 ---- a/src/extension/internal/pdfinput/svg-builder.h -+++ b/src/extension/internal/pdfinput/svg-builder.h -@@ -204,7 +204,6 @@ private: - std::vector _state_stack; - - SPCSSAttr *_font_style; // Current font style -- GfxFont *_current_font; - const char *_font_specification; - double _font_scaling; - bool _need_font_update; --- -GitLab - diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template index 4d902e663f73..b5a6cbbe1b57 100644 --- a/srcpkgs/inkscape/template +++ b/srcpkgs/inkscape/template @@ -1,8 +1,10 @@ # Template file for 'inkscape' pkgname=inkscape -version=1.1.1 -revision=4 -wrksrc="inkscape-${version}_2021-09-20_3bf5ae0d25" +version=1.2.1 +revision=1 +_pkgdate="2022-07-14" +_pkgcommit="9c6d41e410" +wrksrc="inkscape-${version}_${_pkgdate}_${_pkgcommit}" build_style=cmake # builds executables then runs checks # some tests still fail on musl: https://gitlab.com/inkscape/inkscape/-/issues/2241 @@ -13,15 +15,15 @@ makedepends="harfbuzz-devel libsoup-devel gsl-devel pango-devel libatomic_ops-de double-conversion-devel gc-devel libwpd-devel libcdr-devel libvisio-devel poppler-devel libwpd-devel potrace-devel gtkmm-devel gdl-devel gtkspell3-devel aspell-devel libxslt-devel libgomp-devel libwpg-devel poppler-glib-devel" -depends="desktop-file-utils hicolor-icon-theme python3-appdirs python3-lxml python3-numpy - python3-scour python3-Pillow" +depends="desktop-file-utils hicolor-icon-theme python3-appdirs python3-cssselect + python3-lxml python3-numpy python3-scour python3-Pillow" checkdepends="$depends gtest-devel ImageMagick cantarell-fonts" short_desc="Vector-based drawing program" maintainer="Alex Lohr " license="GPL-2.0-only, LGPL-2.1-or-later" homepage="http://inkscape.org/" distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.xz" -checksum=aeca0b9d33b5b1cfa9aa70433bdee6a8c3d020ffafc2e6f0c9a60eed7a7978af +checksum=46ce7da0eba7ca4badc1db70e9cbb67e0adf9bb342687dc6e08b5ca21b8d4c1b python_version=3 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then