Date: Friday, September 2, 2022 @ 06:32:01 Author: andyrtr Revision: 454896
archrelease: copy trunk to staging-x86_64 Added: inkscape/repos/staging-x86_64/ inkscape/repos/staging-x86_64/PKGBUILD (from rev 454895, inkscape/trunk/PKGBUILD) inkscape/repos/staging-x86_64/inkscape-1.2.1-poppler-22.09.0.patch (from rev 454895, inkscape/trunk/inkscape-1.2.1-poppler-22.09.0.patch) --------------------------------------+ PKGBUILD | 82 +++++++++++++++++++++++++++++++++ inkscape-1.2.1-poppler-22.09.0.patch | 73 +++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) Copied: inkscape/repos/staging-x86_64/PKGBUILD (from rev 454895, inkscape/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2022-09-02 06:32:01 UTC (rev 454896) @@ -0,0 +1,82 @@ +# Maintainer: Gaetan Bisson <bis...@archlinux.org> +# Contributor: Tobias Kieslich <tob...@justdreams.de> +# Contributor: tobias <tob...@archlinux.org> + +pkgname=inkscape +pkgver=1.2.1 +_tag='9c6d41e4102d2e2e21a6d53ddba38ce202271001' # git rev-parse INKSCAPE_${pkgver/./_} +pkgrel=4 +pkgdesc='Professional vector graphics editor' +url='https://inkscape.org/' +license=('GPL' 'LGPL') +arch=('x86_64') +options=('debug') +makedepends=('cmake' 'boost' 'git') + +depends=( + 'dbus-glib' + 'double-conversion' + 'gc' + 'graphicsmagick' + 'gsl' + 'gspell' + 'gtkmm3' + 'lcms2' + 'lib2geom' + 'libcdr' + 'libjpeg-turbo' + 'libvisio' + 'libxslt' + 'poppler-glib' + 'potrace' + 'python' + 'python-cssselect' + 'python-lxml' + 'python-numpy' + 'ttf-font' +) + +optdepends=( + 'fig2dev: xfig input' + 'gvfs: import clip art' + 'pstoedit: latex formulas' + 'scour: optimized SVG output, some extensions' + 'texlive-core: latex formulas' +) + +#source=("https://media.inkscape.org/dl/resources/file/${pkgname}-${pkgver}.tar.bz2") +source=("git+https://gitlab.com/inkscape/inkscape.git#tag=${_tag}" + inkscape-1.2.1-poppler-22.09.0.patch) +sha256sums=('SKIP' + 'd25ffb560c691398403fc93eb5dde358f4309f95fdce8fd34a57d540e84fc38f') + +_backports=( +) + +prepare() { + cd "${pkgname}" + git submodule update --init --recursive + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done + + patch -Np1 -i ../inkscape-1.2.1-poppler-22.09.0.patch +} + +build() { + mkdir -p build + export PKG_CONFIG_PATH='/usr/lib/imagemagick6/pkgconfig' + cmake -H${pkgname} -Bbuild \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DWITH_DBUS=ON \ + + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --build build --target install +} Copied: inkscape/repos/staging-x86_64/inkscape-1.2.1-poppler-22.09.0.patch (from rev 454895, inkscape/trunk/inkscape-1.2.1-poppler-22.09.0.patch) =================================================================== --- staging-x86_64/inkscape-1.2.1-poppler-22.09.0.patch (rev 0) +++ staging-x86_64/inkscape-1.2.1-poppler-22.09.0.patch 2022-09-02 06:32:01 UTC (rev 454896) @@ -0,0 +1,73 @@ +https://gitlab.com/inkscape/inkscape/-/merge_requests/4719 + +From dce083204c62f1185ad079fc124f7fb40a1d0bb6 Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Fri, 2 Sep 2022 06:21:28 +0100 +Subject: [PATCH] Fix build with Poppler 22.09.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With Poppler 22.09.0, inkscape fails to build with: +``` +/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:394:23: error: no matching function for call to ‘GfxState::getLineDash(double**, int*, double*)’ + 394 | state->getLineDash(&dash_pattern, &dash_length, &dash_start); + | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from /var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:44: +/usr/include/poppler/GfxState.h:1506:32: note: candidate: ‘const std::vector<double>& GfxState::getLineDash(double*)’ + 1506 | const std::vector<double> &getLineDash(double *start) + | ^~~~~~~~~~~ +[...] +/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/pdf-parser.cpp:700:21: error: no matching function for call to ‘GfxState::setLineDash(double*&, int&, double)’ + 700 | state->setLineDash(dash, length, args[1].getNum()); + | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``` + +Poppler changed the getLineDash interface: +``` +- void getLineDash(double **dash, int *length, double *start) ++ const std::vector<double> &getLineDash(double *start) +``` + +... and the setLineDash interface: +```` +- void setLineDash(double *dash, int length, double start); ++ void setLineDash(std::vector<double> &&dash, double start); +``` + +Signed-off-by: Sam James <s...@gentoo.org> +--- a/src/extension/internal/pdfinput/pdf-parser.cpp ++++ b/src/extension/internal/pdfinput/pdf-parser.cpp +@@ -697,7 +697,11 @@ void PdfParser::opSetDash(Object args[], int /*numArgs*/) + _POPPLER_FREE(obj); + } + } ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ state->setLineDash(std::vector<double> (*dash, length), args[1].getNum()); ++#else + state->setLineDash(dash, length, args[1].getNum()); ++#endif + builder->updateStyle(state); + } + +--- a/src/extension/internal/pdfinput/svg-builder.cpp ++++ b/src/extension/internal/pdfinput/svg-builder.cpp +@@ -388,10 +388,17 @@ void SvgBuilder::_setStrokeStyle(SPCSSAttr *css, GfxState *state) { + sp_repr_css_set_property(css, "stroke-miterlimit", os_ml.str().c_str()); + + // Line dash +- double *dash_pattern; + int dash_length; + double dash_start; ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ const double *dash_pattern; ++ const std::vector<double> &dash = state->getLineDash(&dash_start); ++ dash_pattern = dash.data(); ++ dash_length = dash.size(); ++#else ++ double *dash_pattern; + state->getLineDash(&dash_pattern, &dash_length, &dash_start); ++#endif + if ( dash_length > 0 ) { + Inkscape::CSSOStringStream os_array; + for ( int i = 0 ; i < dash_length ; i++ ) {