about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErno Hopearuoho <erno.hopearuoho@gmail.com>2023-08-19 16:07:51 +0300
committerDoron Behar <doron.behar@gmail.com>2023-08-19 17:16:41 +0300
commita9365b9c098abf299942893f2d756b1c812ba890 (patch)
treeda7f191d26ec531bbed8413d52c4e36ebb666bd4
parentc75a68d030a2954661e7abe9efa0df772a4613d5 (diff)
goxlr-utility: init at 0.12.6
-rw-r--r--pkgs/tools/audio/goxlr-utility/default.nix65
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 67 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 0000000000000..58814cb4423ea
--- /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 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3fa2eaa7fb32b..5226d3ded5fd5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -16171,6 +16171,8 @@ with pkgs;
 
   gox = callPackage ../development/tools/gox { };
 
+  goxlr-utility = callPackage ../tools/audio/goxlr-utility {};
+
   gprolog = callPackage ../development/compilers/gprolog { };
 
   gwe = callPackage ../tools/misc/gwe {