ports/75761: [PATCH] merge latest changes from mozilla

Jose M Rodriguez josemi at freebsd.jazztel.es
Mon Jan 3 20:10:20 UTC 2005


>Number:         75761
>Category:       ports
>Synopsis:       [PATCH] merge latest changes from mozilla
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 03 20:10:19 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Jose M Rodriguez
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
Redes JM
>Environment:
System: FreeBSD orion.redesjm.local 5.3-STABLE FreeBSD 5.3-STABLE #0: Sun Jan 2 23:16:56 CET 2005 root at antares.redesjm.local:/usr/obj/usr/src/sys/ORION i386


>Description:
	- New mozilla.sh script
	- install all scripts under $MOZDIR
	- use pkg scripts to maintain ${prefix}/bin entries
	- move browser-plugings works, included JPI, to pkg scripts
	  and don't pollute pkg-plist with this
	- add support for MOZ_PIS scripts
	  add S50cleanhome to clean home after port reinstall
	- add support for open external URIs (remote) in new-tab
	  as mozilla does.
	- add support for external protocols handlers via
	  mozilla-urihelper (PR ports/75635
	- correct gnome interface in external URI handler
	- correct desktop entry: i18n, no StartupNotification
	- add support for KDE via artsdsp
>How-To-Repeat:
>Fix:

--- patch-firefox begins here ---
diff -Nru /usr/HEAD/ports/www/firefox/Makefile www/firefox/Makefile
--- /usr/HEAD/ports/www/firefox/Makefile	Mon Jan  3 10:03:57 2005
+++ www/firefox/Makefile	Mon Jan  3 15:15:24 2005
@@ -2,12 +2,12 @@
 # Date created:			2002/10/21
 # Whom:				Alan Eldridge <alane at FreeBSD.org>
 #
-# $FreeBSD: ports/www/firefox/Makefile,v 1.113 2005/01/02 23:27:54 marcus Exp $
+# $FreeBSD: ports/www/firefox/Makefile,v 1.112 2004/12/28 00:51:58 ahze Exp $
 #
 
 PORTNAME=	firefox
 PORTVERSION=	1.0
-PORTREVISION=	7
+PORTREVISION=	8
 PORTEPOCH=	1
 CATEGORIES=	www
 MASTER_SITES=	${MASTER_SITE_MOZILLA}
@@ -18,8 +18,8 @@
 COMMENT=	Web browser based on the browser portion of Mozilla
 
 LIB_DEPENDS=	jpeg.9:${PORTSDIR}/graphics/jpeg \
-		png.5:${PORTSDIR}/graphics/png \
-		mng.1:${PORTSDIR}/graphics/libmng
+	png.5:${PORTSDIR}/graphics/png \
+	mng.1:${PORTSDIR}/graphics/libmng
 BUILD_DEPENDS=	zip:${PORTSDIR}/archivers/zip
 
 ALL_TARGET=	default
@@ -41,11 +41,11 @@
 PKGDEINSTALL=	${WRKDIR}/pkg-deinstall
 
 EXTRACT_AFTER_ARGS=	| ${TAR} -xf - --exclude */CVS/* \
-			--exclude */macbuild/*\
-			--exclude */package/* \
-			--exclude .cvsignore \
-			--exclude makefile.win \
-			--exclude MANIFEST
+		--exclude */macbuild/*\
+		--exclude */package/* \
+		--exclude .cvsignore \
+		--exclude makefile.win \
+		--exclude MANIFEST
 
 FIREFOX=	${PORTNAME}
 FF_VER=		${PORTVERSION}
@@ -54,19 +54,27 @@
 FIREFOX_ICON_SRC=${WRKSRC}/other-licenses/branding/firefox/content/alert-exclam.png
 
 PKGCONFIG_FILES=firefox-gtkmozembed firefox-js firefox-xpcom \
-		firefox-nspr firefox-nss firefox-plugin
+	firefox-nspr firefox-nss firefox-plugin
 
 JPI_LIST?=\
-	${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
-	${LOCALBASE}/jdk1.4.1/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
-	${LOCALBASE}/diablo-jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so \
-	${LOCALBASE}/jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so
+${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
+${LOCALBASE}/jdk1.4.1/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
+${LOCALBASE}/diablo-jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so \
+${LOCALBASE}/jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so
+MOZ_PIS_SCRIPTS=	S50cleanhome
+SCRIPTS_DIR=	${FAKEDIR}/lib/${FIREFOX}-${FF_VER}
+MOZ_PIS_DIR=	${SCRIPTS_DIR}/init.d
+FIREFOX_EXTERNAL_PROTOCOLS?=	mailto	news	nntp	snews
+SYSTEM_PREFS=	${FAKEDIR}/lib/${FIREFOX}-${FF_VER}/defaults/pref/firefox.js
 
 OPTIONS=	DEBUG "Build a debugging image" off \
-		LOGGING "Enable additional log messages" off \
-		OPTIMIZED_CFLAGS "Enable some additional optimizations" off \
-		XFT "Enable support for anti-aliased fonts" on \
-		SMB "Enable smb:// URI support using gnomevfs" off
+	LOGGING "Enable additional log messages" off \
+	OPTIMIZED_CFLAGS "Enable some additional optimizations" off \
+	XFT "Enable support for anti-aliased fonts" on \
+	SMB "Enable smb:// URI support using gnomevfs" off \
+	ARTSDSP "Add support for KDE arts (artsdsp)" on \
+	NEWTAB "Open external links in a new tab" on \
+	URIHELPER "Add external uri helper support" on
 
 .include <bsd.port.pre.mk>
 
@@ -97,6 +105,14 @@
 CONFIGURE_ENV+=	WITH_SMB=yes
 .endif # defined(WITH_SMB)
 
+.if !defined(WITHOUT_ARTSDSP)
+MOZ_PIS_SCRIPTS+=	S90dsp.sh
+.endif # !defined(WITHOUT_ARTSDSP)
+
+.if !defined(WITHOUT_URIHELPER)
+RUN_DEPENDS+=mozilla-urihelper:${PORTSDIR}/misc/mozilla-urihelper
+.endif # !defined(WITHOUT_URIHELPER)
+
 CPPFLAGS+=		-I${X11BASE}/include -I${LOCALBASE}/include
 CFLAGS+=		${PTHREAD_CFLAGS}
 LDFLAGS+=		-L${X11BASE}/lib
@@ -117,7 +133,7 @@
 	@${ECHO_MSG} "Extracting source (this takes a while) ..."
 	@${ECHO_MSG}
 
-post-extract::
+post-extract:
 	@${SED} -e 's|@CPPFLAGS@|${CPPFLAGS}|'		\
 		-e 's|@CFLAGS@|${CFLAGS}|'		\
 		-e 's|@LDFLAGS@|${LDFLAGS}|'		\
@@ -130,13 +146,25 @@
 	@${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' \
 		<${FILESDIR}/firefox.desktop.in >${WRKDIR}/firefox.desktop
 
-post-patch:
-	@${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${FIREFOX}|g ; \
+post-patch::
+	@${SED} -e 's|%%MOZILLA%%|${FIREFOX}|g ; \
 		s|%%PREFIX%%|${PREFIX}|g ; \
+		s|%%EXTRA_SCRIPTS%%|${EXTRA_SCRIPTS}|g ; \
+		s|%%JPI_LIST%%|${JPI_LIST}|g ; \
 		s|%%X11BASE%%|${X11BASE}|g' \
 		< ${MASTERDIR}/pkg-install.in > ${PKGINSTALL}
-	@${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${FIREFOX}|g' \
+	@${SED} -e 's|%%MOZILLA%%|${FIREFOX}|g ; \
+		s|%%PREFIX%%|${PREFIX}|g ; \
+		s|%%EXTRA_SCRIPTS%%|${EXTRA_SCRIPTS}|g ; \
+		s|%%X11BASE%%|${X11BASE}|g' \
 		< ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL}
+.for ii in ${EXTRA_SCRIPTS}
+	@${SED} -e 's|%%MOZILLA%%|${FIREFOX}|g ; \
+		s|%%PREFIX%%|${PREFIX}|g ; \
+		s|%%X11BASE%%|${X11BASE}|g' \
+		< ${FILESDIR}/${ii} \
+		> ${WRKDIR}/${ii}
+.endfor
 	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
 		${WRKSRC}/build/unix/run-mozilla.sh
 	@${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g ; \
@@ -169,18 +197,42 @@
 	@${RM} -rf ${FAKEDIR} ${PLIST}
 	@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
 		Makefile ${MAKE_ARGS} install
+	@${MKDIR} ${SCRIPTS_DIR}
+	@${MKDIR} ${MOZ_PIS_DIR}
 	${ECHO_CMD} 'share/gnome/pixmaps/${FIREFOX_ICON}' >> ${PLIST}
 	${ECHO_CMD} 'share/gnome/applications/firefox.desktop' >> ${PLIST}
 	${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g; \
-		s|${FIREFOX}-${FF_VER}|${FIREFOX}|' \
+		s|${FIREFOX}-${FF_VER}|${FIREFOX}|g' \
 		${FAKEDIR}/bin/firefox \
 		${FAKEDIR}/bin/firefox-config
-	for i in ${EXTRA_SCRIPTS}; do \
-		${ECHO_CMD} bin/$${i} >> ${PLIST}; \
-	done
-	${ECHO_CMD} bin/firefox >> ${PLIST}
-	${ECHO_CMD} bin/firefox-config >> ${PLIST}
-	cd ${FAKEDIR}/lib/${FIREFOX}-${FF_VER} && ${FIND} -s * -type f -o -type l | \
+	${INSTALL_SCRIPT} ${FAKEDIR}/bin/firefox \
+		${SCRIPTS_DIR}
+	${INSTALL_SCRIPT} ${FAKEDIR}/bin/firefox-config
+		${SCRIPTS_DIR}
+.for ii in ${EXTRA_SCRIPTS}
+	@${INSTALL_SCRIPT} ${WRKDIR}/${ii} \
+		${SCRIPTS_DIR}
+.endfor
+.for ii in ${MOZ_PIS_SCRIPTS}
+	@${INSTALL_SCRIPT} ${FILESDIR}/moz_pis_${ii} \
+		${MOZ_PIS_DIR}
+.endfor
+.if !defined(WITHOUT_NEWTAB)
+	@${ECHO_CMD} >> ${SYSTEM_PREFS}
+	@${ECHO_CMD} "// Open external links in new tab" >> ${SYSTEM_PREFS}
+	@${ECHO_CMD} "pref(\"browser.link.open_external\", 3);" \
+		>> ${SYSTEM_PREFS}
+.endif # !defined(WITHOUT_NEWTAB)
+.if !defined(WITHOUT_URIHELPER)
+	@${ECHO_CMD} >> ${SYSTEM_PREFS}
+	@${ECHO_CMD} "// Use external apps for selected protocols" \
+		>> ${SYSTEM_PREFS}
+.for proto in ${FIREFOX_EXTERNAL_PROTOCOLS}
+	@${ECHO_CMD} "pref(\"network.protocol-hadler.app.${proto}\", " \
+		"\"${LOCALBASE}/bin/mozilla-urihelper\");" >> ${SYSTEM_PREFS}
+.endfor
+.endif # !defined(WITHOUT_URIHELPER)
+	@cd ${FAKEDIR}/lib/${FIREFOX}-${FF_VER} && ${FIND} -s * -type f -o -type l | \
 		${SED} -e 's|^|lib/${FIREFOX}/|' >> ${PLIST} \
 		&& ${FIND} -d * -type d | \
 		${SED} -e 's|^|@dirrm lib/${FIREFOX}/|' >> ${PLIST}
@@ -202,21 +254,6 @@
 do-install:
 	${MKDIR} ${PREFIX}/lib/${FIREFOX}
 	${CHMOD} 755 ${PREFIX}/lib/${FIREFOX}
-	${INSTALL_SCRIPT} ${FAKEDIR}/bin/firefox ${PREFIX}/bin
-	${INSTALL_SCRIPT} ${FAKEDIR}/bin/firefox-config ${PREFIX}/bin
-	if [ ! -d ${PREFIX}/lib/browser_plugins ]; then \
-		${MKDIR} ${PREFIX}/lib/browser_plugins ; \
-	fi
-	${TOUCH} -f ${PREFIX}/lib/browser_plugins/.${PORTNAME}.keep
-	if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
-		for jpi in ${JPI_LIST}; do \
-			if [ -f $${jpi} ]; then \
-				${LN} -sf $${jpi} \
-					${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ; \
-				break; \
-			fi; \
-		done; \
-	fi
 	for pcfile in ${PKGCONFIG_FILES}; do \
 		${INSTALL_DATA} ${FAKEDIR}/lib/pkgconfig/$${pcfile}.pc \
 			${PREFIX}/libdata/pkgconfig/$${pcfile}.pc ; \
@@ -233,9 +270,6 @@
 .if !defined(PACKAGE_BUILDING)
 	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
-.for i in ${EXTRA_SCRIPTS}
-	${INSTALL_SCRIPT} ${FILESDIR}/${i} ${PREFIX}/bin
-.endfor
 	${INSTALL_DATA} ${FIREFOX_ICON_SRC} ${PREFIX}/share/gnome/pixmaps/${FIREFOX_ICON}
 	${INSTALL_DATA} ${WRKDIR}/firefox.desktop ${PREFIX}/share/gnome/applications
 	${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/firefox/default.xpm \
diff -Nru /usr/HEAD/ports/www/firefox/files/firefox.desktop.in www/firefox/files/firefox.desktop.in
--- /usr/HEAD/ports/www/firefox/files/firefox.desktop.in	Mon Dec 13 01:04:25 2004
+++ www/firefox/files/firefox.desktop.in	Mon Jan  3 12:17:44 2005
@@ -1,9 +1,191 @@
 [Desktop Entry]
-Name=Firefox
-Comment=Firefox Web Browser
+Encoding=UTF-8
+Name=Firefox Web Browser
+Name[am]=
+Name[ar]=
+Name[az]=Firefox Veb Səyyahı
+Name[be]=
+Name[bg]=Интернет браузър Firefox
+Name[bn]=
+Name[bs]=Firefox web preglednik
+Name[ca]=Navegador web Firefox
+Name[cs]=Prohlížeč WWW Firefox
+Name[cy]=Y Porwr Gwe Firefox
+Name[da]=Firefox - internetsurfning
+Name[de]=Firefox Webbrowser
+Name[el]=Περιηγητής Διαδικτύου Firefox
+Name[en_CA]=Firefox Web Browser
+Name[en_GB]=Firefox Web Browser
+Name[es]=Navegador Web Firefox
+Name[et]=Firefox veebibrauser
+Name[eu]=Firefox web arakatzailea
+Name[fi]=Firefox, WWW-selain
+Name[fr]=Navigateur Web Firefox
+Name[ga]=Brabhsálaí Lín Firefox
+Name[gu]=એપીફની વૅબ બ્રાઉઝર
+Name[he]=דפדפן Firefox
+Name[hi]=
+Name[hr]=Firefox Web preglednik
+Name[hu]=Firefox webböngésző
+Name[id]=Web Browser Firefox
+Name[it]=Browser web Firefox
+Name[ja]=Firefox ウェブ・ブラウザ
+Name[ko]=Firefox 웹 브라우저
+Name[li]=Firefox Web Browser
+Name[lt]=Firefox web naršyklė
+Name[mk]=Firefox веб прелистувач
+Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
+Name[mn]=Firefox веб хөтөч
+Name[ms]=Pelungsur Web Firefox
+Name[nb]=Firefox nettleser
+Name[nl]=Firefox Webbrowser
+Name[nn]=Firefox nettlesar
+Name[no]=Firefox nettleser
+Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
+Name[pl]=PrzeglÄ…darka WWW Firefox
+Name[pt]=Navegador Web Firefox
+Name[pt_BR]=Navegador Web Firefox
+Name[ro]=Navigatorul Firefox
+Name[ru]=Веб-браузер Firefox
+Name[sk]=
+Name[sl]=Spletni brskalnik Firefox
+Name[sq]=Firefox - Shfletuesi Web
+Name[sr]=
+Name[sr at Latn]=Veb čitač Spoznaja
+Name[sv]=Webbläsaren Firefox
+Name[ta]=எபிபனி வலை உலாவி
+Name[tk]=Firefox Web Ahtarçisi
+Name[tr]=Firefox Web Tarayıcı
+Name[uk]=Переглядач web Firefox
+Name[vi]=Trình Duyệt Web Firefox
+Name[wa]=Betchteu waibe Firefox
+Name[zh_CN]=Firefox Web 浏览器
+Name[zh_TW]=Firefox 網頁瀏覽器
+GenericName=Web Browser
+GenericName[ar]=متصفّح الانترنت
+GenericName[az]=Veb Səyyahı
+GenericName[be]=Вандроўнік па павуціньню
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[bs]=Web preglednik
+GenericName[ca]=Navegador web
+GenericName[cs]=Prohlížeč WWW
+GenericName[cy]=Porwr Gwe
+GenericName[da]=Internetsurfning
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής Ιστοσελίδων
+GenericName[en_CA]=Web Browser
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web Firefox
+GenericName[ga]=Brabhsálaí Lín
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[id]=Browser Web
+GenericName[it]=Browser web
+GenericName[ja]=GNOME ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[li]=Wèb Browser
+GenericName[lt]=Web naršyklė
+GenericName[mk]=Веб прелистувач
+GenericName[mn]=Веб хөтөч
+GenericName[ms]=Pelungsur Web
+GenericName[nb]=Nettleser
+GenericName[nl]=Web-browser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=WWW prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sq]=Shfletuesi Web
+GenericName[sr]=Веб читач
+GenericName[sr at Latn]=Veb čitač
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tk]=Web Ahtarçysy
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Переглядач web-сторінок
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[zh_CN]=Web 浏览器
+GenericName[zh_TW]=網頁瀏覽器
+Comment=Browse the web
+Comment[ar]=تصفح الانترنت
+Comment[az]=Vebi gəzin
+Comment[be]=Вандраваць па павуціньню
+Comment[bg]=Сърфиране в интернет
+Comment[bn]=ওয়েব ব্রাউজ করুন
+Comment[bs]=Pregledaj na internetu
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížet WWW
+Comment[cy]=Pori'r we
+Comment[da]=Surf på internettet
+Comment[de]=Im Web surfen
+Comment[el]=Περιήγηση στον παγκόσμιο ιστό
+Comment[en_CA]=Browse the web
+Comment[en_GB]=Browse the web
+Comment[es]=Navegar por la web
+Comment[et]=Sirvi veebi
+Comment[eu]=Arakatu web-a
+Comment[fi]=Selaa WWW:tä
+Comment[fr]=Naviguer sur Internet
+Comment[ga]=Brabhsáil an Líon
+Comment[gu]=વેબમાં શોધો
+Comment[he]=גלוש ברשת
+Comment[hi]=वेब ब्राउज़ करें
+Comment[hr]=Pregledaj Web
+Comment[hu]=A világháló böngészése
+Comment[id]=Jelajah web
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[li]=Blajere op internet
+Comment[lt]=Naršyti internete
+Comment[mk]=Прелистувајте на веб
+Comment[ml]=വലക്കെട്ട് തിരയുക
+Comment[mn]=Веб броузе хийх
+Comment[ms]=Layari web
+Comment[nb]=Surf på nettet
+Comment[nl]=Websurfen
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
+Comment[pl]=PrzeglÄ…danie stron WWW
+Comment[pt]=Navegar na web
+Comment[pt_BR]=Navegar na web
+Comment[ro]=Navigare Internet
+Comment[ru]=Веб-браузер
+Comment[sk]=Prehliadať internet
+Comment[sl]=Brskaj po spletu
+Comment[sq]=Eksploro web-in
+Comment[sr]=Прегледај веб
+Comment[sr at Latn]=Pregledaj veb
+Comment[sv]=Surfa på nätet
+Comment[ta]=வலையில் உலாவு
+Comment[th]=ใช้งานเว็บบราวเซอร์ Firefox
+Comment[tk]=Webi Ahtar
+Comment[tr]=Web'e Gözat
+Comment[uk]=Програма перегляду web-сторінок
+Comment[vi]=Duyệt web
+Comment[wa]=Naivyî avå les waibes
+Comment[zh_CN]=浏览 Web
+Comment[zh_TW]=瀏覽網頁
 Exec=firefox %U
-Icon=@FIREFOX_ICON@
+StartupNotify=false
 Terminal=false
 Type=Application
+Icon=@FIREFOX_ICON@
 Categories=Application;Network;
-Encoding=UTF-8
+MimeType=text/html;text/xml;application/xhtml+xml;
diff -Nru /usr/HEAD/ports/www/firefox/files/moz_pis_S50cleanhome www/firefox/files/moz_pis_S50cleanhome
--- /usr/HEAD/ports/www/firefox/files/moz_pis_S50cleanhome	Thu Jan  1 01:00:00 1970
+++ www/firefox/files/moz_pis_S50cleanhome	Mon Jan  3 17:29:40 2005
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+
+# S50cleanhome
+# a script to polite ${HOME}/${MOZ_PIS_USER_DIR}
+
+# We run in our own subshell
+
+# First, verify protocol
+[ "$1" != "start" ] && exit 1
+[ -z "${MOZ_PIS_API}" -o ${MOZ_PIS_API} -ne 2 ] && exit 1
+[ -z "${MOZ_PIS_MOZBINDIR}" -o ! -d "${MOZ_PIS_MOZBINDIR}" ] && exit 1
+[ -z "${HOME}" -o ! -d "${$HOME}" ] && exit 1
+[ -z "${MOZ_PIS_USER_DIR}" -o ! -d "${$HOME}/${MOZ_PIS_USER_DIR}" ] && exit 1
+
+# Try to polite ${HOME}/${MOZ_PIS_USER_DIR}
+
+# This must be really needed?
+# rm -f "${$HOME}/${MOZ_PIS_USER_DIR}/pluginreg.dat"
+
+# Try to polite profile dirs
+if [ -f "${$HOME}/${MOZ_PIS_USER_DIR}/profiles.ini" ]; then
+    sed -e '/Path=/! d' -e "s,Path=,${HOME}/${MOZ_PIS_USER_DIR}/," \
+	"${$HOME}/${MOZ_PIS_USER_DIR}/profiles.ini" \
+	| while read dir
+    do
+	[ ! -d "${dir}" ] && continue
+	# at last, debian do this, we do for new builds
+	# rm -f "${dir}/XUL.mfast"
+	# make reclaculate compreg.dat, xpti.dat for new builds
+	# also, encripted resources must not survive (new keys)
+	[ "${dir}/compreg.dat" -ot "${MOZ_PIS_MOZBINDIR}/components.ini" ] &&
+	    rm -f "${dir}/compatibility.ini" "${dir}/XUL.mfast" \
+	    	"${dir}/history.dat" "${dir}/formhistory.dat" \
+		"${dir}/signons.txt"
+    done
+fi    
diff -Nru /usr/HEAD/ports/www/firefox/files/moz_pis_S90dsp.sh www/firefox/files/moz_pis_S90dsp.sh
--- /usr/HEAD/ports/www/firefox/files/moz_pis_S90dsp.sh	Thu Jan  1 01:00:00 1970
+++ www/firefox/files/moz_pis_S90dsp.sh	Mon Jan  3 11:04:27 2005
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+
+# S90dsp.sh
+# dsp aids for mozilla
+# WARN, this is sourced in the main mozilla.sh script.  Be carefull
+
+# esd support seems to be built-in in mozilla now
+# support only arts
+
+if [ -x "${run_moz}" ]; then
+    case "${MOZILLA_DSP}" in
+	[Aa][Rr][Tt][Ss] | artsdsp)
+	    MOZILLA_DSP="artsdsp"
+	    ;;
+	[Nn][Oo][Nn][Ee])
+	    MOZILLA_DSP=""
+	    ;;
+	*) # auto
+	    if [ -n "${KDE_FULL_SESSION}" ]; then
+		MOZILLA_DSP="artsdsp"
+	    else
+		MOZILLA_DSP=""
+	    fi
+	    ;;
+    esac
+    [ -n "${MOZILLA_DSP}" ] && MOZILLA_DSP=`which "${MOZILLA_DSP}"` &&
+    run_moz="${MOZILLA_DSP} ${run_moz}"
+fi
+
+if [ -n "${debuggin}" ]; then
+    echo "dsp: ${run_moz}"
+fi
diff -Nru /usr/HEAD/ports/www/firefox/files/patch-browser_app_mozilla.in www/firefox/files/patch-browser_app_mozilla.in
--- /usr/HEAD/ports/www/firefox/files/patch-browser_app_mozilla.in	Wed Dec 29 05:18:00 2004
+++ www/firefox/files/patch-browser_app_mozilla.in	Mon Jan  3 15:42:46 2005
@@ -1,56 +1,531 @@
---- browser/app/mozilla.in.orig	Tue Oct 26 05:26:11 2004
-+++ browser/app/mozilla.in	Mon Dec 27 19:15:52 2004
-@@ -110,6 +110,7 @@
-   # Check default compile-time libdir
-   if [ -x "$moz_libdir/run-mozilla.sh" ]; then
-     dist_bin="$moz_libdir"
-+    run_moz="$dist_bin/run-mozilla.sh"
-   else 
-     echo "Cannot find mozilla runtime directory. Exiting."
+--- browser/app/mozilla.in.orig	Tue Oct 26 11:26:11 2004
++++ browser/app/mozilla.in	Mon Jan  3 15:42:15 2005
+@@ -16,219 +16,349 @@
+ # Reserved.
+ #
+ 
+-## $Id: mozilla.in,v 1.3.4.9 2004/10/26 09:26:11 bryner%brianryner.com Exp $
+-## 
+-## Usage:
+-##
+-## $ mozilla [args]
+-##
+-## This script is meant to run the mozilla-bin binary from either 
+-## mozilla/xpfe/bootstrap or mozilla/dist/bin.
+-##
+-## The script will setup all the environment voodoo needed to make
+-## the mozilla-bin binary to work.
+-##
++# $from: mozilla.in,v 1.3.4.9 2004/10/26 09:26:11 bryner%brianryner.com Exp $
+ 
+-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
+-}
++#
++# Usage:
++#
++#	$ mozilla [args]
++#
++# The script will setup all the environment voodoo needed to make
++# the mozilla-bin binary to work.
++#
+ 
+ #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%"
++MOZILLA_BIN="%MOZILLA_BIN%"
++
++debugging=		# set the debugging level
++use_openFile="yes"	# use openfile for file/dir
++here=`pwd`
++
++# # obey the predefined MRE_HOME (not in the original script)
++# if [ -z "${MRE_HOME}" -o ! -d "${MRE_HOME}" ]; then
++    # Try our complied default
++    MRE_HOME="%MREDIR%"
++    if [ ! -d "${MRE_HOME}" ]; then
++	# use moz_libdir as MRE_HOME
++	MRE_HOME="${moz_libdir}"
++    fi
++# fi
++export	MRE_HOME
++
++if [ "$OSTYPE" = "beos" ]; then
++    mimeset -F "$MOZILLA_BIN"
++fi
++
++#
++# 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_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
++}
+ 
++#
++# Search for a valid mozilla bind-dist
+ # Use run-mozilla.sh in the current dir if it exists
+ # If not, then start resolving symlinks until we find run-mozilla.sh
+ found=0
+ progname="$0"
+-curdir=`dirname "$progname"`
+-progbase=`basename "$progname"`
+-run_moz="$curdir/run-mozilla.sh"
+-if test -x "$run_moz"; then
+-  dist_bin="$curdir"
+-  found=1
++curdir=`dirname "${progname}"`
++progbase=`basename "${progname}"`
++run_moz="${curdir}/run-mozilla.sh"
++# firefox doesn't obey MOZILLA_FIVE_HOME
++# # Check for $MOZILLA_FIVE_HOME if present
++# if [ -n "${MOZILLA_FIVE_HOME}" -a \
++#      -x "${MOZILLA_FIVE_HOME}/run-mozilla.sh" ]; then
++#     dist_bin="${MOZILLA_FIVE_HOME}"
++#     run_moz="${dist_bin}/run-mozilla.sh"
++# elif [ -x "${run_moz}" ]; then
++if [ -x "${run_moz}" ]; then
++    dist_bin="${curdir}"
++    found=1
+ else
+-  here=`/bin/pwd`
+-  while [ -h "$progname" ]; do
+-    bn=`basename "$progname"`
+-    cd `dirname "$progname"`
+-    progname=`/bin/ls -l "$bn" | sed -e 's/^.* -> //' `
+-    if [ ! -x "$progname" ]; then
+-      break
+-    fi
+-    curdir=`dirname "$progname"`
+-    run_moz="$curdir/run-mozilla.sh"
+-    if [ -x "$run_moz" ]; then
+-      cd "$curdir"
+-      dist_bin=`pwd`
+-      run_moz="$dist_bin/run-mozilla.sh"
+-      found=1
+-      break
+-    fi
+-  done
+-  cd "$here"
++    while [ -h "${progname}" ]; do
++	bn=`basename "${progname}"`
++	cd `dirname "${progname}"`
++	progname=`ls -l "${bn}" | sed -e 's/^.* -> //'`
++	if [ ! -x "${progname}" ]; then
++	    break
++	fi
++	curdir=`dirname "${progname}"`
++	run_moz="${curdir}/run-mozilla.sh"
++	if [ -x "${run_moz}" ]; then
++	    cd "${curdir}"
++	    dist_bin=`pwd`
++	    run_moz="${dist_bin}/run-mozilla.sh"
++	    found=1
++	    break
++	fi
++    done
++    cd "${here}"
+ fi
+ if [ $found = 0 ]; then
+-  # Check default compile-time libdir
+-  if [ -x "$moz_libdir/run-mozilla.sh" ]; then
+-    dist_bin="$moz_libdir"
+-  else 
+-    echo "Cannot find mozilla runtime directory. Exiting."
++    # Check default compile-time libdir
++    if [ -x "${moz_libdir}/run-mozilla.sh" ]; then
++	dist_bin="${moz_libdir}"
++	run_moz="${dist_bin}/run-mozilla.sh"
++    else
++	echo "$0: Cannot find mozilla runtime directory. Exiting." 1>&2
++	exit 1
++    fi
++fi
++
++#
++# test for binary apps in ${dist_bin}
++if [ -x "${dist_bin}/mozilla-xremote-client" ]; then
++    MOZ_CLIENT_PROGRAM="${dist_bin}/mozilla-xremote-client -a ${progbase}"
++elif [ -x "${dist_bin}/${progbase}-bin" ]; then
++    MOZ_CLIENT_PROGRAM="${MOZILLA_BIN} -remote -a ${progbase}"
++else
++    echo "$0: Cannot find mozilla binary executable. Exiting." 1>&2
++    exit 1
++fi
++if [ -x "${dist_bin}/${MOZILLA_BIN}" ]; then
++    MOZILLA_BIN="${dist_bin}/${progbase}-bin"
++else
++    echo "$0: Cannot find mozilla binary executable. Exiting." 1>&2
      exit 1
-@@ -160,11 +161,11 @@
- 	_optLast="${i}"
- done #last arg
+-  fi
+ fi
+ 
+-script_args=""
+-moreargs=""
+-debugging=0
+-MOZILLA_BIN="${progbase}-bin"
+-
+-# The following is to check for a currently running instance.
+-# This is taken almost verbatim from the Mozilla RPM package's launch script.
+-MOZ_CLIENT_PROGRAM="$dist_bin/mozilla-xremote-client"
+-check_running() {
+-    "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" 'ping()' 2>/dev/null >/dev/null
+-    RETURN_VAL=$?
+-    if [ $RETURN_VAL -eq 0 ]; then
+-        echo 1
+-        return 1
++#
++# guest a default remote command
++_remote_cmd="xfeDoCommand(openBrowser)"
++
++#
++# test for a running copy of firefox
++ALREADY_RUNNING=	# null
++if [ -n "${DISPLAY}" ]; then
++    if [ -n "${debugging}" ]; then
++	echo "${run_moz} ${MOZ_CLIENT_PROGRAM} ping()"
++	${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' && ALREADY_RUNNING="yes"
+     else
+-        echo 0
+-        return 0
++	${run_moz_remote} ${MOZ_CLIENT_PROGRAM} 'ping()' >/dev/null 2>&1 &&
++		ALREADY_RUNNING="yes"
+     fi
+-}
+-
+-if [ "$OSTYPE" = "beos" ]; then
+-  mimeset -F "$MOZILLA_BIN"
++elif [ -n "${debugging}" ]; then
++    echo "$0: WARN, no DISPLAY environment" 1>&2
+ fi
  
+-ALREADY_RUNNING=`check_running`
+-
+-################################################################ Parse Arguments
+-# If there's a command line argument but it doesn't begin with a -
+-# it's probably a url.  Try to send it to a running instance.
+-_USE_EXIST=0
+-_optOne="$1"
+-case "${_optOne}" in
+-	-*) 
+-		;;
++#
++# parse options
++script_args=	# null
++moreargs=	# null
++target=	# null
++while [ $# -gt 0 ]
++do
++    if [ -n "${target}" ]; then
++	# well, this can't be the target if not last
++	moreargs="${moreargs} ${target}"
++	target= # null
++    fi
++    case "$1" in
++	-p | --pure | -pure)
++	    MOZILLA_BIN="${MOZILLA_BIN}.pure"
++	    shift
++	    ;;
++	-g | --debug)
++	    script_args="${script_args} -g"
++	    debugging=1
++	    shift
++	    ;;
++	-d | --debugger)
++	    if [ -n "$2" ]; then
++		script_args="${script_args} -d $2"
++		shift 2
++	    else
++		"$0: ERROR, -d needs an argument. Exiting" 1>&2
++		exit 1
++	    fi
++	    ;;
++	-UILocale)
++	    if [ -n "$2" ]; then
++		uilocale="$2"
++		shift 2
++	    else
++		echo "$0: ERROR, -UILocale needs an argument. Exiting" 1>&2
++		exit 1
++	    fi
++	    ;;
++	-UIRegion)
++	    if [ -n "$2" ]; then
++		uiregion="$2"
++		shift 2
++	    else
++		echo "$0: ERROR, -UIRegion needs an argument. Exiting" 1>&2
++		exit 1
++	    fi
++	    ;;
++	# teak next extries for browser/mailapp/suite ?
++	-browser)
++	    _remote_cmd="xfeDoCommand(openBrowser)"
++	    moreargs="${moreargs} $1"
++	    shift
++	    ;;
++	-mail)
++	    _remote_cmd="xfeDoCommand(openInbox)"
++	    moreargs="${moreargs} $1"
++	    shift
++	    ;;
++	-compose)
++	    _remote_cmd="xfeDoCommand(composeMessage)"
++	    moreargs="${moreargs} $1"
++	    shift
++	    ;;
++	-chat | -edit | webcal)
++	    # don't use remote for this
++	    ALREADY_RUNNING=	# null
++	    moreargs="${moreargs} $1"
++	    shift
++	    ;;
++	-*)
++	    moreargs="${moreargs} $1"
++	    shift
++	    ;;
+ 	*)
+-		_USE_EXIST=1
+-		;;
+-esac
+-
+-_optLast=
+-for i in "$@"; do 
+-	_optLast="${i}"
+-done #last arg
+-
 -if [ `expr "${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
-+if [ `expr X"${_optLast}" : 'X.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
- 	# Last argument seems to be a local file/directory
- 	# Check, if it is absolutely specified (ie. /home/foo/file vs. ./file)
- 	# If it is just "relatively" (./file) specified, make it absolutely
+-	# Last argument seems to be a local file/directory
+-	# Check, if it is absolutely specified (ie. /home/foo/file vs. ./file)
+-	# If it is just "relatively" (./file) specified, make it absolutely
 -	[ `expr "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
-+	[ `expr -- "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
+-fi
+-################################################################ Parse Arguments
+-
+-########################################################################### Main
+-if [ $ALREADY_RUNNING -eq 1 ]; then
+-	# There's an instance already running. Use it.
+-	# Any command line args passed in?
+-	if [ $# -gt 0 ]; then
+-		# There were "some" command line args.
+-		if [ ${_USE_EXIST} -eq 1 ]; then
+-			# We should use an existing instance, as _USE_EXIST=$_USE_EXIST=-1
+-			_remote_cmd="openURL(${_optLast})"
+-			"${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "${_remote_cmd}"
+-			unset _remote_cmd
+-			exit $?
+-		fi
++	    target="$1"
++	    shift
++	    ;;
++    esac
++done
++
++#
++# process target
++if [ -n "${target}" ]; then
++    if [ `expr "${target}" : '.*:.*'` -eq 0 ]; then
++	if [ `expr "${target}" : '/.*'` -eq 0 ]; then
++	    target="${here}/${target}"
++	fi
++	if [ -r "${target}" -o -d "${target}" ]; then
++	    [ -n "${use_openFile}" ] || target="file://${target}"
+ 	else
+-		# No command line args. Open new window/tab
+-		#exec "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)"
+-		"${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)"
+-		exit $?
++	    echo "$0: WARN, target: ${target} not an URI/file/dir" 1>&2
++	    ALREADY_RUNNING=	# null
+ 	fi
++    else
++	use_openFile=	# null
++    fi
  fi
- ################################################################ Parse Arguments
+-# Default action - no running instance or _USE_EXIST (${_USE_EXIST}) ! -eq 1
+-########################################################################### Main
  
-@@ -207,12 +208,31 @@
-       script_args="$script_args -d $2"
-       shift 2
-       ;;
-+    -UILocale)
-+      moreargs="$moreargs -UILocale $2"
-+      _done_locale="YES"
-+      shift 2
-+      ;;
-+    -UIRegion)
-+      if [ -n "${_done_locale}" ]; then
-+        moreargs="$moreargs -UIRegion $2"
-+      fi
-+      shift 2
-+      ;;
-     *)
-       moreargs="$moreargs \"$1\""
-       shift 1
-       ;;
-   esac
- done
-+
-+if [ ! -n "${_done_locale}" -a -n "${MOZILLA_UILOCALE}" ]; then
-+    if [ -n "${MOZILLA_UIREGION}" ]; then
-+      moreargs="-UIRegion ${MOZILLA_UIREGION} $moreargs"
+-while [ $# -gt 0 ]
+-do
+-  case "$1" in
+-    -p | --pure | -pure)
+-      MOZILLA_BIN="${MOZILLA_BIN}.pure"
+-      shift
+-      ;;
+-    -g | --debug)
+-      script_args="$script_args -g"
+-      debugging=1
+-      shift
+-      ;;
+-    -d | --debugger)
+-      script_args="$script_args -d $2"
+-      shift 2
+-      ;;
+-    *)
+-      moreargs="$moreargs \"$1\""
+-      shift 1
+-      ;;
+-  esac
+-done
++#
++# try remote protocol if running
++if [ -n "${ALREADY_RUNNING}" ]; then
++    if [ -n "${target}" ]; then
++	if [ -n "${use_openFile}" ]; then
++	    _remote_cmd="openFile(${target})"
++	elif [ -n "${location}" ]; then
++	    _remote_cmd="openURL(${target},${location})"
++	else
++	    _remote_cmd="openURL(${target})"
++	fi
 +    fi
-+    moreargs="-UILocale ${MOZILLA_UILOCALE} $moreargs"
++    # FIXME problems with freedesktop StartupNotify
++    if [ -n "${debugging}" ]; then
++	echo "${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd}"
++    fi
++    ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} && exit 0
++fi
+ 
+-export MRE_HOME
+-eval "set -- $moreargs"
++#
++# fallback to direct invocation
++
++#
++# UILocale, UIRegion
++if [ -z "${uilocale}" -a -n "${MOZILLA_UILOCALE}" ]; then
++    uilocale="${MOZILLA_UILOCALE}"
++fi
++if [ -z "${uiregion}" -a -n "${MOZILLA_UIREGION}" ]; then
++    uiregion="${MOZILLA_UIREGION}"
 +fi
-+unset _done_locale
++if [ -n "${uiregion}" -a -z "${uilocale}" ]; then
++    uilocale="en-US"
++fi
++if [ -n "${moz_uilocale}" ]; then
++    if [ -n "${moz_uiregion}" ]; then
++	moreargs="-UIRegion ${moz_uiregion} ${more_args}"
++    fi
++    moreargs="-UILocale ${moz_uilocale} ${more_args}"
++fi
++
++#
++# real invocation
++if [ -n "${target}" ]; then
++    eval "set -- ${moreargs} \"${target}\""
++else
++    eval "set -- ${moreargs}"
++fi
+ 
+ ## Start addon scripts
+ moz_pis_startstop_scripts "start"
+ 
+-if [ $debugging = 1 ]
+-then
+-  echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
++if [ -n "${debugging}" ]; then
++    echo "${run_moz} ${script_args} ${MOZILLA_BIN} $@"
+ fi
+-"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
++${run_moz} ${script_args} ${MOZILLA_BIN} "$@"
+ exitcode=$?
+ 
+ ## Stop addon scripts
+ moz_pis_startstop_scripts "stop"
  
- export MRE_HOME
- eval "set -- $moreargs"
+ exit $exitcode
+-# EOF.
++# EOF
diff -Nru /usr/HEAD/ports/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	Thu Jan  1 01:00:00 1970
+++ www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	Mon Jan  3 12:15:15 2005
@@ -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 -Nru /usr/HEAD/ports/www/firefox/pkg-deinstall.in www/firefox/pkg-deinstall.in
--- /usr/HEAD/ports/www/firefox/pkg-deinstall.in	Thu Oct 28 23:37:53 2004
+++ www/firefox/pkg-deinstall.in	Mon Jan  3 19:11:32 2005
@@ -7,12 +7,14 @@
 # Fix the chrome registry.
 
 umask 022
-PATH=/bin:/usr/bin
+PATH="/bin:/usr/bin"
+
+prefix="${PKG_PREFIX:-%%PREFIX%%}"
 
 [ "x$1" = "x" ] && exit 1
 [ "x$2" != "xDEINSTALL" ] && exit 0
 
-MOZDIR=%%MOZDIR%%
+MOZDIR="${prefix}/lib/%%MOZILLA%%"
 
 rm -rf ${MOZDIR}/chrome/overlayinfo
 rm -f ${MOZDIR}/chrome/*.rdf
@@ -20,6 +22,52 @@
 rm -f ${MOZDIR}/components.ini
 rm -f ${MOZDIR}/defaults.ini
 rm -f ${MOZDIR}/components/*.dat
+# this make drop global installed extensions
 rm -rf ${MOZDIR}/extensions
+
+# support for outer bin commands
+extra_scripts="%%EXTRA_SCRIPTS%%"
+for script in "${extra_scripts}"; do
+    rm -f "${prefix}/${script}"
+done
+rm -f "${prefix}/firefox" "${prefix}/firefox-config" 
+for mozdir in ${prefix}/lib/firefox* %%X11BASE%%/lib/firefox*; do
+    if [ -d "${mozdir}" -a -x "${mozdir}/run-mozilla.sh" -a
+	 -x "${mozdir}/firefox" ]; then
+	install -m 555 ${mozdir}/firefox ${prefix}/bin/
+	if [ -x "${mozdir}/firefox-config" ]; then
+	    install -m 555 ${mozdir}/firefox-config ${prefix}/bin/
+	fi
+	if [ -x "${mozdir}/firefox.rb" ]; then
+	    install -m 555 ${mozdir}/firefox.rb ${prefix}/bin/
+	fi
+	break
+    fi
+done
+
+# support for shared browser-plugins directory (X11BASE)
+PLUGINDIR="%%X11BASE%%/lib/browser-plugins"
+# this is what we do now
+# But may be better use MOZLIB after tr / _
+KEEPFILE="${PLUGINDIR}/.%%MOZILLA%%.keep"
+# sure someone can work a clever way to do this
+rm -f "${KEEPFILE}"
+for file in "${PLUGINDIR}/.*.keep"; do
+    if [ -f "${file}" ]; then
+	break
+    fi
+    rm -rf "${PLUGINDIR}"
+    break
+done
+# alternate way to register browser-plugins
+# PLUGINDIR="%%X11BASE%%/lib/browser-plugins"
+# KEEPFILE="${PLUGINDIR}/.keepme"
+# if [ -r "${PLUGINDIR}/.keepme" ]; then
+#     if grep -v "${MOZDIR}" "${KEEPFILE}" > "${KEEPFILE}-%%MOZILLA%%"; then
+#       mv "${KEEPFILE}-%%MOZILLA%%" "${KEEPFILE}"
+#     else
+#       rm -rf "${PLUGINDIR}"
+#     fi
+# fi
 
 exit 0
diff -Nru /usr/HEAD/ports/www/firefox/pkg-install.in www/firefox/pkg-install.in
--- /usr/HEAD/ports/www/firefox/pkg-install.in	Sat Dec  4 10:47:27 2004
+++ www/firefox/pkg-install.in	Mon Jan  3 19:32:03 2005
@@ -7,15 +7,17 @@
 # Fix the chrome registry.
 
 umask 022
-PATH=/bin:/usr/bin:/usr/local/bin
+PATH="/bin:/usr/bin:/usr/local/bin"
+
+prefix="${PKG_PERFIX:-%%PREFIX%%}"
 
 [ "x$1" = "x" ] && exit 1
 [ "x$2" != "xPOST-INSTALL" ] && exit 0
 
-MOZDIR=%%MOZDIR%%
-REGXPCOM=${MOZDIR}/regxpcom
-REGCHROME=${MOZDIR}/regchrome
-FIREFOX=${MOZDIR}/firefox-bin
+MOZDIR="${prefix}/lib/%%MOZILLA%%"
+REGXPCOM="${MOZDIR}/regxpcom"
+REGCHROME="${MOZDIR}/regchrome"
+FIREFOX="${MOZDIR}/firefox-bin"
 
 echo "===> Building Chrome's registry..."
 rm -rf ${MOZDIR}/chrome/overlayinfo
@@ -27,10 +29,46 @@
 cd ${MOZDIR} || exit 1
 ./run-mozilla.sh ${REGXPCOM} || true
 ./run-mozilla.sh ${REGCHROME} || true
-./run-mozilla.sh ${FIREFOX} -register > /dev/null 2>&1
+./run-mozilla.sh ${iFIREFOX} -register > /dev/null 2>&1
+
+# support for shared browser-plugins directory (X11BASE)
+PLUGINDIR="%%X11BASE%%/lib/browser-plugins"
+# this is what we do now
+# But may be better use MOZLIB after tr / _
+KEEPFILE="${PLUGINDIR}/.%%MOZILLA%%.keep"
+mkdir -p "${PLUGINDIR}"
+touch "${KEEPFILE}"
+# an alternate way to register browser-plugins
+# PLUGINDIR="%%X11BASE%%/lib/browser-plugins"
+# KEEPFILE="${PLUGINDIR}/.keepme"
+# mkdir -p "${PLUGINDIR}"
+# touch "${KEEPFILE}"
+# grep -hqv "${MOZDIR}" "${KEEPFILE}" > "${KEEPFILE}-%%MOZILLA%%"
+# mv "${KEEPFILE}-%%MOZILLA%%" "${KEEPFILE}"
 
-if [ ! -d %%PREFIX%%/lib/browser_plugins ]; then
-    mkdir -p %%PREFIX%%/lib/browser_plugins
+# java plugin
+# FIXME, this must be done from plugins pkg_install
+jpidst="${PLUGINDIR}/libjavaplugin_oji.so"
+if [ ! -L "${jpidst}" ]; then
+    rm -f "${jpidst}"
+    jpilist="%%JPI_LIST%%"
+    for jpi in "${jpilist}"; do
+	if [ -r "${jpi}" ]; then
+	    ln -s "${jpi}" "${jpidst}"
+	    break
+	fi
+    done
 fi
+
+# install outer binaries
+extra_scripts="%%EXTRA_SCRIPTS%%"
+install -m 555 ${MOZDIR}/firefox ${prefix}/bin/%%MOZILLA%%
+install -m 555 ${MOZDIR}/firefox ${prefix}/bin/
+install -m 555 ${MOZDIR}/firefox-config ${prefix}/bin/
+for script in "${extra_scripts}"; do
+    if [ -x "${MOZDIR}/${script}" ]; then
+	install -m 555 ${MOZDIR}/${script} ${prefix}/bin/
+    fi
+done
 
 exit 0
--- patch-firefox ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list