* Firefox 2.0 RC 1.

svn path=/nixpkgs/trunk/; revision=6655
This commit is contained in:
Eelco Dolstra 2006-10-04 13:59:41 +00:00
parent 0ec7b4988f
commit 808846b2c9
4 changed files with 110 additions and 0 deletions

@ -0,0 +1,30 @@
source $stdenv/setup
postInstall=postInstall
postInstall() {
# Strip some more stuff
strip -S $out/lib/*/* || true
# This fixes starting Firefox when there already is a running
# instance. The `firefox' wrapper script actually expects to be
# in the same directory as `run-mozilla.sh', apparently.
libDir=$(cd $out/lib && ls -d firefox-*)
test -n "$libDir"
cd $out/bin
mv firefox ../lib/$libDir/
ln -s ../lib/$libDir/firefox .
# Register extensions etc.
echo "running firefox -register..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
echo "running regxpcom..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
# Put the Firefox icon in the right place.
ensureDir $out/lib/$libDir/chrome/icons/default
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
}
genericBuild

@ -0,0 +1,49 @@
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
, libjpeg, libpng, zlib, cairo
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
# not be distributed without permission from the Mozilla Foundation,
# see http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
stdenv.mkDerivation {
name = "firefox-2.0-pre-rc1";
builder = ./builder.sh;
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0rc1/source/firefox-2.0rc1-source.tar.bz2;
sha1 = "0f6bcab71becb4fb92900fc900b20301434f4e00";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
];
patches = [./writable-copies.patch];
configureFlags = [
"--enable-application=browser"
"--enable-optimize"
"--disable-debug"
"--enable-xft"
"--disable-freetype2"
"--enable-svg"
"--enable-canvas"
"--enable-strip"
"--enable-default-toolkit=gtk2"
"--with-system-jpeg"
"--with-system-png"
"--with-system-zlib"
"--enable-system-cairo"
]
++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
meta = {
description = "Mozilla Firefox - the browser, reloaded";
};
passthru = {inherit gtk;};
}

@ -0,0 +1,23 @@
diff -rc mozilla-orig/xpcom/io/nsLocalFileUnix.cpp mozilla/xpcom/io/nsLocalFileUnix.cpp
*** mozilla-orig/xpcom/io/nsLocalFileUnix.cpp 2004-04-03 01:48:18.000000000 +0200
--- mozilla/xpcom/io/nsLocalFileUnix.cpp 2004-10-05 19:48:04.000000000 +0200
***************
*** 634,639 ****
--- 634,640 ----
// get the dirs old permissions
if (NS_FAILED(rv = GetPermissions(&oldPerms)))
return rv;
+ oldPerms |= 0200;
if (NS_FAILED(rv = newParent->Create(DIRECTORY_TYPE, oldPerms)))
return rv;
} else { // dir exists lets try to use leaf
***************
*** 758,763 ****
--- 759,765 ----
// get the old permissions
PRUint32 myPerms;
GetPermissions(&myPerms);
+ myPerms |= 0200;
// Create the new file with the old file's permissions, even if write
// permission is missing. We can't create with write permission and

@ -2318,6 +2318,14 @@ rec {
#enableOfficialBranding = true;
};
firefox20 = (import ../applications/networking/browsers/firefox-2.0) {
inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo;
inherit (gtkLibs) gtk;
inherit (gnome) libIDL;
inherit (xlibs) libXi;
#enableOfficialBranding = true;
};
firefoxWrapper = wrapFirefox firefox;
flac = (import ../applications/audio/flac) {