mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-01 08:25:55 +03:00
* Some cleanup of the Opera expression. It doesn't need the libstdcpp
from GCC 3.3 anymore, GCC 4.x is fine. So we can use the regular Qt 3 build. Also, there don't seem to be any references to Motif anymore. svn path=/nixpkgs/trunk/; revision=16932
This commit is contained in:
parent
f560f49faa
commit
c26262e72e
@ -5,38 +5,27 @@ buildPhase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
installPhase() {
|
installPhase() {
|
||||||
set -x
|
substituteInPlace install.sh --replace /bin/pwd pwd
|
||||||
|
|
||||||
sed -i 's=/bin/pwd=pwd=' install.sh
|
|
||||||
# Note: the "no" is because the install scripts asks whether we
|
# Note: the "no" is because the install scripts asks whether we
|
||||||
# want to install icons in some system-wide directories.
|
# want to install icons in some system-wide directories.
|
||||||
echo no | ./install.sh --prefix=$out
|
echo no | ./install.sh --prefix=$out
|
||||||
|
|
||||||
rpath=/no-such-path
|
|
||||||
for i in $libPath; do
|
|
||||||
rpath="$rpath:$i/lib"
|
|
||||||
done
|
|
||||||
|
|
||||||
[ -z ${system##*64*} ] && suf=64
|
[ -z ${system##*64*} ] && suf=64
|
||||||
|
|
||||||
# !!! ugh, should fix this eventually; just make a normal gcc dependency
|
for i in $out/lib/opera/*/opera $out/lib/opera/*/operaplugincleaner $out/lib/opera/*/operapluginwrapper; do
|
||||||
gcc=$(cat $NIX_GCC/nix-support/orig-gcc)
|
|
||||||
rpath="$rpath:$libstdcpp5/lib$suf"
|
|
||||||
|
|
||||||
for i in $out/lib/opera/*/opera $out/lib/opera/*/operaplugincleaner $out/lib/opera/*/operapluginwrapper-native; do
|
|
||||||
[ -h "$i" ] && i=$(readline "$i")
|
|
||||||
echo "$i <<<<<<<<<<<<"
|
echo "$i <<<<<<<<<<<<"
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "$rpath" \
|
--set-rpath "$libPath" \
|
||||||
"$i"
|
"$i"
|
||||||
done
|
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
|
# Substitute pwd as late as possible so that the md5 checksum check of opera passes.
|
||||||
|
substituteInPlace $out/bin/opera --replace /bin/pwd pwd
|
||||||
|
|
||||||
ensureDir $out/share/applications
|
ensureDir $out/share/applications
|
||||||
cp $desktopItem/share/applications/* $out/share/applications
|
cp $desktopItem/share/applications/* $out/share/applications
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
genericBuild
|
genericBuild
|
||||||
|
@ -1,37 +1,33 @@
|
|||||||
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5, glibc
|
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libXt, glibc
|
||||||
, motif ? null, libXt ? null
|
|
||||||
, makeDesktopItem
|
, makeDesktopItem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert motif != null -> libXt != null;
|
assert stdenv.isLinux;
|
||||||
|
|
||||||
# !!! Add Xinerama and Xrandr dependencies? Or should those be in Qt?
|
|
||||||
|
|
||||||
# Hm, does Opera 9.x still use Motif for anything?
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "10.0";
|
name = "opera-10.00";
|
||||||
name = "opera-${version}";
|
|
||||||
|
|
||||||
inherit libstdcpp5;
|
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = if (stdenv.system == "i686-linux") then
|
|
||||||
|
src =
|
||||||
|
if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/i386/shared/opera-10.00.gcc4-shared-qt3.i386.tar.gz ;
|
url = "http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/i386/shared/${name}.gcc4-shared-qt3.i386.tar.gz";
|
||||||
sha256 = "1l87rxdzq2mb92jbwj4gg79j177yzyfbkqb52gcdwicw8jcmhsad";
|
sha256 = "1l87rxdzq2mb92jbwj4gg79j177yzyfbkqb52gcdwicw8jcmhsad";
|
||||||
} else if (stdenv.system == "x86_64-linux") then
|
}
|
||||||
|
else if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/x86_64/opera-10.00.gcc4-shared-qt3.x86_64.tar.gz ;
|
url = "http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/x86_64/${name}.gcc4-shared-qt3.x86_64.tar.gz";
|
||||||
sha256 = "0w9a56j3jz0bjdj98k6n4xmrjnkvlxm32cfvh2c0f5pvgwcr642i";
|
sha256 = "0w9a56j3jz0bjdj98k6n4xmrjnkvlxm32cfvh2c0f5pvgwcr642i";
|
||||||
} else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)";
|
}
|
||||||
|
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
|
||||||
|
|
||||||
dontStrip = 1;
|
dontStrip = 1;
|
||||||
# operapluginwrapper seems to require libXt ?
|
|
||||||
# Adding it makes startup faster and omits error messages (on x68)
|
# `operapluginwrapper' requires libXt. Adding it makes startup faster
|
||||||
libPath =
|
# and omits error messages (on x86).
|
||||||
[glibc qt motif zlib libX11 libXt libXext libSM libICE libstdcpp5]
|
libPath = stdenv.lib.makeLibraryPath
|
||||||
++ (if motif != null then [motif ] else []);
|
[ stdenv.gcc.gcc glibc qt zlib libX11 libXt libXext libSM libICE ];
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "Opera";
|
name = "Opera";
|
||||||
@ -43,8 +39,8 @@ stdenv.mkDerivation rec {
|
|||||||
categories = "Application;Network;";
|
categories = "Application;Network;";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.opera.com;
|
homepage = http://www.opera.com;
|
||||||
|
description = "The Opera web browser";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4003,12 +4003,6 @@ let
|
|||||||
mysqlSupport = getConfig ["qt" "mysql"] false;
|
mysqlSupport = getConfig ["qt" "mysql"] false;
|
||||||
};
|
};
|
||||||
|
|
||||||
qt3gcc33 = qt3.override {
|
|
||||||
stdenv = overrideGCC stdenv gcc33;
|
|
||||||
openglSupport = false;
|
|
||||||
mysqlSupport = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
qt3mysql = qt3.override {
|
qt3mysql = qt3.override {
|
||||||
mysqlSupport = true;
|
mysqlSupport = true;
|
||||||
};
|
};
|
||||||
@ -6918,11 +6912,8 @@ let
|
|||||||
|
|
||||||
opera = import ../applications/networking/browsers/opera {
|
opera = import ../applications/networking/browsers/opera {
|
||||||
inherit fetchurl zlib glibc stdenv makeDesktopItem;
|
inherit fetchurl zlib glibc stdenv makeDesktopItem;
|
||||||
# stdenv = overrideGCC stdenv gcc40;
|
|
||||||
inherit (xlibs) libX11 libSM libICE libXt libXext;
|
inherit (xlibs) libX11 libSM libICE libXt libXext;
|
||||||
#33motif = lesstif;
|
qt = qt3;
|
||||||
qt = if (stdenv.system == "i686-linux") then qt3gcc33 else qt3;
|
|
||||||
libstdcpp5 = (if (stdenv.system == "i686-linux") then gcc33 /* stdc++ 3.8 is used */ else gcc42).gcc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pan = import ../applications/networking/newsreaders/pan {
|
pan = import ../applications/networking/newsreaders/pan {
|
||||||
|
Loading…
Reference in New Issue
Block a user