From 4a7228b805d7ed52959a323b5181a95fa3ce5744 Mon Sep 17 00:00:00 2001 From: Beat Gaetzi Date: Sat, 19 Dec 2009 16:16:40 +0000 Subject: - Update to 1.9.0.16 - Fix build on sparc64 Sparc64 build tested by: Simon Griffiths , Anton Shterenlikht Based on a patch for libxul 1.9.1.x provided by: Andreas Tobler --- www/libxul/Makefile | 6 +---- www/libxul/distinfo | 6 ++--- www/libxul/files/patch-xptcall-sparc64 | 46 ++++++++++++++++++---------------- 3 files changed, 28 insertions(+), 30 deletions(-) (limited to 'www/libxul') diff --git a/www/libxul/Makefile b/www/libxul/Makefile index 8e29dcdf723f..6555394402b4 100644 --- a/www/libxul/Makefile +++ b/www/libxul/Makefile @@ -7,7 +7,7 @@ # PORTNAME= libxul -PORTVERSION= 1.9.0.15 +PORTVERSION= 1.9.0.16 CATEGORIES?= www devel MASTER_SITES= ${MASTER_SITE_MOZILLA} MASTER_SITE_SUBDIR= xulrunner/releases/${PORTVERSION}/source/ @@ -49,10 +49,6 @@ MOZ_PKGCONFIG_FILES= libxul-embedding-unstable libxul-embedding \ .include -.if ${ARCH} == "sparc64" -BROKEN= Does not compile on sparc64 -.endif - post-patch: ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \ ${WRKSRC}/storage/build/Makefile.in \ diff --git a/www/libxul/distinfo b/www/libxul/distinfo index 5f59d09724f0..939d98365825 100644 --- a/www/libxul/distinfo +++ b/www/libxul/distinfo @@ -1,3 +1,3 @@ -MD5 (xulrunner-1.9.0.15-source.tar.bz2) = e28e30d74c1488c8a8e2ff8cd2c37439 -SHA256 (xulrunner-1.9.0.15-source.tar.bz2) = da9935bb8aa294285e982ff9cb67129023c2ab20654e7b9892543cee99a3a4d8 -SIZE (xulrunner-1.9.0.15-source.tar.bz2) = 37391277 +MD5 (xulrunner-1.9.0.16-source.tar.bz2) = 0aff0aea5e42f2443b46342ef7ccd650 +SHA256 (xulrunner-1.9.0.16-source.tar.bz2) = 4d21d1047fd1a0b64889bb9960605d4ef6da9069ae4614fe36d0c85e52489867 +SIZE (xulrunner-1.9.0.16-source.tar.bz2) = 37384903 diff --git a/www/libxul/files/patch-xptcall-sparc64 b/www/libxul/files/patch-xptcall-sparc64 index 9599a8a71336..8d87d8cbd8d4 100644 --- a/www/libxul/files/patch-xptcall-sparc64 +++ b/www/libxul/files/patch-xptcall-sparc64 @@ -1,6 +1,6 @@ ---- /dev/null Mon May 26 13:22:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003 -@@ -0,0 +1,123 @@ +--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp 2009-09-30 23:09:48.000000000 +0200 +@@ -0,0 +1,125 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public @@ -27,6 +27,7 @@ +/* Implement shared vtbl methods. */ + +#include "xptcprivate.h" ++#include "xptiprivate.h" + +#if defined(sparc) || defined(__sparc__) + @@ -38,7 +39,6 @@ + + nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; + nsXPTCMiniVariant* dispatchParams = NULL; -+ nsIInterfaceInfo* iface_info = NULL; + const nsXPTMethodInfo* info; + PRUint8 paramCount; + PRUint8 i; @@ -46,11 +46,10 @@ + + NS_ASSERTION(self,"no self"); + -+ self->GetInterfaceInfo(&iface_info); -+ NS_ASSERTION(iface_info,"no interface info"); -+ -+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no interface info"); ++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info); ++ NS_ASSERTION(info,"no method info"); ++ if (! info) ++ return NS_ERROR_UNEXPECTED; + + paramCount = info->GetParamCount(); + @@ -59,8 +58,12 @@ + dispatchParams = new nsXPTCMiniVariant[paramCount]; + 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++) + { @@ -95,10 +98,9 @@ + } + } + -+ result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams); -+ -+ NS_RELEASE(iface_info); -+ ++ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, ++ dispatchParams); ++ + if(dispatchParams != paramBuffer) + delete [] dispatchParams; + @@ -124,8 +126,8 @@ +#include "xptcstubsdef.inc" + +#endif /* sparc || __sparc__ */ ---- /dev/null Mon May 26 13:22:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003 +--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s 2009-09-30 22:48:25.000000000 +0200 @@ -0,0 +1,104 @@ +/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * @@ -161,15 +163,15 @@ + The SCD is available from http://www.sparc.com/. +*/ + -+ .global XPTC_InvokeByIndex -+ .type XPTC_InvokeByIndex, #function ++ .global NS_InvokeByIndex_P ++ .type NS_InvokeByIndex_P, #function + +/* -+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, ++ NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, + PRUint32 paramCount, nsXPTCVariant* params); + +*/ -+XPTC_InvokeByIndex: ++NS_InvokeByIndex_P: + save %sp,-(128 + 64),%sp ! room for the register window and + ! struct pointer, rounded up to 0 % 64 + sll %i2,4,%l0 ! assume the worst case @@ -230,9 +232,9 @@ + ret + restore + -+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex ---- /dev/null Mon May 26 14:00:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003 ++ .size NS_InvokeByIndex_P, .-NS_InvokeByIndex_P +--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp 2009-09-30 22:48:25.000000000 +0200 @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * -- cgit v1.2.3