diff --git a/pkgs/applications/networking/browsers/opera/builder.sh b/pkgs/applications/networking/browsers/opera/builder.sh index e9efbe068298..2d1b0cc96482 100644 --- a/pkgs/applications/networking/browsers/opera/builder.sh +++ b/pkgs/applications/networking/browsers/opera/builder.sh @@ -33,6 +33,10 @@ installPhase() { done # substitute pwd as late as possible so that the md5 checkusm check of opera passes sed -i 's=/bin/pwd=pwd=' $out/bin/opera + + ensureDir $out/share/applications + cp $desktopItem/share/applications/* $out/share/applications + } genericBuild diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 549551c2fa1a..bb35e878f9d6 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5, glibc -, motif ? null, libXt ? null}: +, motif ? null, libXt ? null +, makeDesktopItem +}: assert motif != null -> libXt != null; @@ -20,13 +22,8 @@ stdenv.mkDerivation rec { sha256 = "0ryza8wrqhlcs9hs3vs38ig3pjwifymxi8jsx83kvxg963p2k825"; } else if (stdenv.system == "x86_64-linux") then fetchurl { - url = http://snapshot.opera.com/unix/snapshot-1754/x86_64-linux/opera-9.50-20080110.2-shared-qt.x86_64-1754.tar.bz2; - sha256 = "08y1ajjncdvbhvcq2izmpgc4fi37bwn43zsw7rz41jf8qhvb5ywv"; - #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"; - #name = opera-9.25-20071214.6-shared-qt.i386-en.tar.gz; - #url = http://www.opera.com/download/get.pl?id=30462&location=225¬hanks=yes&sub=marine; - #sha256 = "1wnc1s4r5gz73mxs8pgsi9a1msz7x8a8pb1ykb1xgdfn21h69p2p"; + url = http://mirror.liteserver.nl/pub/opera/linux/964/final/en/x86_64/opera-9.64.gcc4-shared-qt3.x86_64.tar.gz ; + sha256 = "1zmj8lr1mx3d98adyd93kw2ldxxb13wzi6xzlgmb3dr4pn9j85n2"; } else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)"; dontStrip = 1; @@ -36,6 +33,17 @@ stdenv.mkDerivation rec { [glibc qt motif zlib libX11 libXt libXext libSM libICE libstdcpp5] ++ (if motif != null then [motif ] else []); + desktopItem = makeDesktopItem { + name = "Opera"; + exec = "opera"; + icon = "opera"; + comment = "Opera Web Browser"; + desktopName = "Opera"; + genericName = "Web Browser"; + categories = "Application;Network;"; + }; + + meta = { homepage = http://www.opera.com; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea1362bc65ce..b31d4811a6e3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6570,7 +6570,7 @@ let }; opera = import ../applications/networking/browsers/opera { - inherit fetchurl zlib glibc stdenv; + inherit fetchurl zlib glibc stdenv makeDesktopItem; # stdenv = overrideGCC stdenv gcc40; inherit (xlibs) libX11 libSM libICE libXt libXext; #33motif = lesstif;