aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-01-09 07:52:11 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-01-09 08:28:08 +0000
commit27bdd8df39dcc0c8a0790afa7d409b7272c0fe98 (patch)
treeb4f342930f837beace67d17683e19c2864a71dc7
parent4dd3123e0068620ccac94ec85743d54ddf640b5f (diff)
downloadports-27bdd8df39dcc0c8a0790afa7d409b7272c0fe98.tar.gz
ports-27bdd8df39dcc0c8a0790afa7d409b7272c0fe98.zip
graphics/resvg-capi: New port: SVG rendering library (C++/Qt API)
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/resvg-capi/Makefile80
-rw-r--r--graphics/resvg-capi/distinfo93
-rw-r--r--graphics/resvg-capi/pkg-descr16
4 files changed, 190 insertions, 0 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index 732d60c9d440..1cca740fb8a6 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1000,6 +1000,7 @@
SUBDIR += renrot
SUBDIR += repng2jpeg
SUBDIR += resvg
+ SUBDIR += resvg-capi
SUBDIR += rgbpaint
SUBDIR += rigsofrods-caelum
SUBDIR += rigsofrods-pagedgeometry
diff --git a/graphics/resvg-capi/Makefile b/graphics/resvg-capi/Makefile
new file mode 100644
index 000000000000..c7947c9c8382
--- /dev/null
+++ b/graphics/resvg-capi/Makefile
@@ -0,0 +1,80 @@
+PORTNAME= resvg-c-api
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.28.0
+CATEGORIES= graphics
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= SVG rendering library (C++/Qt API)
+WWW= https://github.com/RazrFalcon/resvg
+
+LICENSE= MPL20
+LICENSE_FILE= ${WRKSRC}/../LICENSE.txt
+
+USES= cargo
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= RazrFalcon
+GH_PROJECT= resvg
+
+WRKSRC_SUBDIR= c-api
+
+CARGO_CRATES= adler-1.0.2 \
+ arrayref-0.3.6 \
+ arrayvec-0.7.2 \
+ base64-0.13.1 \
+ bitflags-1.3.2 \
+ bytemuck-1.12.1 \
+ cfg-if-1.0.0 \
+ color_quant-1.1.0 \
+ crc32fast-1.3.2 \
+ data-url-0.2.0 \
+ flate2-1.0.24 \
+ float-cmp-0.9.0 \
+ fontconfig-parser-0.5.1 \
+ fontdb-0.10.0 \
+ gif-0.11.4 \
+ imagesize-0.10.1 \
+ jpeg-decoder-0.3.0 \
+ kurbo-0.8.3 \
+ libc-0.2.137 \
+ log-0.4.17 \
+ memmap2-0.5.8 \
+ miniz_oxide-0.5.4 \
+ once_cell-1.16.0 \
+ pico-args-0.5.0 \
+ png-0.17.6 \
+ rctree-0.5.0 \
+ rgb-0.8.34 \
+ roxmltree-0.15.1 \
+ rustybuzz-0.6.0 \
+ simplecss-0.2.1 \
+ siphasher-0.3.10 \
+ smallvec-1.10.0 \
+ strict-num-0.1.0 \
+ svgtypes-0.8.2 \
+ tiny-skia-0.8.2 \
+ tiny-skia-path-0.8.2 \
+ ttf-parser-0.17.1 \
+ unicode-bidi-0.3.8 \
+ unicode-bidi-mirroring-0.1.0 \
+ unicode-ccc-0.1.2 \
+ unicode-general-category-0.6.0 \
+ unicode-script-0.5.5 \
+ unicode-vo-0.1.0 \
+ weezl-0.1.7 \
+ xmlparser-0.13.5
+
+PLIST_FILES= include/ResvgQt.h \
+ include/resvg.h \
+ lib/libresvg.a \
+ lib/libresvg.so
+
+do-install:
+ ${INSTALL_DATA} ${WRKSRC}/resvg.h ${STAGEDIR}${PREFIX}/include
+ ${INSTALL_DATA} ${WRKSRC}/ResvgQt.h ${STAGEDIR}${PREFIX}/include
+ cd ${WRKDIR}/target && \
+ ${INSTALL_LIB} */release/libresvg.so ${STAGEDIR}${PREFIX}/lib && \
+ ${INSTALL_DATA} */release/libresvg.a ${STAGEDIR}${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/graphics/resvg-capi/distinfo b/graphics/resvg-capi/distinfo
new file mode 100644
index 000000000000..4f108e587e92
--- /dev/null
+++ b/graphics/resvg-capi/distinfo
@@ -0,0 +1,93 @@
+TIMESTAMP = 1673074073
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
+SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bytemuck-1.12.1.crate) = 2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da
+SIZE (rust/crates/bytemuck-1.12.1.crate) = 38293
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/data-url-0.2.0.crate) = 8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5
+SIZE (rust/crates/data-url-0.2.0.crate) = 20553
+SHA256 (rust/crates/flate2-1.0.24.crate) = f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6
+SIZE (rust/crates/flate2-1.0.24.crate) = 70191
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/fontconfig-parser-0.5.1.crate) = 2be17a530a842f8a7a60f4397a08e8f08872849a5e31b20c7bd7301dac483296
+SIZE (rust/crates/fontconfig-parser-0.5.1.crate) = 36687
+SHA256 (rust/crates/fontdb-0.10.0.crate) = 8131752b3f3b876a20f42b3d08233ad177d6e7ec6d18aaa6954489a201071be5
+SIZE (rust/crates/fontdb-0.10.0.crate) = 15485
+SHA256 (rust/crates/gif-0.11.4.crate) = 3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06
+SIZE (rust/crates/gif-0.11.4.crate) = 634244
+SHA256 (rust/crates/imagesize-0.10.1.crate) = df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951
+SIZE (rust/crates/imagesize-0.10.1.crate) = 11439
+SHA256 (rust/crates/jpeg-decoder-0.3.0.crate) = bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e
+SIZE (rust/crates/jpeg-decoder-0.3.0.crate) = 742671
+SHA256 (rust/crates/kurbo-0.8.3.crate) = 7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449
+SIZE (rust/crates/kurbo-0.8.3.crate) = 81131
+SHA256 (rust/crates/libc-0.2.137.crate) = fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89
+SIZE (rust/crates/libc-0.2.137.crate) = 606185
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/memmap2-0.5.8.crate) = 4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc
+SIZE (rust/crates/memmap2-0.5.8.crate) = 26592
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/once_cell-1.16.0.crate) = 86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860
+SIZE (rust/crates/once_cell-1.16.0.crate) = 32120
+SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315
+SIZE (rust/crates/pico-args-0.5.0.crate) = 11545
+SHA256 (rust/crates/png-0.17.6.crate) = 8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c
+SIZE (rust/crates/png-0.17.6.crate) = 80695
+SHA256 (rust/crates/rctree-0.5.0.crate) = 3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f
+SIZE (rust/crates/rctree-0.5.0.crate) = 8298
+SHA256 (rust/crates/rgb-0.8.34.crate) = 3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3
+SIZE (rust/crates/rgb-0.8.34.crate) = 16285
+SHA256 (rust/crates/roxmltree-0.15.1.crate) = 6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a
+SIZE (rust/crates/roxmltree-0.15.1.crate) = 39078
+SHA256 (rust/crates/rustybuzz-0.6.0.crate) = ab9e34ecf6900625412355a61bda0bd68099fe674de707c67e5e4aed2c05e489
+SIZE (rust/crates/rustybuzz-0.6.0.crate) = 219599
+SHA256 (rust/crates/simplecss-0.2.1.crate) = a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d
+SIZE (rust/crates/simplecss-0.2.1.crate) = 19418
+SHA256 (rust/crates/siphasher-0.3.10.crate) = 7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de
+SIZE (rust/crates/siphasher-0.3.10.crate) = 9889
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/strict-num-0.1.0.crate) = 9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1
+SIZE (rust/crates/strict-num-0.1.0.crate) = 4692
+SHA256 (rust/crates/svgtypes-0.8.2.crate) = 22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564
+SIZE (rust/crates/svgtypes-0.8.2.crate) = 32694
+SHA256 (rust/crates/tiny-skia-0.8.2.crate) = 0ae12c22601b6853f4d93abb178e13bf0e1cc8e2454100c85d4d3a59ac71b3f7
+SIZE (rust/crates/tiny-skia-0.8.2.crate) = 192697
+SHA256 (rust/crates/tiny-skia-path-0.8.2.crate) = bd665853ce64402daabef6edda442dbb4f8ee93ea80957b66ba1af419f11a104
+SIZE (rust/crates/tiny-skia-path-0.8.2.crate) = 45813
+SHA256 (rust/crates/ttf-parser-0.17.1.crate) = 375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff
+SIZE (rust/crates/ttf-parser-0.17.1.crate) = 150772
+SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
+SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
+SHA256 (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694
+SIZE (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 8241
+SHA256 (rust/crates/unicode-ccc-0.1.2.crate) = cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1
+SIZE (rust/crates/unicode-ccc-0.1.2.crate) = 8848
+SHA256 (rust/crates/unicode-general-category-0.6.0.crate) = 2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7
+SIZE (rust/crates/unicode-general-category-0.6.0.crate) = 35177
+SHA256 (rust/crates/unicode-script-0.5.5.crate) = 7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc
+SIZE (rust/crates/unicode-script-0.5.5.crate) = 43874
+SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94
+SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084
+SHA256 (rust/crates/weezl-0.1.7.crate) = 9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb
+SIZE (rust/crates/weezl-0.1.7.crate) = 42166
+SHA256 (rust/crates/xmlparser-0.13.5.crate) = 4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd
+SIZE (rust/crates/xmlparser-0.13.5.crate) = 26225
+SHA256 (RazrFalcon-resvg-v0.28.0_GH0.tar.gz) = 26bbc03c79da0c9236153cca0da206047ef3632fd82c43469333c580fea30361
+SIZE (RazrFalcon-resvg-v0.28.0_GH0.tar.gz) = 8047908
diff --git a/graphics/resvg-capi/pkg-descr b/graphics/resvg-capi/pkg-descr
new file mode 100644
index 000000000000..e460468e497a
--- /dev/null
+++ b/graphics/resvg-capi/pkg-descr
@@ -0,0 +1,16 @@
+resvg is an SVG rendering library.
+
+It can be used as a Rust library, as a C library, and as a CLI
+application to render static SVG files.
+
+The core idea is to make a fast, small, portable SVG library with the goal to
+support the whole SVG spec.
+
+Features:
+* Designed for edge-cases
+* Safety
+* Zero bloat
+* Portable
+* SVG preprocessing
+* Performance
+* Reproducibility