Loading pkgs/by-name/ho/homer/0001-build-enable-specifying-custom-sass-compiler-path-by.patchdeleted 100644 → 0 +0 −147 Original line number Diff line number Diff line From 0f77537ce2ba5c1a23d5c2a154bdc77450d1e0e5 Mon Sep 17 00:00:00 2001 From: Christoph Heiss <christoph@c8h4.io> Date: Tue, 26 Aug 2025 10:23:14 +0200 Subject: [PATCH] build: enable specifying custom sass compiler path by env-var Signed-off-by: Christoph Heiss <christoph@c8h4.io> --- package.json | 5 ++++- patches/sass-embedded.patch | 15 +++++++++++++++ pnpm-lock.yaml | 27 ++++++++++++++++----------- 3 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 patches/sass-embedded.patch diff --git a/package.json b/package.json index a67d2c6..17f17b1 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,9 @@ "license": "Apache-2.0", "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748", "pnpm": { - "neverBuiltDependencies": [] + "neverBuiltDependencies": [], + "patchedDependencies": { + "sass-embedded": "patches/sass-embedded.patch" + } } } diff --git a/patches/sass-embedded.patch b/patches/sass-embedded.patch new file mode 100644 index 0000000..5e02bed --- /dev/null +++ b/patches/sass-embedded.patch @@ -0,0 +1,15 @@ +diff --git a/dist/lib/src/compiler-path.js b/dist/lib/src/compiler-path.js +index ae33aa3028e1a120d9e84b043bb19a71f1083b96..7a49d16a54982312ad638632d6750d7bec670f02 100644 +--- a/dist/lib/src/compiler-path.js ++++ b/dist/lib/src/compiler-path.js +@@ -8,6 +8,10 @@ const p = require("path"); + const compiler_module_1 = require("./compiler-module"); + /** The full command for the embedded compiler executable. */ + exports.compilerCommand = (() => { ++ const binPath = process.env.SASS_EMBEDDED_BIN_PATH; ++ if (binPath) { ++ return [binPath]; ++ } + try { + return [ + require.resolve(`${compiler_module_1.compilerModule}/dart-sass/src/dart` + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f98554..44d1691 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + sass-embedded: + hash: 24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20 + path: patches/sass-embedded.patch + importers: .: @@ -29,7 +34,7 @@ importers: version: 9.32.0 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18) + version: 6.0.1(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18) '@vue/eslint-config-prettier': specifier: ^10.2.0 version: 10.2.0(eslint@9.32.0)(prettier@3.6.2) @@ -50,13 +55,13 @@ importers: version: 3.6.2 sass-embedded: specifier: ^1.90.0 - version: 1.90.0 + version: 1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20) vite: specifier: ^7.0.6 - version: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + version: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) vite-plugin-pwa: specifier: ^1.0.2 - version: 1.0.2(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0) + version: 1.0.2(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0) packages: @@ -3634,10 +3639,10 @@ snapshots: '@types/trusted-types@2.0.7': {} - '@vitejs/plugin-vue@6.0.1(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18)': + '@vitejs/plugin-vue@6.0.1(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18)': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + vite: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) vue: 3.5.18 '@vue/compiler-core@3.5.18': @@ -4869,7 +4874,7 @@ snapshots: sass-embedded-win32-x64@1.90.0: optional: true - sass-embedded@1.90.0: + sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20): dependencies: '@bufbuild/protobuf': 2.6.3 buffer-builder: 0.2.0 @@ -5184,18 +5189,18 @@ snapshots: varint@6.0.0: {} - vite-plugin-pwa@1.0.2(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0): + vite-plugin-pwa@1.0.2(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0): dependencies: debug: 4.4.1 pretty-bytes: 6.1.1 tinyglobby: 0.2.14 - vite: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + vite: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) workbox-build: 7.3.0 workbox-window: 7.3.0 transitivePeerDependencies: - supports-color - vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1): + vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -5206,7 +5211,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 sass: 1.90.0 - sass-embedded: 1.90.0 + sass-embedded: 1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20) terser: 5.43.1 yaml: 2.8.1 -- 2.50.1 pkgs/by-name/ho/homer/package.nix +11 −8 Original line number Diff line number Diff line Loading @@ -11,12 +11,12 @@ stdenvNoCC.mkDerivation rec { pname = "homer"; version = "25.08.1"; version = "25.09.1"; src = fetchFromGitHub { owner = "bastienwirtz"; repo = "homer"; rev = "v${version}"; hash = "sha256-DA2gdh6o67QDC4y+N5DVG0ktjt/ORNbycU/y2cUjUE0="; hash = "sha256-MwDDnfp21MoQ9hh0+cjUo+sc+u69rx1K9ATbBB6RX78="; }; pnpmDeps = pnpm_10.fetchDeps { Loading @@ -24,15 +24,12 @@ stdenvNoCC.mkDerivation rec { pname version src patches ; fetcherVersion = 2; hash = "sha256-y/4f/39NOVV46Eg3h7fw8K43/kUIBqtiokTRRlX7398="; hash = "sha256-2cozIe70PGo1WRUeWrY8W1B6U2QYLbWYcwN5WllRwkg="; }; # Enables specifying a custom Sass compiler binary path via `SASS_EMBEDDED_BIN_PATH` environment variable. patches = [ ./0001-build-enable-specifying-custom-sass-compiler-path-by.patch ]; nativeBuildInputs = [ nodejs dart-sass Loading @@ -42,7 +39,9 @@ stdenvNoCC.mkDerivation rec { buildPhase = '' runHook preBuild export SASS_EMBEDDED_BIN_PATH="${dart-sass}/bin/sass" # force the sass npm dependency to use our own sass binary instead of the bundled one substituteInPlace node_modules/sass-embedded/dist/lib/src/compiler-path.js \ --replace-fail 'compilerCommand = (() => {' 'compilerCommand = (() => { return ["${lib.getExe dart-sass}"];' pnpm build runHook postBuild Loading @@ -54,6 +53,10 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out cp -R dist/* $out/ # Remove sample/demo files from output rm -f $out/assets/*.yml.dist rm -f $out/assets/*.css.sample runHook postInstall ''; Loading Loading
pkgs/by-name/ho/homer/0001-build-enable-specifying-custom-sass-compiler-path-by.patchdeleted 100644 → 0 +0 −147 Original line number Diff line number Diff line From 0f77537ce2ba5c1a23d5c2a154bdc77450d1e0e5 Mon Sep 17 00:00:00 2001 From: Christoph Heiss <christoph@c8h4.io> Date: Tue, 26 Aug 2025 10:23:14 +0200 Subject: [PATCH] build: enable specifying custom sass compiler path by env-var Signed-off-by: Christoph Heiss <christoph@c8h4.io> --- package.json | 5 ++++- patches/sass-embedded.patch | 15 +++++++++++++++ pnpm-lock.yaml | 27 ++++++++++++++++----------- 3 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 patches/sass-embedded.patch diff --git a/package.json b/package.json index a67d2c6..17f17b1 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,9 @@ "license": "Apache-2.0", "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748", "pnpm": { - "neverBuiltDependencies": [] + "neverBuiltDependencies": [], + "patchedDependencies": { + "sass-embedded": "patches/sass-embedded.patch" + } } } diff --git a/patches/sass-embedded.patch b/patches/sass-embedded.patch new file mode 100644 index 0000000..5e02bed --- /dev/null +++ b/patches/sass-embedded.patch @@ -0,0 +1,15 @@ +diff --git a/dist/lib/src/compiler-path.js b/dist/lib/src/compiler-path.js +index ae33aa3028e1a120d9e84b043bb19a71f1083b96..7a49d16a54982312ad638632d6750d7bec670f02 100644 +--- a/dist/lib/src/compiler-path.js ++++ b/dist/lib/src/compiler-path.js +@@ -8,6 +8,10 @@ const p = require("path"); + const compiler_module_1 = require("./compiler-module"); + /** The full command for the embedded compiler executable. */ + exports.compilerCommand = (() => { ++ const binPath = process.env.SASS_EMBEDDED_BIN_PATH; ++ if (binPath) { ++ return [binPath]; ++ } + try { + return [ + require.resolve(`${compiler_module_1.compilerModule}/dart-sass/src/dart` + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f98554..44d1691 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + sass-embedded: + hash: 24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20 + path: patches/sass-embedded.patch + importers: .: @@ -29,7 +34,7 @@ importers: version: 9.32.0 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18) + version: 6.0.1(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18) '@vue/eslint-config-prettier': specifier: ^10.2.0 version: 10.2.0(eslint@9.32.0)(prettier@3.6.2) @@ -50,13 +55,13 @@ importers: version: 3.6.2 sass-embedded: specifier: ^1.90.0 - version: 1.90.0 + version: 1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20) vite: specifier: ^7.0.6 - version: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + version: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) vite-plugin-pwa: specifier: ^1.0.2 - version: 1.0.2(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0) + version: 1.0.2(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0) packages: @@ -3634,10 +3639,10 @@ snapshots: '@types/trusted-types@2.0.7': {} - '@vitejs/plugin-vue@6.0.1(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18)': + '@vitejs/plugin-vue@6.0.1(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18)': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + vite: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) vue: 3.5.18 '@vue/compiler-core@3.5.18': @@ -4869,7 +4874,7 @@ snapshots: sass-embedded-win32-x64@1.90.0: optional: true - sass-embedded@1.90.0: + sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20): dependencies: '@bufbuild/protobuf': 2.6.3 buffer-builder: 0.2.0 @@ -5184,18 +5189,18 @@ snapshots: varint@6.0.0: {} - vite-plugin-pwa@1.0.2(vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0): + vite-plugin-pwa@1.0.2(vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(workbox-build@7.3.0)(workbox-window@7.3.0): dependencies: debug: 4.4.1 pretty-bytes: 6.1.1 tinyglobby: 0.2.14 - vite: 7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) + vite: 7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) workbox-build: 7.3.0 workbox-window: 7.3.0 transitivePeerDependencies: - supports-color - vite@7.0.6(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1): + vite@7.0.6(sass-embedded@1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20))(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -5206,7 +5211,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 sass: 1.90.0 - sass-embedded: 1.90.0 + sass-embedded: 1.90.0(patch_hash=24d35db63138795a11bb26b230cf743c82f571c7e2ee061db58263799d659e20) terser: 5.43.1 yaml: 2.8.1 -- 2.50.1
pkgs/by-name/ho/homer/package.nix +11 −8 Original line number Diff line number Diff line Loading @@ -11,12 +11,12 @@ stdenvNoCC.mkDerivation rec { pname = "homer"; version = "25.08.1"; version = "25.09.1"; src = fetchFromGitHub { owner = "bastienwirtz"; repo = "homer"; rev = "v${version}"; hash = "sha256-DA2gdh6o67QDC4y+N5DVG0ktjt/ORNbycU/y2cUjUE0="; hash = "sha256-MwDDnfp21MoQ9hh0+cjUo+sc+u69rx1K9ATbBB6RX78="; }; pnpmDeps = pnpm_10.fetchDeps { Loading @@ -24,15 +24,12 @@ stdenvNoCC.mkDerivation rec { pname version src patches ; fetcherVersion = 2; hash = "sha256-y/4f/39NOVV46Eg3h7fw8K43/kUIBqtiokTRRlX7398="; hash = "sha256-2cozIe70PGo1WRUeWrY8W1B6U2QYLbWYcwN5WllRwkg="; }; # Enables specifying a custom Sass compiler binary path via `SASS_EMBEDDED_BIN_PATH` environment variable. patches = [ ./0001-build-enable-specifying-custom-sass-compiler-path-by.patch ]; nativeBuildInputs = [ nodejs dart-sass Loading @@ -42,7 +39,9 @@ stdenvNoCC.mkDerivation rec { buildPhase = '' runHook preBuild export SASS_EMBEDDED_BIN_PATH="${dart-sass}/bin/sass" # force the sass npm dependency to use our own sass binary instead of the bundled one substituteInPlace node_modules/sass-embedded/dist/lib/src/compiler-path.js \ --replace-fail 'compilerCommand = (() => {' 'compilerCommand = (() => { return ["${lib.getExe dart-sass}"];' pnpm build runHook postBuild Loading @@ -54,6 +53,10 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out cp -R dist/* $out/ # Remove sample/demo files from output rm -f $out/assets/*.yml.dist rm -f $out/assets/*.css.sample runHook postInstall ''; Loading