diff --git a/pkgs/by-name/bo/bonsai/package.nix b/pkgs/by-name/bo/bonsai/package.nix index 1148eb6e98d3..da5f81c928d5 100644 --- a/pkgs/by-name/bo/bonsai/package.nix +++ b/pkgs/by-name/bo/bonsai/package.nix @@ -6,52 +6,39 @@ , hareThirdParty }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "bonsai"; version = "1.0.2"; src = fetchFromSourcehut { owner = "~stacyharper"; repo = "bonsai"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-Yosf07KUOQv4O5111tLGgI270g0KVGwzdTPtPOsTcP8="; }; - postPatch = '' - substituteInPlace Makefile \ - --replace 'hare build' 'hare build $(HARE_TARGET_FLAGS)' - ''; - nativeBuildInputs = [ hare + hareThirdParty.hare-ev + hareThirdParty.hare-json ]; - buildInputs = with hareThirdParty; [ - hare-ev - hare-json + makeFlags = [ + "PREFIX=${builtins.placeholder "out"}" + "HARECACHE=.harecache" + "HAREFLAGS=-qa${stdenv.hostPlatform.uname.processor}" ]; - 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)" ]; + 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"; }; @@ -59,8 +46,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Finite State Machine structured as a tree"; homepage = "https://git.sr.ht/~stacyharper/bonsai"; - license = licenses.agpl3; + license = licenses.agpl3Plus; maintainers = with maintainers; [ colinsane ]; platforms = platforms.linux; + mainProgram = "bonsaictl"; }; -} +})