ff1a94e523
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.
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
|
|
|
|
python3Packages.buildPythonApplication rec {
|
|
pname = "friture";
|
|
version = "0.49";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "tlecomte";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "sha256-xKgyBV/Qc+9PgXyxcT0xG1GXLC6KnjavJ/0SUE+9VSY=";
|
|
};
|
|
|
|
nativeBuildInputs = (with python3Packages; [ numpy cython scipy ]) ++
|
|
[ wrapQtAppsHook ];
|
|
|
|
propagatedBuildInputs = with python3Packages; [
|
|
sounddevice
|
|
pyopengl
|
|
pyopengl-accelerate
|
|
docutils
|
|
numpy
|
|
pyqt5
|
|
appdirs
|
|
pyrr
|
|
rtmixer
|
|
];
|
|
|
|
postPatch = ''
|
|
# Remove version constraints from Python dependencies in setup.py
|
|
sed -i -E "s/\"([A-Za-z0-9]+)(=|>|<)=[0-9\.]+\"/\"\1\"/g" setup.py
|
|
'';
|
|
|
|
preFixup = ''
|
|
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
|
'';
|
|
|
|
postInstall = ''
|
|
substituteInPlace $out/share/applications/friture.desktop --replace usr/bin/friture friture
|
|
|
|
for size in 16 32 128 256 512
|
|
do
|
|
mkdir -p $out/share/icons/hicolor/$size\x$size
|
|
cp $src/resources/images/friture.iconset/icon_$size\x$size.png $out/share/icons/hicolor/$size\x$size/friture.png
|
|
done
|
|
mkdir -p $out/share/icons/hicolor/scalable/apps/
|
|
cp $src/resources/images-src/window-icon.svg $out/share/icons/hicolor/scalable/apps/friture.svg
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A real-time audio analyzer";
|
|
mainProgram = "friture";
|
|
homepage = "https://friture.org/";
|
|
license = licenses.gpl3;
|
|
platforms = platforms.linux; # fails on Darwin
|
|
maintainers = with maintainers; [ laikq alyaeanyx ];
|
|
};
|
|
}
|