diff --git a/pkgs/development/python-modules/pysmf/default.nix b/pkgs/development/python-modules/pysmf/default.nix new file mode 100644 index 000000000000..ef5e560b08c7 --- /dev/null +++ b/pkgs/development/python-modules/pysmf/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildPythonPackage, fetchPypi, pkg-config, libsmf, glib, pytest }: + +buildPythonPackage rec { + pname = "pysmf"; + version = "0.1.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "10i7vvvdx6c3gl4afsgnpdanwgzzag087zs0fxvfipnqknazj806"; + }; + + nativeBuildInputs = [ pkg-config pytest ]; + buildInputs = [ libsmf glib ]; + + meta = with stdenv.lib; { + homepage = "http://das.nasophon.de/pysmf/"; + description = "Python extension module for reading and writing Standard MIDI Files, based on libsmf."; + license = licenses.bsd2; + maintainers = [ maintainers.gnidorah ]; + }; +} diff --git a/pkgs/tools/audio/mididings/default.nix b/pkgs/tools/audio/mididings/default.nix new file mode 100644 index 000000000000..fb3d0e51341c --- /dev/null +++ b/pkgs/tools/audio/mididings/default.nix @@ -0,0 +1,38 @@ +{ stdenv, pythonPackages, fetchFromGitHub, pkg-config, glib, alsaLib, libjack2 }: + +pythonPackages.buildPythonApplication rec { + version = "20151117"; + pname = "mididings"; + + src = fetchFromGitHub { + owner = "dsacre"; + repo = "mididings"; + rev = "bbec99a8c878a2a7029e78e84fc736e4a68ed5a0"; + sha256 = "1pdf5mib87zy7yjh9vpasja419h28wvgq6x5hw2hkm7bg9ds4p2m"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ glib alsaLib libjack2 pythonPackages.boost ]; + propagatedBuildInputs = with pythonPackages; [ decorator ] + # for livedings + ++ [ tkinter pyliblo ] + # for mididings.extra + ++ [ dbus-python pyinotify ] + # to read/write standard MIDI files + ++ [ pysmf ] + # so mididings knows where to look for config files + ++ [ pyxdg ]; + + preBuild = with stdenv.lib.versions; '' + substituteInPlace setup.py \ + --replace boost_python "boost_python${major pythonPackages.python.version}${minor pythonPackages.python.version}" + ''; + + meta = with stdenv.lib; { + description = "A MIDI router and processor based on Python, supporting ALSA and JACK MIDI"; + homepage = "http://das.nasophon.de/mididings"; + license = licenses.gpl2; + maintainers = [ maintainers.gnidorah ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0181fc9a8ab8..45b72d011d20 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1719,6 +1719,8 @@ in metabase = callPackage ../servers/metabase { }; + mididings = callPackage ../tools/audio/mididings { }; + miniserve = callPackage ../tools/misc/miniserve { }; mkspiffs = callPackage ../tools/filesystems/mkspiffs { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ace40b3b2095..5dac3b894f56 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -835,6 +835,8 @@ in { slurm = pkgs.slurm; }; + pysmf = callPackage ../development/python-modules/pysmf { }; + pyspinel = callPackage ../development/python-modules/pyspinel {}; pyssim = callPackage ../development/python-modules/pyssim { };