Package Details: resvg 0.22.0-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: 18
Popularity: 0.094119
First Submitted: 2018-05-24 11:10 (UTC)
Last Updated: 2022-02-21 08:52 (UTC)

Latest Comments

flying-sheep commented on 2022-01-27 12:40 (UTC)

Thanks! Your patch didn’t apply for some reason, but I think I got everything.

alerque commented on 2022-01-27 09:51 (UTC)

Sorry if my tone was too abrupt.

The package is functional (thanks for that), my remaining comments are just some style tips for you. Obviously some of this is preference. I find it easier to read & review more terse code that cuts straight to the chase rather than trying to follow a bunch of subshells, etc. For example rather than ( cd path ; make ... ) you can just do make -C path. Rather than a for loop to install two things, you can just tell it to install the two things.

Here is a patch with some simplifications taking advantage of standard install features etc. It also tweaks a few things that are part of Arch package guidelines such as creating build directories in prepare() and not setting unused variables (prepare() doesn't need the exports, they do nothing there). Feel free to cherry pick bits or just apply it with git am < file.patch:

From b28ea50b456cbc16f0f0e0e45d2999d785f0aeac Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Thu, 27 Jan 2022 12:45:45 +0300
Subject: [PATCH] Simplify some of the scripting

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 .SRCINFO |  4 ++--
 PKGBUILD | 39 +++++++++++++++------------------------
 2 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index e7a6ab4..aac077b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = resvg
    pkgdesc = SVG rendering library and CLI
    pkgver = 0.20.0
-   pkgrel = 2
+   pkgrel = 3
    url = https://github.com/RazrFalcon/resvg
    arch = i686
    arch = x86_64
@@ -19,7 +19,7 @@ pkgbase = resvg
    optdepends = qt5-base: For the Qt backend
    optdepends = cairo: For the cairo backend
    optdepends = kio: For the dolphin thumbnailer
-   source = resvg-0.20.0.tar.gz::https://github.com/RazrFalcon/resvg/archive/v0.20.0.tar.gz
+   source = https://github.com/RazrFalcon/resvg/archive/v0.20.0/resvg-0.20.0.tar.gz
    sha256sums = b85b46e1a420c3c0b1a68187615d38d32dccad9cc86dfab114df3645912188c7

 pkgname = resvg
diff --git a/PKGBUILD b/PKGBUILD
index 6ae7373..581194a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,9 @@
 # Maintainer: Philipp A. <flying-sheep@web.de>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
+
 pkgname=resvg
 pkgver=0.20.0
-pkgrel=2
+pkgrel=3
 pkgdesc='SVG rendering library and CLI'
 arch=(i686 x86_64)
 url="https://github.com/RazrFalcon/$pkgname"
@@ -13,15 +15,13 @@ optdepends=(
    'kio: For the dolphin thumbnailer'
 )
 makedepends=(cargo clang qt5-base qt5-tools kio cairo pango cmake extra-cmake-modules)
-source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
+source=("$url/archive/v$pkgver/$pkgname-$pkgver.tar.gz")
 sha256sums=('b85b46e1a420c3c0b1a68187615d38d32dccad9cc86dfab114df3645912188c7')

 prepare() {
    cd "$pkgname-$pkgver"
-
-   export RUSTUP_TOOLCHAIN=stable
-   export CARGO_TARGET_DIR=target
    cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
+   mkdir -p tools/kde-dolphin-thumbnailer/build
 }

 build() {
@@ -30,17 +30,15 @@ build() {
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    cargo build --workspace --frozen --release --all-features
-   
+
    (
        cd tools/viewsvg
        qmake PREFIX="$pkgdir/usr"
        make
    )
-   
+
    (
-       cd tools/kde-dolphin-thumbnailer
-       mkdir -p build
-       cd build
+       cd tools/kde-dolphin-thumbnailer/build
        cmake .. \
            -Wno-dev \
            -DCMAKE_CXX_FLAGS="-L../../../target/release" \
@@ -49,30 +47,23 @@ build() {
            -DCMAKE_BUILD_TYPE=Release
        make
    )
-   
+
    cargo doc --release --no-deps -p resvg-capi
 }

 check() {
    cd "$pkgname-$pkgver"
-
    export RUSTUP_TOOLCHAIN=stable
    cargo test --frozen --all-features
 }

 package() {
    cd "$pkgname-$pkgver"
-   
-   for tool in resvg usvg; do
-       install -Dm755 target/release/$tool "$pkgdir/usr/bin/$tool"
-   done
-   install -Dm755 tools/viewsvg/viewsvg "$pkgdir/usr/bin/viewsvg"
-   (
-       cd tools/kde-dolphin-thumbnailer/build
-       make install
-   )
-   install -Dm755 target/release/libresvg.so "$pkgdir/usr/lib/libresvg.so"
-   install -d "$pkgdir/usr/share/doc/resvg"  "$pkgdir/usr/include"
-   install -Dm644 c-api/*.h "$pkgdir/usr/include/"
+   install -Dm755 -t "$pkgdir/usr/bin/" target/release/{resvg,usvg}
+   install -Dm755 -t "$pkgdir/usr/bin/" tools/viewsvg/viewsvg
+   make -C tools/kde-dolphin-thumbnailer/build install
+   install -Dm755 -t "$pkgdir/usr/lib/" target/release/libresvg.so
+   install -Dm644 -t "$pkgdir/usr/include/" c-api/*.h
+   install -d "$pkgdir/usr/share/doc/resvg"
    cp -r target/doc/* "$pkgdir/usr/share/doc/resvg"
 }
-- 
2.35.0

flying-sheep commented on 2022-01-27 08:24 (UTC)

Ah, with --workspace I can build all the Rust things.

I don’t think the Rust packaging guidelines existed when I wrote this packages so easy with the tone.

alerque commented on 2022-01-26 13:47 (UTC)

There are a number of things that could use cleaning up with this packaging. Can you review the Rust package guidelines because there are a number of things that can be fixed such as prefetching dependencies, running tests, building with the right lock options, etc. that need attention. Additionally please desist with the msg2 business (that's a deprecated private function that's going away) and just don't output anything that isn't part of the upstream build output. The scripting is kind of convoluted too, it takes more code to setup a conditional and call extra processes than it would to just manually run the two correct commands in the appropriate directories.

flying-sheep commented on 2021-02-17 14:02 (UTC) (edited on 2021-02-17 14:04 (UTC) by flying-sheep)

No, you read that incorrectly.

As you can see, kio is both a build dependency and an optional dependency. That’s because a component of this package links against kio, and therefore needs kio when this package is being built or if you need that component.

Build this package and remove the unneeded build dependencies afterwards via:

makepkg -si
sudo pacman -Sc

Even the installed size of the deps is less than 100MB. For me that would add 18 seconds to the build time.

$ LANG=C pacman -Qi karchive kauth kbookmarks kcodecs kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kded kglobalaccel kguiaddons ki18n kiconthemes kio kitemviews kjobwidgets knotifications kservice ktextwidgets kwallet kwidgetsaddons kwindowsystem kxmlgui | \
  grep 'Installed Size' | cut -d' ' -f 5-6 | sed 's| ||;s|B$||' | \
  LANG=C numfmt --from=iec-i | awk '{s+=$1} END {print s}' | numfmt --to=iec
91M

BuZZ-dEE commented on 2021-02-09 07:31 (UTC)

Is it correct, that resvg has all these KDE dependencies?:

karchive-5.78.0-1 kauth-5.78.0-1 kbookmarks-5.78.0-1 kcodecs-5.78.0-1 kcompletion-5.78.0-2 kconfig-5.78.0-1 kconfigwidgets-5.78.0-1 kcoreaddons-5.78.0-1 kcrash-5.78.0-1 kdbusaddons-5.78.0-1 kded-5.78.0-1 kglobalaccel-5.78.0-1 kguiaddons-5.78.0-1 ki18n-5.78.0-1 kiconthemes-5.78.0-1 kio-5.78.0-3 kitemviews-5.78.0-1 kjobwidgets-5.78.0-1 knotifications-5.78.0-1 kservice-5.78.0-1 ktextwidgets-5.78.0-1 kwallet-5.78.0-1 kwidgetsaddons-5.78.0-1 kwindowsystem-5.78.0-1 kxmlgui-5.78.0-1

rien333 commented on 2021-01-05 12:01 (UTC)

That worked. Sorry, I always forget to run rustup update.

flying-sheep commented on 2021-01-05 10:56 (UTC) (edited on 2021-01-05 10:57 (UTC) by flying-sheep)

@rien333 see here: https://github.com/RazrFalcon/rustybuzz/issues/24

You need to update Rust to at least 1.45 apparently.

rien333 commented on 2021-01-04 12:00 (UTC)

Thanks for the recent update! Unfortunately, I'm getting this error about halfway compiling:

...
   Compiling memmap2 v0.1.0
   Compiling rustybuzz v0.3.0
   Compiling fontdb v0.5.1
error[E0277]: the trait bound `char: std::iter::Step` is not satisfied
   --> /home/rw/.cargo/registry/src/github.com-1ecc6299db9ec823/rustybuzz-0.3.0/src/fallback.rs:450:26
    |
450 |                 for u in '0'..='9' {
    |                          ^^^^^^^^^ the trait `std::iter::Step` is not implemented for `char`
    |
    = note: required because of the requirements on the impl of `std::iter::Iterator` for `std::ops::RangeInclusive<char>`

   Compiling flate2 v1.0.19
error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.
error: could not compile `rustybuzz`.

To learn more, run the command again with --verbose.
==> ERROR: A failure occurred in build().
    Aborting...
error making: resvg

nyanpasu64 commented on 2020-11-03 13:18 (UTC)

I can't get it to build:

The following warnings were emitted during compilation:

warning: clang-10: error: unknown argument: '-fvar-tracking-assignments'
warning: clang-10: error: unknown argument: '-fvar-tracking-assignments'
warning: clang-10: error: unknown argument: '-fvar-tracking-assignments'
warning: clang-10: error: unknown argument: '-fvar-tracking-assignments'
warning: clang-10: error: unknown argument: '-fvar-tracking-assignments'

error: failed to run custom build command for `tiny-skia v0.1.0`

Caused by:
  process didn't exit successfully: `/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-066268c03211979b/build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=SKIA_DIR
  cargo:rerun-if-env-changed=SKIA_LIB_DIR
  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 = Some("clang++")
  CXXFLAGS_x86_64-unknown-linux-gnu = None
  CXXFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CXXFLAGS = None
  CXXFLAGS = Some("-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -g -fvar-tracking-assignments -fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  running: "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkAlphaRuns.o" "-c" "skia/src/core/SkAlphaRuns.cpp"
  running: "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkArenaAlloc.o" "-c" "skia/src/core/SkArenaAlloc.cpp"
  running: "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkAnalyticEdge.o" "-c" "skia/src/core/SkAnalyticEdge.cpp"
  running: "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkAAClip.o" "-c" "skia/src/core/SkAAClip.cpp"
  cargo:warning=clang-10: error: unknown argument: '-fvar-tracking-assignments'
  cargo:warning=clang-10: error: unknown argument: '-fvar-tracking-assignments'
  exit code: 1
  exit code: 1
  running: "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkBitmapCache.o" "-c" "skia/src/core/SkBitmapCache.cpp"
  cargo:warning=clang-10: error: unknown argument: '-fvar-tracking-assignments'
  cargo:warning=clang-10: error: unknown argument: '-fvar-tracking-assignments'
  exit code: 1
  exit code: 1
  cargo:warning=clang-10: error: unknown argument: '-fvar-tracking-assignments'
  exit code: 1

  --- stderr


  error occurred: Command "clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-unknown-linux-gnu" "-march=x86-64" "-mtune=generic" "-O2" "-pipe" "-fno-plt" "-g" "-fvar-tracking-assignments" "-fdebug-prefix-map=/home/nyanpasu64/.cache/yay/resvg/src=/usr/src/debug" "-I" "skia" "-I" "skia/include/third_party/skcms" "-I" "skia-c" "-std=c++17" "-fPIC" "-fno-exceptions" "-fno-rtti" "-fstrict-aliasing" "-fvisibility=hidden" "-fdata-sections" "-ffunction-sections" "-fvisibility-inlines-hidden" "-Wno-unused-function" "-Wno-unused-parameter" "-Wno-unused-private-field" "-DSK_DEBUG=1" "-o" "/home/nyanpasu64/.cache/yay/resvg/src/resvg-0.11.0/target/release/build/tiny-skia-b655a227c00daeed/out/skia/src/core/SkAAClip.o" "-c" "skia/src/core/SkAAClip.cpp" with args "clang++" did not execute successfully (status code exit code: 1).

flying-sheep commented on 2020-10-19 10:04 (UTC)

@lyra, well you need to configure a default toolchain if you use rustup. (If you use cargo from the rust package, it should work immediately)

lyra commented on 2020-10-13 12:07 (UTC)

Hi! I can't install any of resvg* packages. Here is log:

[lyra@lyrathink ~]$ yay resvg
4 aur/resvg-qt 0.9.1-1 (+0 0.00) (Out-of-date: 2020-09-08)
    SVG rendering library and CLI (Linked against Qt)
3 aur/resvg-cairo 0.9.1-1 (+4 0.07) (Out-of-date: 2020-09-08)
    SVG rendering library and CLI (Linked against cairo)
2 aur/resvg-git 0.9.0.r11.ge207cc3-1 (+7 0.00)
    SVG rendering library and CLI
1 aur/resvg 0.9.1-1 (+14 1.16) (Out-of-date: 2020-09-08)
    SVG rendering library and CLI
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> 1
:: Checking for conflicts...
:: Checking for inner conflicts...
[Repo Make:28]  media-player-info-24-2  solid-5.75.0-1  kcoreaddons-5.75.0-1  kjobwidgets-5.75.0-1  kdbusaddons-5.75.0-1  kconfig-5.75.0-1  kcrash-5.75.0-1  kglobalaccel-5.75.0-1  kauth-5.75.0-1  kcodecs-5.75.0-1  kguiaddons-5.75.0-1  ki18n-5.75.0-1  kconfigwidgets-5.75.0-1  kitemviews-5.75.0-1  karchive-5.75.0-1  kiconthemes-5.75.0-1  attica-5.75.0-1  kxmlgui-5.75.0-1  kbookmarks-5.75.0-1  qt5-speech-5.15.1-1  knotifications-5.75.0-1  kservice-5.75.0-1  kwallet-5.75.0-1  kcompletion-5.75.0-1  sonnet-5.75.0-1  ktextwidgets-5.75.0-1  kded-5.75.0-1  kio-5.75.0-1
[Aur:1]  resvg-0.9.1-1

==> Remove make dependencies after install? [y/N] y
  1 resvg                                    (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
:: PKGBUILD up to date, Skipping (1/1): resvg
  1 resvg                                    (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
:: (1/1) Parsing SRCINFO: resvg
resolving dependencies...
looking for conflicting packages...

Packages (28) attica-5.75.0-1  karchive-5.75.0-1  kauth-5.75.0-1
              kbookmarks-5.75.0-1  kcodecs-5.75.0-1  kcompletion-5.75.0-1
              kconfig-5.75.0-1  kconfigwidgets-5.75.0-1  kcoreaddons-5.75.0-1
              kcrash-5.75.0-1  kdbusaddons-5.75.0-1  kded-5.75.0-1
              kglobalaccel-5.75.0-1  kguiaddons-5.75.0-1  ki18n-5.75.0-1
              kiconthemes-5.75.0-1  kio-5.75.0-1  kitemviews-5.75.0-1
              kjobwidgets-5.75.0-1  knotifications-5.75.0-1  kservice-5.75.0-1
              ktextwidgets-5.75.0-1  kwallet-5.75.0-1  kxmlgui-5.75.0-1
              media-player-info-24-2  qt5-speech-5.15.1-1  solid-5.75.0-1
              sonnet-5.75.0-1

Total Installed Size:  78.96 MiB

:: Proceed with installation? [Y/n]
(28/28) checking keys in keyring                   [#####################] 100%
(28/28) checking package integrity                 [#####################] 100%
(28/28) loading package files                      [#####################] 100%
(28/28) checking for file conflicts                [#####################] 100%
(28/28) checking available disk space              [#####################] 100%
:: Processing package changes...
( 1/28) installing media-player-info               [#####################] 100%
( 2/28) installing solid                           [#####################] 100%
Optional dependencies for solid
    qt5-declarative: QML bindings [installed]
( 3/28) installing kcoreaddons                     [#####################] 100%
Optional dependencies for kcoreaddons
    python-pyqt5: for the Python bindings [installed]
( 4/28) installing kjobwidgets                     [#####################] 100%
Optional dependencies for kjobwidgets
    python-pyqt5: for the Python bindings [installed]
( 5/28) installing kdbusaddons                     [#####################] 100%
Optional dependencies for kdbusaddons
    python-pyqt5: for the Python bindings [installed]
( 6/28) installing kconfig                         [#####################] 100%
Optional dependencies for kconfig
    python-pyqt5: for the Python bindings [installed]
( 7/28) installing kcrash                          [#####################] 100%
Optional dependencies for kcrash
    drkonqi: KDE crash handler application
( 8/28) installing kglobalaccel                    [#####################] 100%
( 9/28) installing kauth                           [#####################] 100%
Optional dependencies for kauth
    python-pyqt5: for the Python bindings [installed]
(10/28) installing kcodecs                         [#####################] 100%
Optional dependencies for kcodecs
    python-pyqt5: for the Python bindings [installed]
(11/28) installing kguiaddons                      [#####################] 100%
Optional dependencies for kguiaddons
    python-pyqt5: for the Python bindings [installed]
(12/28) installing ki18n                           [#####################] 100%
Optional dependencies for ki18n
    python-pyqt5: for the Python bindings [installed]
    python: to compile .ts files [installed]
(13/28) installing kconfigwidgets                  [#####################] 100%
Optional dependencies for kconfigwidgets
    python-pyqt5: for the Python bindings [installed]
    perl: for preparetips5 [installed]
(14/28) installing kitemviews                      [#####################] 100%
Optional dependencies for kitemviews
    python-pyqt5: for the Python bindings [installed]
(15/28) installing karchive                        [#####################] 100%
(16/28) installing kiconthemes                     [#####################] 100%
Optional dependencies for kiconthemes
    breeze-icons: fallback icon theme
(17/28) installing attica                          [#####################] 100%
(18/28) installing kxmlgui                         [#####################] 100%
(19/28) installing kbookmarks                      [#####################] 100%
(20/28) installing qt5-speech                      [#####################] 100%
Optional dependencies for qt5-speech
    flite: flite TTS backend
    speech-dispatcher: speech-dispatcher TTS backend
(21/28) installing knotifications                  [#####################] 100%
(22/28) installing kservice                        [#####################] 100%
(23/28) installing kwallet                         [#####################] 100%
Optional dependencies for kwallet
    kwalletmanager: Configuration GUI
(24/28) installing kcompletion                     [#####################] 100%
Optional dependencies for kcompletion
    python-pyqt5: for the Python bindings [installed]
(25/28) installing sonnet                          [#####################] 100%
Optional dependencies for sonnet
    hunspell: spell checking via hunspell [installed]
    aspell: spell checking via aspell [installed]
    hspell: spell checking for Hebrew
    libvoikko: Finnish support via Voikko
(26/28) installing ktextwidgets                    [#####################] 100%
(27/28) installing kded                            [#####################] 100%
(28/28) installing kio                             [#####################] 100%
Optional dependencies for kio
    kio-extras: extra protocols support (sftp, fish and more)
    kdoctools: for the help kioslave
    knetattach: to add new kio-remote entries
    kio-fuse: to mount remote filesystems via FUSE
:: Running post-transaction hooks...
(1/6) Updating udev hardware database...
(2/6) Reloading device manager configuration...
(3/6) Arming ConditionNeedsUpdate...
(4/6) Reloading system bus configuration...
(5/6) Updating the desktop file MIME type cache...
(6/6) Updating the MIME type database...
==> Making package: resvg 0.9.1-1 (Tue 13 Oct 2020 03:01:44 PM MSK)
==> Retrieving sources...
  -> Found resvg-0.9.1.tar.gz
  -> Found qt-5.15.patch
==> Validating source files with sha256sums...
    resvg-0.9.1.tar.gz ... Passed
    qt-5.15.patch ... Passed
 -> kio not satisfied, flushing install queue
==> Making package: resvg 0.9.1-1 (Tue 13 Oct 2020 03:01:45 PM MSK)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found resvg-0.9.1.tar.gz
  -> Found qt-5.15.patch
==> Validating source files with sha256sums...
    resvg-0.9.1.tar.gz ... Passed
    qt-5.15.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting resvg-0.9.1.tar.gz with bsdtar
==> Starting prepare()...
patching file bindings/resvg-qt/cpp/qt_capi.cpp
==> Sources are ready.
==> Making package: resvg 0.9.1-1 (Tue 13 Oct 2020 03:01:48 PM MSK)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
  -> Building capi
error: no override and no default toolchain set
==> ERROR: A failure occurred in build().
    Aborting...
checking dependencies...
:: libreoffice-fresh optionally requires kio: for KF5 KDE desktop integration
:: python-pyqt5 optionally requires qt5-speech: QtTextToSpeech
:: vlc optionally requires kwallet: kwallet keystore

Packages (28) attica-5.75.0-1  karchive-5.75.0-1  kauth-5.75.0-1
              kbookmarks-5.75.0-1  kcodecs-5.75.0-1  kcompletion-5.75.0-1
              kconfig-5.75.0-1  kconfigwidgets-5.75.0-1  kcoreaddons-5.75.0-1
              kcrash-5.75.0-1  kdbusaddons-5.75.0-1  kded-5.75.0-1
              kglobalaccel-5.75.0-1  kguiaddons-5.75.0-1  ki18n-5.75.0-1
              kiconthemes-5.75.0-1  kio-5.75.0-1  kitemviews-5.75.0-1
              kjobwidgets-5.75.0-1  knotifications-5.75.0-1  kservice-5.75.0-1
              ktextwidgets-5.75.0-1  kwallet-5.75.0-1  kxmlgui-5.75.0-1
              media-player-info-24-2  qt5-speech-5.15.1-1  solid-5.75.0-1
              sonnet-5.75.0-1

Total Removed Size:  78.96 MiB

:: Do you want to remove these packages? [Y/n]
:: Processing package changes...
( 1/28) removing kio                               [#####################] 100%
( 2/28) removing kded                              [#####################] 100%
( 3/28) removing ktextwidgets                      [#####################] 100%
( 4/28) removing sonnet                            [#####################] 100%
( 5/28) removing kcompletion                       [#####################] 100%
( 6/28) removing kwallet                           [#####################] 100%
( 7/28) removing kservice                          [#####################] 100%
( 8/28) removing knotifications                    [#####################] 100%
( 9/28) removing qt5-speech                        [#####################] 100%
(10/28) removing kbookmarks                        [#####################] 100%
(11/28) removing kxmlgui                           [#####################] 100%
(12/28) removing attica                            [#####################] 100%
(13/28) removing kiconthemes                       [#####################] 100%
(14/28) removing karchive                          [#####################] 100%
(15/28) removing kitemviews                        [#####################] 100%
(16/28) removing kconfigwidgets                    [#####################] 100%
(17/28) removing ki18n                             [#####################] 100%
(18/28) removing kguiaddons                        [#####################] 100%
(19/28) removing kcodecs                           [#####################] 100%
(20/28) removing kauth                             [#####################] 100%
(21/28) removing kglobalaccel                      [#####################] 100%
(22/28) removing kcrash                            [#####################] 100%
(23/28) removing kconfig                           [#####################] 100%
(24/28) removing kdbusaddons                       [#####################] 100%
(25/28) removing kjobwidgets                       [#####################] 100%
(26/28) removing kcoreaddons                       [#####################] 100%
(27/28) removing solid                             [#####################] 100%
(28/28) removing media-player-info                 [#####################] 100%
:: Running post-transaction hooks...
(1/6) Updating udev hardware database...
(2/6) Reloading device manager configuration...
(3/6) Arming ConditionNeedsUpdate...
(4/6) Reloading system bus configuration...
(5/6) Updating the desktop file MIME type cache...
(6/6) Updating the MIME type database...

flying-sheep commented on 2020-06-13 19:37 (UTC)

Ah there’s a 0.9.1, thanks, updated!

jprjr commented on 2020-06-12 12:48 (UTC)

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 (UTC)

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 (UTC) (edited on 2020-06-04 13:00 (UTC) by ikrivosheev)

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 (UTC) (edited on 2019-03-07 06:55 (UTC) by flying-sheep)

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 (UTC)

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 (UTC)

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 (UTC)

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 (UTC)

OK done! The packages exist

kubrick commented on 2019-02-12 15:21 (UTC)

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

flying-sheep commented on 2019-02-12 09:35 (UTC) (edited on 2019-02-12 09:46 (UTC) by flying-sheep)

Hi! I like your idea of forking off minimalistic alternative packages: “resvg-cairo” and “resvg-qt” would both specify provides=(resvg) and have a hard dependency on either Cairo or Qt, and “resvg” would stay like this package is now, with all components built and optional deps on runtime components. Do you think that makes sense?

The reason why I’m hesitant to split off individual parts is that this package already contains a few largely disconnected parts: A shared library with C headers, a SVG renderer, a SVG simplifier, a SVG viewer and, yes, the thumbnailer. One backend depends on Qt, the other on Cairo. Why should the thumbnailer be treated as a stepchild while the rest also depends on a bunch of libraries coming from different worlds?

Finally, I don’t really understand your dislike for kio and friends here. KDE Frameworks partly are libraries for headless tools. It’s time more CLI scripts start depending on KF5, they’re really good modular libraries. Just view them as a bunch of build dependencies like cairo and zlib. You can remove them after building. Or you can use the extra-x86_64-build script from devtools!

kubrick commented on 2019-02-09 09:05 (UTC)

Hi @flying-sheep,

Thank you but no (if we can avoid it), kio pulls 33 dependencies on my system, all the KDE stuff that I have no use for. The whole point of resvg is that it's a headless command line tool, it would be a shame to make it depend on GUI stuff.

I would really suggest to split the package into resvg, resvg-cairo or gtk, resvg-qt or kde.

F.

flying-sheep commented on 2019-02-08 16:24 (UTC)

Hey! I think it just needs some frameworks to compile properly. I added kio to the makedeps, I hope it builds now!

kubrick commented on 2019-02-08 14:25 (UTC)

Hi,

Building the kde-dolphin-thumbnailer part fails for people who don't have KDE installed, can you make it conditional or make it a separate package?

actionless commented on 2019-01-11 19:26 (UTC)

also see @alfunx comment here: https://aur.archlinux.org/packages/resvg-git/

flying-sheep commented on 2018-12-18 16:38 (UTC)

Good point! I’m only building the docs for resvg-capi now.

actionless commented on 2018-12-16 21:45 (UTC)

hi! are you sure it's a good idea to ship in a package docs for each of the build dependencies? those docs alone are about 37 MiB. i would suggest shipping the docs only for resvg itself.