about summary refs log tree commit diff
path: root/pkgs/tools/audio/linuxwave
diff options
context:
space:
mode:
authorfigsoda <figsoda@pm.me>2023-04-22 18:47:14 -0400
committerfigsoda <figsoda@pm.me>2023-04-22 18:47:14 -0400
commit7265c2b8a009c335f367ff9d4bde4011fa8633c5 (patch)
tree30c6115c303c49fbe951fbfd9bd23a02750b4aa3 /pkgs/tools/audio/linuxwave
parent2282f5aa1d9c95e410a5cc437d1ccb0198abcae3 (diff)
linuxwave: init at 0.1.3
Diffstat (limited to 'pkgs/tools/audio/linuxwave')
-rw-r--r--pkgs/tools/audio/linuxwave/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/tools/audio/linuxwave/default.nix b/pkgs/tools/audio/linuxwave/default.nix
new file mode 100644
index 0000000000000..6c3d6ce2f1b76
--- /dev/null
+++ b/pkgs/tools/audio/linuxwave/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, zig
+}:
+
+stdenv.mkDerivation rec {
+  pname = "linuxwave";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "orhun";
+    repo = "linuxwave";
+    rev = "v${version}";
+    hash = "sha256-e+QTteyHAyYmU4vb86Ju92DxNFFX01g/rsViNI5ba1s=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    installShellFiles
+    zig
+  ];
+
+  postConfigure = ''
+    export XDG_CACHE_HOME=$(mktemp -d)
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    zig build -Drelease-safe -Dcpu=baseline
+
+    runHook postBuild
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    zig build test
+
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    zig build -Drelease-safe -Dcpu=baseline --prefix $out install
+
+    installManPage man/linuxwave.1
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Generate music from the entropy of Linux";
+    homepage = "https://github.com/orhun/linuxwave";
+    changelog = "https://github.com/orhun/linuxwave/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    platforms = platforms.all;
+  };
+}