summaryrefslogtreecommitdiff
path: root/www/firefox3
diff options
context:
space:
mode:
authormartin <martin@pkgsrc.org>2009-01-05 09:58:36 +0000
committermartin <martin@pkgsrc.org>2009-01-05 09:58:36 +0000
commited428dbd450d7470fa942a82cf8113c37cae2f64 (patch)
tree53d3ff12792f38b17b8ea72e70dec2faa1b024e0 /www/firefox3
parent28aadcf59da9ce9ca477a984e6d18a5b3a57d18f (diff)
downloadpkgsrc-ed428dbd450d7470fa942a82cf8113c37cae2f64.tar.gz
Fix a few more LP64 bit bugs (may be in dead code, but who knows)
and fix the xptc call stubs for sparc64 so that tree views with a javascript data source (like history and about:config) now work. All changes already reported upstream.
Diffstat (limited to 'www/firefox3')
-rw-r--r--www/firefox3/distinfo8
-rw-r--r--www/firefox3/files/xptcstubs_sparc64_netbsd.cpp26
-rw-r--r--www/firefox3/patches/patch-ea27
-rw-r--r--www/firefox3/patches/patch-eb28
-rw-r--r--www/firefox3/patches/patch-ej19
-rw-r--r--www/firefox3/patches/patch-ek27
6 files changed, 115 insertions, 20 deletions
diff --git a/www/firefox3/distinfo b/www/firefox3/distinfo
index d2ae8a73fac..7d574fef4ab 100644
--- a/www/firefox3/distinfo
+++ b/www/firefox3/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2008/12/17 23:16:50 tnn Exp $
+$NetBSD: distinfo,v 1.12 2009/01/05 09:58:36 martin Exp $
SHA1 (firefox-3.0.5-source.tar.bz2) = f934e073efaad3d4dde847c8491fa9529564d5d2
RMD160 (firefox-3.0.5-source.tar.bz2) = ec6e7eab65649c5c79587a5a8ffb9b6b386b5a18
@@ -32,12 +32,14 @@ SHA1 (patch-dr) = 377b1d83079ada4d819b6702c1010cdd900575fc
SHA1 (patch-ds) = 1e2e371b9ff7ab9049a947d8e0a63483a1fd244e
SHA1 (patch-du) = c6e66bb420ce9ea988f89b57d1c20a247704cfcf
SHA1 (patch-dv) = a380d261d4c2771a672d2b0f4f1f23821e3e5266
-SHA1 (patch-ea) = 14e31d17c2493e468cd01f99abfc996853a11032
-SHA1 (patch-eb) = dc9232b10075d17f7ed742e7be8ea036db2f0241
+SHA1 (patch-ea) = a4c586b2a3aa6e1c4c7cdaf83a37bd894e235bec
+SHA1 (patch-eb) = 176f71af302b1067c301e9cffa2d13a5837e45fe
SHA1 (patch-ed) = 3c6281a75373843c5767fc1213d8cc67dc549e03
SHA1 (patch-ee) = d5aeca91305ed2e1f522b2c0ed4bb17f7f8b881b
SHA1 (patch-eh) = 60aca7f94ee04c957386014f7d4df9e3c8ac8ff1
SHA1 (patch-ei) = 4484d57e19e39ef86760716d5886ebf2a3e69f63
+SHA1 (patch-ej) = 9b9c708483399fa89c6bf5bdc15e79b31793c89d
+SHA1 (patch-ek) = b94debcf16ba6f0dccc0a812b5e5fa38a150c413
SHA1 (patch-wc) = 2de8665ed6c23c26566ca6d50165c0cf413a753d
SHA1 (patch-wd) = fc5c3103ae6f2a2eccc01911a8207f3ca614008b
SHA1 (patch-we) = f7fecce05454e9794ff7a4e7789031a5ef49c42d
diff --git a/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp b/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp
index f48bca5c3f5..0b5ce39b2b1 100644
--- a/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp
+++ b/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp
@@ -53,6 +53,8 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
else
dispatchParams = paramBuffer;
NS_ASSERTION(dispatchParams,"no place for params");
+ if (!dispatchParams)
+ return NS_ERROR_OUT_OF_MEMORY;
PRUint64* ap = args;
for(i = 0; i < paramCount; i++, ap++)
@@ -69,19 +71,19 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
// else
switch(type)
{
- case nsXPTType::T_I8 : dp->val.i8 = *((PRInt32*) ap); break;
- case nsXPTType::T_I16 : dp->val.i16 = *((PRInt32*) ap); break;
- case nsXPTType::T_I32 : dp->val.i32 = *((PRInt32*) ap); break;
- case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
- case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
+ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
+ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
+ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
+ case nsXPTType::T_I8 : dp->val.i8 = *((PRInt64*) ap); break;
+ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
+ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
- case nsXPTType::T_U8 : dp->val.u8 = *((PRUint32*) ap); break;
- case nsXPTType::T_U16 : dp->val.u16 = *((PRUint32*)ap); break;
- case nsXPTType::T_U32 : dp->val.u32 = *((PRUint32*)ap); break;
- case nsXPTType::T_FLOAT : dp->val.f = *((float*) ap); break;
- case nsXPTType::T_BOOL : dp->val.b = *((PRBool*) ap); break;
- case nsXPTType::T_CHAR : dp->val.c = *((PRUint32*) ap); break;
- case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt32*) ap); break;
+ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
+ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
+ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
+ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
+ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
+ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
default:
NS_ASSERTION(0, "bad type");
break;
diff --git a/www/firefox3/patches/patch-ea b/www/firefox3/patches/patch-ea
index 7a0edc02f4d..5aac3b6027b 100644
--- a/www/firefox3/patches/patch-ea
+++ b/www/firefox3/patches/patch-ea
@@ -1,8 +1,30 @@
-$NetBSD: patch-ea,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $
+$NetBSD: patch-ea,v 1.2 2009/01/05 09:58:36 martin Exp $
--- toolkit/components/history/src/nsGlobalHistory.cpp.orig 2006-02-02 20:55:17.000000000 +0100
+++ toolkit/components/history/src/nsGlobalHistory.cpp
-@@ -1132,6 +1132,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU
+@@ -322,7 +322,9 @@ matchAgeInDaysCallback(nsIMdbRow *row, v
+ if (err != 0) return PR_FALSE;
+
+ PRTime rowDate;
+- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &rowDate);
++ long long ld;
++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld);
++ rowDate = ld;
+
+ PRInt32 days = GetAgeInDays(matchSearchTerm->now, rowDate);
+
+@@ -1067,7 +1069,9 @@ nsGlobalHistory::GetRowValue(nsIMdbRow *
+ if (!yarn.mYarn_Fill || !yarn.mYarn_Buf)
+ return NS_OK;
+
+- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", aResult);
++ long long ld;
++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld);
++ *aResult = ld;
+
+ return NS_OK;
+ }
+@@ -1153,6 +1157,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU
rv = aURI->GetSpec(URISpec);
NS_ENSURE_SUCCESS(rv, rv);
@@ -12,3 +34,4 @@ $NetBSD: patch-ea,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $
nsCOMPtr<nsIMdbRow> row;
rv = FindRow(kToken_URLColumn, URISpec.get(), getter_AddRefs(row));
+
diff --git a/www/firefox3/patches/patch-eb b/www/firefox3/patches/patch-eb
index 7f86ac2f0b7..88caa155e53 100644
--- a/www/firefox3/patches/patch-eb
+++ b/www/firefox3/patches/patch-eb
@@ -1,8 +1,30 @@
-$NetBSD: patch-eb,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $
+$NetBSD: patch-eb,v 1.2 2009/01/05 09:58:36 martin Exp $
---- xpfe/components/history/src/nsGlobalHistory.cpp.orig 2006-02-02 20:55:17.000000000 +0100
+--- xpfe/components/history/src/nsGlobalHistory.cpp.orig 2007-12-03 05:25:14.000000000 +0100
+++ xpfe/components/history/src/nsGlobalHistory.cpp
-@@ -1055,6 +1055,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU
+@@ -304,7 +304,9 @@ matchAgeInDaysCallback(nsIMdbRow *row, v
+ if (err != 0) return PR_FALSE;
+
+ PRTime rowDate;
+- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &rowDate);
++ long long ld;
++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld);
++ rowDate = ld;
+
+ PRInt32 days = matchSearchTerm->globalHist->GetAgeInDays(rowDate);
+
+@@ -1000,7 +1002,9 @@ nsGlobalHistory::GetRowValue(nsIMdbRow *
+ if (!yarn.mYarn_Fill || !yarn.mYarn_Buf)
+ return NS_OK;
+
+- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", aResult);
++ long long ld;
++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld);
++ *aResult = ld;
+
+ return NS_OK;
+ }
+@@ -1076,6 +1080,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU
rv = aURI->GetSpec(URISpec);
NS_ENSURE_SUCCESS(rv, rv);
diff --git a/www/firefox3/patches/patch-ej b/www/firefox3/patches/patch-ej
new file mode 100644
index 00000000000..1e0442ea3bc
--- /dev/null
+++ b/www/firefox3/patches/patch-ej
@@ -0,0 +1,19 @@
+$NetBSD: patch-ej,v 1.1 2009/01/05 09:58:36 martin Exp $
+
+--- toolkit/components/places/src/nsMorkHistoryImporter.cpp.orig 2008-03-19 20:30:49.000000000 +0100
++++ toolkit/components/places/src/nsMorkHistoryImporter.cpp 2008-12-17 09:38:05.000000000 +0100
+@@ -148,9 +148,12 @@ AddToHistoryCB(const nsCSubstring &aRowI
+ }
+
+ PRTime date;
+- if (PR_sscanf(values[kLastVisitColumn].get(), "%lld", &date) != 1) {
++ long long ld;
++ if (PR_sscanf(values[kLastVisitColumn].get(), "%lld", &ld) != 1) {
+ date = -1;
+- }
++ } else {
++ date = ld;
++ }
+
+ PRBool isTyped = values[kTypedColumn].EqualsLiteral("1");
+ PRInt32 transition = isTyped ?
diff --git a/www/firefox3/patches/patch-ek b/www/firefox3/patches/patch-ek
new file mode 100644
index 00000000000..616da9f5d12
--- /dev/null
+++ b/www/firefox3/patches/patch-ek
@@ -0,0 +1,27 @@
+$NetBSD: patch-ek,v 1.1 2009/01/05 09:58:36 martin Exp $
+
+# Reported upstream as https://bugzilla.mozilla.org/show_bug.cgi?id=471179
+
+--- nsprpub/pr/src/misc/prsystem.c.orig 2006-01-19 23:11:59.000000000 +0100
++++ nsprpub/pr/src/misc/prsystem.c 2008-12-26 13:01:50.000000000 +0100
+@@ -290,6 +290,20 @@ PR_IMPLEMENT(PRUint64) PR_GetPhysicalMem
+ long pageCount = sysconf(_SC_PHYS_PAGES);
+ bytes = (PRUint64) pageSize * pageCount;
+
++#elif defined(NETBSD)
++
++ int mib[2];
++ int rc;
++ uint64_t memSize;
++ size_t len = sizeof(memSize);
++
++ mib[0] = CTL_HW;
++ mib[1] = HW_PHYSMEM64;
++ rc = sysctl( mib, 2, &memSize, &len, NULL, 0 );
++ if ( -1 != rc ) {
++ bytes = memSize;
++ }
++
+ #elif defined(HPUX)
+
+ struct pst_static info;