diff --git a/pkgs/by-name/tr/triforce-lv2/package.nix b/pkgs/by-name/tr/triforce-lv2/package.nix index 657233da0b8d..e52a62ef43c5 100644 --- a/pkgs/by-name/tr/triforce-lv2/package.nix +++ b/pkgs/by-name/tr/triforce-lv2/package.nix @@ -2,35 +2,59 @@ lib, rustPlatform, fetchFromGitHub, + stdenv, + nix-update-script, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "triforce-lv2"; version = "0.3.2"; src = fetchFromGitHub { owner = "chadmed"; repo = "triforce"; - rev = version; + tag = finalAttrs.version; hash = "sha256-f4i0S6UaVfs1CUeQRqo22PRgMNwYDNoMunHidI1XzBk="; }; - useFetchCargoVendor = true; - cargoHash = "sha256-2FC6wlFJkQryA/bcjF0GjrMQVb8hlUY+muFqPqShWss="; - - installPhase = '' - export LIBDIR=$out/lib - mkdir -p $LIBDIR - - make - make install + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "target/release" \ + "target/${stdenv.hostPlatform.rust.cargoShortTarget}/$cargoBuildType" ''; - meta = with lib; { - homepage = "https://github.com/chadmed/triforce"; - description = "Minimum Variance Distortionless Response adaptive beamformer for the microphone array found in some Apple Silicon laptops"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ yuka ]; - platforms = platforms.linux; + cargoHash = "sha256-2FC6wlFJkQryA/bcjF0GjrMQVb8hlUY+muFqPqShWss="; + + dontCargoInstall = true; + + installFlags = [ + "DESTDIR=$(out)" + "LIBDIR=lib" + ]; + + passthru = { + updateScript = nix-update-script { }; }; -} + + meta = { + homepage = "https://github.com/chadmed/triforce"; + description = "Beamformer for Apple Silicon laptops"; + longDescription = '' + Triforce implements a Minimum Variance Distortionless Response + adaptive beamformer for the microphone array found in the + following Apple Silicon laptops: + + - MacBook Pro 13" (M1/M2) + - MacBook Air 13" (M1/M2) + - MacBook Pro 14" (M1 Pro/Max, M2 Pro/Max) + - MacBook Pro 16" (M1 Pro/Max, M2 Pro/Max) + - MacBook Air 15" (M2) + ''; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + normalcea + yuka + ]; + platforms = [ "aarch64-linux" ]; + }; +})