Re: [Buildroot] [PATCH 2/2] package/sass: new package
Alexis Lothoré via buildroot <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <[email protected]> |
On Fri Aug 7, 2026 at 10:29 AM CEST, Thomas Petazzoni wrote: > Hello Alexis, > > On Thu, Aug 06, 2026 at 11:24:23PM +0200, Alexis Lothoré wrote: >> sass is a css extension adding programming features to css. >> >> https://github.com/sass/dart-sass >> >> The source configured for the package is not a github repository, as the >> official sources for sass are in fact in Dart: those sources are >> automatically built into a javascript module by the corresponding github >> workflow ([1]). Rather than trying to replicate the whole dart build, >> this new package just downloads the sources for sass from npmjs >> directly. >> >> [1] >> https://github.com/sass/dart-sass/blob/main/.github/workflows/release.yml >> >> Signed-off-by: Alexis Lothoré <[email protected]> > > I am not super clear on what sass exactly does/is. But some time ago, > we dropped all JS libraries from Buildroot: > > https://lore.kernel.org/buildroot/[email protected]/ Thanks for the link, good to know. > But sass doesn't seem to be one of those static JS libraries I guess > because it installs some executable host tool? Yes, the goal here really is to install a "sass binary" in $(HOST_DIR)/bin to be able to use it at build time, but "binary" is a kind of strong work: this really is a node script. >> diff --git a/package/sass/sass.mk b/package/sass/sass.mk >> new file mode 100644 >> index 000000000000..c79109be44a2 >> --- /dev/null >> +++ b/package/sass/sass.mk >> @@ -0,0 +1,30 @@ >> +################################################################################ >> +# >> +# sass >> +# >> +################################################################################ >> + >> +SASS_VERSION = 1.102.0 >> +SASS_SOURCE = sass-$(SASS_VERSION).tgz >> +SASS_SITE = https://registry.npmjs.org/sass/- >> +SASS_LICENSE = MIT >> +SASS_LICENSE_FILES = LICENSE >> +HOST_SASS_DEPENDENCIES = host-nodejs >> + >> +define HOST_SASS_BUILD_CMDS >> + $(HOST_DIR)/bin/npm install \ >> + --prefix $(@D) \ >> + --production \ >> + --no-audit \ >> + --no-fund > > What is this "npm install" doing? Isn't it downloading random stuff > from the Internet? Yes, this `npm install` downloads 3 dependencies for this sass tool. I understand that it is not ideal (having some download in the build step), but proposed it anyway, as it was a potential "known issue" in Arnout's proposal ([1]). But if this is finally a no-go, thinking a bit more about it, I see two main options: - find a way to vendor the dependencies (may be as simple as setting a post download hook which performs the npm install ?) - this sass package is a node wrapper around the official project dart-sass ([2]). I did not take a look at all at how to build and run it (I am pretty ignorant in Dart), but I can take a look. I am not sure how capable Buildroot is about building Dart projects (I see some flutter-sdk-bin package, I am not sure how re-usable it could be to build some randome dart projects) [1] https://lore.kernel.org/buildroot/[email protected]/ [2] https://sass-lang.com/dart-sass/ Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot