git: d72d17f0e2fd - 2026Q4 - devel/cxx-rust-cssparser: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 14 Oct 2026 16:40:33 UTC
The branch 2026Q4 has been updated by makc:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d72d17f0e2fd421d64ca266be32d95156b7cabb5
commit d72d17f0e2fd421d64ca266be32d95156b7cabb5
Author: Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2026-10-14 15:36:55 +0000
Commit: Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2026-10-14 16:39:36 +0000
devel/cxx-rust-cssparser: Add new port
C++ library for parsing CSS using the Rust cssparser crate.
WWW: https://invent.kde.org/libraries/cxx-rust-cssparser
(cherry picked from commit 29bc3e18f31e385b81852a1e6dc8ae8ecfad71e0)
---
devel/Makefile | 1 +
devel/cxx-rust-cssparser/Makefile | 26 +++++++
devel/cxx-rust-cssparser/Makefile.crates | 61 +++++++++++++++
devel/cxx-rust-cssparser/distinfo | 125 +++++++++++++++++++++++++++++++
devel/cxx-rust-cssparser/pkg-descr | 5 ++
devel/cxx-rust-cssparser/pkg-plist | 13 ++++
6 files changed, 231 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 9963108c0d60..2ff38324ef27 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -586,6 +586,7 @@
SUBDIR += cwrap
SUBDIR += cxmon
SUBDIR += cxref
+ SUBDIR += cxx-rust-cssparser
SUBDIR += cxxopts
SUBDIR += cxxtest
SUBDIR += cxxtools
diff --git a/devel/cxx-rust-cssparser/Makefile b/devel/cxx-rust-cssparser/Makefile
new file mode 100644
index 000000000000..6a51c1a24ff5
--- /dev/null
+++ b/devel/cxx-rust-cssparser/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= cxx-rust-cssparser
+PORTVERSION= 1.1.0
+CATEGORIES= devel
+MASTER_SITES= KDE/stable/cxx-rust-cssparser
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} # workaround for USES=cargo
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= C++ library for parsing CSS using the Rust cssparser crate
+WWW= https://invent.kde.org/libraries/cxx-rust-cssparser
+
+BUILD_DEPENDS= ${LOCALBASE}/share/cmake/Corrosion.cmake:devel/corrosion
+
+USES= cargo cmake kde:6 tar:xz
+USE_KDE= ecm:build
+USE_LDCONFIG= yes
+
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_SRC_SUBDIR= rust
+CARGO_TARGET_DIR= ${WRKSRC}/target
+
+CMAKE_OFF= BUILD_DOCS
+
+PLIST_SUB= SHLIB_VER=${PORTVERSION}
+
+.include <bsd.port.mk>
diff --git a/devel/cxx-rust-cssparser/Makefile.crates b/devel/cxx-rust-cssparser/Makefile.crates
new file mode 100644
index 000000000000..6a0666f4855b
--- /dev/null
+++ b/devel/cxx-rust-cssparser/Makefile.crates
@@ -0,0 +1,61 @@
+CARGO_CRATES= anstyle-1.0.14 \
+ bitflags-2.13.1 \
+ cc-1.4.4 \
+ clap-4.6.6 \
+ clap_builder-4.6.6 \
+ clap_lex-1.1.0 \
+ codespan-reporting-0.13.1 \
+ cssparser-0.37.0 \
+ cssparser-color-0.5.0 \
+ cssparser-macros-0.7.0 \
+ cxx-1.0.199 \
+ cxx-build-1.0.199 \
+ cxxbridge-cmd-1.0.199 \
+ cxxbridge-flags-1.0.199 \
+ cxxbridge-macro-1.0.199 \
+ derive_more-2.1.1 \
+ derive_more-impl-2.1.1 \
+ dtoa-1.0.11 \
+ dtoa-short-0.3.5 \
+ equivalent-1.0.2 \
+ fastrand-2.5.0 \
+ find-msvc-tools-0.1.11 \
+ foldhash-0.2.0 \
+ hashbrown-0.17.1 \
+ indexmap-2.14.1 \
+ itoa-1.0.18 \
+ link-cplusplus-1.0.12 \
+ log-0.4.34 \
+ memchr-2.8.3 \
+ new_debug_unreachable-1.0.6 \
+ nom-8.0.0 \
+ phf-0.13.1 \
+ phf_codegen-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ precomputed-hash-0.1.1 \
+ proc-macro2-1.0.107 \
+ quote-1.0.47 \
+ rustc-hash-2.1.3 \
+ rustc_version-0.4.1 \
+ scratch-1.0.9 \
+ selectors-0.40.0 \
+ semver-1.0.28 \
+ serde-1.0.229 \
+ serde_core-1.0.229 \
+ serde_derive-1.0.229 \
+ servo_arc-0.4.3 \
+ shlex-2.0.1 \
+ siphasher-1.0.3 \
+ smallvec-1.15.2 \
+ stable_deref_trait-1.2.1 \
+ strsim-0.11.1 \
+ syn-2.0.119 \
+ syn-3.0.4 \
+ termcolor-1.4.1 \
+ unicode-ident-1.0.24 \
+ unicode-width-0.2.2 \
+ winapi-util-0.1.11 \
+ windows-link-0.2.1 \
+ windows-sys-0.61.2
diff --git a/devel/cxx-rust-cssparser/distinfo b/devel/cxx-rust-cssparser/distinfo
new file mode 100644
index 000000000000..758f1265b831
--- /dev/null
+++ b/devel/cxx-rust-cssparser/distinfo
@@ -0,0 +1,125 @@
+TIMESTAMP = 1791990489
+SHA256 (cxx-rust-cssparser-1.1.0.tar.xz) = c88f883f67d132240f7ef5c8b8fe4f743a79c448b98ac88f2be3b68264840358
+SIZE (cxx-rust-cssparser-1.1.0.tar.xz) = 55844
+SHA256 (rust/crates/anstyle-1.0.14.crate) = 940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000
+SIZE (rust/crates/anstyle-1.0.14.crate) = 17787
+SHA256 (rust/crates/bitflags-2.13.1.crate) = b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da
+SIZE (rust/crates/bitflags-2.13.1.crate) = 51395
+SHA256 (rust/crates/cc-1.4.4.crate) = 0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273
+SIZE (rust/crates/cc-1.4.4.crate) = 100602
+SHA256 (rust/crates/clap-4.6.6.crate) = 473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca
+SIZE (rust/crates/clap-4.6.6.crate) = 64815
+SHA256 (rust/crates/clap_builder-4.6.6.crate) = 7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889
+SIZE (rust/crates/clap_builder-4.6.6.crate) = 171756
+SHA256 (rust/crates/clap_lex-1.1.0.crate) = c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9
+SIZE (rust/crates/clap_lex-1.1.0.crate) = 13470
+SHA256 (rust/crates/codespan-reporting-0.13.1.crate) = af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681
+SIZE (rust/crates/codespan-reporting-0.13.1.crate) = 57424
+SHA256 (rust/crates/cssparser-0.37.0.crate) = 8c9cdaae01d5ed7882b04d795e7f752f46ff52d2fa3b50a20d28c464510bba98
+SIZE (rust/crates/cssparser-0.37.0.crate) = 56860
+SHA256 (rust/crates/cssparser-color-0.5.0.crate) = bbaa233e1dcd9c13a5d3e3a8a2c0f5a727bac380398345dbcb31db4597edc86b
+SIZE (rust/crates/cssparser-color-0.5.0.crate) = 17846
+SHA256 (rust/crates/cssparser-macros-0.7.0.crate) = 10a2a99df6e410a8ff4245aa2006499ea662245f967cc7c0a38c83ef8eb44dbf
+SIZE (rust/crates/cssparser-macros-0.7.0.crate) = 8167
+SHA256 (rust/crates/cxx-1.0.199.crate) = 824894a4a85dca76d4c95c2b9098c036f5a29f627b30c12780774f6654e60974
+SIZE (rust/crates/cxx-1.0.199.crate) = 240161
+SHA256 (rust/crates/cxx-build-1.0.199.crate) = f1ae0b651ea5b0000b19513aef5a03f194d7e3486f2d9258b658da8677fe9036
+SIZE (rust/crates/cxx-build-1.0.199.crate) = 99565
+SHA256 (rust/crates/cxxbridge-cmd-1.0.199.crate) = fb05f91d3fb8435d9bab6ac5ce6ac1868be774325fb7fb2a91be39393b21388e
+SIZE (rust/crates/cxxbridge-cmd-1.0.199.crate) = 87137
+SHA256 (rust/crates/cxxbridge-flags-1.0.199.crate) = bf293202e0e3e98495785745389e8d0755b217e66f19194a5c695c25e03282ef
+SIZE (rust/crates/cxxbridge-flags-1.0.199.crate) = 5433
+SHA256 (rust/crates/cxxbridge-macro-1.0.199.crate) = ca001d746947c7249ed9d332a10f7a59daedbafeb0ec68c5c18a7db7a93f6ccc
+SIZE (rust/crates/cxxbridge-macro-1.0.199.crate) = 72202
+SHA256 (rust/crates/derive_more-2.1.1.crate) = d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134
+SIZE (rust/crates/derive_more-2.1.1.crate) = 88632
+SHA256 (rust/crates/derive_more-impl-2.1.1.crate) = 799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb
+SIZE (rust/crates/derive_more-impl-2.1.1.crate) = 99094
+SHA256 (rust/crates/dtoa-1.0.11.crate) = 4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590
+SIZE (rust/crates/dtoa-1.0.11.crate) = 21122
+SHA256 (rust/crates/dtoa-short-0.3.5.crate) = cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87
+SIZE (rust/crates/dtoa-short-0.3.5.crate) = 8287
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/fastrand-2.5.0.crate) = da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223
+SIZE (rust/crates/fastrand-2.5.0.crate) = 20782
+SHA256 (rust/crates/find-msvc-tools-0.1.11.crate) = d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890
+SIZE (rust/crates/find-msvc-tools-0.1.11.crate) = 31517
+SHA256 (rust/crates/foldhash-0.2.0.crate) = 77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb
+SIZE (rust/crates/foldhash-0.2.0.crate) = 23329
+SHA256 (rust/crates/hashbrown-0.17.1.crate) = ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a
+SIZE (rust/crates/hashbrown-0.17.1.crate) = 155512
+SHA256 (rust/crates/indexmap-2.14.1.crate) = 07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb
+SIZE (rust/crates/indexmap-2.14.1.crate) = 102461
+SHA256 (rust/crates/itoa-1.0.18.crate) = 8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682
+SIZE (rust/crates/itoa-1.0.18.crate) = 15935
+SHA256 (rust/crates/link-cplusplus-1.0.12.crate) = 7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82
+SIZE (rust/crates/link-cplusplus-1.0.12.crate) = 8178
+SHA256 (rust/crates/log-0.4.34.crate) = f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6
+SIZE (rust/crates/log-0.4.34.crate) = 53395
+SHA256 (rust/crates/memchr-2.8.3.crate) = cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98
+SIZE (rust/crates/memchr-2.8.3.crate) = 99165
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
+SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405
+SIZE (rust/crates/nom-8.0.0.crate) = 135590
+SHA256 (rust/crates/phf-0.13.1.crate) = c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf
+SIZE (rust/crates/phf-0.13.1.crate) = 24786
+SHA256 (rust/crates/phf_codegen-0.13.1.crate) = 49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1
+SIZE (rust/crates/phf_codegen-0.13.1.crate) = 14774
+SHA256 (rust/crates/phf_generator-0.13.1.crate) = 135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737
+SIZE (rust/crates/phf_generator-0.13.1.crate) = 15952
+SHA256 (rust/crates/phf_macros-0.13.1.crate) = 812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef
+SIZE (rust/crates/phf_macros-0.13.1.crate) = 21732
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
+SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
+SHA256 (rust/crates/proc-macro2-1.0.107.crate) = 985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9
+SIZE (rust/crates/proc-macro2-1.0.107.crate) = 59588
+SHA256 (rust/crates/quote-1.0.47.crate) = 1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001
+SIZE (rust/crates/quote-1.0.47.crate) = 31622
+SHA256 (rust/crates/rustc-hash-2.1.3.crate) = 6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d
+SIZE (rust/crates/rustc-hash-2.1.3.crate) = 14811
+SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
+SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
+SHA256 (rust/crates/scratch-1.0.9.crate) = d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2
+SIZE (rust/crates/scratch-1.0.9.crate) = 8170
+SHA256 (rust/crates/selectors-0.40.0.crate) = eeee001a77567bb05e71652718d3ff76d8697c151ac523e68e9513194eb2b75a
+SIZE (rust/crates/selectors-0.40.0.crate) = 70059
+SHA256 (rust/crates/semver-1.0.28.crate) = 8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd
+SIZE (rust/crates/semver-1.0.28.crate) = 33064
+SHA256 (rust/crates/serde-1.0.229.crate) = 4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba
+SIZE (rust/crates/serde-1.0.229.crate) = 83669
+SHA256 (rust/crates/serde_core-1.0.229.crate) = 67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48
+SIZE (rust/crates/serde_core-1.0.229.crate) = 63100
+SHA256 (rust/crates/serde_derive-1.0.229.crate) = e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348
+SIZE (rust/crates/serde_derive-1.0.229.crate) = 59864
+SHA256 (rust/crates/servo_arc-0.4.3.crate) = 170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930
+SIZE (rust/crates/servo_arc-0.4.3.crate) = 17887
+SHA256 (rust/crates/shlex-2.0.1.crate) = f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba
+SIZE (rust/crates/shlex-2.0.1.crate) = 19332
+SHA256 (rust/crates/siphasher-1.0.3.crate) = 8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649
+SIZE (rust/crates/siphasher-1.0.3.crate) = 11643
+SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90
+SIZE (rust/crates/smallvec-1.15.2.crate) = 34899
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/syn-2.0.119.crate) = 872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297
+SIZE (rust/crates/syn-2.0.119.crate) = 307407
+SHA256 (rust/crates/syn-3.0.4.crate) = e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f
+SIZE (rust/crates/syn-3.0.4.crate) = 313047
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75
+SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
diff --git a/devel/cxx-rust-cssparser/pkg-descr b/devel/cxx-rust-cssparser/pkg-descr
new file mode 100644
index 000000000000..6e1e6cbfc245
--- /dev/null
+++ b/devel/cxx-rust-cssparser/pkg-descr
@@ -0,0 +1,5 @@
+A C++ library for parsing CSS that uses the Rust cssparser crate internally.
+The goal of this library is not necessarily to implement a full-fledged
+web-compatible CSS parser. Instead, it intends to give enough building blocks
+to be able to implement such a parser, but also allows you to deviate from the
+specification if needed.
diff --git a/devel/cxx-rust-cssparser/pkg-plist b/devel/cxx-rust-cssparser/pkg-plist
new file mode 100644
index 000000000000..08becbfce1f0
--- /dev/null
+++ b/devel/cxx-rust-cssparser/pkg-plist
@@ -0,0 +1,13 @@
+bin/cxx-rust-cssparser-parse
+include/cxx-rust-cssparser/Color.h
+include/cxx-rust-cssparser/CssParser.h
+include/cxx-rust-cssparser/Selector.h
+include/cxx-rust-cssparser/Value.h
+include/cxx-rust-cssparser/cssparser_export.h
+lib/cmake/cxx-rust-cssparser/cxx-rust-cssparserConfig.cmake
+lib/cmake/cxx-rust-cssparser/cxx-rust-cssparserConfigVersion.cmake
+lib/cmake/cxx-rust-cssparser/cxx-rust-cssparserTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/cxx-rust-cssparser/cxx-rust-cssparserTargets.cmake
+lib/libcxx-rust-cssparser.so
+lib/libcxx-rust-cssparser.so.1
+lib/libcxx-rust-cssparser.so.%%SHLIB_VER%%