mediawiki: 1.42.4 -> 1.43.0 (#369641)
[NixPkgs.git] / pkgs / by-name / ly / lyrebird / package.nix
blobfa70d065c157fdf9a0e7af3e2537ae736e884e35
2   python3Packages,
3   lib,
4   fetchFromGitHub,
5   makeDesktopItem,
6   wrapGAppsHook3,
7   gtk3,
8   gobject-introspection,
9   sox,
10   pulseaudio,
12 let
13   desktopItem = makeDesktopItem {
14     name = "lyrebird";
15     exec = "lyrebird";
16     icon = "${placeholder "out"}/share/lyrebird/icon.png";
17     desktopName = "Lyrebird";
18     genericName = "Voice Changer";
19     categories = [
20       "AudioVideo"
21       "Audio"
22     ];
23   };
25 python3Packages.buildPythonApplication rec {
26   pname = "lyrebird";
27   version = "1.2.0";
29   format = "other";
30   doCheck = false;
32   src = fetchFromGitHub {
33     owner = "chxrlt";
34     repo = "lyrebird";
35     tag = "v${version}";
36     sha256 = "sha256-VIYcOxvSpzRvJMzEv2i5b7t0WMF7aQxB4Y1jfvuZN/Y=";
37   };
39   propagatedBuildInputs = with python3Packages; [
40     toml
41     pygobject3
42   ];
44   nativeBuildInputs = [
45     wrapGAppsHook3
46     gobject-introspection
47   ];
49   buildInputs = [
50     gtk3
51     sox
52   ];
54   dontWrapGApps = true;
55   makeWrapperArgs = [
56     "--prefix 'PATH' ':' '${
57       lib.makeBinPath [
58         sox
59         pulseaudio
60       ]
61     }'"
62     "--prefix 'PYTHONPATH' ':' '${placeholder "out"}/share/lyrebird'"
63     "--chdir '${placeholder "out"}/share/lyrebird'"
64     ''"''${gappsWrapperArgs[@]}"''
65   ];
67   installPhase = ''
68     mkdir -p $out/{bin,share/{applications,lyrebird}}
69     cp -at $out/share/lyrebird/ app icon.png
70     cp -at $out/share/applications/ ${desktopItem}
71     install -Dm755 app.py $out/bin/lyrebird
72   '';
74   meta = with lib; {
75     description = "Simple and powerful voice changer for Linux, written in GTK 3";
76     mainProgram = "lyrebird";
77     homepage = "https://github.com/chxrlt/lyrebird";
78     license = licenses.mit;
79     maintainers = with maintainers; [ OPNA2608 ];
80     platforms = platforms.linux;
81   };