From e7807745bab8868ae1e86b898cdc44cf999f1af6 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sat, 2 Nov 2024 10:59:01 -0400 Subject: [PATCH] inkscape: update to 1.4. --- .../patches/filter_effects_dialog.patch | 12 --- .../inkscape/patches/fix-libxml2-2.12.patch | 33 ------- .../patches/inkscape-1.3.2-cxx20.patch | 91 ------------------- .../inkscape-1.3.2-poppler-24.03.patch | 42 --------- .../inkscape-1.3.2-poppler-24.05.patch | 64 ------------- srcpkgs/inkscape/template | 13 +-- 6 files changed, 7 insertions(+), 248 deletions(-) delete mode 100644 srcpkgs/inkscape/patches/filter_effects_dialog.patch delete mode 100644 srcpkgs/inkscape/patches/fix-libxml2-2.12.patch delete mode 100644 srcpkgs/inkscape/patches/inkscape-1.3.2-cxx20.patch delete mode 100644 srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.03.patch delete mode 100644 srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.05.patch diff --git a/srcpkgs/inkscape/patches/filter_effects_dialog.patch b/srcpkgs/inkscape/patches/filter_effects_dialog.patch deleted file mode 100644 index fccff9499a5..00000000000 --- a/srcpkgs/inkscape/patches/filter_effects_dialog.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff '--color=auto' -ur a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp ---- a/src/ui/dialog/filter-effects-dialog.cpp 2023-11-16 20:05:21.000000000 +0100 -+++ b/src/ui/dialog/filter-effects-dialog.cpp 2024-05-31 00:52:13.179734092 +0200 -@@ -202,7 +202,7 @@ - template< typename T> class ComboWithTooltip : public Gtk::EventBox - { - public: -- ComboWithTooltip(T default_value, const Util::EnumDataConverter& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr) -+ ComboWithTooltip(T default_value, const Util::EnumDataConverter& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr) - { - if (tip_text) { - set_tooltip_text(tip_text); diff --git a/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch b/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch deleted file mode 100644 index dc5b0f53460..00000000000 --- a/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001 -From: Christian Hesse -Date: Fri, 17 Nov 2023 22:30:42 +0100 -Subject: [PATCH] include missing header file -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes build error: -``` -/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’: -/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’? - 86 | xmlFree(full); -``` ---- - src/object/uri.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/object/uri.h b/src/object/uri.h -index 381adec58cf..d5b211fe2b2 100644 ---- a/src/object/uri.h -+++ b/src/object/uri.h -@@ -13,6 +13,7 @@ - #define INKSCAPE_URI_H - - #include -+#include - #include - #include - --- -GitLab - diff --git a/srcpkgs/inkscape/patches/inkscape-1.3.2-cxx20.patch b/srcpkgs/inkscape/patches/inkscape-1.3.2-cxx20.patch deleted file mode 100644 index 3c61b191927..00000000000 --- a/srcpkgs/inkscape/patches/inkscape-1.3.2-cxx20.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 1798e9c13b786f3d077ba0132592c4d5c1d1fb9b Mon Sep 17 00:00:00 2001 -From: Tavmjong Bah -Date: Tue, 26 Sep 2023 19:23:27 +0000 -Subject: [PATCH] Up C++ version to C++20. - ---- - CMakeLists.txt | 4 ++-- - _clang-format | 2 +- - src/ui/knot/knot-holder-entity.cpp | 2 +- - src/ui/tools/pencil-tool.cpp | 9 ++++++--- - 4 files changed, 10 insertions(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe6b10cda24..de2680bd651 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}") - # ----------------------------------------------------------------------------- - # CMake Configuration - # ----------------------------------------------------------------------------- --set(CMAKE_CXX_STANDARD 17) -+set(CMAKE_CXX_STANDARD 20) - set(CMAKE_CXX_STANDARD_REQUIRED ON) --# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++17 instead of -std=gnu++17 -+# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++20 instead of -std=gnu++20 - # TODO: build currently fails with it as we actually depend on GNU compiler extensions... - # mostly use of the non-Standard M_PI et al. TODO: C++20: Use the header. - -diff --git a/_clang-format b/_clang-format -index 39396fad65a..48de4d2bd88 100644 ---- a/_clang-format -+++ b/_clang-format -@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false - SpacesInCStyleCastParentheses: false - SpacesInParentheses: false - SpacesInSquareBrackets: false --Standard: c++17 -+Standard: c++20 - StatementMacros: [] - TypenameMacros: [] - TabWidth: 4 -diff --git a/src/ui/knot/knot-holder-entity.cpp b/src/ui/knot/knot-holder-entity.cpp -index 8703f5975f7..add66d2fa29 100644 ---- a/src/ui/knot/knot-holder-entity.cpp -+++ b/src/ui/knot/knot-holder-entity.cpp -@@ -315,7 +315,7 @@ void PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point co - double scale_x = std::clamp(new_extent[X] / _cached_diagonal[X], _cached_min_scale, 1e9); - double scale_y = std::clamp(new_extent[Y] / _cached_diagonal[Y], _cached_min_scale, 1e9); - -- Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale(lerp(0.5, scale_x, scale_y)) -+ Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale((scale_x + scale_y) * 0.5) - : Scale(scale_x, scale_y); - - // 2. Calculate offset to keep pattern origin aligned -diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp -index fd2d08cad0c..7324f7c8515 100644 ---- a/src/ui/tools/pencil-tool.cpp -+++ b/src/ui/tools/pencil-tool.cpp -@@ -17,7 +17,11 @@ - * Released under GNU GPL v2+, read the file 'COPYING' for more information. - */ - --#include // For std::accumulate -+#include "pencil-tool.h" -+ -+#include // std::lerp -+#include // std::accumulate -+ - #include - #include - -@@ -26,7 +30,6 @@ - #include <2geom/sbasis-to-bezier.h> - #include <2geom/svg-path-parser.h> - --#include "pencil-tool.h" - - #include "context-fns.h" - #include "desktop.h" -@@ -806,7 +809,7 @@ void PencilTool::_addFreehandPoint(Geom::Point const &p, guint /*state*/, bool l - min = max; - } - double dezoomify_factor = 0.05 * 1000 / _desktop->current_zoom(); -- double const pressure_shrunk = pressure * (max - min) + min; // C++20 -> use std::lerp() -+ double const pressure_shrunk = std::lerp(min, max, pressure); - double pressure_computed = std::abs(pressure_shrunk * dezoomify_factor); - double pressure_computed_scaled = std::abs(pressure_computed * _desktop->getDocument()->getDocumentScale().inverse()[Geom::X]); - if (p != p_array[_npoints - 1]) { --- -GitLab - diff --git a/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.03.patch b/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.03.patch deleted file mode 100644 index c867bcd600f..00000000000 --- a/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.03.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/src/extension/internal/pdfinput/svg-builder.cpp 2023-11-25 13:17:23.000000000 +0100 -+++ b/src/extension/internal/pdfinput/svg-builder.cpp 2024-08-23 18:27:43.504605248 +0200 -@@ -1158,9 +1158,13 @@ - #define INT_EPSILON 8 - bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, - _POPPLER_CONST Function *func) { -- int type = func->getType(); -+ auto type = func->getType(); - auto space = shading->getColorSpace(); -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ if ( type == Function::Type::Sampled || type == Function::Type::Exponential ) { // Sampled or exponential function -+#else - if ( type == 0 || type == 2 ) { // Sampled or exponential function -+#endif - GfxColor stop1, stop2; - if (!svgGetShadingColor(shading, 0.0, &stop1) || !svgGetShadingColor(shading, 1.0, &stop2)) { - return false; -@@ -1168,7 +1172,11 @@ - _addStopToGradient(gradient, 0.0, &stop1, space, 1.0); - _addStopToGradient(gradient, 1.0, &stop2, space, 1.0); - } -- } else if ( type == 3 ) { // Stitching -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ } else if ( type == Function::Type::Stitching ) { // Stitching -+#else -+ } else if ( type == 3 ) { // Stitching -+#endif - auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func); - const double *bounds = stitchingFunc->getBounds(); - const double *encode = stitchingFunc->getEncode(); -@@ -1183,7 +1191,11 @@ - for ( int i = 0 ; i < num_funcs ; i++ ) { - svgGetShadingColor(shading, bounds[i + 1], &color); - // Add stops -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ if (stitchingFunc->getFunc(i)->getType() == Function::Type::Exponential) { // process exponential fxn -+#else - if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn -+#endif - double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE(); - if (expE > 1.0) { - expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1 diff --git a/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.05.patch b/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.05.patch deleted file mode 100644 index bb2764032c4..00000000000 --- a/srcpkgs/inkscape/patches/inkscape-1.3.2-poppler-24.05.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 96ca7a6c215aa14336b52753f56244dc8796ec43 Mon Sep 17 00:00:00 2001 -From: Heiko Becker -Date: Fri, 3 May 2024 14:52:00 +0200 -Subject: [PATCH] Fix build with poppler >= 24.05.0 - -GooString::hasUnicodeMarkerLE and GooString::hasUnicodeMarker were -rename and moved to UTF.h [1][2] - -[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/98fabb298b0e8eaef9193bbce68c99c85473a314 -[2] https://gitlab.freedesktop.org/poppler/poppler/-/commit/1f06dca08c32ed18c3030530d98a0e30d41dd7a2 ---- - src/extension/internal/pdfinput/poppler-transition-api.h | 9 +++++++++ - src/extension/internal/pdfinput/poppler-utils.cpp | 6 ++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 58aa1ec921d..481aefadf46 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -13,6 +13,15 @@ - #define SEEN_POPPLER_TRANSITION_API_H - - #include -+#include -+ -+#if POPPLER_CHECK_VERSION(24, 5, 0) -+#define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr())) -+#define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr())) -+#else -+#define _POPPLER_HAS_UNICODE_BOM(value) (value->hasUnicodeMarker()) -+#define _POPPLER_HAS_UNICODE_BOMLE(value) (value->hasUnicodeMarkerLE()) -+#endif - - #if POPPLER_CHECK_VERSION(24, 3, 0) - #define _POPPLER_FUNCTION_TYPE_SAMPLED Function::Type::Sampled -diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp -index 78d90c66c9d..c02815f64b9 100644 ---- a/src/extension/internal/pdfinput/poppler-utils.cpp -+++ b/src/extension/internal/pdfinput/poppler-utils.cpp -@@ -12,6 +12,8 @@ - - #include "poppler-utils.h" - -+#include -+ - #include "2geom/affine.h" - #include "GfxFont.h" - #include "GfxState.h" -@@ -563,10 +565,10 @@ std::string getDictString(Dict *dict, const char *key) - */ - std::string getString(const GooString *value) - { -- if (value->hasUnicodeMarker()) { -+ if (_POPPLER_HAS_UNICODE_BOM(value)) { - return g_convert(value->getCString () + 2, value->getLength () - 2, - "UTF-8", "UTF-16BE", NULL, NULL, NULL); -- } else if (value->hasUnicodeMarkerLE()) { -+ } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) { - return g_convert(value->getCString () + 2, value->getLength () - 2, - "UTF-8", "UTF-16LE", NULL, NULL, NULL); - } --- -GitLab - diff --git a/srcpkgs/inkscape/template b/srcpkgs/inkscape/template index 4ea73a51ae7..fe2cc2c43d7 100644 --- a/srcpkgs/inkscape/template +++ b/srcpkgs/inkscape/template @@ -1,7 +1,7 @@ # Template file for 'inkscape' pkgname=inkscape -version=1.3.2 -revision=4 +version=1.4 +revision=1 build_style=cmake make_check_target="check" hostmakedepends="automake gettext glib-devel intltool libgraphicsmagick-devel @@ -11,16 +11,17 @@ makedepends="aspell-devel cairomm-devel double-conversion-devel gc-devel hunspell-devel libatomic_ops-devel libcdr-devel libgomp-devel libvisio-devel libwpd-devel libwpd-devel libwpg-devel libxslt-devel pango-devel poppler-devel poppler-glib-devel potrace-devel gtest-devel gtksourceview4-devel - boost-devel lib2geom-devel popt-devel readline-devel libxml2-devel libsoup-devel" + boost-devel lib2geom-devel popt-devel readline-devel libxml2-devel" depends="desktop-file-utils hicolor-icon-theme python3-Pillow python3-appdirs - python3-cssselect python3-lxml python3-numpy python3-requests python3-scour" -checkdepends="$depends GraphicsMagick ImageMagick cantarell-fonts gtest-devel" + python3-cssselect python3-lxml python3-numpy python3-requests python3-scour + python3-tinycss2" +checkdepends="$depends GraphicsMagick ImageMagick cantarell-fonts gtest-devel bc" short_desc="Vector-based drawing program" maintainer="Alex Lohr " license="GPL-2.0-only, LGPL-2.1-or-later" homepage="https://inkscape.org/" distfiles="https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.xz" -checksum=dbd1844dc443fe5e10d3e9a887144e5fb7223852fff191cfb5ef7adeab0e086b +checksum=c59a85453b699addebcd51c1dc07684dd96a10c8aec716b19551db50562e13f5 python_version=3 # some tests still fail on musl: https://gitlab.com/inkscape/inkscape/-/issues/2241 make_check=no