diff --git a/pkgs/tools/audio/linuxwave/default.nix b/pkgs/tools/audio/linuxwave/default.nix new file mode 100644 index 000000000000..6c3d6ce2f1b7 --- /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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0850c4ad65f4..954304ebc513 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9111,6 +9111,8 @@ with pkgs; lfs = callPackage ../tools/filesystems/lfs { }; + linuxwave = callPackage ../tools/audio/linuxwave { }; + littlefs-fuse = callPackage ../tools/filesystems/littlefs-fuse { }; lksctp-tools = callPackage ../os-specific/linux/lksctp-tools { };