about summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
authorDaniƫl de Kok2020-07-21 11:22:21 +0200
committerGitHub2020-07-21 11:22:21 +0200
commit55079328c219fb53f3120a34fdba3a80d3be601b (patch)
tree70036cd2203a93691474ae9905cffa1d6aa1df84 /pkgs/applications/audio
parent622150e8734ba1c4528c40fd965c9e9a97f9d57a (diff)
parenta28d5337b24d4ac76474d57b00809d0b302e4a92 (diff)
Merge pull request #93480 from PanAeon/master
noisetorch: init at 0.5.1-beta
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/noisetorch/config.patch13
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix42
-rw-r--r--pkgs/applications/audio/noisetorch/embedlibrnnoise.patch13
-rw-r--r--pkgs/applications/audio/noisetorch/version.patch37
4 files changed, 105 insertions, 0 deletions
diff --git a/pkgs/applications/audio/noisetorch/config.patch b/pkgs/applications/audio/noisetorch/config.patch
new file mode 100644
index 000000000000..f6e258862db6
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/config.patch
@@ -0,0 +1,13 @@
+diff --git a/config.go b/config.go
+index de16249..fb91ec0 100644
+--- a/config.go
++++ b/config.go
+@@ -20,7 +20,7 @@ const configFile = "config.toml"
+ 
+ func initializeConfigIfNot() {
+ 	log.Println("Checking if config needs to be initialized")
+-	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: true}
++	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: false}
+ 	configdir := configDir()
+ 	ok, err := exists(configdir)
+ 	if err != nil {
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
new file mode 100644
index 000000000000..310c0f99b105
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, buildGoModule, fetchFromGitHub, rnnoise-plugin }:
+
+buildGoModule rec {
+  pname = "NoiseTorch";
+  version = "0.5.2-beta";
+
+  src = fetchFromGitHub {
+    owner = "lawl";
+    repo = "NoiseTorch";
+    rev = version;
+    sha256 = "1q0gfpqczlpybxcjjkiybcy6yc0gnrq8x27r0mpg4pvgwy7mps47";
+  };
+
+  patches = [ ./version.patch ./config.patch ./embedlibrnnoise.patch ];
+
+  vendorSha256 = null;
+
+  subPackages = [ "." ];
+
+  buildInputs = [ rnnoise-plugin ];
+
+  preBuild = ''
+    export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
+    go generate;
+    rm  ./scripts/*
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/icons/hicolor/256x256/apps/
+    cp assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/
+    mkdir -p $out/share/applications/
+    cp assets/noisetorch.desktop $out/share/applications/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Virtual microphone device with noise supression for PulseAudio";
+    homepage = "https://github.com/lawl/NoiseTorch";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ panaeon ];
+  };
+}
diff --git a/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch b/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
new file mode 100644
index 000000000000..b1782efb8b35
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/embedlibrnnoise.go b/scripts/embedlibrnnoise.go
+index 43daf80..0b3004b 100644
+--- a/scripts/embedlibrnnoise.go
++++ b/scripts/embedlibrnnoise.go
+@@ -8,7 +8,7 @@ import (
+ )
+ 
+ func main() {
+-	b, err := ioutil.ReadFile("librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so")
++	b, err := ioutil.ReadFile(os.Getenv("RNNOISE_LADSPA_PLUGIN"))
+ 	if err != nil {
+ 		fmt.Printf("Couldn't read librnnoise_ladspa.so: %v\n", err)
+ 		os.Exit(1)
diff --git a/pkgs/applications/audio/noisetorch/version.patch b/pkgs/applications/audio/noisetorch/version.patch
new file mode 100644
index 000000000000..20c51863744a
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/version.patch
@@ -0,0 +1,37 @@
+diff --git a/scripts/embedversion.go b/scripts/embedversion.go
+index ce0a756..60e7a5e 100644
+--- a/scripts/embedversion.go
++++ b/scripts/embedversion.go
+@@ -1,24 +1,18 @@
+ package main
+ 
+ import (
+-	"os"
+-	"os/exec"
+-	"strings"
++        "os"
++        "strings"
+ )
+ 
+ func main() {
+-	cmd := exec.Command("git", "describe", "--tags")
+-	ret, err := cmd.Output()
+ 
+-	if err != nil {
+-		panic("Couldn't read git tags to embed version number")
+-	}
+-	version := strings.TrimSpace(string(ret))
++        version := strings.TrimSpace(string(os.Getenv("version")))
+ 
+-	out, _ := os.Create("version.go")
+-	defer out.Close()
++        out, _ := os.Create("version.go")
++        defer out.Close()
+ 
+-	out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
+-	out.Write([]byte(version))
+-	out.Write([]byte("\"\n"))
++        out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
++        out.Write([]byte(version))
++        out.Write([]byte("\"\n"))
+ }