I have an incomplete derivation like this:
{ pkgs, lib, stdenv, ... }:
# https://github.com/prettier/plugin-pug
let
version = "1.16.7";
yarn2nix = pkgs.haskellPackages.yarn2nix;
source = pkgs.fetchFromGitHub {
owner = "prettier";
repo = "plugin-pug";
rev = version;
sha256 = "3sETKw+Vv+SgxyRUEbweD3s24zz9M+UpD6LaSsAIYlk=";
};
in (stdenv.mkDerivation {
pname = "prettier-plugin-pug";
inherit version;
buildInputs = [ pkgs.nodejs pkgs.git yarn2nix ];
src = source;
buildPhase = let
# ${yarn2nix}/bin/yarn2nix ${source + "/yarn.lock"}
nodeDependencies = pkgs.runCommand "yarn2nix" { } ''
${yarn2nix}/bin/yarn2nix ${source + "/yarn.lock"}
'';
in ''
echo ${nodeDependencies}
ls -a ${nodeDependencies}
'';
# installPhase = "";
})
Both pkgs.haskellPackages.yarn2nix
and pkgs.yarn2nix
returns an error, this is the error I got using pkgs.haskellPackages.yarn2nix
:
> Could not parse /nix/store/q0sssji3gq8vr22pm7dvqyxlal26axwf-source/yarn.lock:
> ParseError "/nix/store/q0sssji3gq8vr22pm7dvqyxlal26axwf-source/yarn.lock:10:15:\n |\n10 | resolution: \"@babel/code-frame@npm:7.12.11\"\n | ^\nincorrect indentation (got 15, should be equal to 3)\n"
I tried to clone this project and run npm run build
manually, and it is working ok.
So how can I fix this? I think patch might be the answer, but I have to generate the yarn.lock file manually to fix this(And I am not sure if it would work). Is there a more graceful solution?