diff --git a/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz b/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz deleted file mode 100644 index 769ca29..0000000 --- a/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dbd1844dc443fe5e10d3e9a887144e5fb7223852fff191cfb5ef7adeab0e086b -size 44720944 diff --git a/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz.sig b/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz.sig deleted file mode 100644 index bd828bd..0000000 Binary files a/inkscape-1.3.2_2023-11-25_091e20ef0f.tar.xz.sig and /dev/null differ diff --git a/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz b/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz new file mode 100644 index 0000000..9dea64f --- /dev/null +++ b/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c59a85453b699addebcd51c1dc07684dd96a10c8aec716b19551db50562e13f5 +size 46321868 diff --git a/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz.sig b/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz.sig new file mode 100644 index 0000000..d9a4f79 Binary files /dev/null and b/inkscape-1.4_2024-10-09_e7c3feb100.tar.xz.sig differ diff --git a/inkscape-libxml2.12.patch b/inkscape-libxml2.12.patch deleted file mode 100644 index 786a696..0000000 --- a/inkscape-libxml2.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/inkscape-poppler-24.03.0.patch b/inkscape-poppler-24.03.0.patch deleted file mode 100644 index 555d863..0000000 --- a/inkscape-poppler-24.03.0.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 3dd9846ab99260134e11938f0e575be822507037 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Mon, 4 Mar 2024 22:59:40 +0100 -Subject: [PATCH] Fix build with >=poppler-24.03.0 - -Fixes build errors caused by: - -"Use an enum for Function getType" -Upstream commit 6e3824d45d42cb806a28a2df84e4ab6bb3587083 - -Signed-off-by: Andreas Sturmlechner ---- - src/extension/internal/pdfinput/svg-builder.cpp | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 525fbfec0a..bcd7b1f61b 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -1175,9 +1175,13 @@ static bool svgGetShadingColor(GfxShading *shading, double offset, GfxColor *res - #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; -@@ -1185,7 +1189,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - _addStopToGradient(gradient, 0.0, &stop1, space, 1.0); - _addStopToGradient(gradient, 1.0, &stop2, space, 1.0); - } -+#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(); -@@ -1200,7 +1208,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - 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 --- -GitLab - - diff --git a/inkscape-poppler-24.05.0.patch b/inkscape-poppler-24.05.0.patch deleted file mode 100644 index 82fe07a..0000000 --- a/inkscape-poppler-24.05.0.patch +++ /dev/null @@ -1,46 +0,0 @@ -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/src/extension/internal/pdfinput/poppler-transition-api.h -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/src/extension/internal/pdfinput/poppler-transition-api.h -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/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(22, 4, 0) - #define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get()) -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/src/extension/internal/pdfinput/poppler-utils.cpp -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/src/extension/internal/pdfinput/poppler-utils.cpp -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/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, co - */ - 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); - } diff --git a/inkscape-poppler-c++20-2.patch b/inkscape-poppler-c++20-2.patch deleted file mode 100644 index 30b74c5..0000000 --- a/inkscape-poppler-c++20-2.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/dialog/filter-effects-dialog.cpp -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/src/ui/dialog/filter-effects-dialog.cpp -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/dialog/filter-effects-dialog.cpp -@@ -202,7 +202,7 @@ public: - 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 const default_value, Util::EnumDataConverter const &c, SPAttr const a = SPAttr::INVALID, char* tip_text = nullptr) - { - if (tip_text) { - set_tooltip_text(tip_text); diff --git a/inkscape-poppler-c++20.patch b/inkscape-poppler-c++20.patch deleted file mode 100644 index 09be8f2..0000000 --- a/inkscape-poppler-c++20.patch +++ /dev/null @@ -1,76 +0,0 @@ -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/CMakeLists.txt -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/CMakeLists.txt -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/CMakeLists.txt -@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BIN - # ----------------------------------------------------------------------------- - # 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... - - list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeScripts/Modules") -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/_clang-format -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/_clang-format -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/_clang-format -@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false - SpacesInCStyleCastParentheses: false - SpacesInParentheses: false - SpacesInSquareBrackets: false --Standard: c++17 -+Standard: c++20 - StatementMacros: [] - TypenameMacros: [] - TabWidth: 4 -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/knot/knot-holder-entity.cpp -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/src/ui/knot/knot-holder-entity.cpp -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/knot/knot-holder-entity.cpp -@@ -329,7 +329,7 @@ PatternKnotHolderEntityScale::knot_set(G - 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 -Index: inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/tools/pencil-tool.cpp -=================================================================== ---- inkscape-1.3.2_2023-11-25_091e20ef0f.orig/src/ui/tools/pencil-tool.cpp -+++ inkscape-1.3.2_2023-11-25_091e20ef0f/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" -@@ -814,7 +817,7 @@ void PencilTool::_addFreehandPoint(Geom: - 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 != this->p[this->_npoints - 1]) { diff --git a/inkscape.changes b/inkscape.changes index fd0f0fc..fd9318b 100644 --- a/inkscape.changes +++ b/inkscape.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Mon Oct 14 19:26:24 UTC 2024 - thod_@gmx.de + +- Update to version 1.4: + + Filter Gallery + + Modular grids & improved axonometric grids + + Swatches dialog and palette file handling improved + + Unified font browser preview + + Customizable handles + + Fast image clipping with the Shape Builder + + Affinity Designer File Import + + Support for internal links in exported PDF files + + A whole new icon set + + See the full release notes + https://inkscape.org/release/inkscape-1.4 +- Drop inkscape-poppler-24.03.0.patch, inkscape-libxml2.12.patch, + inkscape-poppler-c++20.patch, inkscape-poppler-24.05.0.patch, + inkscape-poppler-c++20-2.patch, inkscape_1.3.2_fix_tiff.patch, fixed upstream + ------------------------------------------------------------------- Thu Sep 12 11:01:00 UTC 2024 - Dirk Stoecker diff --git a/inkscape.spec b/inkscape.spec index f8fd50c..0af2cd6 100644 --- a/inkscape.spec +++ b/inkscape.spec @@ -16,10 +16,10 @@ # -%define _version 1.3.2_2023-11-25_091e20ef0f +%define _version 1.4_2024-10-09_e7c3feb100 Name: inkscape -Version: 1.3.2 +Version: 1.4 Release: 0 Summary: Vector Illustration Program License: GPL-3.0-only @@ -32,19 +32,6 @@ Source2: inkscape-split-extensions-extra.py Source98: https://media.inkscape.org/media/resources/sigs/inkscape-%{_version}.tar.xz.sig Source99: https://inkscape.org/~MarcJeanmougin/gpg#/%name.keyring -# PATCH-FIX-UPSTREAM https://gitlab.com/inkscape/inkscape/-/merge_requests/6209 -Patch0: inkscape-poppler-24.03.0.patch -# PATCH-FIX-UPSTREAM -Patch1: https://gitlab.com/inkscape/inkscape/-/merge_requests/6089.patch#/inkscape-libxml2.12.patch -# https://gitlab.com/inkscape/inkscape/-/commit/1798e9c13b786f3d077ba0132592c4d5c1d1fb9b -Patch2: inkscape-poppler-c++20.patch -# https://gitlab.com/inkscape/inkscape/-/commit/96ca7a6c215aa14336b52753f56244dc8796ec43 -Patch3: inkscape-poppler-24.05.0.patch -# https://gitlab.com/inkscape/inkscape/-/commit/877fc26483f74f951eab516f1b57b136780a8c78 -Patch4: inkscape-poppler-c++20-2.patch -# https://gitlab.com/inkscape/extensions/-/issues/553 -Patch5: inkscape_1.3.2_fix_tiff.patch - BuildRequires: cmake BuildRequires: double-conversion-devel BuildRequires: fdupes @@ -55,9 +42,10 @@ BuildRequires: gcc10-c++ BuildRequires: gcc-c++ %endif BuildRequires: intltool -BuildRequires: libboost_filesystem-devel >= 1.75 -BuildRequires: libboost_headers-devel >= 1.75 -BuildRequires: libboost_stacktrace-devel >= 1.75 +# boost/container_hash/hash.hpp >= 1.67 +BuildRequires: libboost_filesystem-devel >= 1.67 +BuildRequires: libboost_headers-devel >= 1.67 +BuildRequires: libboost_stacktrace-devel >= 1.67 BuildRequires: liblcms2-devel BuildRequires: libpoppler-glib-devel > 22.01.0 BuildRequires: libxslt-devel @@ -71,7 +59,7 @@ BuildRequires: python3-gobject-devel BuildRequires: python3-xml BuildRequires: readline-devel BuildRequires: update-desktop-files -BuildRequires: pkgconfig(2geom) >= 1.3.0 +BuildRequires: pkgconfig(2geom) >= 1.4.0 BuildRequires: pkgconfig(GraphicsMagick++) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dbus-glib-1) @@ -186,15 +174,11 @@ export CXX=g++-10 %ninja_install -C build # Packaging/distribution info. -rm %{buildroot}%{_datadir}/inkscape/extensions/{LICENSE.txt,MANIFEST.in,README.md,TESTING.md,CONTRIBUTING.md} +rm %{buildroot}%{_datadir}/inkscape/extensions/LICENSE.txt # Test framework. -rm %{buildroot}%{_datadir}/inkscape/extensions/tox.ini \ - %{buildroot}%{_datadir}/inkscape/extensions/.pylintrc \ - %{buildroot}%{_datadir}/inkscape/extensions/doxygen-main.dox rm -rf %{buildroot}%{_datadir}/inkscape/extensions/.pytest_cache # extensions/doc rm -rf %{buildroot}%{_datadir}/inkscape/extensions/docs -rm %{buildroot}%{_datadir}/inkscape/extensions/{.darglint,.pre-commit-config.yaml,package-readme.md,poetry.lock,pyproject.toml} install -Dpm 0644 %{SOURCE1} %{buildroot}%{_datadir}/inkscape/palettes/ @@ -239,9 +223,7 @@ python3 %{SOURCE2} %{buildroot}%{_datadir}/inkscape/extensions "%%{_datadir}/ink %{_datadir}/inkscape/extensions/seamless_pattern.svg %{_datadir}/inkscape/extensions/raster_output_jpg.svg %dir %{_datadir}/inkscape/extensions/icons -%{_datadir}/inkscape/extensions/icons/businesscard_landscape.svg -%{_datadir}/inkscape/extensions/icons/dvd_box.svg -%{_datadir}/inkscape/extensions/icons/seamless_pattern.svg +%{_datadir}/inkscape/extensions/icons/*.svg %{_datadir}/inkscape/attributes/ %{_datadir}/inkscape/branding/ %dir %{_datadir}/bash-completion/ diff --git a/inkscape_1.3.2_fix_tiff.patch b/inkscape_1.3.2_fix_tiff.patch deleted file mode 100644 index a1c01a0..0000000 --- a/inkscape_1.3.2_fix_tiff.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur inkscape-1.3.2_2023-11-25_091e20ef0f/share/extensions/raster_output_tiff.py inkscape-1.3.2_2023-11-25_091e20ef0f_fix/share/extensions/raster_output_tiff.py ---- inkscape-1.3.2_2023-11-25_091e20ef0f/share/extensions/raster_output_tiff.py 2023-03-26 19:12:31.000000000 +0200 -+++ inkscape-1.3.2_2023-11-25_091e20ef0f_fix/share/extensions/raster_output_tiff.py 2024-09-12 13:02:36.671294086 +0200 -@@ -20,7 +20,6 @@ - format="tiff", - compression=(self.options.compression or None), - dpi=self.img.info["dpi"], -- quality=100, - ) - stream.write(tempstream.getvalue()) - # TODO: Add other fields such as copyright etc.