mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-27 10:03:20 +00:00
graphics/inkscape: update to 1.4
Release notes: https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html Includes required corresponding math/lib2geom update to 1.4 PR: 282864 Reported by: lumiwa[at]gmail[dot]com Reviewed by: fluffy Differential Revision: https://reviews.freebsd.org/D47690
This commit is contained in:
parent
7df5d2371c
commit
cc38be9252
@ -1,9 +1,11 @@
|
||||
PORTNAME= inkscape
|
||||
DISTVERSION= 1.3.2
|
||||
PORTREVISION= 4
|
||||
DISTVERSION= 1.4
|
||||
CATEGORIES= graphics gnome
|
||||
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
|
||||
|
||||
PATCH_SITES= https://gitlab.com/${PORTNAME}/${PORTNAME}/-/commit/
|
||||
PATCHFILES+= eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/6755
|
||||
|
||||
MAINTAINER= gnome@FreeBSD.org
|
||||
COMMENT= Full featured open source SVG editor
|
||||
WWW= https://inkscape.org
|
||||
@ -29,31 +31,31 @@ LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \
|
||||
libharfbuzz.so:print/harfbuzz \
|
||||
libpotrace.so:graphics/libpotrace \
|
||||
libpng.so:graphics/png \
|
||||
libsoup-2.4.so:devel/libsoup \
|
||||
libenchant-2.so:textproc/enchant2 \
|
||||
libepoxy.so:graphics/libepoxy \
|
||||
lib2geom.so:math/lib2geom
|
||||
RUN_DEPENDS= ${PYNUMPY} \
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}filelock>=3.7.1:sysutils/py-filelock@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}scour>0:textproc/py-scour@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}cachecontrol>0:www/py-cachecontrol@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}cssselect>0:www/py-cssselect@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}filelock>=3.7.1:sysutils/py-filelock@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}scour>0:textproc/py-scour@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}tinycss2>0:textproc/py-tinycss2@${PY_FLAVOR} \
|
||||
fig2dev:print/fig2dev
|
||||
TEST_DEPENDS= googletest>0:devel/googletest \
|
||||
bash:shells/bash
|
||||
|
||||
USES= compiler:c++17-lang cmake:testing cpe desktop-file-utils ghostscript:run \
|
||||
USES= compiler:c++20-lang cmake:testing cpe desktop-file-utils ghostscript:run \
|
||||
gnome jpeg pathfix pkgconfig python \
|
||||
readline shebangfix tar:xz xorg
|
||||
USE_GNOME= cairo gdkpixbuf2 gtkmm30 gtksourceview4 libxml2 libxslt
|
||||
USE_GNOME= cairo gdkpixbuf2 glibmm gtkmm30 gtksourceview4 libxml2 libxslt
|
||||
USE_PYTHON= cython
|
||||
USE_XORG= sm ice x11 xext
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
DATETAG= 2023-11-25_091e20ef0f
|
||||
DATETAG= 2024-10-09_e7c3feb100
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}_${DATETAG}
|
||||
|
||||
BINARY_ALIAS= python3=${PYTHON_CMD}
|
||||
|
@ -1,3 +1,5 @@
|
||||
TIMESTAMP = 1720270922
|
||||
SHA256 (inkscape-1.3.2.tar.xz) = dbd1844dc443fe5e10d3e9a887144e5fb7223852fff191cfb5ef7adeab0e086b
|
||||
SIZE (inkscape-1.3.2.tar.xz) = 44720944
|
||||
TIMESTAMP = 1732135455
|
||||
SHA256 (inkscape-1.4.tar.xz) = c59a85453b699addebcd51c1dc07684dd96a10c8aec716b19551db50562e13f5
|
||||
SIZE (inkscape-1.4.tar.xz) = 46321868
|
||||
SHA256 (eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch) = 2c2e04d8524fb75e7758ba43742512ad66447ec0b56f28279f4679b96cd1425f
|
||||
SIZE (eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch) = 1149
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 6bbd3647c4d6aab425e53cb4b7d3f33a98e45e6f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hesse <mail@eworm.de>
|
||||
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);
|
||||
```
|
||||
|
||||
|
||||
(cherry picked from commit 694d8ae43d06efff21adebf377ce614d660b24cd)
|
||||
---
|
||||
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
|
||||
--- src/object/uri.h
|
||||
+++ src/object/uri.h
|
||||
@@ -13,6 +13,7 @@
|
||||
#define INKSCAPE_URI_H
|
||||
|
||||
#include <libxml/uri.h>
|
||||
+#include <libxml/xmlmemory.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,167 +0,0 @@
|
||||
From f0355a6341aceee93ce4d4d70cd9ec3a44081c38 Mon Sep 17 00:00:00 2001
|
||||
From: Rafael Siejakowski <rs@rs-math.net>
|
||||
Date: Sun, 20 Aug 2023 18:15:19 +0200
|
||||
Subject: [PATCH] Fix build on FreeBSD: rename two helper functions
|
||||
|
||||
The functions roundup() and rounddown() are renamed to round_up() and
|
||||
round_down(), respectively. This prevents a name clash with the macros
|
||||
roundup and rounddown defined in sys/param.h which for some reason gets
|
||||
pulled in on FreeBSD.
|
||||
|
||||
Fixes https://gitlab.com/inkscape/inbox/-/issues/9062
|
||||
---
|
||||
src/display/drawing-pattern.cpp | 14 +++++++-------
|
||||
src/helper/geom.h | 4 ++--
|
||||
src/helper/mathfns.h | 6 +++---
|
||||
src/ui/widget/canvas/pixelstreamer.cpp | 2 +-
|
||||
src/util/pool.cpp | 6 +++---
|
||||
5 files changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/display/drawing-pattern.cpp b/src/display/drawing-pattern.cpp
|
||||
index 6b30c968ded..34df2f873b1 100644
|
||||
--- src/display/drawing-pattern.cpp
|
||||
+++ src/display/drawing-pattern.cpp
|
||||
@@ -89,7 +89,7 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
if (rect.dimensions()[i] >= _pattern_resolution[i]) {
|
||||
rect[i] = {0, _pattern_resolution[i]};
|
||||
} else {
|
||||
- rect[i] -= Util::rounddown(rect[i].min(), _pattern_resolution[i]);
|
||||
+ rect[i] -= Util::round_down(rect[i].min(), _pattern_resolution[i]);
|
||||
}
|
||||
}
|
||||
return rect;
|
||||
@@ -101,7 +101,7 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
int const period = _pattern_resolution[i];
|
||||
if (a[i].extent() >= period) return true;
|
||||
if (b[i].extent() > a[i].extent()) return false;
|
||||
- return Util::rounddown(b[i].min() - a[i].min(), period) >= b[i].max() - a[i].max();
|
||||
+ return Util::round_down(b[i].min() - a[i].min(), period) >= b[i].max() - a[i].max();
|
||||
};
|
||||
return check(0) && check(1);
|
||||
};
|
||||
@@ -112,7 +112,7 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
int const period = _pattern_resolution[i];
|
||||
if (a[i].extent() >= period) return true;
|
||||
if (b[i].extent() >= period) return true;
|
||||
- return Util::rounddown(b[i].max() - a[i].min(), period) >= b[i].min() - a[i].max();
|
||||
+ return Util::round_down(b[i].max() - a[i].min(), period) >= b[i].min() - a[i].max();
|
||||
};
|
||||
return check(0) && check(1);
|
||||
};
|
||||
@@ -121,8 +121,8 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
auto overlapping_translates = [&, this] (Geom::IntRect const &a, Geom::IntRect const &b) {
|
||||
Geom::IntPoint min, max;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
- min[i] = Util::roundup (b[i].min() - a[i].max() + 1, _pattern_resolution[i]);
|
||||
- max[i] = Util::rounddown(b[i].max() - a[i].min() - 1, _pattern_resolution[i]);
|
||||
+ min[i] = Util::round_up (b[i].min() - a[i].max() + 1, _pattern_resolution[i]);
|
||||
+ max[i] = Util::round_down(b[i].max() - a[i].min() - 1, _pattern_resolution[i]);
|
||||
}
|
||||
return std::make_pair(min, max);
|
||||
};
|
||||
@@ -165,7 +165,7 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
|
||||
for (auto it = surfaces.begin(); it != surfaces.end(); ) {
|
||||
if (wrapped_touches(expanded, it->rect)) {
|
||||
- expanded.unionWith(it->rect + rounddown(expanded.max() - it->rect.min(), _pattern_resolution));
|
||||
+ expanded.unionWith(it->rect + round_down(expanded.max() - it->rect.min(), _pattern_resolution));
|
||||
merged.emplace_back(std::move(*it));
|
||||
*it = std::move(surfaces.back());
|
||||
surfaces.pop_back();
|
||||
@@ -259,7 +259,7 @@ cairo_pattern_t *DrawingPattern::renderPattern(RenderContext &rc, Geom::IntRect
|
||||
|
||||
// Create and return pattern.
|
||||
auto cp = cairo_pattern_create_for_surface(surface->surface->cobj());
|
||||
- auto const shift = surface->rect.min() + rounddown(area_orig.min() - surface->rect.min(), _pattern_resolution);
|
||||
+ auto const shift = surface->rect.min() + round_down(area_orig.min() - surface->rect.min(), _pattern_resolution);
|
||||
ink_cairo_pattern_set_matrix(cp, pattern_to_tile * Geom::Translate(-shift));
|
||||
cairo_pattern_set_extend(cp, CAIRO_EXTEND_REPEAT);
|
||||
if (rc.antialiasing_override && rc.antialiasing_override.value() == Antialiasing::None) {
|
||||
diff --git a/src/helper/geom.h b/src/helper/geom.h
|
||||
index 59542e7d44f..e8b1d1f46ee 100644
|
||||
--- src/helper/geom.h
|
||||
+++ src/helper/geom.h
|
||||
@@ -54,10 +54,10 @@ inline Geom::Coord triangle_area(Geom::Point const &p1, Geom::Point const &p2, G
|
||||
return p1[X] * p2[Y] + p1[Y] * p3[X] + p2[X] * p3[Y] - p2[Y] * p3[X] - p1[Y] * p2[X] - p1[X] * p3[Y];
|
||||
}
|
||||
|
||||
-inline auto rounddown(Geom::IntPoint const &a, Geom::IntPoint const &b)
|
||||
+inline auto round_down(Geom::IntPoint const &a, Geom::IntPoint const &b)
|
||||
{
|
||||
using namespace Inkscape::Util;
|
||||
- return Geom::IntPoint(rounddown(a.x(), b.x()), rounddown(a.y(), b.y()));
|
||||
+ return Geom::IntPoint(round_down(a.x(), b.x()), round_down(a.y(), b.y()));
|
||||
}
|
||||
|
||||
inline auto expandedBy(Geom::IntRect rect, int amount)
|
||||
diff --git a/src/helper/mathfns.h b/src/helper/mathfns.h
|
||||
index 6f466fb2c33..730b6ba2153 100644
|
||||
--- src/helper/mathfns.h
|
||||
+++ src/helper/mathfns.h
|
||||
@@ -79,16 +79,16 @@ T constexpr safemod(T a, T b)
|
||||
|
||||
/// Returns \a a rounded down to the nearest multiple of \a b, assuming b >= 1.
|
||||
template <typename T, typename std::enable_if<std::is_integral<T>::value, bool>::type = true>
|
||||
-T constexpr rounddown(T a, T b)
|
||||
+T constexpr round_down(T a, T b)
|
||||
{
|
||||
return a - safemod(a, b);
|
||||
}
|
||||
|
||||
/// Returns \a a rounded up to the nearest multiple of \a b, assuming b >= 1.
|
||||
template <typename T, typename std::enable_if<std::is_integral<T>::value, bool>::type = true>
|
||||
-T constexpr roundup(T a, T b)
|
||||
+T constexpr round_up(T a, T b)
|
||||
{
|
||||
- return rounddown(a - 1, b) + b;
|
||||
+ return round_down(a - 1, b) + b;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/src/ui/widget/canvas/pixelstreamer.cpp b/src/ui/widget/canvas/pixelstreamer.cpp
|
||||
index 74d557b37b1..ddafee96bac 100644
|
||||
--- src/ui/widget/canvas/pixelstreamer.cpp
|
||||
+++ src/ui/widget/canvas/pixelstreamer.cpp
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
// Calculate image properties required by cairo.
|
||||
int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, dimensions.x());
|
||||
int size = stride * dimensions.y();
|
||||
- int sizeup = Util::roundup(size, 64);
|
||||
+ int sizeup = Util::round_up(size, 64);
|
||||
assert(sizeup < bufsize);
|
||||
|
||||
// Attempt to advance buffers in states 3 or 4 towards 5, if allowed.
|
||||
diff --git a/src/util/pool.cpp b/src/util/pool.cpp
|
||||
index 455366b9f1b..89fe77ae023 100644
|
||||
--- src/util/pool.cpp
|
||||
+++ src/util/pool.cpp
|
||||
@@ -8,7 +8,7 @@
|
||||
namespace Inkscape::Util {
|
||||
|
||||
// Round up x to the next multiple of m.
|
||||
-static std::byte *roundup(std::byte *x, std::size_t m)
|
||||
+static std::byte *round_up(std::byte *x, std::size_t m)
|
||||
{
|
||||
auto y = reinterpret_cast<uintptr_t>(x);
|
||||
y = ((y - 1) / m + 1) * m;
|
||||
@@ -17,7 +17,7 @@ static std::byte *roundup(std::byte *x, std::size_t m)
|
||||
|
||||
std::byte *Pool::allocate(std::size_t size, std::size_t alignment)
|
||||
{
|
||||
- auto a = roundup(cur, alignment);
|
||||
+ auto a = round_up(cur, alignment);
|
||||
auto b = a + size;
|
||||
|
||||
if (b <= end) {
|
||||
@@ -33,7 +33,7 @@ std::byte *Pool::allocate(std::size_t size, std::size_t alignment)
|
||||
resetblock();
|
||||
nextsize = cursize * 3 / 2;
|
||||
|
||||
- a = roundup(cur, alignment);
|
||||
+ a = round_up(cur, alignment);
|
||||
b = a + size;
|
||||
|
||||
assert(b <= end);
|
||||
--
|
||||
GitLab
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,5 @@
|
||||
PORTNAME= lib2geom
|
||||
DISTVERSION= 1.3
|
||||
PORTREVISION= 3
|
||||
DISTVERSION= 1.4
|
||||
CATEGORIES= math gnome
|
||||
|
||||
MAINTAINER= gnome@FreeBSD.org
|
||||
@ -22,8 +21,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR}
|
||||
TEST_DEPENDS= googletest>0:devel/googletest \
|
||||
ragel:devel/ragel
|
||||
|
||||
USES= cmake:testing gettext-runtime gnome localbase:ldflags pkgconfig \
|
||||
python
|
||||
USES= compiler:c++20-lang cmake:testing gettext-runtime gnome localbase:ldflags \
|
||||
pkgconfig python
|
||||
USE_GNOME= cairo glib20 gtk30
|
||||
USE_PYTHON= cython cython_test
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1692190492
|
||||
SHA256 (lib2geom-1.3.tar.bz2) = bd07f2a1322fcad16a55a1901207faa55dffdecebc56a00eabd4575f62e043c9
|
||||
SIZE (lib2geom-1.3.tar.bz2) = 1275751
|
||||
TIMESTAMP = 1732134434
|
||||
SHA256 (lib2geom-1.4.tar.bz2) = 717a87ce7f2192271a789c1273ae7b432856c522647b9fe33bb4dd662942b3ea
|
||||
SIZE (lib2geom-1.4.tar.bz2) = 1287532
|
||||
|
Loading…
Reference in New Issue
Block a user