Package Details: resvg 0.9.1-1

Git Clone URL: https://aur.archlinux.org/resvg.git (read-only, click to copy)
Package Base: resvg
Description: SVG rendering library and CLI
Upstream URL: https://github.com/RazrFalcon/resvg
Licenses: MPL2
Submitter: flying-sheep
Maintainer: flying-sheep
Last Packager: flying-sheep
Votes: 12
Popularity: 1.00
First Submitted: 2018-05-24 11:10
Last Updated: 2020-06-13 19:31

Latest Comments

1 2 Next › Last »

flying-sheep commented on 2020-06-13 19:37

Ah there’s a 0.9.1, thanks, updated!

jprjr commented on 2020-06-12 12:48

Hi - I updated my local PKGBUILD to update to resvg 0.9.1 and apply that Qt 5.15 fix as a patch

diff --git a/PKGBUILD b/PKGBUILD
index 282e956..383af00 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,6 @@
 # Maintainer: Philipp A. <flying-sheep@web.de>
 pkgname=resvg
-pkgver=0.9.0
+pkgver=0.9.1
 pkgrel=1
 pkgdesc='SVG rendering library and CLI'
 arch=(i686 x86_64)
@@ -13,8 +13,16 @@ optdepends=(
    'kio: For the dolphin thumbnailer'
 )
 makedepends=(cargo qt5-base qt5-tools kio cairo pango cmake extra-cmake-modules)
