diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2006-10-04 13:59:41 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2006-10-04 13:59:41 +0000 |
commit | 808846b2c934abeb10b3d82c2da0f58d5b025285 (patch) | |
tree | c77d33c9901b85643ab2f2155ad16d078762e307 /pkgs/applications | |
parent | 0ec7b4988f6022e77d6803e11ec04af0c5da4791 (diff) | |
download | nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar.gz nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar.bz2 nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar.lz nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar.xz nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.tar.zst nixlib-808846b2c934abeb10b3d82c2da0f58d5b025285.zip |
* Firefox 2.0 RC 1.
svn path=/nixpkgs/trunk/; revision=6655
Diffstat (limited to 'pkgs/applications')
3 files changed, 102 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/firefox-2.0/builder.sh b/pkgs/applications/networking/browsers/firefox-2.0/builder.sh new file mode 100644 index 000000000000..66f1059d657f --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-2.0/builder.sh @@ -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 diff --git a/pkgs/applications/networking/browsers/firefox-2.0/default.nix b/pkgs/applications/networking/browsers/firefox-2.0/default.nix new file mode 100644 index 000000000000..dcfda578f668 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-2.0/default.nix @@ -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;}; +} diff --git a/pkgs/applications/networking/browsers/firefox-2.0/writable-copies.patch b/pkgs/applications/networking/browsers/firefox-2.0/writable-copies.patch new file mode 100644 index 000000000000..e3c7752c0310 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-2.0/writable-copies.patch @@ -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 |