nixpkgs/pkgs/applications/audio/moc/default.nix

103 lines
2.9 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchurl, pkg-config
, ncurses, db , popt, libtool
# Sound sub-systems
, alsaSupport ? true, alsa-lib
, pulseSupport ? true, libpulseaudio, autoreconfHook
, jackSupport ? true, libjack2
, ossSupport ? true
# Audio formats
, aacSupport ? true, faad2, libid3tag
, flacSupport ? true, flac
, midiSupport ? true, timidity
, modplugSupport ? true, libmodplug
, mp3Support ? true, libmad
, musepackSupport ? true, libmpc, libmpcdec, taglib
, vorbisSupport ? true, libvorbis
, speexSupport ? true, speex
2021-05-18 11:10:07 +01:00
, ffmpegSupport ? true, ffmpeg
, sndfileSupport ? true, libsndfile
, wavpackSupport ? true, wavpack
# Misc
, curlSupport ? true, curl
, samplerateSupport ? true, libsamplerate
, withDebug ? false
}:
2013-12-14 21:16:18 +00:00
let
2021-01-15 13:21:58 +00:00
opt = lib.optional;
mkFlag = c: f: if c then "--with-${f}" else "--without-${f}";
in stdenv.mkDerivation rec {
pname = "moc";
2016-12-11 18:50:37 +00:00
version = "2.5.2";
2013-12-14 21:16:18 +00:00
src = fetchurl {
url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2";
2016-12-11 18:50:37 +00:00
sha256 = "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk";
2013-12-14 21:16:18 +00:00
};
patches = []
2021-05-18 11:10:07 +01:00
++ opt ffmpegSupport ./moc-ffmpeg4.patch
++ opt pulseSupport ./pulseaudio.patch;
nativeBuildInputs = [ pkg-config ]
++ opt pulseSupport autoreconfHook;
buildInputs = [ ncurses db popt libtool ]
# Sound sub-systems
++ opt alsaSupport alsa-lib
++ opt pulseSupport libpulseaudio
++ opt jackSupport libjack2
# Audio formats
++ opt (aacSupport || mp3Support) libid3tag
++ opt aacSupport faad2
++ opt flacSupport flac
++ opt midiSupport timidity
++ opt modplugSupport libmodplug
++ opt mp3Support libmad
2021-01-15 13:21:58 +00:00
++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ]
++ opt vorbisSupport libvorbis
++ opt speexSupport speex
2021-05-18 11:10:07 +01:00
++ opt ffmpegSupport ffmpeg
++ opt sndfileSupport libsndfile
++ opt wavpackSupport wavpack
# Misc
++ opt curlSupport curl
++ opt samplerateSupport libsamplerate;
2016-11-17 20:35:05 +00:00
configureFlags = [
# Sound sub-systems
(mkFlag alsaSupport "alsa")
(mkFlag pulseSupport "pulse")
(mkFlag jackSupport "jack")
(mkFlag ossSupport "oss")
# Audio formats
(mkFlag aacSupport "aac")
(mkFlag flacSupport "flac")
(mkFlag midiSupport "timidity")
(mkFlag modplugSupport "modplug")
(mkFlag mp3Support "mp3")
(mkFlag musepackSupport "musepack")
(mkFlag vorbisSupport "vorbis")
(mkFlag speexSupport "speex")
(mkFlag ffmpegSupport "ffmpeg")
(mkFlag sndfileSupport "sndfile")
(mkFlag wavpackSupport "wavpack")
# Misc
(mkFlag curlSupport "curl")
(mkFlag samplerateSupport "samplerate")
("--enable-debug=" + (if withDebug then "yes" else "no"))
"--disable-cache"
"--without-rcc"
];
2013-12-14 21:16:18 +00:00
meta = with lib; {
description = "An ncurses console audio player designed to be powerful and easy to use";
homepage = "http://moc.daper.net/";
license = licenses.gpl2;
maintainers = with maintainers; [ aethelz pSub jagajaga ];
platforms = platforms.linux;
2013-12-14 21:16:18 +00:00
};
}