diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix new file mode 100644 index 00000000000..70f09d467f6 --- /dev/null +++ b/pkgs/development/tools/just/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub, rustPlatform, coreutils, bash, dash }: + +rustPlatform.buildRustPackage rec { + pname = "just"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "casey"; + repo = pname; + rev = "v${version}"; + sha256 = "1v42y8lc1akpnzad0gf89jywbxa74mmzimfsbvkdi7101z5q5qlp"; + }; + + cargoSha256 = "1kgkcl7qffh6vbjdpvrkw8ih1v8zrxs3f0a20mg6z97gdym6mm8g"; + + checkInputs = [ coreutils bash dash ]; + + preCheck = '' + # USER must not be empty + export USER=just-user + export USERNAME=just-user + + sed -i tests/integration.rs \ + -e "s@/bin/echo@${coreutils}/bin/echo@g" \ + -e "s@#!/usr/bin/env sh@#!${bash}/bin/sh@g" \ + -e "s@#!/usr/bin/env cat@#!${coreutils}/bin/cat@g" + + sed -i tests/interrupts.rs \ + -e "s@/bin/echo@${coreutils}/bin/echo@g" \ + -e "s@#!/usr/bin/env sh@#!${bash}/bin/sh@g" \ + -e "s@#!/usr/bin/env cat@#!${coreutils}/bin/cat@g" + + sed -i src/justfile.rs \ + -e "s@/bin/echo@${coreutils}/bin/echo@g" \ + -e "s@#!/usr/bin/env sh@#!${bash}/bin/sh@g" \ + -e "s@#!/usr/bin/env cat@#!${coreutils}/bin/cat@g" + ''; + + meta = with stdenv.lib; { + description = "A handy way to save and run project-specific commands"; + homepage = https://github.com/casey/just; + license = licenses.cc0; + maintainers = with maintainers; [ xrelkd ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68e8cf713a0..e4baf02437a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3691,6 +3691,8 @@ in junkie = callPackage ../tools/networking/junkie { }; + just = callPackage ../development/tools/just { }; + go-jira = callPackage ../applications/misc/go-jira { }; john = callPackage ../tools/security/john { };