From ffb0c35cb985a347be82b6844f19a2ea8b32a31c Mon Sep 17 00:00:00 2001 From: lelgenio Date: Sat, 15 Jun 2024 22:46:43 -0300 Subject: [PATCH] lessc: add wrapper for plugins Co-authored-by: Sandro --- pkgs/by-name/le/lessc/package.nix | 2 ++ .../le/lessc/plugins/clean-css/default.nix | 15 +---------- .../le/lessc/plugins/clean-css/update.sh | 2 +- pkgs/by-name/le/lessc/wrapper/default.nix | 27 +++++++++++++++++++ 4 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 pkgs/by-name/le/lessc/wrapper/default.nix diff --git a/pkgs/by-name/le/lessc/package.nix b/pkgs/by-name/le/lessc/package.nix index ca6a26a8f7b2..637f55a762a4 100644 --- a/pkgs/by-name/le/lessc/package.nix +++ b/pkgs/by-name/le/lessc/package.nix @@ -35,6 +35,8 @@ buildNpmPackage rec { passthru = { updateScript = nix-update-script { }; plugins = callPackage ./plugins { }; + wrapper = callPackage ./wrapper { }; + withPlugins = fn: lessc.wrapper.override { plugins = fn lessc.plugins; }; tests = { version = testers.testVersion { package = lessc; }; diff --git a/pkgs/by-name/le/lessc/plugins/clean-css/default.nix b/pkgs/by-name/le/lessc/plugins/clean-css/default.nix index 88c2ea939901..2ae24adea596 100644 --- a/pkgs/by-name/le/lessc/plugins/clean-css/default.nix +++ b/pkgs/by-name/le/lessc/plugins/clean-css/default.nix @@ -5,7 +5,6 @@ testers, runCommand, writeText, - symlinkJoin, lessc, }: @@ -35,15 +34,7 @@ buildNpmPackage { actual = runCommand "actual" { - nativeBuildInputs = [ - (symlinkJoin { - name = "less-css-with-plugins"; - paths = [ - lessc - lessc.plugins.clean-css - ]; - }) - ]; + nativeBuildInputs = [ (lessc.withPlugins (p: [ p.clean-css ])) ]; base = writeText "base" '' @color: red; body { @@ -52,10 +43,6 @@ buildNpmPackage { } } ''; - NODE_PATH = lib.concatMapStringsSep ":" (pkg: "${pkg}/lib/node_modules") [ - lessc - lessc.plugins.clean-css - ]; } '' lessc $base --clean-css="--s1 --advanced" > $out diff --git a/pkgs/by-name/le/lessc/plugins/clean-css/update.sh b/pkgs/by-name/le/lessc/plugins/clean-css/update.sh index 23e519534eea..78d1d063a9e9 100755 --- a/pkgs/by-name/le/lessc/plugins/clean-css/update.sh +++ b/pkgs/by-name/le/lessc/plugins/clean-css/update.sh @@ -9,7 +9,7 @@ while ! test -f flake.nix; do cd .. ; done NIXPKGS_DIR="$PWD" latest_commit="$( - curl https://api.github.com/repos/less/less-plugin-clean-css/branches/master \ + curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} https://api.github.com/repos/less/less-plugin-clean-css/branches/master \ | jq -r .commit.sha )" diff --git a/pkgs/by-name/le/lessc/wrapper/default.nix b/pkgs/by-name/le/lessc/wrapper/default.nix new file mode 100644 index 000000000000..4826a8b716d4 --- /dev/null +++ b/pkgs/by-name/le/lessc/wrapper/default.nix @@ -0,0 +1,27 @@ +{ + lib, + stdenv, + makeWrapper, + lessc, + plugins ? [ ], +}: + +stdenv.mkDerivation { + pname = "lessc-with-plugins"; + nativeBuildInputs = [ makeWrapper ]; + buildPhase = '' + mkdir -p $out/bin + + makeWrapper "${lib.getExe lessc}" "$out/bin/lessc" \ + --prefix NODE_PATH : "${lib.makeSearchPath "/lib/node_modules" plugins}" + ''; + + doUnpack = false; + + inherit (lessc) + version + src + passthru + meta + ; +}