diff --git a/pkgs/tools/nix/gridlock/default.nix b/pkgs/tools/nix/gridlock/default.nix new file mode 100644 index 000000000000..7e3bee28ebb7 --- /dev/null +++ b/pkgs/tools/nix/gridlock/default.nix @@ -0,0 +1,45 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, openssl +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage { + pname = "gridlock"; + version = "unstable-2023-03-03"; + + outputs = [ "out" "nyarr" ]; + + src = fetchFromGitHub { + owner = "lf-"; + repo = "gridlock"; + rev = "15261abdb179e1d7e752772bf9db132b3ee343ea"; + hash = "sha256-rnPAEJH3TebBH6lqgVo7B+nNiArDIkGDnIZWcteFNEw="; + }; + + cargoHash = "sha256-EPs5vJ2RkVXKxrTRtbT/1FbvCT0KJtNuW2WKIUq7G0U="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + postInstall = '' + moveToOutput bin/nyarr $nyarr + ''; + + meta = with lib; { + description = "Nix compatible lockfile manager, without Nix"; + homepage = "https://github.com/lf-/gridlock"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10bd23d3f4be..bb05747b58c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -587,6 +587,9 @@ with pkgs; gpick = callPackage ../tools/misc/gpick { }; + gridlock = callPackage ../tools/nix/gridlock { }; + inherit (gridlock) nyarr; + hwatch = callPackage ../tools/misc/hwatch { }; hobbes = callPackage ../development/tools/hobbes { stdenv = gcc10StdenvCompat; };