parent
a231baa237
commit
d3a22b4bb4
@ -0,0 +1,63 @@ |
||||
{ python3Packages |
||||
, lib |
||||
, fetchFromGitHub |
||||
, makeDesktopItem |
||||
, wrapGAppsHook |
||||
, gtk3 |
||||
, gobject-introspection |
||||
, sox |
||||
, pulseaudio |
||||
}: |
||||
let |
||||
desktopItem = makeDesktopItem { |
||||
name = "lyrebird"; |
||||
exec = "lyrebird"; |
||||
icon = "${placeholder "out"}/share/lyrebird/icon.png"; |
||||
desktopName = "Lyrebird"; |
||||
genericName = "Voice Changer"; |
||||
categories = "AudioVideo;Audio;"; |
||||
}; |
||||
in |
||||
python3Packages.buildPythonApplication rec { |
||||
pname = "lyrebird"; |
||||
version = "1.1.0"; |
||||
|
||||
format = "other"; |
||||
doCheck = false; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "chxrlt"; |
||||
repo = "lyrebird"; |
||||
rev = "v${version}"; |
||||
sha256 = "0wmnww2wi8bb9m8jgc18n04gjia8pf9klmvij0w98xz11l6kxb13"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = with python3Packages; [ toml pygobject3 ]; |
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ]; |
||||
|
||||
buildInputs = [ gtk3 gobject-introspection sox ]; |
||||
|
||||
dontWrapGApps = true; |
||||
makeWrapperArgs = [ |
||||
"--prefix 'PATH' ':' '${lib.makeBinPath [ sox pulseaudio ]}'" |
||||
"--prefix 'PYTHONPATH' ':' '${placeholder "out"}/share/lyrebird'" |
||||
"--run 'cd ${placeholder "out"}/share/lyrebird'" |
||||
''"''${gappsWrapperArgs[@]}"'' |
||||
]; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/{bin,share/{applications,lyrebird}} |
||||
cp -at $out/share/lyrebird/ app icon.png |
||||
cp -at $out/share/applications/ ${desktopItem} |
||||
install -Dm755 app.py $out/bin/lyrebird |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "Simple and powerful voice changer for Linux, written in GTK 3"; |
||||
homepage = "https://github.com/chxrlt/lyrebird"; |
||||
license = licenses.mit; |
||||
maintainers = with maintainers; [ OPNA2608 ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
Loading…
Reference in new issue