diff --git a/pkgs/applications/audio/friture/default.nix b/pkgs/applications/audio/friture/default.nix new file mode 100644 index 000000000000..483f873fbd56 --- /dev/null +++ b/pkgs/applications/audio/friture/default.nix @@ -0,0 +1,44 @@ +{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }: + +let + py = python3Packages; +in py.buildPythonApplication rec { + pname = "friture"; + version = "0.36"; + + src = fetchFromGitHub { + owner = "tlecomte"; + repo = "friture"; + rev = "v${version}"; + sha256 = "1pz8v0qbzqq3ig9w33cp027s6c8rj316x5sy8pqs5nsiny9ddnk6"; + }; + + # module imports scipy.misc.factorial, but it has been removed since scipy + # 1.3.0; use scipy.special.factorial instead + patches = [ ./factorial.patch ]; + + nativeBuildInputs = (with py; [ numpy cython scipy ]) ++ + [ wrapQtAppsHook ]; + + propagatedBuildInputs = with py; [ + sounddevice + pyopengl + docutils + numpy + pyqt5 + appdirs + pyrr + ]; + + postFixup = '' + wrapQtApp $out/bin/friture + wrapQtApp $out/bin/.friture-wrapped + ''; + + meta = with lib; { + description = "A real-time audio analyzer"; + homepage = http://friture.org/; + license = licenses.gpl3; + maintainers = [ maintainers.laikq ]; + }; +} diff --git a/pkgs/applications/audio/friture/factorial.patch b/pkgs/applications/audio/friture/factorial.patch new file mode 100644 index 000000000000..de053802932d --- /dev/null +++ b/pkgs/applications/audio/friture/factorial.patch @@ -0,0 +1,13 @@ +diff --git a/friture/filter_design.py b/friture/filter_design.py +index 9876c43..1cc749a 100644 +--- a/friture/filter_design.py ++++ b/friture/filter_design.py +@@ -2,7 +2,7 @@ + from numpy import pi, exp, arange, cos, sin, sqrt, zeros, ones, log, arange, set_printoptions + # the three following lines are a workaround for a bug with scipy and py2exe + # together. See http://www.pyinstaller.org/ticket/83 for reference. +-from scipy.misc import factorial ++from scipy.special import factorial + import scipy + scipy.factorial = factorial + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5f9cb3af16a4..2ef74dc142e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18518,6 +18518,8 @@ in freerdpUnstable = freerdp; + friture = libsForQt5.callPackage ../applications/audio/friture { }; + fte = callPackage ../applications/editors/fte { }; game-music-emu = callPackage ../applications/audio/game-music-emu { };