From 879baa7c58450bdfe690a8ec84a76c212d0bb465 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Fri, 20 Aug 2010 20:09:22 +0000 Subject: MPlayer: various updates 1. Add pulseaudio and xsreensaver support 2. Use default arguments instead of custom args in all-packages.nix. 3. Remove ? null. callPackage passes all these args anyway. 4. Add binary codecs for non-i686 platforms. Have no video to test. 5. Use fetchsvn instead of gentoo-made snapshot. svn path=/nixpkgs/trunk/; revision=23285 --- pkgs/applications/video/MPlayer/default.nix | 74 ++++++++++++++++------------- pkgs/top-level/all-packages.nix | 13 +---- 2 files changed, 41 insertions(+), 46 deletions(-) diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix index e2c25c3360ce..58481e8af957 100644 --- a/pkgs/applications/video/MPlayer/default.nix +++ b/pkgs/applications/video/MPlayer/default.nix @@ -1,37 +1,40 @@ -{ alsaSupport ? false, xvSupport ? true, theoraSupport ? false, cacaSupport ? false -, xineramaSupport ? false, randrSupport ? false, dvdnavSupport ? true -, stdenv, fetchurl, x11, freetype, fontconfig, 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 -, jackaudioSupport ? false, jackaudio ? null -, x264Support ? false, x264 ? null -, xvidSupport ? false, xvidcore ? null -, lameSupport ? true, lame ? null +{ alsaSupport ? true, xvSupport ? true, theoraSupport ? true, cacaSupport ? true +, xineramaSupport ? true, randrSupport ? true, dvdnavSupport ? true +, stdenv, fetchurl, fetchsvn, x11, freetype, fontconfig, zlib +, alsaLib, libX11, libXv, libtheora, libcaca +, libXinerama, libXrandr, libdvdnav +, cdparanoia, cddaSupport ? true +, pulseaudio, pulseSupport ? true +, amrnb, amrwb, amrSupport ? false +, jackaudioSupport ? false, jackaudio +, x264Support ? true, x264 +, xvidSupport ? true, xvidcore +, lameSupport ? true, lame +, screenSaverSupport ? true, libXScrnSaver , mesa, pkgconfig, unzip, yasm }: -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 jackaudioSupport -> jackaudio != null; -assert amrSupport -> (amrnb != null && amrwb != null); - let - codecs = stdenv.mkDerivation { + codecs_src = + let + dir = http://www.mplayerhq.hu/MPlayer/releases/codecs/; + in + if stdenv.system == "i686-linux" then fetchurl { + url = "${dir}/essential-20071007.tar.bz2"; + sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic"; + } else if stdenv.system == "x86_64-linux" then fetchurl { + url = "${dir}/essential-amd64-20071007.tar.bz2"; + sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x"; + } else if stdenv.system == "powerpc-linux" then fetchurl { + url = "${dir}/essential-ppc-20071007.tar.bz2"; + sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z"; + } else null; + + codecs = if codecs_src != null then stdenv.mkDerivation { name = "MPlayer-codecs-essential-20071007"; - src = fetchurl { - url = http://www2.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2; - sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic"; - }; + src = codecs_src; installPhase = '' mkdir $out @@ -41,21 +44,22 @@ let meta = { license = "unfree"; }; - }; + } else null; in stdenv.mkDerivation { name = "MPlayer-1.0-pre-rc4-20100506"; - src = fetchurl { - url = mirror://gentoo/distfiles/mplayer-1.0_rc4_p20100506.tar.bz2; - sha256 = "0rhs0mv216iir8cz13xdq0rs88lc48ciiyn0wqzxjrnjb17yajy6"; + src = fetchsvn { + url = svn://svn.mplayerhq.hu/mplayer/trunk; + rev = 31984; + sha256 = "01niw0c7fwbp4v25k08c2rac8z55jp2wh5ikhsjn65ybg8f1v150"; }; buildInputs = [ x11 libXv freetype zlib mesa pkgconfig yasm ] - ++ stdenv.lib.optional alsaSupport alsa + ++ stdenv.lib.optional alsaSupport alsaLib ++ stdenv.lib.optional xvSupport libXv ++ stdenv.lib.optional theoraSupport libtheora ++ stdenv.lib.optional cacaSupport libcaca @@ -67,13 +71,15 @@ stdenv.mkDerivation { ++ stdenv.lib.optionals amrSupport [ amrnb amrwb ] ++ stdenv.lib.optional x264Support x264 ++ stdenv.lib.optional xvidSupport xvidcore + ++ stdenv.lib.optional pulseSupport pulseaudio + ++ stdenv.lib.optional screenSaverSupport libXScrnSaver ++ stdenv.lib.optional lameSupport lame; configureFlags = '' ${if cacaSupport then "--enable-caca" else "--disable-caca"} ${if dvdnavSupport then "--enable-dvdnav --enable-dvdread --disable-dvdread-internal" else ""} ${if x264Support then "--enable-x264 --extra-libs=-lx264" else ""} - --codecsdir=${codecs} + ${if codecs != null then "--codecsdir=${codecs}" else ""} --enable-runtime-cpudetection --enable-x11 --disable-xanim @@ -86,6 +92,6 @@ stdenv.mkDerivation { description = "A movie player that supports many video formats"; homepage = "http://mplayerhq.hu"; license = "GPL"; - maintainers = [ stdenv.lib.maintainers.eelco ]; + maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.urkud ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 298c380f5f06..4f4e77601801 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5833,18 +5833,7 @@ let mpg321 = callPackage ../applications/audio/mpg321 { }; - MPlayer = callPackage ../applications/video/MPlayer { - alsaSupport = true; - alsa = alsaLib; - theoraSupport = true; - cacaSupport = true; - xineramaSupport = true; - randrSupport = true; - cddaSupport = true; - amrSupport = getConfig [ "MPlayer" "amr" ] false; - x264Support = true; - xvidSupport = true; - }; + MPlayer = callPackage ../applications/video/MPlayer { }; MPlayerPlugin = browser: import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in { -- cgit 1.4.1