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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.