Date: Wed, 05 Aug 2026 01:35:51 +0000 From: Hiroki Tagato <tagattie@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Benjamin Jacobs <freebsd@dev.thsi.be> Subject: git: 2b5fb0cc4041 - main - texproc/sasso: New port: Fast and conformant Sass to CSS compiler Message-ID: <6a729377.37ea6.436ab933@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=2b5fb0cc40415e0f2e77deb6b7a6208d1da1aa5f commit 2b5fb0cc40415e0f2e77deb6b7a6208d1da1aa5f Author: Benjamin Jacobs <freebsd@dev.thsi.be> AuthorDate: 2026-07-17 13:59:23 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2026-08-05 01:35:20 +0000 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) --- textproc/Makefile | 1 + textproc/sasso/Makefile | 23 ++++++++ textproc/sasso/Makefile.crates | 59 ++++++++++++++++++++ textproc/sasso/distinfo | 121 +++++++++++++++++++++++++++++++++++++++++ textproc/sasso/pkg-descr | 11 ++++ 5 files changed, 215 insertions(+) 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.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a729377.37ea6.436ab933>
