about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-08-20 20:09:22 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-08-20 20:09:22 +0000
commit879baa7c58450bdfe690a8ec84a76c212d0bb465 (patch)
treeb4dd5a8a1a9324388836429bd6f5e5e4cb8b2cf2
parent0ca823ff8776b8619ac0f3acead49513bb5deafa (diff)
downloadnixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar.gz
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar.bz2
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar.lz
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar.xz
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.tar.zst
nixlib-879baa7c58450bdfe690a8ec84a76c212d0bb465.zip
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
-rw-r--r--pkgs/applications/video/MPlayer/default.nix74
-rw-r--r--pkgs/top-level/all-packages.nix13
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 {