nixpkgs/pkgs/servers/pulseaudio/qpaeq.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

55 lines
1.2 KiB
Nix

{ mkDerivation
, makeDesktopItem
, python3
, fetchurl
, lib
, pulseaudio
}:
let
desktopItem = makeDesktopItem {
name = "qpaeq";
exec = "@out@/bin/qpaeq";
icon = "audio-volume-high";
desktopName = "qpaeq";
genericName = "Audio equalizer";
categories = [ "AudioVideo" "Audio" "Mixer" ];
startupNotify = false;
};
in
mkDerivation rec {
pname = "qpaeq";
inherit (pulseaudio) version src;
buildInputs = [
((python3.withPackages (ps: with ps; [
pyqt5
dbus-python
])))
];
dontBuild = true;
dontConfigure = true;
installPhase = ''
runHook preInstall
install -D ./src/utils/qpaeq $out/bin/qpaeq
install -D ${desktopItem}/share/applications/qpaeq.desktop $out/share/applications/qpaeq.desktop
runHook postInstall
'';
preFixup = ''
sed "s|,sip|,PyQt5.sip|g" -i $out/bin/qpaeq
wrapQtApp $out/bin/qpaeq
sed "s|@out@|$out|g" -i $out/share/applications/qpaeq.desktop
'';
meta = {
description = "An equalizer interface for pulseaudio's equalizer sinks";
mainProgram = "qpaeq";
homepage = "http://www.pulseaudio.org/";
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [ lovek323 ];
platforms = lib.platforms.unix;
};
}