45 lines
1,000 B
Nix
45 lines
1,000 B
Nix
{ lib
|
|
, buildNpmPackage
|
|
, fetchNpmDeps
|
|
, testers
|
|
}:
|
|
|
|
let
|
|
inherit (lib) fileset;
|
|
|
|
packageLock = builtins.fromJSON (builtins.readFile ./package-lock.json);
|
|
|
|
pname = "purescm";
|
|
version = packageLock.packages."node_modules/${pname}".version;
|
|
|
|
package = buildNpmPackage {
|
|
inherit pname version;
|
|
|
|
src = ./.;
|
|
dontNpmBuild = true;
|
|
|
|
npmDeps = fetchNpmDeps {
|
|
src = ./.;
|
|
hash = "sha256-ljeFcLvIET77Q0OR6O5Ok1fGnaxaKaoywpcy2aHq/6o=";
|
|
};
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share/${pname}
|
|
cp -r node_modules/ $out/share/${pname}
|
|
ln -s $out/share/${pname}/node_modules/.bin $out/bin
|
|
'';
|
|
|
|
passthru.tests = {
|
|
version = testers.testVersion { inherit package; };
|
|
};
|
|
|
|
meta = {
|
|
description = "Chez Scheme back-end for PureScript";
|
|
homepage = "https://github.com/purescm/purescm";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ toastal ];
|
|
mainProgram = "purescm";
|
|
};
|
|
};
|
|
in
|
|
package
|