diff --git a/pkgs/by-name/bo/bonsai/package.nix b/pkgs/by-name/bo/bonsai/package.nix new file mode 100644 index 000000000000..da5f81c928d5 --- /dev/null +++ b/pkgs/by-name/bo/bonsai/package.nix @@ -0,0 +1,54 @@ +{ stdenv +, lib +, fetchFromSourcehut +, gitUpdater +, hare +, hareThirdParty +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "bonsai"; + version = "1.0.2"; + + src = fetchFromSourcehut { + owner = "~stacyharper"; + repo = "bonsai"; + rev = "v${finalAttrs.version}"; + hash = "sha256-Yosf07KUOQv4O5111tLGgI270g0KVGwzdTPtPOsTcP8="; + }; + + nativeBuildInputs = [ + hare + hareThirdParty.hare-ev + hareThirdParty.hare-json + ]; + + makeFlags = [ + "PREFIX=${builtins.placeholder "out"}" + "HARECACHE=.harecache" + "HAREFLAGS=-qa${stdenv.hostPlatform.uname.processor}" + ]; + + enableParallelBuilding = true; + + doCheck = true; + + postPatch = '' + substituteInPlace Makefile \ + --replace 'hare build' 'hare build $(HAREFLAGS)' \ + --replace 'hare test' 'hare test $(HAREFLAGS)' + ''; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = with lib; { + description = "Finite State Machine structured as a tree"; + homepage = "https://git.sr.ht/~stacyharper/bonsai"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ colinsane ]; + platforms = platforms.linux; + mainProgram = "bonsaictl"; + }; +}) diff --git a/pkgs/tools/misc/bonsai/default.nix b/pkgs/tools/misc/bonsai/default.nix deleted file mode 100644 index 1148eb6e98d3..000000000000 --- a/pkgs/tools/misc/bonsai/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ stdenv -, lib -, fetchFromSourcehut -, gitUpdater -, hare -, hareThirdParty -}: - -stdenv.mkDerivation rec { - pname = "bonsai"; - version = "1.0.2"; - - src = fetchFromSourcehut { - owner = "~stacyharper"; - repo = "bonsai"; - rev = "v${version}"; - hash = "sha256-Yosf07KUOQv4O5111tLGgI270g0KVGwzdTPtPOsTcP8="; - }; - - postPatch = '' - substituteInPlace Makefile \ - --replace 'hare build' 'hare build $(HARE_TARGET_FLAGS)' - ''; - - nativeBuildInputs = [ - hare - ]; - - buildInputs = with hareThirdParty; [ - hare-ev - hare-json - ]; - - env.HARE_TARGET_FLAGS = - if stdenv.hostPlatform.isAarch64 then - "-a aarch64" - else if stdenv.hostPlatform.isRiscV64 then - "-a riscv64" - else if stdenv.hostPlatform.isx86_64 then - "-a x86_64" - else - ""; - # TODO: hare setup-hook is supposed to do this for us. - # It does it correctly for native compilation, but not cross compilation: wrong offset? - env.HAREPATH = with hareThirdParty; "${hare-json}/src/hare/third-party:${hare-ev}/src/hare/third-party"; - - preConfigure = '' - export HARECACHE=$(mktemp -d) - ''; - - installFlags = [ "PREFIX=$(out)" ]; - - doCheck = true; - - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; - - meta = with lib; { - description = "Finite State Machine structured as a tree"; - homepage = "https://git.sr.ht/~stacyharper/bonsai"; - license = licenses.agpl3; - maintainers = with maintainers; [ colinsane ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 88f7bb49c4f0..d3694f66f716 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1751,8 +1751,6 @@ with pkgs; bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { }; - bonsai = callPackage ../tools/misc/bonsai { }; - cie-middleware-linux = callPackage ../tools/security/cie-middleware-linux { }; cidrgrep = callPackage ../tools/text/cidrgrep { };