diff options
author | ahze <ahze@FreeBSD.org> | 2005-01-10 07:24:49 +0000 |
---|---|---|
committer | ahze <ahze@FreeBSD.org> | 2005-01-10 07:24:49 +0000 |
commit | e2cfc49604a50057e6dbced7a6f8babfdcf5c458 (patch) | |
tree | 36a9901f4c1046409579fa5af42f9d49ef16e829 /www | |
parent | cf425e4436f7fe8e30336b5a7a2f851ea8bad0f1 (diff) | |
download | FreeBSD-ports-e2cfc49604a50057e6dbced7a6f8babfdcf5c458.zip FreeBSD-ports-e2cfc49604a50057e6dbced7a6f8babfdcf5c458.tar.gz |
- Update to 0.70, now based upon firefox 1.0 codebase.
Patches & PKG[DE]INSTALL scripts obtained from: www/mozilla or www/firefox
Diffstat (limited to 'www')
-rw-r--r-- | www/kompozer/Makefile | 27 | ||||
-rw-r--r-- | www/kompozer/distinfo | 4 | ||||
-rw-r--r-- | www/kompozer/files/extra-patch-config_make-jars.pl | 10 | ||||
-rw-r--r-- | www/kompozer/files/mozconfig.in | 14 | ||||
-rw-r--r-- | www/kompozer/files/patch-build_unix_mozilla-xpcom.pc.in | 8 | ||||
-rw-r--r-- | www/kompozer/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp | 29 | ||||
-rw-r--r-- | www/kompozer/files/patch-xptcall-amd64 | 386 | ||||
-rw-r--r-- | www/kompozer/pkg-deinstall.in | 25 | ||||
-rw-r--r-- | www/kompozer/pkg-descr | 8 | ||||
-rw-r--r-- | www/kompozer/pkg-install.in | 32 | ||||
-rw-r--r-- | www/nvu/Makefile | 27 | ||||
-rw-r--r-- | www/nvu/distinfo | 4 | ||||
-rw-r--r-- | www/nvu/files/extra-patch-config_make-jars.pl | 10 | ||||
-rw-r--r-- | www/nvu/files/mozconfig.in | 14 | ||||
-rw-r--r-- | www/nvu/files/patch-build_unix_mozilla-xpcom.pc.in | 8 | ||||
-rw-r--r-- | www/nvu/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp | 29 | ||||
-rw-r--r-- | www/nvu/files/patch-xptcall-amd64 | 386 | ||||
-rw-r--r-- | www/nvu/pkg-deinstall.in | 25 | ||||
-rw-r--r-- | www/nvu/pkg-descr | 8 | ||||
-rw-r--r-- | www/nvu/pkg-install.in | 32 |
20 files changed, 278 insertions, 808 deletions
diff --git a/www/kompozer/Makefile b/www/kompozer/Makefile index 6670299..d1ec88d 100644 --- a/www/kompozer/Makefile +++ b/www/kompozer/Makefile @@ -6,7 +6,7 @@ # PORTNAME= nvu -PORTVERSION= 0.60 +PORTVERSION= 0.70 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_LOCAL} \ http://cvs.nvu.com/download/ @@ -30,12 +30,14 @@ USE_PERL5= yes USE_GNOME= gtk20 libidl USE_REINPLACE= yes USE_GMAKE= yes +PKGINSTALL= ${WRKDIR}/pkg-install +PKGDEINSTALL= ${WRKDIR}/pkg-deinstall OPTIONS= XFT "Enable Xft font anti-aliasing" on \ DEBUG "Enable debugging (i.e. gdb) support" off \ OPTIMIZED_CFLAGS "Enable -O2 optimizations" off -NVU= Nvu-0.60 +NVU= nvu-0.70 FAKEDIR= ${WRKDIR}/FAKE WRKSRC= ${WRKDIR}/mozilla PLIST= ${WRKDIR}/plist @@ -43,11 +45,15 @@ PLIST= ${WRKDIR}/plist MAKEFILE= client.mk ALL_TARGET= build_all -PKG_CONFIGS= Nvu-gtkmozembed.pc Nvu-js.pc Nvu-nspr.pc \ - Nvu-nss.pc Nvu-plugin.pc Nvu-xpcom.pc +PKG_CONFIGS= nvu-gtkmozembed.pc nvu-js.pc nvu-nspr.pc \ + nvu-nss.pc nvu-plugin.pc nvu-xpcom.pc .include <bsd.port.pre.mk> +.if ${PERL_LEVEL} < 500600 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl +.endif + .if !defined(WITHOUT_XFT) LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft .endif @@ -55,6 +61,12 @@ LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft post-patch: # Remove so we can actaully find programs that are not in /usr/bin @${RM} -f ${WRKSRC}/config.status ${WRKSRC}/config.cache + @${SED} -e 's|%%NVUDIR%%|${PREFIX}/lib/${NVU}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} + @${SED} -e 's|%%NVUDIR%%|${PREFIX}/lib/${NVU}|g' \ + < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL} @${SED} -e 's|%%CC%%|${CC}|; s|%%CXX%%|${CXX}|; \ s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|; \ s|%%CFLAGS%%|${CFLAGS}|; \ @@ -93,7 +105,7 @@ pre-install: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \ ${MAKEFILE} ${MAKE_ARGS} install ${ECHO_CMD} bin/nvu >> ${PLIST} - ${ECHO_CMD} bin/Nvu-config >> ${PLIST} + ${ECHO_CMD} bin/nvu-config >> ${PLIST} cd ${FAKEDIR}/lib/${NVU} && ${FIND} -s * -type f -o -type l | \ ${SED} -e 's|^|lib/${NVU}/|' >> ${PLIST} \ && ${FIND} -d * -type d | \ @@ -127,4 +139,9 @@ do-install: cd ${FAKEDIR}/include/${NVU} && ${FIND} . | \ ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include/${NVU} +post-install: +.if !defined(PACKAGE_BUILDING) + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INST.endif +.endif + .include <bsd.port.post.mk> diff --git a/www/kompozer/distinfo b/www/kompozer/distinfo index 055de4b..923e3d4ba 100644 --- a/www/kompozer/distinfo +++ b/www/kompozer/distinfo @@ -1,2 +1,2 @@ -MD5 (nvu-0.60-sources.tar.bz2) = d43bd909379606cd35f07109fbdc622f -SIZE (nvu-0.60-sources.tar.bz2) = 31795255 +MD5 (nvu-0.70-sources.tar.bz2) = 3811c7fb9d3bffd54ff0f03c9559c635 +SIZE (nvu-0.70-sources.tar.bz2) = 32608190 diff --git a/www/kompozer/files/extra-patch-config_make-jars.pl b/www/kompozer/files/extra-patch-config_make-jars.pl new file mode 100644 index 0000000..a558607 --- /dev/null +++ b/www/kompozer/files/extra-patch-config_make-jars.pl @@ -0,0 +1,10 @@ +--- config/make-jars.pl.orig Wed Oct 13 16:17:11 2004 ++++ config/make-jars.pl Wed Oct 13 16:17:07 2004 +@@ -40,6 +40,7 @@ + last if ($arg eq "--"); + } + my $defines = join(' ', @ARGV[ $ddindex .. $#ARGV ]); ++splice @ARGV, $ddindex, $#ARGV; + + getopts("d:s:t:f:avlD:o:p:xz:"); + diff --git a/www/kompozer/files/mozconfig.in b/www/kompozer/files/mozconfig.in index 9b25610..a6eeda2 100644 --- a/www/kompozer/files/mozconfig.in +++ b/www/kompozer/files/mozconfig.in @@ -10,7 +10,6 @@ export OS_LIBS="%%PTHREAD_LIBS%%" export CFLAGS="%%CFLAGS%%" export CXXFLAGS="%%CXXFLAGS%%" -ac_add_options --prefix=%%PREFIX%% ac_add_options --disable-svg ac_add_options --disable-ldap ac_add_options --disable-mailnews @@ -20,20 +19,21 @@ ac_add_options --disable-activex-scripting ac_add_options --disable-tests ac_add_options --disable-oji ac_add_options --disable-necko-disk-cache +ac_add_options --enable-single-profile ac_add_options --disable-profilesharing -ac_add_options --enable-extensions=wallet,spellcheck,xmlextras,pref,universalchardet,editor/cascades,venkman,inspector +ac_add_options --enable-extensions=wallet,xml-rpc,xmlextras,pref,universalchardet,editor/cascades,spellcheck ac_add_options --enable-necko-protocols=http,ftp,file,jar,viewsource,res,data -ac_add_options --with-system-jpeg=%%LOCALBASE%% -ac_add_options --with-system-png=%%LOCALBASE%% -ac_add_options --with-system-mng=%%LOCALBASE%% ac_add_options --disable-pedantic ac_add_options --disable-short-wchar ac_add_options --enable-xprint +ac_add_options --enable-strip-libs ac_add_options --enable-crypto ac_add_options --disable-mathml ac_add_options --with-system-zlib -ac_add_options --enable-freetype2 ac_add_options --enable-toolkit=gtk2 ac_add_options --enable-default-toolkit=gtk2 +ac_add_options --enable-image-decoders=default,-xbm +ac_add_options --with-system-jpeg=%%LOCALBASE%% +ac_add_options --with-system-png=%%LOCALBASE%% ac_add_options --with-pthreads -ac_add_options --with-gssapi=/usr +ac_add_options --prefix=%%PREFIX%% diff --git a/www/kompozer/files/patch-build_unix_mozilla-xpcom.pc.in b/www/kompozer/files/patch-build_unix_mozilla-xpcom.pc.in new file mode 100644 index 0000000..4e982a5 --- /dev/null +++ b/www/kompozer/files/patch-build_unix_mozilla-xpcom.pc.in @@ -0,0 +1,8 @@ +--- build/unix/mozilla-xpcom.pc.in.orig Thu Jun 24 12:23:09 2004 ++++ build/unix/mozilla-xpcom.pc.in Thu Jun 24 12:23:18 2004 +@@ -8,4 +8,4 @@ + Version: %MOZILLA_VERSION% + Requires: mozilla-nspr = %MOZILLA_VERSION% + Libs: -L${libdir} -lxpcom +-Cflags: -I${includedir}/xpcom -I${includedir}/string ++Cflags: -I${includedir}/xpcom -I${includedir}/string -I${includedir} diff --git a/www/kompozer/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/kompozer/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp new file mode 100644 index 0000000..7f8e55f --- /dev/null +++ b/www/kompozer/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp @@ -0,0 +1,29 @@ +--- uriloader/exthandler/unix/nsGNOMERegistry.cpp.orig Fri Dec 24 04:30:00 2004 ++++ uriloader/exthandler/unix/nsGNOMERegistry.cpp Fri Dec 24 04:34:05 2004 +@@ -143,7 +143,7 @@ + PR_END_MACRO + + // Attempt to open libgconf +- gconfLib = LoadVersionedLibrary("gconf-2", ".4"); ++ gconfLib = PR_LoadLibrary("libgconf-2.so"); + ENSURE_LIB(gconfLib); + + GET_LIB_FUNCTION(gconf, gconf_client_get_default); +@@ -151,7 +151,7 @@ + GET_LIB_FUNCTION(gconf, gconf_client_get_bool); + + // Attempt to open libgnome +- gnomeLib = LoadVersionedLibrary("gnome-2", ".0"); ++ gnomeLib = PR_LoadLibrary("libgnome-2.so"); + ENSURE_LIB(gnomeLib); + + GET_LIB_FUNCTION(gnome, gnome_url_show); +@@ -160,7 +160,7 @@ + GET_LIB_FUNCTION(gnome, gnome_program_get); + + // Attempt to open libgnomevfs +- vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0"); ++ vfsLib = PR_LoadLibrary("libgnomevfs-2.so"); + ENSURE_LIB(vfsLib); + + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_type_from_name); diff --git a/www/kompozer/files/patch-xptcall-amd64 b/www/kompozer/files/patch-xptcall-amd64 deleted file mode 100644 index 3227cad..0000000 --- a/www/kompozer/files/patch-xptcall-amd64 +++ /dev/null @@ -1,386 +0,0 @@ ---- /dev/null Wed Dec 31 16:00:00 1969 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_amd64_freebsd.cpp Thu Oct 16 22:59:43 2003 -@@ -0,0 +1,174 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+// Platform specific code to invoke XPCOM methods on native objects -+ -+#include "xptcprivate.h" -+ -+// 6 integral parameters are passed in registers -+const PRUint32 GPR_COUNT = 6; -+ -+// 8 floating point parameters are passed in SSE registers -+const PRUint32 FPR_COUNT = 8; -+ -+// Remember that these 'words' are 64-bit long -+static inline void -+invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack) -+{ -+ nr_gpr = 1; // skip one GP register for 'that' -+ nr_fpr = 0; -+ nr_stack = 0; -+ -+ /* Compute number of eightbytes of class MEMORY. */ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (!s->IsPtrData() -+ && (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) { -+ if (nr_fpr < FPR_COUNT) -+ nr_fpr++; -+ else -+ nr_stack++; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ nr_gpr++; -+ else -+ nr_stack++; -+ } -+ } -+} -+ -+static void -+invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint64 * gpregs, double * fpregs) -+{ -+ PRUint32 nr_gpr = 1; // skip one GP register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (s->IsPtrData()) -+ value = (PRUint64) s->ptr; -+ else { -+ switch (s->type) { -+ case nsXPTType::T_FLOAT: break; -+ case nsXPTType::T_DOUBLE: break; -+ case nsXPTType::T_I8: value = s->val.i8; break; -+ case nsXPTType::T_I16: value = s->val.i16; break; -+ case nsXPTType::T_I32: value = s->val.i32; break; -+ case nsXPTType::T_I64: value = s->val.i64; break; -+ case nsXPTType::T_U8: value = s->val.u8; break; -+ case nsXPTType::T_U16: value = s->val.u16; break; -+ case nsXPTType::T_U32: value = s->val.u32; break; -+ case nsXPTType::T_U64: value = s->val.u64; break; -+ case nsXPTType::T_BOOL: value = s->val.b; break; -+ case nsXPTType::T_CHAR: value = s->val.c; break; -+ case nsXPTType::T_WCHAR: value = s->val.wc; break; -+ default: value = (PRUint64) s->val.p; break; -+ } -+ } -+ -+ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((double *)d) = s->val.d; -+ d++; -+ } -+ } -+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((float *)d) = s->val.f; -+ d++; -+ } -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ gpregs[nr_gpr++] = value; -+ else -+ *d++ = value; -+ } -+ } -+} -+ -+extern "C" -+XPTC_PUBLIC_API(nsresult) -+XPTC_InvokeByIndex(nsISupports * that, PRUint32 methodIndex, -+ PRUint32 paramCount, nsXPTCVariant * params) -+{ -+ PRUint32 nr_gpr, nr_fpr, nr_stack; -+ invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack); -+ -+ // Stack, if used, must be 16-bytes aligned -+ if (nr_stack) -+ nr_stack = (nr_stack + 1) & ~1; -+ -+ // Load parameters to stack, if necessary -+ PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8); -+ PRUint64 gpregs[GPR_COUNT]; -+ double fpregs[FPR_COUNT]; -+ invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs); -+ -+ // Load FPR registers from fpregs[] -+ register double d0 asm("xmm0"); -+ register double d1 asm("xmm1"); -+ register double d2 asm("xmm2"); -+ register double d3 asm("xmm3"); -+ register double d4 asm("xmm4"); -+ register double d5 asm("xmm5"); -+ register double d6 asm("xmm6"); -+ register double d7 asm("xmm7"); -+ -+ switch (nr_fpr) { -+#define ARG_FPR(N) \ -+ case N+1: d##N = fpregs[N]; -+ ARG_FPR(7); -+ ARG_FPR(6); -+ ARG_FPR(5); -+ ARG_FPR(4); -+ ARG_FPR(3); -+ ARG_FPR(2); -+ ARG_FPR(1); -+ ARG_FPR(0); -+ case 0:; -+#undef ARG_FPR -+ } -+ -+ // Load GPR registers from gpregs[] -+ register PRUint64 a0 asm("rdi"); -+ register PRUint64 a1 asm("rsi"); -+ register PRUint64 a2 asm("rdx"); -+ register PRUint64 a3 asm("rcx"); -+ register PRUint64 a4 asm("r8"); -+ register PRUint64 a5 asm("r9"); -+ -+ switch (nr_gpr) { -+#define ARG_GPR(N) \ -+ case N+1: a##N = gpregs[N]; -+ ARG_GPR(5); -+ ARG_GPR(4); -+ ARG_GPR(3); -+ ARG_GPR(2); -+ ARG_GPR(1); -+ case 1: a0 = (PRUint64) that; -+ case 0:; -+#undef ARG_GPR -+ } -+ -+ // Ensure that assignments to SSE registers won't be optimized away -+ asm("" :: -+ "x" (d0), "x" (d1), "x" (d2), "x" (d3), -+ "x" (d4), "x" (d5), "x" (d6), "x" (d7)); -+ -+ // Get pointer to method -+ PRUint64 methodAddress = *((PRUint64 *)that); -+ methodAddress += 8 * methodIndex; -+ methodAddress = *((PRUint64 *)methodAddress); -+ -+ typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64); -+ PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5); -+ return result; -+} ---- /dev/null Wed Dec 31 16:00:00 1969 -+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_amd64_freebsd.cpp Thu Oct 16 23:01:08 2003 -@@ -0,0 +1,206 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+ -+// Implement shared vtbl methods. -+ -+#include "xptcprivate.h" -+ -+// The Linux/x86-64 ABI passes the first 6 integral parameters and the -+// first 8 floating point parameters in registers (rdi, rsi, rdx, rcx, -+// r8, r9 and xmm0-xmm7), no stack space is allocated for these by the -+// caller. The rest of the parameters are passed in the callers stack -+// area. -+ -+const PRUint32 PARAM_BUFFER_COUNT = 16; -+const PRUint32 GPR_COUNT = 6; -+const PRUint32 FPR_COUNT = 8; -+ -+// PrepareAndDispatch() is called by SharedStub() and calls the actual method. -+// -+// - 'args[]' contains the arguments passed on stack -+// - 'gpregs[]' contains the arguments passed in integer registers -+// - 'fpregs[]' contains the arguments passed in floating point registers -+// -+// The parameters are mapped into an array of type 'nsXPTCMiniVariant' -+// and then the method gets called. -+ -+extern "C" nsresult -+PrepareAndDispatch(nsXPTCStubBase * self, PRUint32 methodIndex, -+ PRUint64 * args, PRUint64 * gpregs, double *fpregs) -+{ -+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; -+ nsXPTCMiniVariant* dispatchParams = NULL; -+ nsIInterfaceInfo* iface_info = NULL; -+ const nsXPTMethodInfo* info; -+ PRUint32 paramCount; -+ PRUint32 i; -+ nsresult result = NS_ERROR_FAILURE; -+ -+ NS_ASSERTION(self,"no self"); -+ -+ self->GetInterfaceInfo(&iface_info); -+ NS_ASSERTION(iface_info,"no interface info"); -+ if (! iface_info) -+ return NS_ERROR_UNEXPECTED; -+ -+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no method info"); -+ if (! info) -+ return NS_ERROR_UNEXPECTED; -+ -+ 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"); -+ if (! dispatchParams) -+ return NS_ERROR_OUT_OF_MEMORY; -+ -+ PRUint64* ap = args; -+ PRUint32 nr_gpr = 1; // skip one GPR register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ for(i = 0; i < paramCount; i++) { -+ const nsXPTParamInfo& param = info->GetParam(i); -+ const nsXPTType& type = param.GetType(); -+ nsXPTCMiniVariant* dp = &dispatchParams[i]; -+ -+ if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ dp->val.d = fpregs[nr_fpr++]; -+ else -+ dp->val.d = *(double*) ap++; -+ continue; -+ } -+ else if (!param.IsOut() && type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ dp->val.d = *(double*) ap++; -+ else -+ dp->val.f = *(float*) ap++; -+ continue; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ value = gpregs[nr_gpr++]; -+ else -+ value = *ap++; -+ } -+ -+ if (param.IsOut() || !type.IsArithmetic()) { -+ dp->val.p = (void*) value; -+ continue; -+ } -+ -+ switch (type) { -+ case nsXPTType::T_I8: dp->val.i8 = (PRInt8) value; break; -+ case nsXPTType::T_I16: dp->val.i16 = (PRInt16) value; break; -+ case nsXPTType::T_I32: dp->val.i32 = (PRInt32) value; break; -+ case nsXPTType::T_I64: dp->val.i64 = (PRInt64) value; break; -+ case nsXPTType::T_U8: dp->val.u8 = (PRUint8) value; break; -+ case nsXPTType::T_U16: dp->val.u16 = (PRUint16) value; break; -+ case nsXPTType::T_U32: dp->val.u32 = (PRUint32) value; break; -+ case nsXPTType::T_U64: dp->val.u64 = (PRUint64) value; break; -+ case nsXPTType::T_BOOL: dp->val.b = (PRBool) value; break; -+ case nsXPTType::T_CHAR: dp->val.c = (char) value; break; -+ case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; 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; -+} -+ -+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ -+// Linux/x86-64 uses gcc >= 3.1 -+#define STUB_ENTRY(n) \ -+asm(".section \".text\"\n\t" \ -+ ".align 2\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 1000\n\t" \ -+ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \ -+ ".else\n\t" \ -+ ".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \ -+ ".endif\n\t" \ -+ "movl $" #n ", %eax\n\t" \ -+ "jmp SharedStub\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".size _ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".size _ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".else\n\t" \ -+ ".size _ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".endif"); -+ -+// static nsresult SharedStub(PRUint32 methodIndex) -+asm(".section \".text\"\n\t" -+ ".align 2\n\t" -+ ".type SharedStub,@function\n\t" -+ "SharedStub:\n\t" -+ // make room for gpregs (48), fpregs (64) -+ "pushq %rbp\n\t" -+ "movq %rsp,%rbp\n\t" -+ "subq $112,%rsp\n\t" -+ // save GP registers -+ "movq %rdi,-112(%rbp)\n\t" -+ "movq %rsi,-104(%rbp)\n\t" -+ "movq %rdx, -96(%rbp)\n\t" -+ "movq %rcx, -88(%rbp)\n\t" -+ "movq %r8 , -80(%rbp)\n\t" -+ "movq %r9 , -72(%rbp)\n\t" -+ "leaq -112(%rbp),%rcx\n\t" -+ // save FP registers -+ "movsd %xmm0,-64(%rbp)\n\t" -+ "movsd %xmm1,-56(%rbp)\n\t" -+ "movsd %xmm2,-48(%rbp)\n\t" -+ "movsd %xmm3,-40(%rbp)\n\t" -+ "movsd %xmm4,-32(%rbp)\n\t" -+ "movsd %xmm5,-24(%rbp)\n\t" -+ "movsd %xmm6,-16(%rbp)\n\t" -+ "movsd %xmm7, -8(%rbp)\n\t" -+ "leaq -64(%rbp),%r8\n\t" -+ // rdi has the 'self' pointer already -+ "movl %eax,%esi\n\t" -+ "leaq 16(%rbp),%rdx\n\t" -+ "call PrepareAndDispatch\n\t" -+ "leave\n\t" -+ "ret\n\t" -+ ".size SharedStub,.-SharedStub"); -+ -+#define SENTINEL_ENTRY(n) \ -+nsresult nsXPTCStubBase::Sentinel##n() \ -+{ \ -+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ -+ return NS_ERROR_NOT_IMPLEMENTED; \ -+} -+ -+#include "xptcstubsdef.inc" -+ -+#else -+#error "can't find a compiler to use" -+#endif /* __GNUC__ */ diff --git a/www/kompozer/pkg-deinstall.in b/www/kompozer/pkg-deinstall.in new file mode 100644 index 0000000..2b90797 --- /dev/null +++ b/www/kompozer/pkg-deinstall.in @@ -0,0 +1,25 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xDEINSTALL" ] && exit 0 + +NVUDIR=%%NVUDIR%% + +rm -rf ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/chrome/*.rdf +rm -f ${NVUDIR}/component.reg +rm -f ${NVUDIR}/components.ini +rm -f ${NVUDIR}/defaults.ini +rm -f ${NVUDIR}/components/*.dat +rm -rf ${NVUDIR}/extensions + +exit 0 diff --git a/www/kompozer/pkg-descr b/www/kompozer/pkg-descr index cc948b0..1789660 100644 --- a/www/kompozer/pkg-descr +++ b/www/kompozer/pkg-descr @@ -1,8 +1,8 @@ Nvu is a complete Web Authoring System that combines web file management and -easy-to-use WYSIWYG web page editing. Nvu is designed to be extremely easy to -use, making it ideal for non-technical computer users who want to create an -attractive, professional-looking web site without needing to know HTML or web -coding. +easy-to-use WYSIWYG web page editing. Nvu is based on the Mozilla Firefox +codebase and is designed to be extremely easy to use, making it ideal for +non-technical computer users who want to create an attractive, professional +looking web site without needing to know HTML or web coding. Features: - FTP site manager diff --git a/www/kompozer/pkg-install.in b/www/kompozer/pkg-install.in new file mode 100644 index 0000000..59552d2 --- /dev/null +++ b/www/kompozer/pkg-install.in @@ -0,0 +1,32 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin:/usr/local/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xPOST-INSTALL" ] && exit 0 + +NVUDIR=%%NVUDIR%% +REGXPCOM=${NVUDIR}/regxpcom +REGCHROME=${NVUDIR}/regchrome +NVUBIN=${NVUDIR}/nvu-bin + +echo "===> Building Chrome's registry..." +rm -rf ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/chrome/*.rdf +mkdir -p ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/component.reg +rm -rf ${NVUDIR}/extensions + +cd ${NVUDIR} || exit 1 +./run-mozilla.sh ${REGXPCOM} || true +./run-mozilla.sh ${REGCHROME} || true +./run-mozilla.sh ${NVUBIN} -register > /dev/null 2>&1 + +exit 0 diff --git a/www/nvu/Makefile b/www/nvu/Makefile index 6670299..d1ec88d 100644 --- a/www/nvu/Makefile +++ b/www/nvu/Makefile @@ -6,7 +6,7 @@ # PORTNAME= nvu -PORTVERSION= 0.60 +PORTVERSION= 0.70 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_LOCAL} \ http://cvs.nvu.com/download/ @@ -30,12 +30,14 @@ USE_PERL5= yes USE_GNOME= gtk20 libidl USE_REINPLACE= yes USE_GMAKE= yes +PKGINSTALL= ${WRKDIR}/pkg-install +PKGDEINSTALL= ${WRKDIR}/pkg-deinstall OPTIONS= XFT "Enable Xft font anti-aliasing" on \ DEBUG "Enable debugging (i.e. gdb) support" off \ OPTIMIZED_CFLAGS "Enable -O2 optimizations" off -NVU= Nvu-0.60 +NVU= nvu-0.70 FAKEDIR= ${WRKDIR}/FAKE WRKSRC= ${WRKDIR}/mozilla PLIST= ${WRKDIR}/plist @@ -43,11 +45,15 @@ PLIST= ${WRKDIR}/plist MAKEFILE= client.mk ALL_TARGET= build_all -PKG_CONFIGS= Nvu-gtkmozembed.pc Nvu-js.pc Nvu-nspr.pc \ - Nvu-nss.pc Nvu-plugin.pc Nvu-xpcom.pc +PKG_CONFIGS= nvu-gtkmozembed.pc nvu-js.pc nvu-nspr.pc \ + nvu-nss.pc nvu-plugin.pc nvu-xpcom.pc .include <bsd.port.pre.mk> +.if ${PERL_LEVEL} < 500600 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl +.endif + .if !defined(WITHOUT_XFT) LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft .endif @@ -55,6 +61,12 @@ LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft post-patch: # Remove so we can actaully find programs that are not in /usr/bin @${RM} -f ${WRKSRC}/config.status ${WRKSRC}/config.cache + @${SED} -e 's|%%NVUDIR%%|${PREFIX}/lib/${NVU}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} + @${SED} -e 's|%%NVUDIR%%|${PREFIX}/lib/${NVU}|g' \ + < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL} @${SED} -e 's|%%CC%%|${CC}|; s|%%CXX%%|${CXX}|; \ s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|; \ s|%%CFLAGS%%|${CFLAGS}|; \ @@ -93,7 +105,7 @@ pre-install: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \ ${MAKEFILE} ${MAKE_ARGS} install ${ECHO_CMD} bin/nvu >> ${PLIST} - ${ECHO_CMD} bin/Nvu-config >> ${PLIST} + ${ECHO_CMD} bin/nvu-config >> ${PLIST} cd ${FAKEDIR}/lib/${NVU} && ${FIND} -s * -type f -o -type l | \ ${SED} -e 's|^|lib/${NVU}/|' >> ${PLIST} \ && ${FIND} -d * -type d | \ @@ -127,4 +139,9 @@ do-install: cd ${FAKEDIR}/include/${NVU} && ${FIND} . | \ ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include/${NVU} +post-install: +.if !defined(PACKAGE_BUILDING) + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INST.endif +.endif + .include <bsd.port.post.mk> diff --git a/www/nvu/distinfo b/www/nvu/distinfo index 055de4b..923e3d4ba 100644 --- a/www/nvu/distinfo +++ b/www/nvu/distinfo @@ -1,2 +1,2 @@ -MD5 (nvu-0.60-sources.tar.bz2) = d43bd909379606cd35f07109fbdc622f -SIZE (nvu-0.60-sources.tar.bz2) = 31795255 +MD5 (nvu-0.70-sources.tar.bz2) = 3811c7fb9d3bffd54ff0f03c9559c635 +SIZE (nvu-0.70-sources.tar.bz2) = 32608190 diff --git a/www/nvu/files/extra-patch-config_make-jars.pl b/www/nvu/files/extra-patch-config_make-jars.pl new file mode 100644 index 0000000..a558607 --- /dev/null +++ b/www/nvu/files/extra-patch-config_make-jars.pl @@ -0,0 +1,10 @@ +--- config/make-jars.pl.orig Wed Oct 13 16:17:11 2004 ++++ config/make-jars.pl Wed Oct 13 16:17:07 2004 +@@ -40,6 +40,7 @@ + last if ($arg eq "--"); + } + my $defines = join(' ', @ARGV[ $ddindex .. $#ARGV ]); ++splice @ARGV, $ddindex, $#ARGV; + + getopts("d:s:t:f:avlD:o:p:xz:"); + diff --git a/www/nvu/files/mozconfig.in b/www/nvu/files/mozconfig.in index 9b25610..a6eeda2 100644 --- a/www/nvu/files/mozconfig.in +++ b/www/nvu/files/mozconfig.in @@ -10,7 +10,6 @@ export OS_LIBS="%%PTHREAD_LIBS%%" export CFLAGS="%%CFLAGS%%" export CXXFLAGS="%%CXXFLAGS%%" -ac_add_options --prefix=%%PREFIX%% ac_add_options --disable-svg ac_add_options --disable-ldap ac_add_options --disable-mailnews @@ -20,20 +19,21 @@ ac_add_options --disable-activex-scripting ac_add_options --disable-tests ac_add_options --disable-oji ac_add_options --disable-necko-disk-cache +ac_add_options --enable-single-profile ac_add_options --disable-profilesharing -ac_add_options --enable-extensions=wallet,spellcheck,xmlextras,pref,universalchardet,editor/cascades,venkman,inspector +ac_add_options --enable-extensions=wallet,xml-rpc,xmlextras,pref,universalchardet,editor/cascades,spellcheck ac_add_options --enable-necko-protocols=http,ftp,file,jar,viewsource,res,data -ac_add_options --with-system-jpeg=%%LOCALBASE%% -ac_add_options --with-system-png=%%LOCALBASE%% -ac_add_options --with-system-mng=%%LOCALBASE%% ac_add_options --disable-pedantic ac_add_options --disable-short-wchar ac_add_options --enable-xprint +ac_add_options --enable-strip-libs ac_add_options --enable-crypto ac_add_options --disable-mathml ac_add_options --with-system-zlib -ac_add_options --enable-freetype2 ac_add_options --enable-toolkit=gtk2 ac_add_options --enable-default-toolkit=gtk2 +ac_add_options --enable-image-decoders=default,-xbm +ac_add_options --with-system-jpeg=%%LOCALBASE%% +ac_add_options --with-system-png=%%LOCALBASE%% ac_add_options --with-pthreads -ac_add_options --with-gssapi=/usr +ac_add_options --prefix=%%PREFIX%% diff --git a/www/nvu/files/patch-build_unix_mozilla-xpcom.pc.in b/www/nvu/files/patch-build_unix_mozilla-xpcom.pc.in new file mode 100644 index 0000000..4e982a5 --- /dev/null +++ b/www/nvu/files/patch-build_unix_mozilla-xpcom.pc.in @@ -0,0 +1,8 @@ +--- build/unix/mozilla-xpcom.pc.in.orig Thu Jun 24 12:23:09 2004 ++++ build/unix/mozilla-xpcom.pc.in Thu Jun 24 12:23:18 2004 +@@ -8,4 +8,4 @@ + Version: %MOZILLA_VERSION% + Requires: mozilla-nspr = %MOZILLA_VERSION% + Libs: -L${libdir} -lxpcom +-Cflags: -I${includedir}/xpcom -I${includedir}/string ++Cflags: -I${includedir}/xpcom -I${includedir}/string -I${includedir} diff --git a/www/nvu/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/nvu/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp new file mode 100644 index 0000000..7f8e55f --- /dev/null +++ b/www/nvu/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp @@ -0,0 +1,29 @@ +--- uriloader/exthandler/unix/nsGNOMERegistry.cpp.orig Fri Dec 24 04:30:00 2004 ++++ uriloader/exthandler/unix/nsGNOMERegistry.cpp Fri Dec 24 04:34:05 2004 +@@ -143,7 +143,7 @@ + PR_END_MACRO + + // Attempt to open libgconf +- gconfLib = LoadVersionedLibrary("gconf-2", ".4"); ++ gconfLib = PR_LoadLibrary("libgconf-2.so"); + ENSURE_LIB(gconfLib); + + GET_LIB_FUNCTION(gconf, gconf_client_get_default); +@@ -151,7 +151,7 @@ + GET_LIB_FUNCTION(gconf, gconf_client_get_bool); + + // Attempt to open libgnome +- gnomeLib = LoadVersionedLibrary("gnome-2", ".0"); ++ gnomeLib = PR_LoadLibrary("libgnome-2.so"); + ENSURE_LIB(gnomeLib); + + GET_LIB_FUNCTION(gnome, gnome_url_show); +@@ -160,7 +160,7 @@ + GET_LIB_FUNCTION(gnome, gnome_program_get); + + // Attempt to open libgnomevfs +- vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0"); ++ vfsLib = PR_LoadLibrary("libgnomevfs-2.so"); + ENSURE_LIB(vfsLib); + + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_type_from_name); diff --git a/www/nvu/files/patch-xptcall-amd64 b/www/nvu/files/patch-xptcall-amd64 deleted file mode 100644 index 3227cad..0000000 --- a/www/nvu/files/patch-xptcall-amd64 +++ /dev/null @@ -1,386 +0,0 @@ ---- /dev/null Wed Dec 31 16:00:00 1969 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_amd64_freebsd.cpp Thu Oct 16 22:59:43 2003 -@@ -0,0 +1,174 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+// Platform specific code to invoke XPCOM methods on native objects -+ -+#include "xptcprivate.h" -+ -+// 6 integral parameters are passed in registers -+const PRUint32 GPR_COUNT = 6; -+ -+// 8 floating point parameters are passed in SSE registers -+const PRUint32 FPR_COUNT = 8; -+ -+// Remember that these 'words' are 64-bit long -+static inline void -+invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack) -+{ -+ nr_gpr = 1; // skip one GP register for 'that' -+ nr_fpr = 0; -+ nr_stack = 0; -+ -+ /* Compute number of eightbytes of class MEMORY. */ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (!s->IsPtrData() -+ && (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) { -+ if (nr_fpr < FPR_COUNT) -+ nr_fpr++; -+ else -+ nr_stack++; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ nr_gpr++; -+ else -+ nr_stack++; -+ } -+ } -+} -+ -+static void -+invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint64 * gpregs, double * fpregs) -+{ -+ PRUint32 nr_gpr = 1; // skip one GP register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (s->IsPtrData()) -+ value = (PRUint64) s->ptr; -+ else { -+ switch (s->type) { -+ case nsXPTType::T_FLOAT: break; -+ case nsXPTType::T_DOUBLE: break; -+ case nsXPTType::T_I8: value = s->val.i8; break; -+ case nsXPTType::T_I16: value = s->val.i16; break; -+ case nsXPTType::T_I32: value = s->val.i32; break; -+ case nsXPTType::T_I64: value = s->val.i64; break; -+ case nsXPTType::T_U8: value = s->val.u8; break; -+ case nsXPTType::T_U16: value = s->val.u16; break; -+ case nsXPTType::T_U32: value = s->val.u32; break; -+ case nsXPTType::T_U64: value = s->val.u64; break; -+ case nsXPTType::T_BOOL: value = s->val.b; break; -+ case nsXPTType::T_CHAR: value = s->val.c; break; -+ case nsXPTType::T_WCHAR: value = s->val.wc; break; -+ default: value = (PRUint64) s->val.p; break; -+ } -+ } -+ -+ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((double *)d) = s->val.d; -+ d++; -+ } -+ } -+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((float *)d) = s->val.f; -+ d++; -+ } -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ gpregs[nr_gpr++] = value; -+ else -+ *d++ = value; -+ } -+ } -+} -+ -+extern "C" -+XPTC_PUBLIC_API(nsresult) -+XPTC_InvokeByIndex(nsISupports * that, PRUint32 methodIndex, -+ PRUint32 paramCount, nsXPTCVariant * params) -+{ -+ PRUint32 nr_gpr, nr_fpr, nr_stack; -+ invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack); -+ -+ // Stack, if used, must be 16-bytes aligned -+ if (nr_stack) -+ nr_stack = (nr_stack + 1) & ~1; -+ -+ // Load parameters to stack, if necessary -+ PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8); -+ PRUint64 gpregs[GPR_COUNT]; -+ double fpregs[FPR_COUNT]; -+ invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs); -+ -+ // Load FPR registers from fpregs[] -+ register double d0 asm("xmm0"); -+ register double d1 asm("xmm1"); -+ register double d2 asm("xmm2"); -+ register double d3 asm("xmm3"); -+ register double d4 asm("xmm4"); -+ register double d5 asm("xmm5"); -+ register double d6 asm("xmm6"); -+ register double d7 asm("xmm7"); -+ -+ switch (nr_fpr) { -+#define ARG_FPR(N) \ -+ case N+1: d##N = fpregs[N]; -+ ARG_FPR(7); -+ ARG_FPR(6); -+ ARG_FPR(5); -+ ARG_FPR(4); -+ ARG_FPR(3); -+ ARG_FPR(2); -+ ARG_FPR(1); -+ ARG_FPR(0); -+ case 0:; -+#undef ARG_FPR -+ } -+ -+ // Load GPR registers from gpregs[] -+ register PRUint64 a0 asm("rdi"); -+ register PRUint64 a1 asm("rsi"); -+ register PRUint64 a2 asm("rdx"); -+ register PRUint64 a3 asm("rcx"); -+ register PRUint64 a4 asm("r8"); -+ register PRUint64 a5 asm("r9"); -+ -+ switch (nr_gpr) { -+#define ARG_GPR(N) \ -+ case N+1: a##N = gpregs[N]; -+ ARG_GPR(5); -+ ARG_GPR(4); -+ ARG_GPR(3); -+ ARG_GPR(2); -+ ARG_GPR(1); -+ case 1: a0 = (PRUint64) that; -+ case 0:; -+#undef ARG_GPR -+ } -+ -+ // Ensure that assignments to SSE registers won't be optimized away -+ asm("" :: -+ "x" (d0), "x" (d1), "x" (d2), "x" (d3), -+ "x" (d4), "x" (d5), "x" (d6), "x" (d7)); -+ -+ // Get pointer to method -+ PRUint64 methodAddress = *((PRUint64 *)that); -+ methodAddress += 8 * methodIndex; -+ methodAddress = *((PRUint64 *)methodAddress); -+ -+ typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64); -+ PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5); -+ return result; -+} ---- /dev/null Wed Dec 31 16:00:00 1969 -+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_amd64_freebsd.cpp Thu Oct 16 23:01:08 2003 -@@ -0,0 +1,206 @@ -+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+ -+// Implement shared vtbl methods. -+ -+#include "xptcprivate.h" -+ -+// The Linux/x86-64 ABI passes the first 6 integral parameters and the -+// first 8 floating point parameters in registers (rdi, rsi, rdx, rcx, -+// r8, r9 and xmm0-xmm7), no stack space is allocated for these by the -+// caller. The rest of the parameters are passed in the callers stack -+// area. -+ -+const PRUint32 PARAM_BUFFER_COUNT = 16; -+const PRUint32 GPR_COUNT = 6; -+const PRUint32 FPR_COUNT = 8; -+ -+// PrepareAndDispatch() is called by SharedStub() and calls the actual method. -+// -+// - 'args[]' contains the arguments passed on stack -+// - 'gpregs[]' contains the arguments passed in integer registers -+// - 'fpregs[]' contains the arguments passed in floating point registers -+// -+// The parameters are mapped into an array of type 'nsXPTCMiniVariant' -+// and then the method gets called. -+ -+extern "C" nsresult -+PrepareAndDispatch(nsXPTCStubBase * self, PRUint32 methodIndex, -+ PRUint64 * args, PRUint64 * gpregs, double *fpregs) -+{ -+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; -+ nsXPTCMiniVariant* dispatchParams = NULL; -+ nsIInterfaceInfo* iface_info = NULL; -+ const nsXPTMethodInfo* info; -+ PRUint32 paramCount; -+ PRUint32 i; -+ nsresult result = NS_ERROR_FAILURE; -+ -+ NS_ASSERTION(self,"no self"); -+ -+ self->GetInterfaceInfo(&iface_info); -+ NS_ASSERTION(iface_info,"no interface info"); -+ if (! iface_info) -+ return NS_ERROR_UNEXPECTED; -+ -+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no method info"); -+ if (! info) -+ return NS_ERROR_UNEXPECTED; -+ -+ 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"); -+ if (! dispatchParams) -+ return NS_ERROR_OUT_OF_MEMORY; -+ -+ PRUint64* ap = args; -+ PRUint32 nr_gpr = 1; // skip one GPR register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ for(i = 0; i < paramCount; i++) { -+ const nsXPTParamInfo& param = info->GetParam(i); -+ const nsXPTType& type = param.GetType(); -+ nsXPTCMiniVariant* dp = &dispatchParams[i]; -+ -+ if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ dp->val.d = fpregs[nr_fpr++]; -+ else -+ dp->val.d = *(double*) ap++; -+ continue; -+ } -+ else if (!param.IsOut() && type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ dp->val.d = *(double*) ap++; -+ else -+ dp->val.f = *(float*) ap++; -+ continue; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ value = gpregs[nr_gpr++]; -+ else -+ value = *ap++; -+ } -+ -+ if (param.IsOut() || !type.IsArithmetic()) { -+ dp->val.p = (void*) value; -+ continue; -+ } -+ -+ switch (type) { -+ case nsXPTType::T_I8: dp->val.i8 = (PRInt8) value; break; -+ case nsXPTType::T_I16: dp->val.i16 = (PRInt16) value; break; -+ case nsXPTType::T_I32: dp->val.i32 = (PRInt32) value; break; -+ case nsXPTType::T_I64: dp->val.i64 = (PRInt64) value; break; -+ case nsXPTType::T_U8: dp->val.u8 = (PRUint8) value; break; -+ case nsXPTType::T_U16: dp->val.u16 = (PRUint16) value; break; -+ case nsXPTType::T_U32: dp->val.u32 = (PRUint32) value; break; -+ case nsXPTType::T_U64: dp->val.u64 = (PRUint64) value; break; -+ case nsXPTType::T_BOOL: dp->val.b = (PRBool) value; break; -+ case nsXPTType::T_CHAR: dp->val.c = (char) value; break; -+ case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; 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; -+} -+ -+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ -+// Linux/x86-64 uses gcc >= 3.1 -+#define STUB_ENTRY(n) \ -+asm(".section \".text\"\n\t" \ -+ ".align 2\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 1000\n\t" \ -+ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \ -+ ".else\n\t" \ -+ ".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \ -+ ".endif\n\t" \ -+ "movl $" #n ", %eax\n\t" \ -+ "jmp SharedStub\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".size _ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".size _ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".else\n\t" \ -+ ".size _ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".endif"); -+ -+// static nsresult SharedStub(PRUint32 methodIndex) -+asm(".section \".text\"\n\t" -+ ".align 2\n\t" -+ ".type SharedStub,@function\n\t" -+ "SharedStub:\n\t" -+ // make room for gpregs (48), fpregs (64) -+ "pushq %rbp\n\t" -+ "movq %rsp,%rbp\n\t" -+ "subq $112,%rsp\n\t" -+ // save GP registers -+ "movq %rdi,-112(%rbp)\n\t" -+ "movq %rsi,-104(%rbp)\n\t" -+ "movq %rdx, -96(%rbp)\n\t" -+ "movq %rcx, -88(%rbp)\n\t" -+ "movq %r8 , -80(%rbp)\n\t" -+ "movq %r9 , -72(%rbp)\n\t" -+ "leaq -112(%rbp),%rcx\n\t" -+ // save FP registers -+ "movsd %xmm0,-64(%rbp)\n\t" -+ "movsd %xmm1,-56(%rbp)\n\t" -+ "movsd %xmm2,-48(%rbp)\n\t" -+ "movsd %xmm3,-40(%rbp)\n\t" -+ "movsd %xmm4,-32(%rbp)\n\t" -+ "movsd %xmm5,-24(%rbp)\n\t" -+ "movsd %xmm6,-16(%rbp)\n\t" -+ "movsd %xmm7, -8(%rbp)\n\t" -+ "leaq -64(%rbp),%r8\n\t" -+ // rdi has the 'self' pointer already -+ "movl %eax,%esi\n\t" -+ "leaq 16(%rbp),%rdx\n\t" -+ "call PrepareAndDispatch\n\t" -+ "leave\n\t" -+ "ret\n\t" -+ ".size SharedStub,.-SharedStub"); -+ -+#define SENTINEL_ENTRY(n) \ -+nsresult nsXPTCStubBase::Sentinel##n() \ -+{ \ -+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ -+ return NS_ERROR_NOT_IMPLEMENTED; \ -+} -+ -+#include "xptcstubsdef.inc" -+ -+#else -+#error "can't find a compiler to use" -+#endif /* __GNUC__ */ diff --git a/www/nvu/pkg-deinstall.in b/www/nvu/pkg-deinstall.in new file mode 100644 index 0000000..2b90797 --- /dev/null +++ b/www/nvu/pkg-deinstall.in @@ -0,0 +1,25 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xDEINSTALL" ] && exit 0 + +NVUDIR=%%NVUDIR%% + +rm -rf ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/chrome/*.rdf +rm -f ${NVUDIR}/component.reg +rm -f ${NVUDIR}/components.ini +rm -f ${NVUDIR}/defaults.ini +rm -f ${NVUDIR}/components/*.dat +rm -rf ${NVUDIR}/extensions + +exit 0 diff --git a/www/nvu/pkg-descr b/www/nvu/pkg-descr index cc948b0..1789660 100644 --- a/www/nvu/pkg-descr +++ b/www/nvu/pkg-descr @@ -1,8 +1,8 @@ Nvu is a complete Web Authoring System that combines web file management and -easy-to-use WYSIWYG web page editing. Nvu is designed to be extremely easy to -use, making it ideal for non-technical computer users who want to create an -attractive, professional-looking web site without needing to know HTML or web -coding. +easy-to-use WYSIWYG web page editing. Nvu is based on the Mozilla Firefox +codebase and is designed to be extremely easy to use, making it ideal for +non-technical computer users who want to create an attractive, professional +looking web site without needing to know HTML or web coding. Features: - FTP site manager diff --git a/www/nvu/pkg-install.in b/www/nvu/pkg-install.in new file mode 100644 index 0000000..59552d2 --- /dev/null +++ b/www/nvu/pkg-install.in @@ -0,0 +1,32 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin:/usr/local/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xPOST-INSTALL" ] && exit 0 + +NVUDIR=%%NVUDIR%% +REGXPCOM=${NVUDIR}/regxpcom +REGCHROME=${NVUDIR}/regchrome +NVUBIN=${NVUDIR}/nvu-bin + +echo "===> Building Chrome's registry..." +rm -rf ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/chrome/*.rdf +mkdir -p ${NVUDIR}/chrome/overlayinfo +rm -f ${NVUDIR}/component.reg +rm -rf ${NVUDIR}/extensions + +cd ${NVUDIR} || exit 1 +./run-mozilla.sh ${REGXPCOM} || true +./run-mozilla.sh ${REGCHROME} || true +./run-mozilla.sh ${NVUBIN} -register > /dev/null 2>&1 + +exit 0 |