summary refs log tree commit diff
path: root/pkgs/tools/audio
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-08-20 00:03:24 +0000
committerGitHub <noreply@github.com>2023-08-20 00:03:24 +0000
commit8a62479e069e5a064165188b877f9ac545255a4b (patch)
tree0477430fd084150d8bf7938be52ed5ac94acb32b /pkgs/tools/audio
parent68da27cd38cd23d5fe97db021cdbd12f285aa29a (diff)
parentf6a4c6f91221c4925fcfd28071982e82f656693a (diff)
downloadnixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar.gz
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar.bz2
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar.lz
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar.xz
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.tar.zst
nixpkgs-8a62479e069e5a064165188b877f9ac545255a4b.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/tools/audio')
-rw-r--r--pkgs/tools/audio/goxlr-utility/default.nix65
1 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/tools/audio/goxlr-utility/default.nix b/pkgs/tools/audio/goxlr-utility/default.nix
new file mode 100644
index 00000000000..58814cb4423
--- /dev/null
+++ b/pkgs/tools/audio/goxlr-utility/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, installShellFiles
+, pkg-config
+, libpulseaudio
+, dbus
+, speechd
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "goxlr-utility";
+  version = "0.12.6";
+
+  src = fetchFromGitHub {
+    owner = "GoXLR-on-Linux";
+    repo = "goxlr-utility";
+    rev = "v${version}";
+    hash = "sha256-vvaKCsqncRhag8IrS0AIfNqNHGU2WIvFaYISEVfUB2Y=";
+  };
+
+  cargoHash = "sha256-Z57H5YeVYqlOaLRLaizVw8xTLstdjyXutnN7OgaUYOE=";
+
+  buildInputs = [
+    libpulseaudio
+    dbus
+    speechd
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+    rustPlatform.bindgenHook
+  ];
+
+  buildFeatures = [ "tts" ];
+
+  postInstall = ''
+    install -Dm644 "50-goxlr.rules" "$out/etc/udev/rules.d/50-goxlr.rules"
+
+    install -Dm644 "daemon/resources/goxlr-utility.png" "$out/share/icons/hicolor/48x48/apps/goxlr-utility.png"
+    install -Dm644 "daemon/resources/goxlr-utility.svg" "$out/share/icons/hicolor/scalable/apps/goxlr-utility.svg"
+    install -Dm644 "daemon/resources/goxlr-utility-large.png" "$out/share/pixmaps/goxlr-utility.png"
+    install -Dm644 "daemon/resources/goxlr-utility.desktop" "$out/share/applications/goxlr-utility.desktop"
+    substituteInPlace $out/share/applications/goxlr-utility.desktop \
+      --replace /usr/bin $out/bin \
+      --replace goxlr-launcher goxlr-daemon
+
+    completions_dir=$(dirname $(find target -name 'goxlr-client.bash' | head -n 1))
+    installShellCompletion --bash $completions_dir/goxlr-client.bash
+    installShellCompletion --fish $completions_dir/goxlr-client.fish
+    installShellCompletion --zsh  $completions_dir/_goxlr-client
+    completions_dir=$(dirname $(find target -name 'goxlr-daemon.bash' | head -n 1))
+    installShellCompletion --bash $completions_dir/goxlr-daemon.bash
+    installShellCompletion --fish $completions_dir/goxlr-daemon.fish
+    installShellCompletion --zsh  $completions_dir/_goxlr-daemon
+  '';
+
+  meta = with lib; {
+    description = "An unofficial GoXLR App replacement for Linux, Windows and MacOS";
+    homepage = "https://github.com/GoXLR-on-Linux/goxlr-utility";
+    license = licenses.mit;
+    maintainers = with maintainers; [ errnoh ];
+  };
+}