1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 installShellFiles,
6 zig_0_14,
7 callPackage,
8}:
9
10let
11 zig = zig_0_14;
12in
13stdenv.mkDerivation (finalAttrs: {
14 pname = "linuxwave";
15 version = "0.3.0";
16
17 src = fetchFromGitHub {
18 owner = "orhun";
19 repo = "linuxwave";
20 rev = "v${finalAttrs.version}";
21 fetchSubmodules = true;
22 hash = "sha256-OuD5U/T3GuCQrzdhx01NXPSXD7pUAvLnNsznttJogz8=";
23 };
24
25 postPatch = ''
26 ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
27 '';
28
29 nativeBuildInputs = [
30 installShellFiles
31 zig.hook
32 ];
33
34 postInstall = ''
35 installManPage man/linuxwave.1
36 '';
37
38 meta = {
39 homepage = "https://github.com/orhun/linuxwave";
40 description = "Generate music from the entropy of Linux";
41 changelog = "https://github.com/orhun/linuxwave/blob/${finalAttrs.src.rev}/CHANGELOG.md";
42 license = lib.licenses.mit;
43 maintainers = with lib.maintainers; [ figsoda ];
44 inherit (zig.meta) platforms;
45 mainProgram = "linuxwave";
46 };
47})