summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2007-11-28 02:10:27 +0000
committerMarc Weber <marco-oweber@gmx.de>2007-11-28 02:10:27 +0000
commit0250bd7bac03701f3a043e9fef8f90523a9e7b17 (patch)
treef0b682f976946263c679b88c6357e9047b3f4d2b /pkgs/applications/networking
parent7939dcdd2993a06021064594c316d972edb4cec2 (diff)
downloadnixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar.gz
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar.bz2
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar.lz
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar.xz
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.tar.zst
nixpkgs-0250bd7bac03701f3a043e9fef8f90523a9e7b17.zip
Opera updated - works now on x64-linux as well
svn path=/nixpkgs/trunk/; revision=9805
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/browsers/opera/builder.sh11
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix24
2 files changed, 21 insertions, 14 deletions
diff --git a/pkgs/applications/networking/browsers/opera/builder.sh b/pkgs/applications/networking/browsers/opera/builder.sh
index 26d5df1cc4d..1de82fdfa72 100644
--- a/pkgs/applications/networking/browsers/opera/builder.sh
+++ b/pkgs/applications/networking/browsers/opera/builder.sh
@@ -7,6 +7,7 @@ buildPhase() {
 
 installPhase=installPhase
 installPhase() {
+    sed -i 's=/bin/pwd=pwd=' opera install.sh 
     # Note: the "no" is because the install scripts asks whether we
     # want to install icons in some system-wide directories.
     echo no | ./install.sh --prefix=$out
@@ -16,20 +17,18 @@ installPhase() {
         rpath="$rpath:$i/lib"
     done
 
+    [ -z ${system##*64*} ] && suf=64
+
     # !!! ugh, should fix this eventually; just make a normal gcc dependency
     gcc=$(cat $NIX_GCC/nix-support/orig-gcc)
-    rpath="$rpath:$gcc/lib"
+    rpath="$rpath:$libstdcpp5/lib$suf"
     
-    for i in $out/lib/opera/*/opera $out/lib/opera/plugins/opera*; do
+    for i in $out/lib/opera/*/opera $out/lib/opera/*/operaplugin{wrapper,cleaner}; do
         patchelf \
             --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
             --set-rpath "$rpath" \
             "$i"
     done
-
-    # opera seems to need libnpp.so in the same path ?
-    # (search the opera help for libnpp..
-    cp $out/lib/opera/plugins/libnpp.so $out/lib/opera/9*
 }
 
 genericBuild
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 754a018c328..d807add5111 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5
+{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5, glibc
 , motif ? null, libXt ? null}:
 
-assert stdenv.system == "i686-linux";
 assert motif != null -> libXt != null;
 
 # !!! Add Xinerama and Xrandr dependencies?  Or should those be in Qt?
@@ -12,13 +11,22 @@ stdenv.mkDerivation rec {
   version = "9.24-20071015.5";
   name = "opera-${version}";
 
+  inherit libstdcpp5;
+
   builder = ./builder.sh;
-  src = fetchurl {
-    url = ftp://ftp.task.gda.pl/pub/opera/linux/924/final/en/i386/shared/opera-9.24-20071015.5-shared-qt.i386-en.tar.bz2;
-    sha256 = "1frhnrp63k4lz29a8z9c99h383xrsrby432xp20hxrylh0zypzb5";
-  };
+    src = if (stdenv.system == "i686-linux") then
+      fetchurl {
+        url = ftp://ftp.task.gda.pl/pub/opera/linux/950b/final/en/i386/shared/opera-9.50b-20071024.5-shared-qt.i386-en.tar.bz2;
+        sha256 = "0vv1q86is9x6vw8fx92wrnvlyn4x29zgk9zjn66rcx37n6grqqah";
+      } else if (stdenv.system == "x86_64-linux") then
+      fetchurl {
+        url = ftp://ftp.task.gda.pl/pub/opera/linux/950b/final/en/x86_64/opera-9.50-20071024.2-shared-qt.x86_64-1643.tar.bz2;
+        sha256 = "1gv1r18ar3vz1l24nf8qixjlba1yb5d3xvg3by41i4dy0vlznqn6";
+      } else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)";
 
+  # operapluginwrapper seems to require libXt ?
+  # Adding it makes startup faster and omits error messages (on x68)
   libPath =
-    [qt motif zlib libX11 libXext libSM libICE libstdcpp5]
-    ++ (if motif != null then [motif libXt ] else []);
+    [glibc qt motif zlib libX11 libXt libXext libSM libICE libstdcpp5]
+    ++ (if motif != null then [motif ] else []);
 }