From 74340842783beb0e0aff491680e77afe24f47d71 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 3 Feb 2022 13:56:17 +0800 Subject: [PATCH] jpm: init at 0.0.2 --- pkgs/development/interpreters/janet/jpm.nix | 59 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/interpreters/janet/jpm.nix diff --git a/pkgs/development/interpreters/janet/jpm.nix b/pkgs/development/interpreters/janet/jpm.nix new file mode 100644 index 000000000000..708930851255 --- /dev/null +++ b/pkgs/development/interpreters/janet/jpm.nix @@ -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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 535c7e258bda..a167c0f07c79 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 {};