lessc: add wrapper for plugins

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

+31 -15
+2
pkgs/by-name/le/lessc/package.nix
··· 35 35 passthru = { 36 36 updateScript = nix-update-script { }; 37 37 plugins = callPackage ./plugins { }; 38 + wrapper = callPackage ./wrapper { }; 39 + withPlugins = fn: lessc.wrapper.override { plugins = fn lessc.plugins; }; 38 40 tests = { 39 41 version = testers.testVersion { package = lessc; }; 40 42
+1 -14
pkgs/by-name/le/lessc/plugins/clean-css/default.nix
··· 5 5 testers, 6 6 runCommand, 7 7 writeText, 8 - symlinkJoin, 9 8 lessc, 10 9 }: 11 10 ··· 35 34 actual = 36 35 runCommand "actual" 37 36 { 38 - nativeBuildInputs = [ 39 - (symlinkJoin { 40 - name = "less-css-with-plugins"; 41 - paths = [ 42 - lessc 43 - lessc.plugins.clean-css 44 - ]; 45 - }) 46 - ]; 37 + nativeBuildInputs = [ (lessc.withPlugins (p: [ p.clean-css ])) ]; 47 38 base = writeText "base" '' 48 39 @color: red; 49 40 body { ··· 52 43 } 53 44 } 54 45 ''; 55 - NODE_PATH = lib.concatMapStringsSep ":" (pkg: "${pkg}/lib/node_modules") [ 56 - lessc 57 - lessc.plugins.clean-css 58 - ]; 59 46 } 60 47 '' 61 48 lessc $base --clean-css="--s1 --advanced" > $out
+1 -1
pkgs/by-name/le/lessc/plugins/clean-css/update.sh
··· 9 9 NIXPKGS_DIR="$PWD" 10 10 11 11 latest_commit="$( 12 - curl https://api.github.com/repos/less/less-plugin-clean-css/branches/master \ 12 + curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} https://api.github.com/repos/less/less-plugin-clean-css/branches/master \ 13 13 | jq -r .commit.sha 14 14 )" 15 15
+27
pkgs/by-name/le/lessc/wrapper/default.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + makeWrapper, 5 + lessc, 6 + plugins ? [ ], 7 + }: 8 + 9 + stdenv.mkDerivation { 10 + pname = "lessc-with-plugins"; 11 + nativeBuildInputs = [ makeWrapper ]; 12 + buildPhase = '' 13 + mkdir -p $out/bin 14 + 15 + makeWrapper "${lib.getExe lessc}" "$out/bin/lessc" \ 16 + --prefix NODE_PATH : "${lib.makeSearchPath "/lib/node_modules" plugins}" 17 + ''; 18 + 19 + doUnpack = false; 20 + 21 + inherit (lessc) 22 + version 23 + src 24 + passthru 25 + meta 26 + ; 27 + }