Author: eelco
Date: Mon Jul 18 14:44:28 2011
New Revision: 27825
URL: https://svn.nixos.org/websvn/nix/?rev=27825&sc=1

Log:
* Added the Google Talk plugin.  Doesn't work yet (says ‘ABORT:
  X_GLXCreateContext: BadValue’).

Added:
   
nixpkgs/trunk/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/
   
nixpkgs/trunk/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: 
nixpkgs/trunk/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
nixpkgs/trunk/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
  Mon Jul 18 14:44:28 2011        (r27825)
@@ -0,0 +1,92 @@
+{ stdenv, fetchurl, rpm, cpio, pkgsi686Linux, mesa, xorg, cairo
+, libpng, gtk, glib, fontconfig, freetype, curl
+}:
+
+with stdenv.lib;
+
+let
+
+  rpathNative = makeLibraryPath
+    [ stdenv.gcc.gcc
+      mesa
+      xorg.libXt
+      xorg.libX11
+      cairo
+      libpng
+      gtk
+      glib
+      fontconfig
+      freetype
+      curl
+    ];
+
+  rpath32 = makeLibraryPath
+    [ pkgsi686Linux.gtkLibs.gdk_pixbuf
+      pkgsi686Linux.gtkLibs.glib
+      pkgsi686Linux.gtkLibs.gtk
+      pkgsi686Linux.xorg.libX11
+      pkgsi686Linux.xorg.libXcomposite
+      pkgsi686Linux.xorg.libXfixes
+      pkgsi686Linux.xorg.libXrender
+      pkgsi686Linux.xorg.libXrandr
+      pkgsi686Linux.gcc.gcc
+      pkgsi686Linux.alsaLib
+      pkgsi686Linux.pulseaudio
+      pkgsi686Linux.dbus_glib
+      pkgsi686Linux.udev
+    ];
+
+in
+
+stdenv.mkDerivation {
+  name = "google-talk-plugin-2.107.0";
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = 
"http://dl.google.com/linux/direct/google-talkplugin_current_x86_64.rpm";;
+        sha256 = "01c8w221azvmqvxf5lgb8l151086d72ll5wnjndwn50dvi6rphvx";
+      }
+    else
+      throw "Google Talk does not support your platform.";
+
+  buildInputs = [ rpm cpio ];
+      
+  unpackPhase =
+    ''
+      rpm2cpio $src | cpio -i --make-directories -v
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out/lib/mozilla/plugins
+      cp opt/google/talkplugin/libnp*.so $out/lib/mozilla/plugins/
+
+      patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc 
]}:${stdenv.gcc.gcc}/lib64" \
+        $out/lib/mozilla/plugins/libnpgoogletalk64.so
+
+      patchelf --set-rpath 
"$out/libexec/google/talkplugin/lib:${rpathNative}:${stdenv.gcc.gcc}/lib64" \
+        $out/lib/mozilla/plugins/libnpgtpo3dautoplugin.so
+
+      mkdir -p $out/libexec/google/talkplugin
+      cp opt/google/talkplugin/GoogleTalkPlugin $out/libexec/google/talkplugin/
+      
+      mkdir -p $out/libexec/google/talkplugin/lib
+      cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/
+
+      patchelf \
+        --set-interpreter ${pkgsi686Linux.glibc}/lib/ld-linux*.so.2 \
+        --set-rpath ${rpath32} \
+        $out/libexec/google/talkplugin/GoogleTalkPlugin
+    '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+  
+  passthru.mozillaPlugin = "/lib/mozilla/plugins";
+
+  meta = {
+    homepage = http://www.google.com/chat/video/;
+    license = "unfree";
+  };
+}
\ No newline at end of file

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Mon Jul 18 14:34:46 
2011        (r27824)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Mon Jul 18 14:44:28 
2011        (r27825)
@@ -6315,7 +6315,7 @@
   flashplayer = flashplayer10;
 
   flashplayer9 = callPackage 
../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
-      inherit (gtkLibs) atk;
+    inherit (gtkLibs) atk;
   };
 
   flashplayer10 = callPackage 
../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
@@ -6434,6 +6434,10 @@
 
   googleearth = callPackage_i686 ../applications/misc/googleearth { };
 
+  google_talk_plugin = callPackage 
../applications/networking/browsers/mozilla-plugins/google-talk-plugin {
+    inherit pkgsi686Linux;
+  };
+
   gosmore = builderDefsPackage ../applications/misc/gosmore {
     inherit fetchsvn curl pkgconfig libxml2;
     inherit (gtkLibs) gtk;
@@ -6911,8 +6915,8 @@
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
 
   RealPlayer = callPackage ../applications/video/RealPlayer {
-      inherit (gtkLibs) glib pango atk gtk;
-      libstdcpp5 = gcc33.gcc;
+    inherit (gtkLibs) glib pango atk gtk;
+    libstdcpp5 = gcc33.gcc;
   };
 
   rekonq = newScope pkgs.kde4 ../applications/networking/browsers/rekonq { };
@@ -6923,7 +6927,7 @@
 
   retroshare = callPackage ../applications/networking/p2p/retroshare {
     qt = qt4;
-   inherit (gnome) gnome_keyring;
+    inherit (gnome) gnome_keyring;
   };
 
   rsync = callPackage ../applications/networking/sync/rsync {
@@ -6934,7 +6938,8 @@
 
   # = urxvt
   rxvt_unicode = callPackage ../applications/misc/rxvt_unicode {
-    perlSupport = false;  };
+    perlSupport = false;
+  };
 
   sakura = callPackage ../applications/misc/sakura {
     inherit (gnome) vte;
@@ -6950,9 +6955,7 @@
   seeks = callPackage ../tools/networking/p2p/seeks { };
 
   seg3d = callPackage ../applications/graphics/seg3d {
-    wxGTK = wxGTK28.override {
-      unicode = false;
-  };
+    wxGTK = wxGTK28.override { unicode = false; };
   };
 
   semnotes = newScope pkgs.kde4 ../applications/misc/semnotes { };
@@ -7188,7 +7191,7 @@
         enableGnash = getConfig [ browserName "enableGnash" ] false;
       in
        assert !(enableGnash && enableAdobeFlash);
-       ([]
+       ([ ]
         ++ lib.optional enableGnash gnash
         ++ lib.optional enableAdobeFlash flashplayer
         # RealPlayer is disabled by default for legal reasons.
@@ -7197,6 +7200,7 @@
         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) 
(MPlayerPlugin browser)
         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] 
false) gecko_mediaplayer
         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && 
jrePlugin ? mozillaPlugin) jrePlugin
+        ++ lib.optional (getConfig [browserName "enableGoogleTalkPlugin"] 
false) google_talk_plugin 
        );
   };
 
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to