Merge pull request #543 from bjornfor/qmmp

Add Qmmp audio player (plus dependencies)
This commit is contained in:
Evgeny Egorochkin 2013-05-19 09:51:56 -07:00
commit a22f94b4f2
4 changed files with 121 additions and 0 deletions

View File

@ -0,0 +1,57 @@
{ stdenv, fetchurl, cmake, qt4, pkgconfig, x11
# transports
, curl, libmms
# input plugins
, libmad, taglib, libvorbis, libogg, flac, libmpcdec, libmodplug, libsndfile
, libcdio, cdparanoia, libcddb, faad2, ffmpeg, wildmidi
# output plugins
, alsaLib, pulseaudio
# effect plugins
, libsamplerate
}:
# Additional plugins that can be added:
# wavpack (http://www.wavpack.com/)
# gme (Game music support)
# Ogg Opus support
# BS2B effect plugin (http://bs2b.sourceforge.net/)
# JACK audio support
# ProjectM visualization plugin
# To make MIDI work we must tell Qmmp what instrument configuration to use (and
# this can unfortunately not be set at configure time):
# Go to settings (ctrl-p), navigate to the WildMidi plugin and click on
# Preferences. In the instrument configuration field, type the path to
# /nix/store/*wildmidi*/etc/wildmidi.cfg (or your own custom cfg file).
# Qmmp installs working .desktop file(s) all by itself, so we don't need to
# handle that.
stdenv.mkDerivation rec {
name = "qmmp-0.7.0";
src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
sha256 = "0g8qcs82y3dy06lsgam2w6gh2ccx0frlw9fp4xg947vi3a16g6ig";
};
buildInputs =
[ # basic requirements
cmake qt4 pkgconfig x11
# transports
curl libmms
# input plugins
libmad taglib libvorbis libogg flac libmpcdec libmodplug libsndfile
libcdio cdparanoia libcddb faad2 ffmpeg wildmidi
# output plugins
alsaLib pulseaudio
# effect plugins
libsamplerate
];
meta = {
description = "Qt-based audio player that looks like Winamp";
homepage = http://qmmp.ylsoftware.com/;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "freepats-20060219";
src = fetchurl {
url = "http://freepats.zenvoid.org/${name}.tar.bz2";
sha256 = "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82";
};
installPhase = ''mkdir "$out"; cp -r . "$out"'';
meta = {
description = "Instrument patches, for MIDI synthesizers";
longDescription = ''
Freepats is a project to create a free and open set of instrument
patches, in any format, that can be used with softsynths.
'';
homepage = http://freepats.zenvoid.org/;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchurl, alsaLib, freepats }:
stdenv.mkDerivation rec {
name = "wildmidi-0.2.3.5";
src = fetchurl {
url = "mirror://sourceforge/project/wildmidi/wildmidi/${name}.tar.gz";
sha256 = "0m75753mn0rbwja180c2qk53s149wp4k35dijr2i6pa7sc12fr00";
};
# NOTE: $out in configureFlags, like this:
# configureFlags = "--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg";
# is not expanded, so use this workaround:
preConfigure = ''
configureFlags="--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg"
'';
buildInputs = [ alsaLib ];
postInstall = ''
mkdir "$out"/etc
echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg
echo "source ${freepats}/freepats.cfg" >> "$out"/etc/wildmidi.cfg
'';
meta = {
description = "Software MIDI player and library";
longDescription = ''
WildMIDI is a simple software midi player which has a core softsynth
library that can be use with other applications.
'';
homepage = http://wildmidi.sourceforge.net/;
# The library is LGPLv3, the wildmidi executable is GPLv3
license = stdenv.lib.licenses.lgpl3;
};
}

View File

@ -5204,6 +5204,8 @@ let
inherit libpng;
};
wildmidi = callPackage ../development/libraries/wildmidi { };
wvstreams = callPackage ../development/libraries/wvstreams { };
wxGTK = wxGTK28;
@ -6573,6 +6575,8 @@ let
freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
freepats = callPackage ../data/misc/freepats { };
gentium = callPackage ../data/fonts/gentium {};
gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { };
@ -7811,6 +7815,8 @@ let
qemuImage = callPackage ../applications/virtualization/qemu/linux-img { };
qmmp = callPackage ../applications/audio/qmmp { };
qsampler = callPackage ../applications/audio/qsampler { };
qsynth = callPackage ../applications/audio/qsynth { };