diff options
author | Jeremy Messenger <mezz@FreeBSD.org> | 2008-06-01 17:22:03 +0000 |
---|---|---|
committer | Jeremy Messenger <mezz@FreeBSD.org> | 2008-06-01 17:22:03 +0000 |
commit | 1d30d4c11ad7a5946008431619f6e238bebeaa6a (patch) | |
tree | f9b59edb1c866b9b61ae64f5f42f71e6284e43ed | |
parent | f8c1bbb8142d25240168d962ac93640b0e40e048 (diff) |
Notes
20 files changed, 849 insertions, 260 deletions
diff --git a/www/flock/Makefile b/www/flock/Makefile index 17e17e82b0f1..db53fd14cbe5 100644 --- a/www/flock/Makefile +++ b/www/flock/Makefile @@ -7,66 +7,55 @@ # PORTNAME= flock -DISTVERSION= 0.7 -PORTREVISION= 7 +DISTVERSION= 1.1.1 CATEGORIES= www -MASTER_SITES= ${MASTER_SITE_LOCAL} -# http://ftp.osuosl.org/pub/${PORTNAME}/source/${PORTVERSION}/:flock -MASTER_SITE_SUBDIR= ahze -DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \ - clucene-flock-3${EXTRACT_SUFX} +MASTER_SITES= http://ftp.osuosl.org/pub/${PORTNAME}/releases/${PORTVERSION}/ \ + http://flock.vo.llnwd.net/o23/archive/${PORTNAME}/releases/${PORTVERSION}/ +DISTNAME= ${PORTNAME}-${PORTVERSION}-source MAINTAINER= gnome@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla -LIB_DEPENDS= GraphicsMagick.1:${PORTSDIR}/graphics/GraphicsMagick \ - jasper.4:${PORTSDIR}/graphics/jasper +BUILD_DEPENDS= nss>=3.11.2:${PORTSDIR}/security/nss +LIB_DEPENDS= clucene.0:${PORTSDIR}/textproc/clucene \ + avcodec.1:${PORTSDIR}/multimedia/ffmpeg MOZILLA_NAME= Flock -CLUCENE_WRKSRC= ${WRKDIR}/clucene + +WRKSRC?= ${WRKDIR}/${PORTNAME}/mozilla WANT_GNOME= yes ALL_TARGET= default CONFIGURE_ENV= LOCALBASE=${LOCALBASE} +EXTRA_CFLAGS= -O2 HAS_CONFIGURE= yes USE_BZIP2= yes USE_GMAKE= yes -USE_GCC= 3.4+ WANT_PERL= yes - -CPPFLAGS= -I${WRKDIR}/local/include -LDFLAGS= -L${WRKDIR}/local/lib - GECKO_PLIST_PRE_FILES= lib/${MOZILLA}/chrome/icons/default/default.xpm GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/chrome/icons/default lib/${MOZILLA}/chrome/icons -FLOCK_ICON= ${MOZILLA}.xpm +FLOCK_ICON= ${MOZILLA}.xpm FLOCK_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/icons/default.xpm -CONFIGURE_ARGS= --with-clucene-prefix=${WRKDIR}/local -MOZ_OPTIONS= --enable-application=browser \ +MOZ_OPTIONS= --with-default-mozilla-five-home=${PREFIX}/lib/${MOZILLA} \ + --enable-application=browser \ --enable-system-cairo \ --enable-official-branding \ - --enable-canvas + --enable-canvas \ + --with-system-nss \ + --with-clucene-prefix=${LOCALBASE} \ + --with-ffmpeg-prefix=${LOCALBASE} +SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/${PORTNAME}.js MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome OPTIONS= SMB "Enable smb:// URI support using gnomevfs" off .include <bsd.port.pre.mk> -.if ${OSVERSION} >= 700042 -BROKEN= Does not compile with GCC 4.2 -.endif - -.if ${ARCH} == "amd64" -BROKEN= Does not build on amd64 -.endif - -.if ${ARCH}=="alpha" || ${ARCH}=="ia64" -IGNORE= core dumps on ${ARCH} -.endif +GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE} -.if ${ARCH}=="sparc64" && ${OSVERSION} < 601101 -IGNORE= core dumps on ${ARCH}, need kern.osreldate>=601101 +.if ${ARCH} == "sparc64" && ${OSVERSION} < 601101 +IGNORE= does not run, update to 6.2-RELEASE or newer .endif .if ${OSVERSION} >= 600000 @@ -78,13 +67,14 @@ post-extract:: -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \ <${FILESDIR}/flock.desktop.in >${WRKDIR}/${MOZILLA}.desktop -pre-build: - @(cd ${CLUCENE_WRKSRC} && ${SETENV} LIBS="-lcompat" \ - CC="${CC}" CXX="${CXX}" \ - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \./configure --prefix=${WRKDIR}/local --disable-shared) - @(cd ${CLUCENE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} all) - @(cd ${CLUCENE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} install) +post-patch: + ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \ + ${WRKSRC}/storage/build/Makefile.in + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/security/manager/ssl/src/Makefile.in + @${FIND} ${WRKSRC} -name all.js | ${XARGS} ${REINPLACE_CMD} -e \ + '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \ + /dom.disable_window_open_feature.toolbar/s/false/true/' pre-install: ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST} diff --git a/www/flock/distinfo b/www/flock/distinfo index 206c045c710a..0373faa7cea9 100644 --- a/www/flock/distinfo +++ b/www/flock/distinfo @@ -1,6 +1,3 @@ -MD5 (flock-0.7.tar.bz2) = cadaa412cdcc238672d1e1382d426c8f -SHA256 (flock-0.7.tar.bz2) = e278d1860f066e7cf7606f140ef73e98191c0ded947fdae5b1272d5cedb28729 -SIZE (flock-0.7.tar.bz2) = 43048787 -MD5 (clucene-flock-3.tar.bz2) = 46eb9b11e8b77b7c7deb1fbfc5636c97 -SHA256 (clucene-flock-3.tar.bz2) = 991c9f20c800f0bd22f2a721cefc7c5933fb954479feddfc3c13d1972823bfba -SIZE (clucene-flock-3.tar.bz2) = 2076764 +MD5 (flock-1.1.1-source.tar.bz2) = 3e6b6ab91547fb4fe255d770565972e2 +SHA256 (flock-1.1.1-source.tar.bz2) = 56c95e88c93f13430eebed5696cd5b3b6e7b255a542514f78c8590472ee69b02 +SIZE (flock-1.1.1-source.tar.bz2) = 53537038 diff --git a/www/flock/files/patch-Double.cpp b/www/flock/files/patch-Double.cpp index 5cd13e4ff4fe..05052cf7cc9b 100644 --- a/www/flock/files/patch-Double.cpp +++ b/www/flock/files/patch-Double.cpp @@ -7,7 +7,7 @@ -#ifdef __alpha__ -fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; -#else -+#if defined(__i386__) ++#if defined(__i386__) || defined(__amd64__) fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML; +#else +fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; diff --git a/www/flock/files/patch-allmakefiles.sh b/www/flock/files/patch-allmakefiles.sh new file mode 100644 index 000000000000..36551edb55d0 --- /dev/null +++ b/www/flock/files/patch-allmakefiles.sh @@ -0,0 +1,10 @@ +--- allmakefiles.sh.orig 2008-04-23 15:36:40.000000000 -0500 ++++ allmakefiles.sh 2008-04-23 15:36:48.000000000 -0500 +@@ -956,7 +956,6 @@ + flock/Makefile + flock/app/Makefile + flock/app/profile/extensions/Makefile +-flock/app/profile/extensions/{b01bf10c-302a-11da-b67b-000d60ca027b}/Makefile + flock/base/Makefile + flock/base/bindings/Makefile + flock/base/blog/Makefile diff --git a/www/flock/files/patch-config-rules.mk b/www/flock/files/patch-config-rules.mk index ecc3c8194dcc..8ab35f5a8326 100644 --- a/www/flock/files/patch-config-rules.mk +++ b/www/flock/files/patch-config-rules.mk @@ -1,14 +1,13 @@ ---- config/rules.mk.orig Tue Aug 26 13:28:47 2003 -+++ config/rules.mk Sun Feb 1 15:11:41 2004 -@@ -444,7 +444,11 @@ +--- config/rules.mk.orig Thu Sep 14 14:07:03 2006 ++++ config/rules.mk Wed Oct 18 11:00:09 2006 +@@ -442,9 +442,7 @@ + endif ifeq ($(OS_ARCH),FreeBSD) - ifdef IS_COMPONENT -+ifneq (,$(filter alpha ia64,$(OS_TEST))) +-ifdef IS_COMPONENT +-EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic +-endif +EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc -+else - EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -+endif - endif endif + ifeq ($(OS_ARCH),NetBSD) diff --git a/www/flock/files/patch-configure b/www/flock/files/patch-configure index 923cf5065f18..c32334efc048 100644 --- a/www/flock/files/patch-configure +++ b/www/flock/files/patch-configure @@ -1,15 +1,24 @@ ---- configure.orig Tue Oct 4 02:01:48 2005 -+++ configure Wed Nov 23 11:07:17 2005 -@@ -10016,7 +10016,7 @@ +--- configure.orig 2008-04-23 11:21:20.000000000 -0500 ++++ configure 2008-04-23 11:24:50.000000000 -0500 +@@ -1057,7 +1057,7 @@ + + MOZJPEG=62 + MOZPNG=10217 +-MOZZLIB=1.2.3 ++MOZZLIB=1.2.2 + NSPR_VERSION=4 + NSS_VERSION=3 + +@@ -10353,7 +10353,7 @@ echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-liconv $LIBS" -+LIBS="-L$LOCALBASE/lib -liconv $LIBS" ++LIBS=-L$LOCALBASE/lib "-liconv $LIBS" cat > conftest.$ac_ext <<EOF - #line 10022 "configure" + #line 10359 "configure" #include "confdefs.h" -@@ -10047,7 +10047,7 @@ +@@ -10384,7 +10384,7 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 @@ -18,16 +27,16 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6 -@@ -10057,7 +10057,7 @@ +@@ -10394,7 +10394,7 @@ echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-liconv $LIBS" +LIBS="-L$LOCALBASE/lib -liconv $LIBS" cat > conftest.$ac_ext <<EOF - #line 10063 "configure" + #line 10400 "configure" #include "confdefs.h" -@@ -10088,7 +10088,7 @@ +@@ -10425,7 +10425,7 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 diff --git a/www/flock/files/patch-embedding_base_nsEmbedAPI.cpp b/www/flock/files/patch-embedding_base_nsEmbedAPI.cpp new file mode 100644 index 000000000000..2cc9823fed1c --- /dev/null +++ b/www/flock/files/patch-embedding_base_nsEmbedAPI.cpp @@ -0,0 +1,16 @@ +--- embedding/base/nsEmbedAPI.cpp.orig 2007-10-09 20:00:30.000000000 -0400 ++++ embedding/base/nsEmbedAPI.cpp 2007-10-09 20:01:45.000000000 -0400 +@@ -53,7 +53,12 @@ static PRBool sRegistryIniti + static PRUint32 sInitCounter = 0; + + #define HACK_AROUND_THREADING_ISSUES +-//#define HACK_AROUND_NONREENTRANT_INITXPCOM ++#ifdef __FreeBSD__ ++#include <sys/param.h> ++#if __FreeBSD_version < 700042 ++#define HACK_AROUND_NONREENTRANT_INITXPCOM ++#endif ++#endif + + #ifdef HACK_AROUND_NONREENTRANT_INITXPCOM + // XXX hack class to clean up XPCOM when this module is unloaded diff --git a/www/flock/files/patch-flock_app_mozilla.in b/www/flock/files/patch-flock_app_mozilla.in new file mode 100644 index 000000000000..6d9e44597e76 --- /dev/null +++ b/www/flock/files/patch-flock_app_mozilla.in @@ -0,0 +1,125 @@ +--- flock/app/mozilla.in.orig Mon Apr 4 15:08:49 2005 ++++ flock/app/mozilla.in Wed Jun 1 14:47:45 2005 +@@ -49,51 +49,83 @@ + ## the mozilla-bin binary to work. + ## + ++# ++# MOZ_PIS, "Mozilla Plugable Init Scripts" ++# MOZ_PIS_ is the name space used ++# These variables and there meaning are specified in ++# mozilla/xpfe/bootstrap/init.d/README + moz_pis_startstop_scripts() + { +- MOZ_USER_DIR="%MOZ_USER_DIR%" +- # MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts" +- # These variables and there meaning are specified in +- # mozilla/xpfe/bootstrap/init.d/README +- MOZ_PIS_API=2 +- MOZ_PIS_MOZBINDIR="${dist_bin}" +- MOZ_PIS_SESSION_PID="$$" +- MOZ_PIS_USER_DIR="${MOZ_USER_DIR}" +- export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR +- +- case "${1}" in +- "start") +- for curr_pis in "${dist_bin}/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do +- if [ -x "${curr_pis}" ] ; then +- case "${curr_pis}" in +- *.sh) . "${curr_pis}" ;; +- *) "${curr_pis}" "start" ;; +- esac +- fi +- done +- ;; +- "stop") +- for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "${dist_bin}/init.d"/K* ; do +- if [ -x "${curr_pis}" ] ; then +- case "${curr_pis}" in +- *.sh) . "${curr_pis}" ;; +- *) "${curr_pis}" "stop" ;; +- esac +- fi +- done +- ;; +- *) +- echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts." +- exit 1 +- ;; +- esac ++ MOZ_PIS_API=2 ++ MOZ_PIS_MOZBINDIR="${dist_bin}" ++ MOZ_PIS_SESSION_PID="$$" ++ MOZ_PIS_USER_DIR="${MOZ_USER_DIR}" ++ export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR ++ ++ case "${1}" in ++ "start") ++ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/S* \ ++ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/S*; do ++ if [ -x "${curr_pis}" ]; then ++ case "${curr_pis}" in ++ *.sh) ++ . "${curr_pis}" ++ ;; ++ *) ++ ${curr_pis} "start" ++ ;; ++ esac ++ fi ++ done ++ ;; ++ "stop") ++ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/K* \ ++ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/K*; do ++ if [ -x "${curr_pis}" ]; then ++ case "${curr_pis}" in ++ *.sh) ++ . "${curr_pis}" ++ ;; ++ *) ++ ${curr_pis} "stop" ++ ;; ++ esac ++ fi ++ done ++ ;; ++ *) ++ echo "$0: Internal error in moz_pis_startstop_scripts." 1>&2 ++ exit 1 ++ ;; ++ esac + } + +-#uncomment for debugging ++# uncomment for debugging + #set -x + +-moz_libdir=%MOZAPPDIR% +-MRE_HOME=%MREDIR% ++# ++# variables ++# ++#location="new-tab" ++#MOZILLA_UILOCALE="en-US" ++#MOZILLA_UIREGION="US" ++ ++# ++# working definitions ++# ++MOZ_USER_DIR="%MOZ_USER_DIR%" ++moz_libdir="%MOZAPPDIR%" ++MRE_HOME="%MREDIR%" ++ ++debugging= # set the debugging level ++use_openFile="yes" # use openFile() for file/dir ++here=`pwd` ++ ++if [ ! -d "${MRE_HOME}" ]; then ++ # use moz_libdir as MRE_HOME ++ MRE_HOME="${moz_libdir}" ++fi ++export MRE_HOME + + # Use run-mozilla.sh in the current dir if it exists + # If not, then start resolving symlinks until we find run-mozilla.sh diff --git a/www/flock/files/patch-gfx_src_ps_nsFontMetricsPS.cpp b/www/flock/files/patch-gfx_src_ps_nsFontMetricsPS.cpp deleted file mode 100644 index 07014d87fa82..000000000000 --- a/www/flock/files/patch-gfx_src_ps_nsFontMetricsPS.cpp +++ /dev/null @@ -1,26 +0,0 @@ ---- gfx/src/ps/nsFontMetricsPS.cpp.orig Fri Dec 15 01:42:25 2006 -+++ gfx/src/ps/nsFontMetricsPS.cpp Fri Dec 15 01:41:20 2006 -@@ -1037,8 +1037,10 @@ nsFontPSXft::Init(nsXftEntry* aEntry, - - nsFontPSXft::~nsFontPSXft() - { -- if (mEntry->mFace) -+ if (mEntry->mFace) { - FT_Done_Face(mEntry->mFace); -+ mEntry->mFace = nsnull; -+ } - - if (FT_Done_FreeType(mFreeTypeLibrary)) - return; -@@ -2327,8 +2329,10 @@ nsXftType1Generator::Init(nsXftEntry* aE - - nsXftType1Generator::~nsXftType1Generator() - { -- if (mEntry->mFace) -+ if (mEntry->mFace) { - FT_Done_Face(mEntry->mFace); -+ mEntry->mFace = nsnull; -+ } - - if (FT_Done_FreeType(mFreeTypeLibrary)) - return; diff --git a/www/flock/files/patch-js_src_Makefile.in b/www/flock/files/patch-js_src_Makefile.in new file mode 100644 index 000000000000..fb0bd7f1986b --- /dev/null +++ b/www/flock/files/patch-js_src_Makefile.in @@ -0,0 +1,10 @@ +--- js/src/Makefile.in.orig Wed Oct 18 09:23:09 2006 ++++ js/src/Makefile.in Wed Oct 18 09:27:27 2006 +@@ -244,6 +244,7 @@ + endif + + LDFLAGS += $(pathsubst -l%,$(NSPR_STATIC_PATH)/%.a,$(NSPR_LIBS)) ++LDFLAGS += -lc + + # BeOS and HP-UX do not require the extra linking of "-lm" + ifeq (,$(filter BeOS HP-UX WINNT WINCE OpenVMS,$(OS_ARCH))) diff --git a/www/flock/files/patch-js_src_jsnum.c b/www/flock/files/patch-js_src_jsnum.c new file mode 100644 index 000000000000..a3ef2769ab9c --- /dev/null +++ b/www/flock/files/patch-js_src_jsnum.c @@ -0,0 +1,28 @@ +--- js/src/jsnum.c.orig Sun Nov 5 18:37:07 2006 ++++ js/src/jsnum.c Sun Nov 5 18:42:31 2006 +@@ -45,6 +45,9 @@ + #if defined(XP_WIN) || defined(XP_OS2) + #include <float.h> + #endif ++#if defined(__FreeBSD__) ++#include <sys/param.h> ++#endif + #include <locale.h> + #include <limits.h> + #include <math.h> +@@ -532,7 +535,15 @@ static jsdouble NaN; + + #else + ++#if defined(__FreeBSD__) && __FreeBSD_version >= 601000 ++#include <fenv.h> ++#define FIX_FPU() (fedisableexcept(FE_ALL_EXCEPT)) ++ ++#else ++ + #define FIX_FPU() ((void)0) ++ ++#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */ + + #endif + diff --git a/www/flock/files/patch-js_src_liveconnect_nsISecureLiveconnect.h b/www/flock/files/patch-js_src_liveconnect_nsISecureLiveconnect.h new file mode 100644 index 000000000000..a672de913dd6 --- /dev/null +++ b/www/flock/files/patch-js_src_liveconnect_nsISecureLiveconnect.h @@ -0,0 +1,14 @@ +--- js/src/liveconnect/nsISecureLiveconnect.h.orig 2007-10-09 20:03:00.000000000 -0400 ++++ js/src/liveconnect/nsISecureLiveconnect.h 2007-10-09 20:03:50.000000000 -0400 +@@ -51,7 +51,11 @@ + #include "nsIFactory.h" + #include "jni.h" + ++#if JS_BYTES_PER_WORD == 8 ++typedef jlong jsobject; ++#else + typedef jint jsobject; ++#endif + + class nsISecureLiveconnect : public nsISupports { + public: diff --git a/www/flock/files/patch-libm b/www/flock/files/patch-libm index 7de64b2a5068..d9295c9068d4 100644 --- a/www/flock/files/patch-libm +++ b/www/flock/files/patch-libm @@ -1,19 +1,3 @@ ---- js/src/Makefile.in Thu Aug 4 22:26:52 2005 -+++ js/src/Makefile.in Thu Aug 4 23:02:32 2005 -@@ -148,5 +148,4 @@ - endif - --FDLIBM_LIBRARY = fdlibm/$(LIB_PREFIX)fdm.$(LIB_SUFFIX) - JSMATH_PRELINK = jsmathtemp.o - JS_SAFE_ARENA = 1 -@@ -320,7 +319,4 @@ - endif - @$(RM) -f $(JSMATH_PRELINK) --else --# Create dependency so we build fdlibm --jsmath.o: $(FDLIBM_LIBRARY) Makefile.in - endif - --- js/Makefile.in Sun Mar 23 14:36:00 2003 +++ js/Makefile.in Thu Aug 4 23:08:06 2005 @@ -46,5 +46,5 @@ diff --git a/www/flock/files/patch-nopangoxft b/www/flock/files/patch-nopangoxft deleted file mode 100644 index 5a11c8c4864e..000000000000 --- a/www/flock/files/patch-nopangoxft +++ /dev/null @@ -1,20 +0,0 @@ ---- gfx/src/gtk/mozilla-decoder.cpp.orig 2005-08-18 22:41:26.000000000 -0400 -+++ gfx/src/gtk/mozilla-decoder.cpp 2005-08-18 22:38:01.000000000 -0400 -@@ -40,7 +40,7 @@ - #define PANGO_ENABLE_ENGINE - - #include "mozilla-decoder.h" --#include <pango/pangoxft.h> -+#include <pango/pangocairo.h> - #include <pango/pangofc-fontmap.h> - #include <pango/pangofc-font.h> - #include <gdk/gdkx.h> -@@ -208,7 +208,7 @@ - } - } - -- pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_xft_get_font_map(GDK_DISPLAY(),gdk_x11_get_default_screen())), -+ pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_cairo_font_map_get_default()), - mozilla_find_decoder, - NULL, - NULL); diff --git a/www/flock/files/patch-security-coreconf-FreeBSD.mk b/www/flock/files/patch-security-coreconf-FreeBSD.mk index 3e0e14acaaf2..0f7a04a0279f 100644 --- a/www/flock/files/patch-security-coreconf-FreeBSD.mk +++ b/www/flock/files/patch-security-coreconf-FreeBSD.mk @@ -1,6 +1,6 @@ ---- security/coreconf/FreeBSD.mk.orig Wed Mar 26 20:17:25 2003 -+++ security/coreconf/FreeBSD.mk Sun Nov 21 22:59:49 2004 -@@ -43,8 +43,12 @@ +--- security/coreconf/FreeBSD.mk.orig Mon Sep 25 18:26:23 2006 ++++ security/coreconf/FreeBSD.mk Mon Sep 25 18:27:03 2006 +@@ -45,8 +45,12 @@ ifeq ($(OS_TEST),alpha) CPU_ARCH = alpha else @@ -13,16 +13,12 @@ OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -@@ -71,7 +75,11 @@ +@@ -73,7 +77,7 @@ DLL_SUFFIX = so.1.0 endif -MKSHLIB = $(CC) $(DSO_LDOPTS) -+ifneq (,$(filter alpha ia64,$(OS_TEST))) +MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@ -+else -+MKSHLIB = $(CC) -Wl,-Bsymbolic $(DSO_LDOPTS) -o $@ -+endif ifdef MAPFILE - # Add LD options to restrict exported symbols to those in the map file + MKSHLIB += -Wl,--version-script,$(MAPFILE) endif diff --git a/www/flock/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/flock/files/patch-security_manager_ssl_src_nsNSSComponent.cpp new file mode 100644 index 000000000000..f30d12229ccd --- /dev/null +++ b/www/flock/files/patch-security_manager_ssl_src_nsNSSComponent.cpp @@ -0,0 +1,10 @@ +--- security/manager/ssl/src/nsNSSComponent.cpp.orig Mon May 29 23:10:54 2006 ++++ security/manager/ssl/src/nsNSSComponent.cpp Mon May 29 23:12:22 2006 +@@ -110,6 +110,7 @@ + #include "nss.h" + #include "pk11func.h" + #include "ssl.h" ++#define NSS_ENABLE_ECC 1 + #include "sslproto.h" + #include "secmod.h" + #include "sechash.h" diff --git a/www/flock/files/patch-storage_build_Makefile.in b/www/flock/files/patch-storage_build_Makefile.in new file mode 100644 index 000000000000..18202a5a61d8 --- /dev/null +++ b/www/flock/files/patch-storage_build_Makefile.in @@ -0,0 +1,10 @@ +--- storage/build/Makefile.in.orig Tue Feb 21 11:18:56 2006 ++++ storage/build/Makefile.in Sun Nov 5 16:16:06 2006 +@@ -77,6 +77,7 @@ + $(EXTRA_DSO_LIBS) \ + $(MOZ_COMPONENT_LIBS) \ + $(MOZ_JS_LIBS) \ ++ %%PTHREAD_LIBS%% \ + $(NULL) + + include $(topsrcdir)/config/rules.mk diff --git a/www/flock/files/patch-sysnss b/www/flock/files/patch-sysnss index d854cabc053a..d69df4045ea9 100644 --- a/www/flock/files/patch-sysnss +++ b/www/flock/files/patch-sysnss @@ -7,27 +7,34 @@ - ifndef MOZ_NATIVE_JPEG tier_1_dirs += jpeg ---- security/manager/Makefile.in Mon Mar 28 19:56:36 2005 -+++ security/manager/Makefile.in Tue Aug 2 09:02:50 2005 -@@ -37,16 +37,7 @@ +--- security/manager/Makefile.in.orig Tue Mar 28 14:36:54 2006 ++++ security/manager/Makefile.in Tue Mar 28 14:40:29 2006 +@@ -54,22 +54,13 @@ + SSL3_LIB \ SOFTOKEN3_LIB \ SOFTOKEN3_CHK \ - LOADABLE_ROOT_MODULE \ - HAVE_FREEBL_MODULES \ + HAVE_FREEBL_LIBS \ + HAVE_FREEBL_LIBS_32 \ + HAVE_FREEBL_LIBS_32INT64 \ + HAVE_FREEBL_LIBS_64 \ $(NULL) - --LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX) - +-LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX) + endif + -NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX) -SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX) -SSL3_LIB = $(DLL_PREFIX)ssl3$(DLL_SUFFIX) -SOFTOKEN3_LIB = $(DLL_PREFIX)softokn3$(DLL_SUFFIX) -SOFTOKEN3_CHK = $(DLL_PREFIX)softokn3.chk - - ifneq (,$(filter SunOS HP-UX,$(OS_ARCH))) - ifeq (,$(filter i86pc ia64,$(OS_TEST))) -@@ -132,9 +123,4 @@ + # Default + HAVE_FREEBL_LIBS = 1 + +@@ -217,11 +208,6 @@ .nss.cleaned: .nss.checkout + ifndef MOZ_NATIVE_NSS $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean - $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean -ifndef SKIP_CHK @@ -35,35 +42,17 @@ - $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean -endif touch $@ + endif -@@ -153,43 +139,4 @@ - ifeq ($(OS_ARCH),WINNT) - cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) --else -- cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) --endif +@@ -248,47 +234,6 @@ + cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) + endif + ifndef MOZ_NATIVE_NSS - $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) -ifndef SKIP_CHK - $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) - $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) -endif --ifndef DISABLE_DIST_GRE -- $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(GRE_DIST) --ifndef SKIP_CHK -- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(GRE_DIST) --endif -- $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(GRE_DIST) -- $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(GRE_DIST) -- $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(GRE_DIST) -- $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(GRE_DIST) --ifdef HAVE_FREEBL_MODULES -- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(GRE_DIST) -- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(GRE_DIST) -- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(GRE_DIST) -- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(GRE_DIST) --endif --endif --ifndef _SKIP_OLD_GRE_INSTALL - $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DIST)/bin -ifndef SKIP_CHK - $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DIST)/bin @@ -72,17 +61,41 @@ - $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DIST)/bin - $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DIST)/bin - $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin --ifdef HAVE_FREEBL_MODULES -- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DIST)/bin -- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DIST)/bin -- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin -- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin +-ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DIST)/bin +-endif +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DIST)/bin +-endif +-ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DIST)/bin +-endif +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DIST)/bin +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DIST)/bin +-endif +-ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DIST)/bin +-endif +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DIST)/bin +-endif +-ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DIST)/bin +-endif +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DIST)/bin +- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin -endif endif $(MAKE) -C boot $@ -@@ -200,18 +147,4 @@ + $(MAKE) -C ssl $@ +@@ -299,42 +244,6 @@ install:: + ifndef MOZ_NATIVE_NSS - $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir) -ifndef SKIP_CHK - $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir) @@ -91,88 +104,71 @@ - $(SYSINSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DESTDIR)$(mozappdir) - $(SYSINSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DESTDIR)$(mozappdir) - $(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir) --ifdef HAVE_FREEBL_MODULES -- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DESTDIR)$(mozappdir) -- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DESTDIR)$(mozappdir) -- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir) -- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir) +-ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DESTDIR)$(mozappdir) +-endif +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DESTDIR)$(mozappdir) +-endif +-ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DESTDIR)$(mozappdir) +-endif +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DESTDIR)$(mozappdir) +-endif +-ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DESTDIR)$(mozappdir) +-endif +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DESTDIR)$(mozappdir) -endif +-ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DESTDIR)$(mozappdir) +-endif +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir) +-endif + endif $(MAKE) -C boot $@ $(MAKE) -C ssl $@ -@@ -227,9 +160,4 @@ +@@ -351,12 +260,6 @@ + $(MAKE) -C pki $@ endif - $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + ifndef MOZ_NATIVE_NSS +- $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean - $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean -ifndef SKIP_CHK - $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean - $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean -endif + endif echo-requires-recursive:: ---- security/manager/ssl/src/Makefile.in Wed Jan 7 08:36:51 2004 -+++ security/manager/ssl/src/Makefile.in Tue Aug 2 09:13:07 2005 -@@ -117,5 +117,5 @@ - # Use local includes because they are inserted before INCLUDES - # so that Mozilla's nss.h is used, not glibc's --LOCAL_INCLUDES += -I$(DIST)/public/nss \ -+LOCAL_INCLUDES += -I$(LOCALBASE)/include/nss/nss \ - $(NULL) +--- security/manager/ssl/src/Makefile.in.orig Mon Aug 14 19:22:52 2006 ++++ security/manager/ssl/src/Makefile.in Thu Aug 31 15:17:20 2006 +@@ -124,19 +124,19 @@ + pipboot \ + $(NULL) ---- config/config.mk Tue Oct 12 00:11:11 2004 -+++ config/config.mk Tue Aug 2 09:19:18 2005 -@@ -170,5 +170,4 @@ - NSS_LIBS = \ - $(LIBS_DIR) \ -- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ - -lsmime3 \ - -lssl3 \ -@@ -189,11 +188,5 @@ - endif +-EXTRA_DEPS = $(NSS_DEP_LIBS) --NSS_DEP_LIBS = \ -- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ -- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \ -- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \ -- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \ -- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \ -- $(NULL) -+NSS_DEP_LIBS = + DEFINES += -DNSS_ENABLE_ECC - MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX) ---- security/manager/ssl/src/nsNSSComponent.cpp Thu Apr 22 15:48:30 2004 -+++ security/manager/ssl/src/nsNSSComponent.cpp Thu Aug 4 16:44:27 2005 -@@ -88,4 +88,8 @@ - } + # Use local includes because they are inserted before INCLUDES + # so that Mozilla's nss.h is used, not glibc's +-LOCAL_INCLUDES += $(NSS_CFLAGS) ++LOCAL_INCLUDES += -I%%LOCALBASE%%/include/nss/nss -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <errno.h> -+ - #ifdef PR_LOGGING - PRLogModuleInfo* gPIPNSSLog = nsnull; -@@ -406,4 +410,5 @@ - const char *possible_ckbi_locations[] = { - NS_GRE_DIR, -+ NS_UNIX_LIB_DIR, - NS_XPCOM_CURRENT_PROCESS_DIR - }; -@@ -419,5 +424,5 @@ - } + EXTRA_DSO_LDOPTS += \ + $(MOZ_UNICHARUTIL_LIBS) \ + $(MOZ_COMPONENT_LIBS) \ + $(MOZ_JS_LIBS) \ + $(NSS_LIBS) \ ++ $(LOCAL_INCLUDES) \ + $(NULL) -- char *fullModuleName = nsnull; -+ char *fullModuleName; - #ifdef XP_MAC - nsCAutoString nativePath; -@@ -431,4 +436,12 @@ - fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi"); - #endif -+ if (fullModuleName == nsnull) -+ continue; -+ struct stat sb; -+ if (stat(fullModuleName, &sb)) { -+ if (errno != ENOENT) -+ perror(fullModuleName); -+ continue; -+ } - /* If a module exists with the same name, delete it. */ - NS_ConvertUCS2toUTF8 modNameUTF8(modName); + include $(topsrcdir)/config/rules.mk diff --git a/www/flock/files/patch-widget_src_gtk2_nsDragService.cpp b/www/flock/files/patch-widget_src_gtk2_nsDragService.cpp deleted file mode 100644 index df9abaef67cc..000000000000 --- a/www/flock/files/patch-widget_src_gtk2_nsDragService.cpp +++ /dev/null @@ -1,18 +0,0 @@ ---- widget/src/gtk2/nsDragService.cpp.nograb 2007-01-16 21:26:49.000000000 -0500 -+++ widget/src/gtk2/nsDragService.cpp 2007-01-16 21:27:04.000000000 -0500 -@@ -799,7 +799,6 @@ - void - nsDragService::GetTargetDragData(GdkAtom aFlavor) - { -- gtk_grab_add(mHiddenWidget); - PR_LOG(sDragLm, PR_LOG_DEBUG, ("getting data flavor %d\n", aFlavor)); - PR_LOG(sDragLm, PR_LOG_DEBUG, ("mLastWidget is %p and mLastContext is %p\n", - mTargetWidget, mTargetDragContext)); -@@ -817,7 +816,6 @@ - gtk_main_iteration(); - } - PR_LOG(sDragLm, PR_LOG_DEBUG, ("finished inner iteration\n")); -- gtk_grab_remove(mHiddenWidget); - } - - void diff --git a/www/flock/files/patch-xptcall-alpha b/www/flock/files/patch-xptcall-alpha new file mode 100644 index 000000000000..29631a98e61e --- /dev/null +++ b/www/flock/files/patch-xptcall-alpha @@ -0,0 +1,459 @@ +--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp.orig Tue May 27 01:37:25 2003 ++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp Tue May 27 01:37:00 2003 +@@ -0,0 +1,184 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: NPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Netscape Public License ++ * Version 1.1 (the "License"); you may not use this file except in ++ * compliance with the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/NPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1998 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the NPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the NPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++/* Platform specific code to invoke XPCOM methods on native objects */ ++ ++/* contributed by Glen Nakamura <glen.nakamura@usa.net> */ ++ ++#include "xptcprivate.h" ++ ++/* Prototype specifies unmangled function name and disables unused warning */ ++static void ++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s) ++__asm__("invoke_copy_to_stack") __attribute__((unused)); ++ ++static void ++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s) ++{ ++ const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer ++ ++ for(PRUint32 i = 0; i < paramCount; i++, d++, s++) ++ { ++ if(s->IsPtrData()) ++ { ++ *d = (PRUint64)s->ptr; ++ continue; ++ } ++ switch(s->type) ++ { ++ case nsXPTType::T_I8 : *d = (PRUint64)s->val.i8; break; ++ case nsXPTType::T_I16 : *d = (PRUint64)s->val.i16; break; ++ case nsXPTType::T_I32 : *d = (PRUint64)s->val.i32; break; ++ case nsXPTType::T_I64 : *d = (PRUint64)s->val.i64; break; ++ case nsXPTType::T_U8 : *d = (PRUint64)s->val.u8; break; ++ case nsXPTType::T_U16 : *d = (PRUint64)s->val.u16; break; ++ case nsXPTType::T_U32 : *d = (PRUint64)s->val.u32; break; ++ case nsXPTType::T_U64 : *d = (PRUint64)s->val.u64; break; ++ case nsXPTType::T_FLOAT : ++ if(i < NUM_ARG_REGS) ++ { ++ // convert floats to doubles if they are to be passed ++ // via registers so we can just deal with doubles later ++ union { PRUint64 u64; double d; } t; ++ t.d = (double)s->val.f; ++ *d = t.u64; ++ } ++ else ++ // otherwise copy to stack normally ++ *d = (PRUint64)s->val.u32; ++ break; ++ case nsXPTType::T_DOUBLE : *d = (PRUint64)s->val.u64; break; ++ case nsXPTType::T_BOOL : *d = (PRUint64)s->val.b; break; ++ case nsXPTType::T_CHAR : *d = (PRUint64)s->val.c; break; ++ case nsXPTType::T_WCHAR : *d = (PRUint64)s->val.wc; break; ++ default: ++ // all the others are plain pointer types ++ *d = (PRUint64)s->val.p; ++ break; ++ } ++ } ++} ++ ++/* ++ * XPTC_PUBLIC_API(nsresult) ++ * XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, ++ * PRUint32 paramCount, nsXPTCVariant* params, void* vt) ++ */ ++__asm__( ++ "#### XPTC_InvokeByIndex ####\n" ++".text\n\t" ++ ".align 5\n\t" ++ ".globl XPTC_InvokeByIndex\n\t" ++ ".ent XPTC_InvokeByIndex\n" ++"XPTC_InvokeByIndex:\n\t" ++ ".frame $15,32,$26,0\n\t" ++ ".mask 0x4008000,-32\n\t" ++ "ldgp $29,0($27)\n" ++"$XPTC_InvokeByIndex..ng:\n\t" ++ "subq $30,32,$30\n\t" ++ "stq $26,0($30)\n\t" ++ "stq $15,8($30)\n\t" ++ "bis $30,$30,$15\n\t" ++ ".prologue 1\n\t" ++ ++ /* ++ * Allocate enough stack space to hold the greater of 6 or "paramCount"+1 ++ * parameters. (+1 for "this" pointer) Room for at least 6 parameters ++ * is required for storage of those passed via registers. ++ */ ++ ++ "bis $31,5,$2\n\t" /* count = MAX(5, "paramCount") */ ++ "cmplt $2,$18,$1\n\t" ++ "cmovne $1,$18,$2\n\t" ++ "s8addq $2,16,$1\n\t" /* room for count+1 params (8 bytes each) */ ++ "bic $1,15,$1\n\t" /* stack space is rounded up to 0 % 16 */ ++ "subq $30,$1,$30\n\t" ++ ++ "stq $16,0($30)\n\t" /* save "that" (as "this" pointer) */ ++ "stq $17,16($15)\n\t" /* save "methodIndex" */ ++ ++ "addq $30,8,$16\n\t" /* pass stack pointer */ ++ "bis $18,$18,$17\n\t" /* pass "paramCount" */ ++ "bis $19,$19,$18\n\t" /* pass "params" */ ++ "bsr $26,$invoke_copy_to_stack..ng\n\t" /* call invoke_copy_to_stack */ ++ ++ /* ++ * Copy the first 6 parameters to registers and remove from stack frame. ++ * Both the integer and floating point registers are set for each parameter ++ * except the first which is the "this" pointer. (integer only) ++ * The floating point registers are all set as doubles since the ++ * invoke_copy_to_stack function should have converted the floats. ++ */ ++ "ldq $16,0($30)\n\t" /* integer registers */ ++ "ldq $17,8($30)\n\t" ++ "ldq $18,16($30)\n\t" ++ "ldq $19,24($30)\n\t" ++ "ldq $20,32($30)\n\t" ++ "ldq $21,40($30)\n\t" ++ "ldt $f17,8($30)\n\t" /* floating point registers */ ++ "ldt $f18,16($30)\n\t" ++ "ldt $f19,24($30)\n\t" ++ "ldt $f20,32($30)\n\t" ++ "ldt $f21,40($30)\n\t" ++ ++ "addq $30,48,$30\n\t" /* remove params from stack */ ++ ++ /* ++ * Call the virtual function with the constructed stack frame. ++ */ ++ "bis $16,$16,$1\n\t" /* load "this" */ ++ "ldq $2,16($15)\n\t" /* load "methodIndex" */ ++ "ldq $1,0($1)\n\t" /* load vtable */ ++#if 0 ++ "s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */ ++#else ++ "mulq $2, 8, $2\n\t" ++ "addq $2, 0, $2\n\t" /* vtable index = "methodIndex" * 16 + 24 */ ++#endif ++ "addq $1,$2,$1\n\t" ++ "ldq $27,0($1)\n\t" /* load address of function */ ++ "jsr $26,($27),0\n\t" /* call virtual function */ ++ "ldgp $29,0($26)\n\t" ++ ++ "bis $15,$15,$30\n\t" ++ "ldq $26,0($30)\n\t" ++ "ldq $15,8($30)\n\t" ++ "addq $30,32,$30\n\t" ++ "ret $31,($26),1\n\t" ++ ".end XPTC_InvokeByIndex" ++ ); ++ +--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp.orig Tue May 27 01:37:30 2003 ++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp Tue May 27 01:37:04 2003 +@@ -0,0 +1,269 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: NPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Netscape Public License ++ * Version 1.1 (the "License"); you may not use this file except in ++ * compliance with the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/NPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1999 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the NPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the NPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++/* Implement shared vtbl methods. */ ++ ++/* contributed by Glen Nakamura <glen.nakamura@usa.net> */ ++ ++#include <sys/types.h> ++#include <machine/cpu.h> ++#include "xptcprivate.h" ++ ++/* Prototype specifies unmangled function name and disables unused warning */ ++static nsresult ++PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args) ++__asm__("PrepareAndDispatch") __attribute__((unused)); ++ ++static nsresult ++PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args) ++{ ++ const PRUint8 PARAM_BUFFER_COUNT = 16; ++ const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer ++ ++ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; ++ nsXPTCMiniVariant* dispatchParams = NULL; ++ nsIInterfaceInfo* iface_info = NULL; ++ const nsXPTMethodInfo* info; ++ PRUint8 paramCount; ++ PRUint8 i; ++ nsresult result = NS_ERROR_FAILURE; ++ ++ 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"); ++ ++ paramCount = info->GetParamCount(); ++ ++ // setup variant array pointer ++ if(paramCount > PARAM_BUFFER_COUNT) ++ dispatchParams = new nsXPTCMiniVariant[paramCount]; ++ else ++ dispatchParams = paramBuffer; ++ NS_ASSERTION(dispatchParams,"no place for params"); ++ ++ // args[0] to args[NUM_ARG_REGS] hold floating point register values ++ PRUint64* ap = args + NUM_ARG_REGS; ++ for(i = 0; i < paramCount; i++, ap++) ++ { ++ const nsXPTParamInfo& param = info->GetParam(i); ++ const nsXPTType& type = param.GetType(); ++ nsXPTCMiniVariant* dp = &dispatchParams[i]; ++ ++ if(param.IsOut() || !type.IsArithmetic()) ++ { ++ dp->val.p = (void*) *ap; ++ continue; ++ } ++ // else ++ switch(type) ++ { ++ case nsXPTType::T_I8 : dp->val.i8 = (PRInt8) *ap; break; ++ case nsXPTType::T_I16 : dp->val.i16 = (PRInt16) *ap; break; ++ case nsXPTType::T_I32 : dp->val.i32 = (PRInt32) *ap; break; ++ case nsXPTType::T_I64 : dp->val.i64 = (PRInt64) *ap; break; ++ case nsXPTType::T_U8 : dp->val.u8 = (PRUint8) *ap; break; ++ case nsXPTType::T_U16 : dp->val.u16 = (PRUint16) *ap; break; ++ case nsXPTType::T_U32 : dp->val.u32 = (PRUint32) *ap; break; ++ case nsXPTType::T_U64 : dp->val.u64 = (PRUint64) *ap; break; ++ case nsXPTType::T_FLOAT : ++ if(i < NUM_ARG_REGS) ++ { ++ // floats passed via registers are stored as doubles ++ // in the first NUM_ARG_REGS entries in args ++ dp->val.u64 = (PRUint64) args[i]; ++ dp->val.f = (float) dp->val.d; // convert double to float ++ } ++ else ++ dp->val.u32 = (PRUint32) *ap; ++ break; ++ case nsXPTType::T_DOUBLE : ++ // doubles passed via registers are also stored ++ // in the first NUM_ARG_REGS entries in args ++ dp->val.u64 = (i < NUM_ARG_REGS) ? args[i] : *ap; ++ break; ++ case nsXPTType::T_BOOL : dp->val.b = (PRBool) *ap; break; ++ case nsXPTType::T_CHAR : dp->val.c = (char) *ap; break; ++ case nsXPTType::T_WCHAR : dp->val.wc = (PRUnichar) *ap; break; ++ default: ++ NS_ASSERTION(0, "bad type"); ++ break; ++ } ++ } ++ ++ result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams); ++ ++ NS_RELEASE(iface_info); ++ ++ if(dispatchParams != paramBuffer) ++ delete [] dispatchParams; ++ ++ return result; ++} ++ ++/* ++ * SharedStub() ++ * Collects arguments and calls PrepareAndDispatch. The "methodIndex" is ++ * passed to this function via $1 to preserve the argument registers. ++ */ ++__asm__( ++ "#### SharedStub ####\n" ++".text\n\t" ++ ".align 5\n\t" ++ ".ent SharedStub\n" ++"SharedStub:\n\t" ++ ".frame $30,96,$26,0\n\t" ++ ".mask 0x4000000,-96\n\t" ++ "ldgp $29,0($27)\n" ++"$SharedStub..ng:\n\t" ++ "subq $30,96,$30\n\t" ++ "stq $26,0($30)\n\t" ++ ".prologue 1\n\t" ++ ++ /* ++ * Store arguments passed via registers to the stack. ++ * Floating point registers are stored as doubles and converted ++ * to floats in PrepareAndDispatch if necessary. ++ */ ++ "stt $f17,16($30)\n\t" /* floating point registers */ ++ "stt $f18,24($30)\n\t" ++ "stt $f19,32($30)\n\t" ++ "stt $f20,40($30)\n\t" ++ "stt $f21,48($30)\n\t" ++ "stq $17,56($30)\n\t" /* integer registers */ ++ "stq $18,64($30)\n\t" ++ "stq $19,72($30)\n\t" ++ "stq $20,80($30)\n\t" ++ "stq $21,88($30)\n\t" ++ ++ /* ++ * Call PrepareAndDispatch function. ++ */ ++ "bis $1,$1,$17\n\t" /* pass "methodIndex" */ ++ "addq $30,16,$18\n\t" /* pass "args" */ ++ "bsr $26,$PrepareAndDispatch..ng\n\t" ++ ++ "ldq $26,0($30)\n\t" ++ "addq $30,96,$30\n\t" ++ "ret $31,($26),1\n\t" ++ ".end SharedStub" ++ ); ++ ++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++/* ++ * nsresult nsXPTCStubBase::Stub##n() ++ * Sets register $1 to "methodIndex" and jumps to SharedStub. ++ */ ++#define STUB_ENTRY(n) \ ++__asm__( \ ++ "#### Stub"#n" ####\n" \ ++".text\n\t" \ ++ ".align 5\n\t" \ ++ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n\t" \ ++ ".ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \ ++"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n\t" \ ++ ".frame $30,0,$26,0\n\t" \ ++ "ldgp $29,0($27)\n" \ ++"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n\t" \ ++ ".prologue 1\n\t" \ ++ "lda $1,"#n"\n\t" \ ++ "br $31,$SharedStub..ng\n\t" \ ++ ".end _ZN14nsXPTCStubBase5Stub"#n"Ev" \ ++ ); \ ++__asm__( \ ++ "#### Stub"#n" ####\n" \ ++".text\n\t" \ ++ ".align 5\n\t" \ ++ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n\t" \ ++ ".ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \ ++"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n\t" \ ++ ".frame $30,0,$26,0\n\t" \ ++ "ldgp $29,0($27)\n" \ ++"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n\t" \ ++ ".prologue 1\n\t" \ ++ "lda $1,"#n"\n\t" \ ++ "br $31,$SharedStub..ng\n\t" \ ++ ".end _ZN14nsXPTCStubBase6Stub"#n"Ev" \ ++ ); \ ++__asm__( \ ++ "#### Stub"#n" ####\n" \ ++".text\n\t" \ ++ ".align 5\n\t" \ ++ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n\t" \ ++ ".ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \ ++"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n\t" \ ++ ".frame $30,0,$26,0\n\t" \ ++ "ldgp $29,0($27)\n" \ ++"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n\t" \ ++ ".prologue 1\n\t" \ ++ "lda $1,"#n"\n\t" \ ++ "br $31,$SharedStub..ng\n\t" \ ++ ".end _ZN14nsXPTCStubBase7Stub"#n"Ev" \ ++ ); ++#else ++/* ++ * nsresult nsXPTCStubBase::Stub##n() ++ * Sets register $1 to "methodIndex" and jumps to SharedStub. ++ */ ++#define STUB_ENTRY(n) \ ++nsresult nsXPTCStubBase::Stub##n() \ ++{ \ ++ nsresult result; \ ++__asm__ __volatile__( \ ++ "ldah $29,0($27)\n\t" \ ++ "lda $29,0($29)\n\t" \ ++ "lda $1, "#n"\n\t" \ ++ "br $31, $SharedStub..ng\n\t" \ ++ "mov $0, %0\n\t" \ ++ : "=r" (result) \ ++ ); \ ++ return result; \ ++} ++#endif ++ ++#define SENTINEL_ENTRY(n) \ ++nsresult nsXPTCStubBase::Sentinel##n() \ ++{ \ ++ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ ++ return NS_ERROR_NOT_IMPLEMENTED; \ ++} ++ ++#include "xptcstubsdef.inc" ++ |