954a8d0cdc
I don't know if the 'unfree' in the amr libraries will stop mplayer being built without its support. We would have to write the all-packages MPlayer expression different, in this case. svn path=/nixpkgs/trunk/; revision=17635
93 lines
3.1 KiB
Nix
93 lines
3.1 KiB
Nix
{ alsaSupport ? false, xvSupport ? true, theoraSupport ? false, cacaSupport ? false
|
|
, xineramaSupport ? false, randrSupport ? false, dvdnavSupport ? true
|
|
, stdenv, fetchurl, x11, freetype, freefont_ttf, zlib
|
|
, alsa ? null, libX11, libXv ? null, libtheora ? null, libcaca ? null
|
|
, libXinerama ? null, libXrandr ? null, libdvdnav ? null
|
|
, cdparanoia ? null, cddaSupport ? true
|
|
, amrnb ? null, amrwb ? null, amrSupport ? false
|
|
, mesa, pkgconfig, unzip
|
|
}:
|
|
|
|
assert alsaSupport -> alsa != null;
|
|
assert xvSupport -> libXv != null;
|
|
assert theoraSupport -> libtheora != null;
|
|
assert cacaSupport -> libcaca != null;
|
|
assert xineramaSupport -> libXinerama != null;
|
|
assert randrSupport -> libXrandr != null;
|
|
assert dvdnavSupport -> libdvdnav != null;
|
|
assert cddaSupport -> cdparanoia != null;
|
|
assert amrSupport -> (amrnb != null && amrwb != null);
|
|
|
|
let
|
|
|
|
win32codecs = (import ./win32codecs) {
|
|
inherit stdenv fetchurl;
|
|
};
|
|
|
|
rp9codecs = (import ./rp9codecs) {
|
|
inherit stdenv fetchurl;
|
|
};
|
|
|
|
srcAmr = fetchurl {
|
|
url = http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26073-530.zip;
|
|
sha256 = "1qyla52jjymhcnbidhwc6a1vm4v1wl27mj4ygp3cpn33swcmkgd0";
|
|
};
|
|
|
|
srcAmrFloat = fetchurl {
|
|
url = http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-540.zip;
|
|
sha256 = "1d337h3051w7azipsq7nzf4d25csia2snq3qlhw2sj7282ab042z";
|
|
};
|
|
|
|
srcAmrWBFloat = fetchurl {
|
|
url = http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26204-540.zip;
|
|
sha256 = "1mb7g3fy5faz26jjbibxvlbb5b81vwmdsldl3kl8hzg14vcrv1q9";
|
|
};
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
name = "MPlayer-1.0rc2-r28450";
|
|
|
|
# 1.0_rc2 is outdated according to website - use trunk instead
|
|
src = fetchurl {
|
|
url = mirror://gentoo/distfiles/mplayer-1.0_rc2_p28450.tar.bz2;
|
|
sha256 = "0cbils58mq20nablywgjfpfx2pzjgnhin23sb8k1s5h2rxgvi3vf";
|
|
};
|
|
|
|
buildInputs =
|
|
[x11 libXv freetype zlib mesa pkgconfig]
|
|
++ stdenv.lib.optional alsaSupport alsa
|
|
++ stdenv.lib.optional xvSupport libXv
|
|
++ stdenv.lib.optional theoraSupport libtheora
|
|
++ stdenv.lib.optional cacaSupport libcaca
|
|
++ stdenv.lib.optional xineramaSupport libXinerama
|
|
++ stdenv.lib.optional randrSupport libXrandr
|
|
++ stdenv.lib.optionals dvdnavSupport [libdvdnav libdvdnav.libdvdread]
|
|
++ stdenv.lib.optional cddaSupport cdparanoia
|
|
++ stdenv.lib.optionals amrSupport [amrnb amrwb];
|
|
|
|
configureFlags = ''
|
|
${if cacaSupport then "--enable-caca" else "--disable-caca"}
|
|
${if dvdnavSupport then "--enable-dvdnav --enable-dvdread --disable-dvdread-internal" else ""}
|
|
--win32codecsdir=${win32codecs}
|
|
--realcodecsdir=${rp9codecs}
|
|
--enable-runtime-cpudetection
|
|
--enable-x11 --with-extraincdir=${libX11}/include
|
|
--disable-xanim
|
|
--disable-ivtv
|
|
'';
|
|
|
|
NIX_LDFLAGS = "-lX11 -lXext";
|
|
|
|
# Provide a reasonable standard font. Maybe we should symlink here.
|
|
postInstall = ''
|
|
ensureDir $out/share/mplayer
|
|
cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf
|
|
'';
|
|
|
|
meta = {
|
|
description = "A movie player that supports many video formats";
|
|
homepage = "http://mplayerhq.hu";
|
|
license = "GPL";
|
|
};
|
|
}
|