diff options
| author | Benjamin Jacobs <freebsd@dev.thsi.be> | 2026-07-17 13:59:23 +0000 |
|---|---|---|
| committer | Hiroki Tagato <tagattie@FreeBSD.org> | 2026-08-05 01:35:20 +0000 |
| commit | 2b5fb0cc40415e0f2e77deb6b7a6208d1da1aa5f (patch) | |
| tree | e99e78e2287924454a6e3c81334e537a553efbfa | |
| parent | 74f66c958dfb8108877b1804373e2fd40f30c08f (diff) | |
texproc/sasso: New port: Fast and conformant Sass to CSS compiler
Sasso is a compiler for Sass, the Syntactically Awesome Style Sheets
language, written in Rust. Sass provides features such as variables,
nesting, mixins, inheritance and imports, which allows one to write
CSS (Cascading Style Sheets) more easily and tersely.
Sasso supports both the SCSS syntax -- a superset of CSS3 -- and the
older indended Sass syntax. It aims for a perfect compatibility with
the current release of Dart Sass, the reference implementation of the
Sass language. It is tested against the official Sass Spec Suite where
it achieves a 100% success rate on the subset implemented by Dart
Sass, producing byte-for-byte identical outputs.
WWW: https://github.com/momiji-rs/sasso
PR: 296857
Reported by: Benjamin Jacobs <freebsd@dev.thsi.be> (new maintainer)
| -rw-r--r-- | textproc/Makefile | 1 | ||||
| -rw-r--r-- | textproc/sasso/Makefile | 23 | ||||
| -rw-r--r-- | textproc/sasso/Makefile.crates | 59 | ||||
| -rw-r--r-- | textproc/sasso/distinfo | 121 | ||||
| -rw-r--r-- | textproc/sasso/pkg-descr | 11 |
5 files changed, 215 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile index 0fac6c9453de..f0a1d80eefa8 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -2142,6 +2142,7 @@ SUBDIR += sansi SUBDIR += sarep SUBDIR += sassc + SUBDIR += sasso SUBDIR += saxon-he SUBDIR += sc-aspell SUBDIR += scdoc diff --git a/textproc/sasso/Makefile b/textproc/sasso/Makefile new file mode 100644 index 000000000000..168d036fa27e --- /dev/null +++ b/textproc/sasso/Makefile @@ -0,0 +1,23 @@ +PORTNAME= sasso +DISTVERSION= 0.8.1 +CATEGORIES= textproc +MASTER_SITES= https://github.com/momiji-rs/sasso/releases/download/v${DISTVERSION}/ +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= freebsd@dev.thsi.be +COMMENT= Fast and conformant Sass to CSS compiler +WWW= https://github.com/momiji-rs/sasso + +LICENSE= APACHE20 MIT +LICENSE_COMB= dual +LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE +LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT + +USES= cargo tar:xz + +PLIST_FILES= bin/${PORTNAME} + +do-install: + ${INSTALL_PROGRAM} ${WRKDIR}/target/release/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + +.include <bsd.port.mk> diff --git a/textproc/sasso/Makefile.crates b/textproc/sasso/Makefile.crates new file mode 100644 index 000000000000..4ddefb477e59 --- /dev/null +++ b/textproc/sasso/Makefile.crates @@ -0,0 +1,59 @@ +CARGO_CRATES= aho-corasick-1.1.4 \ + anstyle-1.0.14 \ + anyhow-1.0.103 \ + approx-0.5.1 \ + autocfg-1.5.1 \ + bitflags-2.13.0 \ + cc-1.2.65 \ + cfg-if-1.0.4 \ + cfg_aliases-0.2.1 \ + clap-4.6.1 \ + clap_builder-4.6.0 \ + clap_lex-1.1.0 \ + codspeed-5.0.0 \ + codspeed-divan-compat-5.0.0 \ + codspeed-divan-compat-macros-5.0.0 \ + codspeed-divan-compat-walltime-5.0.0 \ + colored-3.1.1 \ + condtype-1.3.0 \ + divan-macros-0.1.17 \ + either-1.16.0 \ + equivalent-1.0.2 \ + errno-0.3.14 \ + find-msvc-tools-0.1.9 \ + getrandom-0.4.3 \ + glob-0.3.3 \ + hashbrown-0.17.1 \ + indexmap-2.14.0 \ + itertools-0.14.0 \ + itoa-1.0.18 \ + libc-0.2.186 \ + linux-raw-sys-0.12.1 \ + memchr-2.8.2 \ + nix-0.31.3 \ + num-traits-0.2.19 \ + proc-macro-crate-3.5.0 \ + proc-macro2-1.0.106 \ + quote-1.0.46 \ + r-efi-6.0.0 \ + regex-1.12.4 \ + regex-automata-0.4.14 \ + regex-lite-0.1.9 \ + regex-syntax-0.8.11 \ + rustix-1.1.4 \ + serde-1.0.228 \ + serde_core-1.0.228 \ + serde_derive-1.0.228 \ + serde_json-1.0.150 \ + shlex-2.0.1 \ + statrs-0.18.0 \ + syn-2.0.118 \ + terminal_size-0.4.4 \ + toml_datetime-1.1.1+spec-1.1.0 \ + toml_edit-0.25.12+spec-1.1.0 \ + toml_parser-1.1.2+spec-1.1.0 \ + unicode-ident-1.0.24 \ + windows-link-0.2.1 \ + windows-sys-0.61.2 \ + winnow-1.0.3 \ + zmij-1.0.21 diff --git a/textproc/sasso/distinfo b/textproc/sasso/distinfo new file mode 100644 index 000000000000..ec1617dd93ea --- /dev/null +++ b/textproc/sasso/distinfo @@ -0,0 +1,121 @@ +TIMESTAMP = 1784295458 +SHA256 (sasso-0.8.1.tar.xz) = 81906316bef92a76f15ddef610804d2b061f0d27c8f89282aad020dbb7147f12 +SIZE (sasso-0.8.1.tar.xz) = 799644 +SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301 +SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015 +SHA256 (rust/crates/anstyle-1.0.14.crate) = 940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000 +SIZE (rust/crates/anstyle-1.0.14.crate) = 17787 +SHA256 (rust/crates/anyhow-1.0.103.crate) = 2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3 +SIZE (rust/crates/anyhow-1.0.103.crate) = 48746 +SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6 +SIZE (rust/crates/approx-0.5.1.crate) = 15100 +SHA256 (rust/crates/autocfg-1.5.1.crate) = f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53 +SIZE (rust/crates/autocfg-1.5.1.crate) = 18911 +SHA256 (rust/crates/bitflags-2.13.0.crate) = b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8 +SIZE (rust/crates/bitflags-2.13.0.crate) = 51280 +SHA256 (rust/crates/cc-1.2.65.crate) = e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96 +SIZE (rust/crates/cc-1.2.65.crate) = 95435 +SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801 +SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360 +SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724 +SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355 +SHA256 (rust/crates/clap-4.6.1.crate) = 1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51 +SIZE (rust/crates/clap-4.6.1.crate) = 61836 +SHA256 (rust/crates/clap_builder-4.6.0.crate) = 714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f +SIZE (rust/crates/clap_builder-4.6.0.crate) = 171122 +SHA256 (rust/crates/clap_lex-1.1.0.crate) = c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9 +SIZE (rust/crates/clap_lex-1.1.0.crate) = 13470 +SHA256 (rust/crates/codspeed-5.0.0.crate) = ea0fb765e7d2f2f24c2eb54537b7f1e172644ba6079f3a219ca86f5a2df99eff +SIZE (rust/crates/codspeed-5.0.0.crate) = 647121 +SHA256 (rust/crates/codspeed-divan-compat-5.0.0.crate) = 89276c4bd8c74194a511652233a74097648f7bbf0fa19b9f3ecce3f0d2772692 +SIZE (rust/crates/codspeed-divan-compat-5.0.0.crate) = 18999 +SHA256 (rust/crates/codspeed-divan-compat-macros-5.0.0.crate) = c8b0dcdb5a2cc3469fd6625db381149d4caa42009864b8e1877b9f67fc3b2e02 +SIZE (rust/crates/codspeed-divan-compat-macros-5.0.0.crate) = 5408 +SHA256 (rust/crates/codspeed-divan-compat-walltime-5.0.0.crate) = d54a197bce62fc237bfbc17b299fedf2a091ac62f0a0c24b885a9e6c85abdd30 +SIZE (rust/crates/codspeed-divan-compat-walltime-5.0.0.crate) = 97224 +SHA256 (rust/crates/colored-3.1.1.crate) = faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34 +SIZE (rust/crates/colored-3.1.1.crate) = 36216 +SHA256 (rust/crates/condtype-1.3.0.crate) = baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af +SIZE (rust/crates/condtype-1.3.0.crate) = 12634 +SHA256 (rust/crates/divan-macros-0.1.17.crate) = 8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c +SIZE (rust/crates/divan-macros-0.1.17.crate) = 15322 +SHA256 (rust/crates/either-1.16.0.crate) = 91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e +SIZE (rust/crates/either-1.16.0.crate) = 21248 +SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f +SIZE (rust/crates/equivalent-1.0.2.crate) = 7419 +SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb +SIZE (rust/crates/errno-0.3.14.crate) = 12002 +SHA256 (rust/crates/find-msvc-tools-0.1.9.crate) = 5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582 +SIZE (rust/crates/find-msvc-tools-0.1.9.crate) = 31493 +SHA256 (rust/crates/getrandom-0.4.3.crate) = 300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099 +SIZE (rust/crates/getrandom-0.4.3.crate) = 52437 +SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280 +SIZE (rust/crates/glob-0.3.3.crate) = 22861 +SHA256 (rust/crates/hashbrown-0.17.1.crate) = ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a +SIZE (rust/crates/hashbrown-0.17.1.crate) = 155512 +SHA256 (rust/crates/indexmap-2.14.0.crate) = d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9 +SIZE (rust/crates/indexmap-2.14.0.crate) = 104085 +SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285 +SIZE (rust/crates/itertools-0.14.0.crate) = 152715 +SHA256 (rust/crates/itoa-1.0.18.crate) = 8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682 +SIZE (rust/crates/itoa-1.0.18.crate) = 15935 +SHA256 (rust/crates/libc-0.2.186.crate) = 68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66 +SIZE (rust/crates/libc-0.2.186.crate) = 821883 +SHA256 (rust/crates/linux-raw-sys-0.12.1.crate) = 32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53 +SIZE (rust/crates/linux-raw-sys-0.12.1.crate) = 3006116 +SHA256 (rust/crates/memchr-2.8.2.crate) = 88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4 +SIZE (rust/crates/memchr-2.8.2.crate) = 99069 +SHA256 (rust/crates/nix-0.31.3.crate) = cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d +SIZE (rust/crates/nix-0.31.3.crate) = 347476 +SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 +SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 +SHA256 (rust/crates/proc-macro-crate-3.5.0.crate) = e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f +SIZE (rust/crates/proc-macro-crate-3.5.0.crate) = 12709 +SHA256 (rust/crates/proc-macro2-1.0.106.crate) = 8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934 +SIZE (rust/crates/proc-macro2-1.0.106.crate) = 59765 +SHA256 (rust/crates/quote-1.0.46.crate) = dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368 +SIZE (rust/crates/quote-1.0.46.crate) = 31628 +SHA256 (rust/crates/r-efi-6.0.0.crate) = f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf +SIZE (rust/crates/r-efi-6.0.0.crate) = 65303 +SHA256 (rust/crates/regex-1.12.4.crate) = f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba +SIZE (rust/crates/regex-1.12.4.crate) = 153468 +SHA256 (rust/crates/regex-automata-0.4.14.crate) = 6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f +SIZE (rust/crates/regex-automata-0.4.14.crate) = 618012 +SHA256 (rust/crates/regex-lite-0.1.9.crate) = cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973 +SIZE (rust/crates/regex-lite-0.1.9.crate) = 96166 +SHA256 (rust/crates/regex-syntax-0.8.11.crate) = d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4 +SIZE (rust/crates/regex-syntax-0.8.11.crate) = 359055 +SHA256 (rust/crates/rustix-1.1.4.crate) = b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190 +SIZE (rust/crates/rustix-1.1.4.crate) = 425241 +SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e +SIZE (rust/crates/serde-1.0.228.crate) = 83652 +SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad +SIZE (rust/crates/serde_core-1.0.228.crate) = 63111 +SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79 +SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605 +SHA256 (rust/crates/serde_json-1.0.150.crate) = e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9 +SIZE (rust/crates/serde_json-1.0.150.crate) = 155574 +SHA256 (rust/crates/shlex-2.0.1.crate) = f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba +SIZE (rust/crates/shlex-2.0.1.crate) = 19332 +SHA256 (rust/crates/statrs-0.18.0.crate) = 2a3fe7c28c6512e766b0874335db33c94ad7b8f9054228ae1c2abd47ce7d335e +SIZE (rust/crates/statrs-0.18.0.crate) = 156842 +SHA256 (rust/crates/syn-2.0.118.crate) = 1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422 +SIZE (rust/crates/syn-2.0.118.crate) = 305533 +SHA256 (rust/crates/terminal_size-0.4.4.crate) = 230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874 +SIZE (rust/crates/terminal_size-0.4.4.crate) = 10022 +SHA256 (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7 +SIZE (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 17982 +SHA256 (rust/crates/toml_edit-0.25.12+spec-1.1.0.crate) = d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7 +SIZE (rust/crates/toml_edit-0.25.12+spec-1.1.0.crate) = 68620 +SHA256 (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526 +SIZE (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = 35485 +SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75 +SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298 +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 +SHA256 (rust/crates/winnow-1.0.3.crate) = 0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1 +SIZE (rust/crates/winnow-1.0.3.crate) = 187990 +SHA256 (rust/crates/zmij-1.0.21.crate) = b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa +SIZE (rust/crates/zmij-1.0.21.crate) = 26665 diff --git a/textproc/sasso/pkg-descr b/textproc/sasso/pkg-descr new file mode 100644 index 000000000000..f1d88e508664 --- /dev/null +++ b/textproc/sasso/pkg-descr @@ -0,0 +1,11 @@ +Sasso is a compiler for Sass, the Syntactically Awesome Style Sheets +language, written in Rust. Sass provides features such as variables, +nesting, mixins, inheritance and imports, which allows one to write +CSS (Cascading Style Sheets) more easily and tersely. + +Sasso supports both the SCSS syntax -- a superset of CSS3 -- and the +older indended Sass syntax. It aims for a perfect compatibility with +the current release of Dart Sass, the reference implementation of the +Sass language. It is tested against the official Sass Spec Suite where +it achieves a 100% success rate on the subset implemented by Dart +Sass, producing byte-for-byte identical outputs. |
