summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2007-11-21 22:38:25 +0000
committerMichael Raskin <7c6f434c@mail.ru>2007-11-21 22:38:25 +0000
commit0a830a172bddce37d2810d4f9706abd40db85527 (patch)
treece76b55476a83ccd4d5207b17abcb3e9386f8d02 /pkgs/applications/networking
parent3d0770d30da73f1f1bc52ebec8890ff566923193 (diff)
downloadnixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar.gz
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar.bz2
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar.lz
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar.xz
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.tar.zst
nixpkgs-0a830a172bddce37d2810d4f9706abd40db85527.zip
Added Firefox 3 beta 1 (Minefield)
svn path=/nixpkgs/trunk/; revision=9773
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/browsers/firefox3b1/builder.sh30
-rw-r--r--pkgs/applications/networking/browsers/firefox3b1/default.nix57
-rw-r--r--pkgs/applications/networking/browsers/firefox3b1/writable-copies.patch23
-rw-r--r--pkgs/applications/networking/browsers/firefox3b1/xlibs.patch10
4 files changed, 120 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/firefox3b1/builder.sh b/pkgs/applications/networking/browsers/firefox3b1/builder.sh
new file mode 100644
index 00000000000..66f1059d657
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox3b1/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/firefox3b1/default.nix b/pkgs/applications/networking/browsers/firefox3b1/default.nix
new file mode 100644
index 00000000000..834376bb160
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox3b1/default.nix
@@ -0,0 +1,57 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "firefox-3b1";
+
+  src = 
+	fetchurl {
+		url = ftp://ftp.mozilla.org/pub/firefox/releases/3.0b1/source/firefox-3.0b1-source.tar.bz2;
+		sha256 = "02mh87aidr33gp33fasq9xx23jqf7lm7yfsb2a36ijnd3bpnssn9";
+	};
+
+  buildInputs = [
+    pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
+    python curl coreutils
+  ];
+
+  configureFlags = [
+    "--enable-application=browser"
+    "--enable-optimize"
+    "--disable-debug"
+    "--enable-xft"
+    "--disable-freetype2"
+    "--enable-svg"
+    "--enable-canvas"
+    "--enable-strip"
+    "--enable-default-toolkit=cairo-gtk2"
+    "--with-system-jpeg"
+    "--with-system-zlib"
+    /*"--enable-system-cairo"*/
+  ]
+;
+
+  postConfigure = "
+	cp -r . /tmp/ff3b1-build
+  ";
+
+  postInstall = "
+    sed -e 's@moz_libdir=.*@&\\nexport PATH=\$PATH:${coreutils}/bin@' -i \$out/bin/firefox 
+    sed -e 's@`/bin/pwd@`${coreutils}/bin/pwd@' -i \$out/bin/firefox 
+    sed -e 's@`/bin/ls@`${coreutils}/bin/ls@' -i \$out/bin/firefox 
+
+    strip -S \$out/lib/*/* || true
+
+    libDir=\$(cd \$out/lib && ls -d firefox-[0-9]*)
+    test -n \"\$libDir\"
+
+    echo \"running firefox -register...\"
+    (cd \$out/lib/\$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
+  ";
+
+  meta = {
+    description = "Mozilla Firefox - the browser, reloaded";
+  };
+
+  passthru = {inherit gtk;};
+}
+
diff --git a/pkgs/applications/networking/browsers/firefox3b1/writable-copies.patch b/pkgs/applications/networking/browsers/firefox3b1/writable-copies.patch
new file mode 100644
index 00000000000..e3c7752c031
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox3b1/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
diff --git a/pkgs/applications/networking/browsers/firefox3b1/xlibs.patch b/pkgs/applications/networking/browsers/firefox3b1/xlibs.patch
new file mode 100644
index 00000000000..a656fbf9beb
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox3b1/xlibs.patch
@@ -0,0 +1,10 @@
+--- mozilla/layout/build/Makefile.in.orig	2007-01-13 14:23:19.000000000 -0200
++++ mozilla/layout/build/Makefile.in	2007-01-13 14:24:55.000000000 -0200
+@@ -282,5 +282,6 @@ LDFLAGS += -Wl,-LD_LAYOUT:lgot_buffer=50
+ endif
+ endif
+ 
++LDFLAGS += -lX11 -lXrender
+ 
+ export:: $(BUILD_DATE)
+ 
\ No newline at end of file