From 200ad5eb6342f5a38eed9b3c7d7cf4530e1f9203 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 7 Jul 2009 09:52:20 +0000
Subject: [PATCH] * NSPR and NSS need to be told explicitly to do a 64-bit
 build.

svn path=/nixpkgs/trunk/; revision=16201
---
 pkgs/applications/networking/browsers/firefox/3.5.nix | 7 ++++---
 pkgs/development/libraries/nspr/default.nix           | 2 +-
 pkgs/development/libraries/nss/default.nix            | 8 +++++++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/pkgs/applications/networking/browsers/firefox/3.5.nix b/pkgs/applications/networking/browsers/firefox/3.5.nix
index 40ecbe34776f..5c2d6343d85f 100644
--- a/pkgs/applications/networking/browsers/firefox/3.5.nix
+++ b/pkgs/applications/networking/browsers/firefox/3.5.nix
@@ -3,9 +3,10 @@
 , freetype, fontconfig, file, alsaLib, nspr, nss
 
 , # 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/.
+  # of "Shiretoko" or whatever, 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
 }:
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 43ee0c1c0e1a..41103e58bb1e 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   preConfigure = "cd mozilla/nsprpub";
 
-  configureFlags = "--enable-optimize --disable-debug";
+  configureFlags = "--enable-optimize --disable-debug ${if stdenv.is64bit then "--enable-64bit" else ""}";
 
   postInstall =
     ''
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 249d3bbc5e9a..cc9d287bafeb 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -26,7 +26,11 @@ stdenv.mkDerivation {
 
   BUILD_OPT = "1";
 
-  makeFlags = "NSPR_CONFIG_STATUS= NSDISTMODE=copy BUILD_OPT=1 SOURCE_PREFIX=\$(out)";
+  makeFlags =
+    ''
+      NSPR_CONFIG_STATUS= NSDISTMODE=copy BUILD_OPT=1 SOURCE_PREFIX=\$(out)
+      ${if stdenv.is64bit then "USE_64=1" else ""}
+    '';
 
   buildFlags = "nss_build_all";
 
@@ -48,6 +52,7 @@ stdenv.mkDerivation {
       mv $out/public $out/include
       mv $out/*.OBJ/* $out/
       rmdir $out/*.OBJ
+      rm -rf $out/bin
 
       # Borrowed from Gentoo.  Firefox expects an nss-config script,
       # but NSS doesn't provide it.
@@ -56,6 +61,7 @@ stdenv.mkDerivation {
       NSS_VMINOR=`cat lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
       NSS_VPATCH=`cat lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
 
+      mkdir $out/bin
       cp ${nssConfig} $out/bin/nss-config
       chmod u+x $out/bin/nss-config
       substituteInPlace $out/bin/nss-config \