-source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
-sha256sums=('8da2c0463cb76ab2a75c597be9f83384daf27a2d6162b95310b8f68763dfcc47')
+source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" 'qt-5.15.patch')
+sha256sums=(
+'678e2bb453bd1b979fe1371f6a68da830f300067717604d8b9e83a196528bf36'
+'10f8ac12ac63c12905c7ac4f373e619653ed772e34c60bcaabe180364c5f7f13'
+)
+
+prepare() {
+   cd "$pkgname-$pkgver"
+    patch --forward --strip=1 --input="${srcdir}/qt-5.15.patch"
+}

 build() {
    cd "$pkgname-$pkgver"
diff --git a/qt-5.15.patch b/qt-5.15.patch
new file mode 100644
index 0000000..fb46d8a
--- /dev/null
+++ b/qt-5.15.patch
@@ -0,0 +1,22 @@
+From 8ea12d08a4402eb49a8d371cf7dde1a7e047bb47 Mon Sep 17 00:00:00 2001
+From: Evgeniy Reizner <razrfalcon@gmail.com>
+Date: Thu, 4 Jun 2020 19:21:10 +0300
+Subject: [PATCH] (qt-backend) Fix building with Qt >= 5.15
+
+Closes #294
+---
+ bindings/resvg-qt/cpp/qt_capi.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/bindings/resvg-qt/cpp/qt_capi.cpp b/bindings/resvg-qt/cpp/qt_capi.cpp
+index cabda9d1..952d9754 100644
+--- a/bindings/resvg-qt/cpp/qt_capi.cpp
++++ b/bindings/resvg-qt/cpp/qt_capi.cpp
+@@ -1,6 +1,7 @@
+ #include <QGuiApplication>
+ #include <QImage>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QImageWriter>
+ #include <QDebug>
+ 

flying-sheep commented on 2020-06-05 11:18

As you figured out by now in https://github.com/RazrFalcon/resvg/issues/294, that’s because of Qt 5.15.

You could have told me that here!

ikrivosheev commented on 2020-06-04 13:00

Hi, I have some problem on install:

pikaur -Sy resvg
Caused by:
  process didn't exit successfully: `/tmp/makepkg/resvg/src/resvg-0.9.0/target/release/build/resvg-qt-71581e8be6bf7b3e/build-script-build` (exit code: 1)
--- stdout
cargo:rustc-link-lib=Qt5Gui
cargo:rustc-link-lib=Qt5Core
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-unknown-linux-gnu")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = Some("-O2 -pipe -fno-plt")
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-O2" "-pipe" "-fno-plt" "-I" "cpp" "-I" "/usr/include/qt/QtGui" "-I" "/usr/include/qt" "-I" "/usr/include/qt/QtCore" "-std=c++11" "-o" "/tmp/makepkg/resvg/src/resvg-0.9.0/target/release/build/resvg-qt-99a0a220e57eb815/out/cpp/qt_capi.o" "-c" "cpp/qt_capi.cpp"
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainter_draw_text(qtc_qpainter*, double, double, const char*)’:
cargo:warning=cpp/qt_capi.cpp:176:18: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
cargo:warning=  176 |     QPainterPath path;
cargo:warning=      |                  ^~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainter_reset_clip_path(qtc_qpainter*)’:
cargo:warning=cpp/qt_capi.cpp:220:44: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  220 |     PAINTER_CAST->setClipPath(QPainterPath(), Qt::NoClip);
cargo:warning=      |                                            ^
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘qtc_qpainterpath* qtc_qpainterpath_create()’:
cargo:warning=cpp/qt_capi.cpp:242:65: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  242 |     return reinterpret_cast<qtc_qpainterpath*>(new QPainterPath());
cargo:warning=      |                                                                 ^
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_move_to(qtc_qpainterpath*, double, double)’:
cargo:warning=cpp/qt_capi.cpp:247:14: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  247 |     PATH_CAST->moveTo(x, y);
cargo:warning=      |              ^~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_line_to(qtc_qpainterpath*, double, double)’:
cargo:warning=cpp/qt_capi.cpp:252:14: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  252 |     PATH_CAST->lineTo(x, y);
cargo:warning=      |              ^~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_curve_to(qtc_qpainterpath*, double, double, double, double, double, double)’:
cargo:warning=cpp/qt_capi.cpp:258:14: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  258 |     PATH_CAST->cubicTo(x1, y1, x2, y2, x, y);
cargo:warning=      |              ^~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_close_path(qtc_qpainterpath*)’:
cargo:warning=cpp/qt_capi.cpp:263:14: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  263 |     PATH_CAST->closeSubpath();
cargo:warning=      |              ^~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_set_fill_rule(qtc_qpainterpath*, FillRule)’:
cargo:warning=cpp/qt_capi.cpp:268:14: error: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=  268 |     PATH_CAST->setFillRule(Qt::FillRule(rule));
cargo:warning=      |              ^~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp: In function ‘void qtc_qpainterpath_destroy(qtc_qpainterpath*)’:
cargo:warning=cpp/qt_capi.cpp:273:5: warning: possible problem detected in invocation of ‘operator delete’ [-Wdelete-incomplete]
cargo:warning=  273 |     delete PATH_CAST;
cargo:warning=      |     ^
cargo:warning=cpp/qt_capi.cpp:11:19: warning: invalid use of incomplete type ‘class QPainterPath’
cargo:warning=   11 | #define PATH_CAST reinterpret_cast<QPainterPath*>(c_pp)
cargo:warning=      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp:273:12: note: in expansion of macro ‘PATH_CAST’
cargo:warning=  273 |     delete PATH_CAST;
cargo:warning=      |            ^~~~~~~~~
cargo:warning=In file included from /usr/include/qt/QtGui/qtransform.h:43,
cargo:warning=                 from /usr/include/qt/QtGui/qimage.h:48,
cargo:warning=                 from /usr/include/qt/QtGui/QImage:1,
cargo:warning=                 from cpp/qt_capi.cpp:2:
cargo:warning=/usr/include/qt/QtGui/qmatrix.h:54:7: note: forward declaration of ‘class QPainterPath’
cargo:warning=   54 | class QPainterPath;
cargo:warning=      |       ^~~~~~~~~~~~
cargo:warning=cpp/qt_capi.cpp:273:5: note: neither the destructor nor the class-specific ‘operator delete’ will be called, even if they are declared when the class is defined
cargo:warning=  273 |     delete PATH_CAST;
cargo:warning=      |     ^
exit code: 1

flying-sheep commented on 2019-03-07 06:51

Arch generally offers quite fully featured packages, so my resvg is the one that would be built upstream.

I offer alternatives because you asked for them, I don't consider them necessary. I'd be fine with cleaning up build deps after being done.

When creating a package depending on resvg, you simply specify “resvg” in the makedeps. If you don't want to pull in all makedeps of the main package, you make sure to install “resvg-qt” or “resvg-cairo” before installing the dependent package, as both -qt and -cairo provide “resvg”.

kubrick commented on 2019-03-07 06:31

Well, I think there needs to be a resvg package which depends neither on cairo nor on qt. If not, which package do I choose as a makedepends ?

flying-sheep commented on 2019-03-06 16:33

just install one of the others. They provide the library without providing the other stuff, and only need minimal build deps.

kubrick commented on 2019-03-06 15:59

Sorry I missed that comment.

That's great, but I don't understand what you've done. The resvg pkgbuild still builds everything and resvg-qt and resvg-cairo conflict with it.

So there's still no way to build resvg without the gui dependencies.

flying-sheep commented on 2019-02-16 13:50

OK done! The packages exist

kubrick commented on 2019-02-12 15:21

Hi,

So, I have no particular bias against "kio and friends".

It's just that I use resvg as a build dependency to build other packages and I expect that this is going to become a more and more widespread use case (to make png icons out of svgs for GUI apps or themes).

As a build dependency, it really sucks to have to pull all these dependencies that are of no use whatsoever for the job at hand.

So what I would do, is have 3 different aur packages resvg, “resvg-cairo”, “resvg-qt” with the last two depending on the first one. When resvg hits the community or extra repos (as I hope it will eventually), then making one single split package will make sense.

That is my opinion at least, thanks :-)

F