jpm: init at 0.0.2
This commit is contained in:
parent
58f134bc37
commit
7434084278
59
pkgs/development/interpreters/janet/jpm.nix
Normal file
59
pkgs/development/interpreters/janet/jpm.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib, stdenv, fetchFromGitHub, janet }:
|
||||
|
||||
let
|
||||
platformFiles = {
|
||||
aarch64-darwin = "macos_config.janet";
|
||||
aarch64-linux = "linux_config.janet";
|
||||
x86_64-darwin = "macos_config.janet";
|
||||
x86_64-linux = "linux_config.janet";
|
||||
};
|
||||
|
||||
platformFile = platformFiles.${stdenv.hostPlatform.system};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jpm";
|
||||
version = "0.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janet-lang";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-nv+vkDjEY711L+C5ibw48DUSNqq2UJiFC2i5LntuBNM=";
|
||||
};
|
||||
|
||||
# `auto-shebangs true` gives us a shebang line that points to janet inside the
|
||||
# jpm bin folder
|
||||
postPatch = ''
|
||||
substituteInPlace configs/${platformFile} \
|
||||
--replace 'auto-shebang true' 'auto-shebang false' \
|
||||
--replace /usr/local $out
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
buildInputs = [ janet ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{lib/janet,share/man/man1}
|
||||
|
||||
janet bootstrap.janet configs/${platformFile}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/jpm help
|
||||
'';
|
||||
|
||||
meta = janet.meta // {
|
||||
description = "Janet Project Manager for the Janet programming language";
|
||||
platforms = lib.attrNames platformFiles;
|
||||
};
|
||||
}
|
@ -13588,6 +13588,8 @@ with pkgs;
|
||||
|
||||
janet = callPackage ../development/interpreters/janet {};
|
||||
|
||||
jpm = callPackage ../development/interpreters/janet/jpm.nix {};
|
||||
|
||||
jelly = callPackage ../development/interpreters/jelly {};
|
||||
|
||||
jimtcl = callPackage ../development/interpreters/jimtcl {};
|
||||
|
Loading…
Reference in New Issue
Block a user