summaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-20 07:51:38 +0800
committerahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-20 07:51:38 +0800
commita2b49fab6c35874c47dadae1d3a2a68f4ef86b3d (patch)
tree99f12488384e2f82b7cc4f795caad91d90022c15 /www
parent3f736810f8d63c4369e83d93695e6dec7a46307d (diff)
downloadmarcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.tar.gz
marcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.tar.zst
marcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.zip
Moved to ports-experimental
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@9690 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'www')
-rw-r--r--www/firefox-devel/Makefile101
-rw-r--r--www/firefox-devel/distinfo3
-rw-r--r--www/firefox-devel/files/firefox.desktop.in191
-rw-r--r--www/firefox-devel/files/patch-bugzilla2968181621
-rw-r--r--www/firefox-devel/files/patch-build_unix_run-mozilla.sh12
-rw-r--r--www/firefox-devel/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/firefox-devel/files/patch-config-rules.mk13
-rw-r--r--www/firefox-devel/files/patch-config_autoconf.mk.in18
-rw-r--r--www/firefox-devel/files/patch-config_mkdepend_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-content_xslt_public_txDouble.h20
-rw-r--r--www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp46
-rw-r--r--www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h12
-rw-r--r--www/firefox-devel/files/patch-js_src_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-js_src_jsnum.c28
-rw-r--r--www/firefox-devel/files/patch-modules_libpref_src_init_all.js53
-rw-r--r--www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk24
-rw-r--r--www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/firefox-devel/files/patch-storage_build_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-sysnss34
-rw-r--r--www/firefox-devel/files/patch-toolkit_xre_Makefile.in8
-rw-r--r--www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in54
-rw-r--r--www/firefox-devel/files/patch-xptcall-alpha459
-rw-r--r--www/firefox-devel/files/patch-xptcall-sparc64327
-rw-r--r--www/firefox-devel/pkg-descr12
-rw-r--r--www/firefox-devel/pkg-message32
-rw-r--r--www/firefox3-devel/Makefile101
-rw-r--r--www/firefox3-devel/distinfo3
-rw-r--r--www/firefox3-devel/files/firefox.desktop.in191
-rw-r--r--www/firefox3-devel/files/patch-bugzilla2968181621
-rw-r--r--www/firefox3-devel/files/patch-build_unix_run-mozilla.sh12
-rw-r--r--www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/firefox3-devel/files/patch-config-rules.mk13
-rw-r--r--www/firefox3-devel/files/patch-config_autoconf.mk.in18
-rw-r--r--www/firefox3-devel/files/patch-config_mkdepend_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-content_xslt_public_txDouble.h20
-rw-r--r--www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp46
-rw-r--r--www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h12
-rw-r--r--www/firefox3-devel/files/patch-js_src_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-js_src_jsnum.c28
-rw-r--r--www/firefox3-devel/files/patch-modules_libpref_src_init_all.js53
-rw-r--r--www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk24
-rw-r--r--www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/firefox3-devel/files/patch-storage_build_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-sysnss34
-rw-r--r--www/firefox3-devel/files/patch-toolkit_xre_Makefile.in8
-rw-r--r--www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in54
-rw-r--r--www/firefox3-devel/files/patch-xptcall-alpha459
-rw-r--r--www/firefox3-devel/files/patch-xptcall-sparc64327
-rw-r--r--www/firefox3-devel/pkg-descr12
-rw-r--r--www/firefox3-devel/pkg-message32
-rw-r--r--www/mozilla/Makefile162
-rw-r--r--www/mozilla/Makefile.common433
-rw-r--r--www/mozilla/bsd.gecko.mk171
-rw-r--r--www/mozilla/distinfo6
-rw-r--r--www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp88
-rw-r--r--www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp50
-rw-r--r--www/mozilla/files/mozconfig-generic.in8
-rw-r--r--www/mozilla/files/mozilla.desktop.in169
-rw-r--r--www/mozilla/files/patch-Double.cpp59
-rw-r--r--www/mozilla/files/patch-Makefile.in22
-rw-r--r--www/mozilla/files/patch-bugzilla149334342
-rw-r--r--www/mozilla/files/patch-build_unix_run-mozilla.sh21
-rw-r--r--www/mozilla/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/mozilla/files/patch-config::mkdepend::Makefile.in10
-rw-r--r--www/mozilla/files/patch-config::rules.mk14
-rw-r--r--www/mozilla/files/patch-config_autoconf.mk.in18
-rw-r--r--www/mozilla/files/patch-extensions_p3p_Makefile.in30
-rw-r--r--www/mozilla/files/patch-gcc479
-rw-r--r--www/mozilla/files/patch-gfx-src-gtk-Makefile.in15
-rw-r--r--www/mozilla/files/patch-gfx_src_ps_nsType1.cpp58
-rw-r--r--www/mozilla/files/patch-libm25
-rw-r--r--www/mozilla/files/patch-qt65
-rw-r--r--www/mozilla/files/patch-security::coreconf::FreeBSD.mk37
-rw-r--r--www/mozilla/files/patch-sysnspr21
-rw-r--r--www/mozilla/files/patch-sysnss178
-rw-r--r--www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp18
-rw-r--r--www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc11
-rw-r--r--www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in56
-rw-r--r--www/mozilla/files/patch-xpfe_bootstrap_mozilla.in436
-rw-r--r--www/mozilla/files/patch-xptcall-alpha459
-rw-r--r--www/mozilla/files/patch-xptcall-amd64386
-rw-r--r--www/mozilla/files/patch-xptcall-ia6438
-rwxr-xr-xwww/mozilla/files/patch-xptcall-sparc64327
-rw-r--r--www/mozilla/pkg-deinstall.in28
-rw-r--r--www/mozilla/pkg-descr10
-rw-r--r--www/mozilla/pkg-install.in42
91 files changed, 0 insertions, 10247 deletions
diff --git a/www/firefox-devel/Makefile b/www/firefox-devel/Makefile
deleted file mode 100644
index 25c3232f5..000000000
--- a/www/firefox-devel/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# New ports collection makefile for: phoenix
-# Date created: 2002/10/21
-# Whom: Alan Eldridge <alane@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/firefox-devel/Makefile,v 1.40 2007/09/10 16:26:49 ahze Exp $
-
-PORTNAME= firefox
-DISTVERSION= 3.0.a7
-PORTEPOCH= 1
-CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/granparadiso/alpha7/source/
-#MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= granparadiso-alpha7-source
-#DISTNAME= ${PORTNAME}-${DISTVERSION}-source
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Web browser based on the browser portion of Mozilla
-
-MOZILLA_NAME= Firefox-${MOZILLA_SUFX}
-MOZILLA_SUFX= -devel
-MOZILLA= ${PORTNAME}${MOZILLA_SUFX}
-MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
- --enable-svg --enable-svg-renderer=cairo
-MOZ_TOOLKIT= cairo-gtk2
-
-WANT_GNOME= yes
-ALL_TARGET= default
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-EXTRA_CFLAGS= -O2
-HAS_CONFIGURE= yes
-USE_BZIP2= yes
-USE_GMAKE= yes
-NO_MOZPKGINSTALL=yes
-
-FIREFOX_ICON= ${MOZILLA}.xpm
-FIREFOX_ICON_SRC= ${PREFIX}/lib/firefox-devel/chrome/icons/default/default.xpm
-MOZ_PKGCONFIG_FILES= ${MOZILLA}-js ${MOZILLA}-xpcom ${MOZILLA}-plugin
-MOZ_OPTIONS= --enable-application=browser \
- --enable-system-cairo \
- --enable-official-branding \
- --enable-canvas \
- --with-system-nss
-
-SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
-
-OPTIONS= NEWTAB "Open external links in a new tab" on \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.include <bsd.port.pre.mk>
-
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-
-post-extract::
- @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
- -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
- <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
-
-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
-.for ii in modules/libpref/src/init extensions/sroaming/resources/content/prefs
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
- /dom.disable_window_open_feature.toolbar/s/false/true/' \
- ${WRKSRC}/${ii}/all.js
-.endfor
-
-port-pre-install:
- ${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
- ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLIST}
-.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)
-
-do-install:
- 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
-
-post-install:
- ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
- ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default
- ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON}
-
-.include "${PORTSDIR}/www/mozilla/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/firefox-devel/distinfo b/www/firefox-devel/distinfo
deleted file mode 100644
index 1340a04a1..000000000
--- a/www/firefox-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (granparadiso-alpha7-source.tar.bz2) = cd692127775b55f5e64685ef49788c1c
-SHA256 (granparadiso-alpha7-source.tar.bz2) = 91369eff2bba6b0ef3a9b5a40a1585b27f66a670f1a96299852f2595bd96f209
-SIZE (granparadiso-alpha7-source.tar.bz2) = 35319889
diff --git a/www/firefox-devel/files/firefox.desktop.in b/www/firefox-devel/files/firefox.desktop.in
deleted file mode 100644
index d72090e1a..000000000
--- a/www/firefox-devel/files/firefox.desktop.in
+++ /dev/null
@@ -1,191 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=@MOZILLA_NAME@ Web Browser
-Name[am]=
-Name[ar]=
-Name[az]=@MOZILLA_NAME@ Veb Səyyahı
-Name[be]=
-Name[bg]=Интернет браузър @MOZILLA_NAME@
-Name[bn]=
-Name[bs]=@MOZILLA_NAME@ web preglednik
-Name[ca]=Navegador web @MOZILLA_NAME@
-Name[cs]=Prohlížeč WWW @MOZILLA_NAME@
-Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
-Name[da]=@MOZILLA_NAME@ - internetsurfning
-Name[de]=@MOZILLA_NAME@ Webbrowser
-Name[el]=Περιηγητής Διαδικτύου @MOZILLA_NAME@
-Name[en_CA]=@MOZILLA_NAME@ Web Browser
-Name[en_GB]=@MOZILLA_NAME@ Web Browser
-Name[es]=Navegador Web @MOZILLA_NAME@
-Name[et]=@MOZILLA_NAME@ veebibrauser
-Name[eu]=@MOZILLA_NAME@ web arakatzailea
-Name[fi]=@MOZILLA_NAME@, WWW-selain
-Name[fr]=Navigateur Web @MOZILLA_NAME@
-Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
-Name[gu]=એપીફની વૅબ બ્રાઉઝર
-Name[he]=דפדפן @MOZILLA_NAME@
-Name[hi]=
-Name[hr]=@MOZILLA_NAME@ Web preglednik
-Name[hu]=@MOZILLA_NAME@ webböngésző
-Name[id]=Web Browser @MOZILLA_NAME@
-Name[it]=Browser web @MOZILLA_NAME@
-Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
-Name[ko]=@MOZILLA_NAME@ 웹 브라우저
-Name[li]=@MOZILLA_NAME@ Web Browser
-Name[lt]=@MOZILLA_NAME@ web naršyklė
-Name[mk]=@MOZILLA_NAME@ веб прелистувач
-Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
-Name[mn]=@MOZILLA_NAME@ веб хөтөч
-Name[ms]=Pelungsur Web @MOZILLA_NAME@
-Name[nb]=@MOZILLA_NAME@ nettleser
-Name[nl]=@MOZILLA_NAME@ Webbrowser
-Name[nn]=@MOZILLA_NAME@ nettlesar
-Name[no]=@MOZILLA_NAME@ nettleser
-Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
-Name[pl]=Przeglądarka WWW @MOZILLA_NAME@
-Name[pt]=Navegador Web @MOZILLA_NAME@
-Name[pt_BR]=Navegador Web @MOZILLA_NAME@
-Name[ro]=Navigatorul @MOZILLA_NAME@
-Name[ru]=Веб-браузер @MOZILLA_NAME@
-Name[sk]=
-Name[sl]=Spletni brskalnik @MOZILLA_NAME@
-Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
-Name[sr]=
-Name[sr@Latn]=Veb čitač Spoznaja
-Name[sv]=Webbläsaren @MOZILLA_NAME@
-Name[ta]=எபிபனி வலை உலாவி
-Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
-Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
-Name[uk]=Переглядач web @MOZILLA_NAME@
-Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
-Name[wa]=Betchteu waibe epiphany
-Name[zh_CN]=@MOZILLA_NAME@ Web 浏览器
-Name[zh_TW]=@MOZILLA_NAME@ 網頁瀏覽器
-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 @MOZILLA_NAME@
-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@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@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில் உலாவு
-Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
-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=@MOZILLA@ %u
-Icon=@FIREFOX_ICON@
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox-devel/files/patch-bugzilla296818 b/www/firefox-devel/files/patch-bugzilla296818
deleted file mode 100644
index a7f22b4eb..000000000
--- a/www/firefox-devel/files/patch-bugzilla296818
+++ /dev/null
@@ -1,1621 +0,0 @@
-diff --git ChangeLog ChangeLog
-new file mode 100644
-index 0000000..c9c7dce
---- /dev/null
-+++ ChangeLog
-@@ -0,0 +1,277 @@
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Write the restore data regardless of
-+ the state we are in, right when we first fill the buffer.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDataDone): Print the first four bytes of the
-+ restore data, to check it later.
-+ (imgContainer::ReloadImages): Likewise.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Reuse the image container if the loader has one; don't always
-+ create a new one. This lets containers reload themselves.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AppendFrame): Unconditionally increment mNumFrames!
-+ (imgContainer::RestoreDiscardedData): Check the number of restored
-+ frames here.
-+ (imgContainer::ReloadImages): Flush and close the decoder.
-+ (imgContainer::RestoreDataDone): No-op if we are already restoring
-+ the data.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (*): Print the
-+ imgContainer pointers when logging.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (*): Likewise.
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::ReloadImages): Oops, use an nsCOMPtr<> for the
-+ ContainerLoader, not a direct pointer.
-+ (ContainerLoader NS_IMPL_ISUPPORTS3): Oops, we also implement
-+ imgIContainerObserver.
-+ (class ContainerLoader): Implement nsISupportsWeakReference as
-+ well; imgContainer needs it from the observer.
-+ (imgContainer::RestoreDiscardedData): Log how many frames we got
-+ and how many we expected.
-+ (imgContainer::ReloadImages): Assert that we got the right number
-+ of frames.
-+ (imgContainer::GetCurrentFrameNoRef): Log failures from
-+ RestoreDiscardedData().
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (end_callback):
-+ Don't tell the container that the restore data is done here...
-+ (nsPNGDecoder::Close): ... but do it here instead. This is
-+ because end_callback() gets called from within ReadDataOut(); we
-+ don't want end_callback() to inform the container that the restore
-+ data is done before actually writing the restore data to it!
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Set the image container as discardable.
-+ (ReadDataOut): Store the compressed data in the image container to
-+ restore from it later.
-+ (end_callback): Tell the image container that we finished feeding
-+ it the restore data.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::SetDiscardable): Log the MIME type of the
-+ discardable container.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Clean up a printf format, and do the
-+ logging only on success.
-+
-+ * gfx/thebes/public/gfxXlibSurface.h: Add myself to the contributors.
-+ * modules/libpr0n/public/imgIContainer.idl: Likewise.
-+ * modules/libpr0n/src/imgContainer.cpp: Likewise.
-+ * modules/libpr0n/src/imgContainer.h: Likewise.
-+
-+2007-09-03 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AddRestoreData): No-op if we are being called
-+ during the restore process (we already have the data; there is no
-+ need to save it again).
-+ (class ContainerLoader): Put the macro to implement QI for
-+ imgILoad and imgIDecoderObserver.
-+ (imgContainer::AppendFrame): Don't increment mNumFrames if we are
-+ restoring the image data. Fix the use of the frame counters.
-+ (imgContainer::sDiscardTimerCallback): Implement.
-+ (imgContainer::GetCurrentFrame): Oops, preserve the semantics of
-+ the original function --- if the actual getter gives us a null
-+ frame, return NS_ERROR_FAILURE.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): New
-+ prototype for a ReloadImages() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Call ReloadImages().
-+ (imgContainer::ReloadImages): Implement.
-+ (class ContainerLoader): New helper class that implements
-+ imgILoader and imgIDecoderObserver. We'll use this to re-load the
-+ imgContainer from an image decoder.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Reset the timer; if we got
-+ here it means that the data may be used again soon.
-+
-+2007-08-30 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add an
-+ mDiscarded field. We'll use it to know if the uncompressed image
-+ data has been discarded already and needs to be regenerated on
-+ demand.
-+ (class imgContainer): New prototype for a RestoreDiscardedData() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ mDiscarded.
-+ (imgContainer::GetCurrentFrameNoRef): Return an nsresult rather
-+ than the image frame; return the actual image frame as a
-+ reference. Ensure that the discarded data gets restored.
-+ (imgContainer::GetCurrentFrame): Return the error from
-+ GetCurrentFrameNoRef() if it fails.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::GetFrameAt): Ensure that the discarded data gets restored.
-+ (imgContainer::ResetAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+ (imgContainer::RestoreDiscardedData): Just a stub for now.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Oops, use "count" for the restore
-+ data, not "mBufferLen".
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add a
-+ mNumFrames field. Since we'll discard the contents of mFrames, we
-+ can't rely on mFrames.Count() for the frame count.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize mNumFrames.
-+ (imgContainer::AppendFrame): Maintain the frame count in mNumFrames.
-+ (imgContainer::GetNumFrames): Use mNumFrames instead of mFrames.Count().
-+ (imgContainer::GetFrameAt): Likewise.
-+ (imgContainer::DecodingComplete): Likewise.
-+ (imgContainer::SetAnimationMode): Likewise.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h
-+ (imgContainer::inlinedGetCurrentFrame): Removed to make it not
-+ inline.
-+ (imgContainer::GetCurrentFrameNoRef): New prototype.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::GetCurrentFrameNoRef): Implement this here.
-+ (imgContainer::GetCurrentFrame, imgContainer::StartAnimation): Use
-+ GetCurrentFrameNoRef() instead of inlinedGetCurrentFrame().
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (restoreDataDone): New
-+ method. We'll use this to tell the container when we finish
-+ feeding it the compressed data. After that, it can begin its
-+ discard process whenever it wants.
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add
-+ mRestoreDataDone and mDiscardTimer fields.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ the new fields.
-+ (imgContainer::RestoreDataDone): Implement. When turned on, we
-+ start the discard timer.
-+ (imgContainer::ResetDiscardTimer): New method.
-+ (~imgContainer): Cancel and destroy the timer.
-+ (imgContainer::sDiscardTimerCallback): New callback. Here we'll
-+ discard the uncompressed image data in the image frames. For now
-+ this is just a stub.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Tell the imgContainer when we are done
-+ feeding data to it.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp (discarding_is_enabled):
-+ Stub function, to be replaced with something better in the
-+ future. This lets us disable image discarding by setting a
-+ MOZ_DISABLE_IMAGE_DISCARD environment variable.
-+ (imgContainer::SetDiscardable): Noop if discarding is disabled.
-+ (imgContainer::AddRestoreData): Likewise.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Mark the imgContainer as discardable
-+ when we create it. And when writing to the JPEG decoder, add the
-+ compressed data to the imgContainer so that it can restore itself
-+ later.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (gCompressedImageAccountingLog): Create a
-+ "CompressedImageAccounting" log domain.
-+ (~imgContainer): Log the destruction of compressed data.
-+ (imgContainer::AddRestoreData): Log the addition of compressed data.
-+ (imgContainer::SetDiscardable): Log the creation of a compressed imgContainer.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+
-+ * modules/libpr0n/src/imgContainer.cpp (~imgContainer): Free the
-+ restore data and the MIME type.
-+
-+2007-08-22 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (setDiscardable): New
-+ method. When this is called (can be called only once) from an
-+ image decoder, the image container will discard its uncompressed
-+ image data after a timeout.
-+ (addRestoreData): New method. Image decoders should call this
-+ repeatedly after calling setDiscardable(); this is used to feed
-+ the original, compressed image data to the image container so that
-+ it can uncompress it on demand after discarding it.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer::SetDiscardable):
-+ Implement.
-+ (imgContainer::AddRestoreData): Implement.
-+
-+2007-08-20 Federico Mena Quintero <federico@novell.com>
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp
-+ (gfxXlibSurface::LogSurfaceCreation, surface_destroy_func): Count
-+ the number of surfaces in addition to the number of pixels.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/ImageLogging.h: Remove gImgAccountingLog
-+ from here.
-+
-+ * modules/libpr0n/src/imgRequest.cpp: Likewise.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (gJPEGDecodeAccountingLog): Create a "JPEGDecoderAccounting" log domain.
-+ (nsJPEGDecoder::WriteFrom): Use that log domain.
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp (gXlibSurfaceAccountingLog):
-+ Define a "XlibSurfaceAccounting" log domain.
-+ (gfxXlibSurface::LogSurfaceCreation): New method to log when an
-+ Xlib surface is created from a pixmap. Keeps a counter of how
-+ many pixels are allocated globally.
-+ (gfxXlibSurface::HookSurfaceDestructionForLogging): Utility method
-+ to set user data on the cairo surface, so that we can know when it
-+ is destroyed.
-+ (gfxXlibSurface::gfxXlibSurface): Log the creation of the surface,
-+ and hook it so that we can know when it is destroyed.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgRequest.cpp (gImgAccountingLog): New
-+ logging domain "imgAccounting". We'll use this to log when images
-+ get allocated, freed, requested, etc.
-+
-+ * modules/libpr0n/public/ImageLogging.h (gImgAccountingLog):
-+ Declare this.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Log the creation of an image frame.
-+
-diff --git gfx/thebes/public/gfxXlibSurface.h gfx/thebes/public/gfxXlibSurface.h
-index 078dc73..ea7ba24 100644
---- gfx/thebes/public/gfxXlibSurface.h
-+++ gfx/thebes/public/gfxXlibSurface.h
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -85,6 +86,9 @@ public:
- // when the gfxXlibSurface is destroyed.
- void TakePixmap();
-
-+ void LogSurfaceCreation ();
-+ void HookSurfaceDestructionForLogging ();
-+
- protected:
- // if TakePixmap() was already called on this
- PRBool mPixmapTaken;
-diff --git gfx/thebes/src/gfxXlibSurface.cpp gfx/thebes/src/gfxXlibSurface.cpp
-index dc2a19f..f9c191c 100644
---- gfx/thebes/src/gfxXlibSurface.cpp
-+++ gfx/thebes/src/gfxXlibSurface.cpp
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -37,6 +38,7 @@
- * ***** END LICENSE BLOCK ***** */
-
- #include "gfxXlibSurface.h"
-+#include "prlog.h"
-
- #include "cairo.h"
- #include "cairo-xlib.h"
-@@ -51,6 +53,18 @@ typedef struct {
-
- static void pixmap_free_func (void *);
-
-+
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gXlibSurfaceAccountingLog = PR_NewLogModule ("XlibSurfaceAccounting");
-+#else
-+#define gXlibSurfaceAccountingLog
-+#endif
-+
-+static cairo_user_data_key_t surface_free_key;
-+static int num_surfaces_allocated;
-+static PRInt64 pixels_allocated;
-+
-+
- #define XLIB_IMAGE_SIDE_SIZE_LIMIT 0xffff
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
-@@ -59,6 +73,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
- DoSizeQuery();
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual, const gfxIntSize& size)
-@@ -69,6 +86,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual,
-
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& size)
-@@ -87,6 +107,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& s
-
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictFormat *format,
-@@ -100,6 +123,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictForma
- ScreenOfDisplay(dpy,DefaultScreen(dpy)),
- format, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gfxIntSize& size)
-@@ -115,6 +141,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gf
- format, mSize.width, mSize.height);
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
-@@ -124,6 +153,9 @@ gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
- mDisplay = cairo_xlib_surface_get_display(csurf);
-
- Init(csurf, PR_TRUE);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::~gfxXlibSurface()
-@@ -198,3 +230,63 @@ pixmap_free_func (void *data)
-
- delete pfs;
- }
-+
-+void
-+gfxXlibSurface::LogSurfaceCreation ()
-+{
-+ gfxIntSize size;
-+
-+ size = GetSize ();
-+
-+ num_surfaces_allocated++;
-+ pixels_allocated += (PRInt64) size.width * size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Xlib surface %p created, %ux%u pixels - %d surfaces with %lld global pixels allocated",
-+ CairoSurface (),
-+ size.width,
-+ size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+}
-+
-+struct SurfaceFreeData {
-+ gfxIntSize size;
-+ cairo_surface_t *surface;
-+};
-+
-+static void
-+surface_destroy_func (void *closure)
-+{
-+ SurfaceFreeData *data;
-+
-+ data = (SurfaceFreeData *) closure;
-+
-+ num_surfaces_allocated--;
-+ pixels_allocated -= (PRInt64) data->size.width * data->size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Destroying Xlib surface %p, %dx%d pixels - %d surfaces with %lld global pixels allocated",
-+ data->surface,
-+ data->size.width,
-+ data->size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+
-+ delete data;
-+}
-+
-+void
-+gfxXlibSurface::HookSurfaceDestructionForLogging ()
-+{
-+ SurfaceFreeData *data;
-+
-+ data = new SurfaceFreeData;
-+ data->size = GetSize ();
-+ data->surface = CairoSurface ();
-+
-+ cairo_surface_set_user_data (data->surface,
-+ &surface_free_key,
-+ data,
-+ surface_destroy_func);
-+}
-diff --git modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-index 16b9fd8..48431e4 100644
---- modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+++ modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -63,8 +64,10 @@ NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder)
-
- #if defined(PR_LOGGING)
- PRLogModuleInfo *gJPEGlog = PR_NewLogModule("JPEGDecoder");
-+static PRLogModuleInfo *gJPEGDecoderAccountingLog = PR_NewLogModule ("JPEGDecoderAccounting");
- #else
- #define gJPEGlog
-+#define gJPEGDecoderAccountingLog
- #endif
-
-
-@@ -208,6 +211,15 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- nsresult rv = inStr->Read((char*)mBuffer, count, &mBufferLen);
- *_retval = mBufferLen;
-
-+ if (mImage) {
-+ nsresult result = mImage->AddRestoreData ((char *) mBuffer, count);
-+
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+ }
-+
- NS_ASSERTION(NS_SUCCEEDED(rv), "nsJPEGDecoder::WriteFrom -- inStr->Read failed");
- }
- // else no input stream.. Flush() ?
-@@ -357,6 +369,9 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- /* Check if the request already has an image container.
- this is the case when multipart/x-mixed-replace is being downloaded
- if we already have one and it has the same width and height, reuse it.
-+
-+ This is also the case when an existing container is reloading itself from
-+ us.
- */
- mImageLoad->GetImage(getter_AddRefs(mImage));
- if (mImage) {
-@@ -370,6 +385,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- if (!mImage) {
-+ nsresult result;
-+
- mImage = do_CreateInstance("@mozilla.org/image/container;1");
- if (!mImage) {
- mState = JPEG_ERROR;
-@@ -377,6 +394,18 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
- mImageLoad->SetImage(mImage);
- mImage->Init(mInfo.image_width, mInfo.image_height, mObserver);
-+
-+ result = mImage->SetDiscardable ("image/jpeg"); /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
-+ result = mImage->AddRestoreData ((char *) mBuffer, count);
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
- }
-
- mObserver->OnStartContainer(nsnull, mImage);
-@@ -416,7 +445,11 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- mImage->AppendFrame(mFrame);
-- }
-+
-+ PR_LOG (gJPEGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("JPEGDecoderAccounting: nsJPEGDecoder::WriteFrom -- created image frame with %ux%u pixels",
-+ mInfo.image_width, mInfo.image_height));
-+ }
-
- mObserver->OnStartFrame(nsnull, mFrame);
-
-@@ -538,6 +571,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- case JPEG_DONE:
- {
-+ nsresult result;
-+
- LOG_SCOPE(gJPEGlog, "nsJPEGDecoder::WriteFrom -- entering JPEG_DONE case");
-
- /* Step 7: Finish decompression */
-@@ -547,6 +582,12 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- mState = JPEG_SINK_NON_JPEG_TRAILER;
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
- /* we're done dude */
- break;
- }
-diff --git modules/libpr0n/decoders/png/nsPNGDecoder.cpp modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-index 85f0216..15abc9f 100644
---- modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-+++ modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -73,6 +74,7 @@ static void PNGAPI warning_callback(png_structp png_ptr, png_const_charp warning
-
- #ifdef PR_LOGGING
- PRLogModuleInfo *gPNGLog = PR_NewLogModule("PNGDecoder");
-+static PRLogModuleInfo *gPNGDecoderAccountingLog = PR_NewLogModule ("PNGDecoderAccounting");
- #endif
-
- NS_IMPL_ISUPPORTS1(nsPNGDecoder, imgIDecoder)
-@@ -119,6 +121,11 @@ void nsPNGDecoder::CreateFrame(png_uint_32 x_offset, png_uint_32 y_offset,
-
- if (mObserver)
- mObserver->OnStartFrame(nsnull, mFrame);
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::CreateFrame -- created image frame with %dx%d pixels in container %p",
-+ width, height,
-+ mImage.get ()));
- }
-
- // set timeout and frame disposal method for the current frame
-@@ -213,9 +220,25 @@ NS_IMETHODIMP nsPNGDecoder::Init(imgILoad *aLoad)
- /* void close (); */
- NS_IMETHODIMP nsPNGDecoder::Close()
- {
-+ nsresult result;
-+
- if (mPNG)
- png_destroy_read_struct(&mPNG, mInfo ? &mInfo : NULL, NULL);
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): failure in RestoreDataDone() for image container %p",
-+ mImage.get ()));
-+
-+ mError = PR_TRUE;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): image container %p is now with RestoreDataDone",
-+ mImage.get ()));
-+
- return NS_OK;
- }
-
-@@ -234,6 +257,7 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- PRUint32 *writeCount)
- {
- nsPNGDecoder *decoder = static_cast<nsPNGDecoder*>(closure);
-+ nsresult result;
-
- if (decoder->mError) {
- *writeCount = 0;
-@@ -248,10 +272,24 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- *writeCount = 0;
- return NS_ERROR_FAILURE;
- }
--
- png_process_data(decoder->mPNG, decoder->mInfo,
- reinterpret_cast<unsigned char *>(const_cast<char *>(fromRawSegment)), count);
-
-+ result = decoder->mImage->AddRestoreData ((char *) fromRawSegment, count);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): failed to add restore data to image container %p",
-+ decoder->mImage.get ()));
-+
-+ decoder->mError = PR_TRUE;
-+ *writeCount = 0;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): Added restore data to image container %p",
-+ decoder->mImage.get ()));
-+
- *writeCount = count;
- return NS_OK;
- }
-@@ -525,13 +563,41 @@ info_callback(png_structp png_ptr, png_infop info_ptr)
- if (decoder->mObserver)
- decoder->mObserver->OnStartDecode(nsnull);
-
-- decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-- if (!decoder->mImage)
-- longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ /* The image container may already exist if it is reloading itself from us.
-+ * Check that it has the same width/height; otherwise create a new container.
-+ */
-+ decoder->mImageLoad->GetImage (getter_AddRefs (decoder->mImage));
-+ if (decoder->mImage) {
-+ PRInt32 container_width, container_height;
-+
-+ decoder->mImage->GetWidth (&container_width);
-+ decoder->mImage->GetHeight (&container_height);
-
-- decoder->mImageLoad->SetImage(decoder->mImage);
-+ if (container_width != width || container_height != height)
-+ decoder->mImage = nsnull;
-+ }
-
-- decoder->mImage->Init(width, height, decoder->mObserver);
-+ if (!decoder->mImage) {
-+ decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-+ if (!decoder->mImage)
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+
-+ decoder->mImageLoad->SetImage(decoder->mImage);
-+
-+ decoder->mImage->Init(width, height, decoder->mObserver);
-+
-+ /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (decoder->mImage->SetDiscardable ("image/png"))) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): failed to set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ }
-
- if (decoder->mObserver)
- decoder->mObserver->OnStartContainer(nsnull, decoder->mImage);
-@@ -757,7 +823,7 @@ end_callback(png_structp png_ptr, png_infop info_ptr)
- }
-
- decoder->mImage->DecodingComplete();
--
-+
- if (decoder->mObserver) {
- if (!(decoder->apngFlags & FRAME_HIDDEN))
- decoder->mObserver->OnStopFrame(nsnull, decoder->mFrame);
-diff --git modules/libpr0n/public/imgIContainer.idl modules/libpr0n/public/imgIContainer.idl
-index fc42335..524af96 100644
---- modules/libpr0n/public/imgIContainer.idl
-+++ modules/libpr0n/public/imgIContainer.idl
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -144,4 +145,10 @@ interface imgIContainer : nsISupports
- * @note -1 means forever.
- */
- attribute long loopCount;
-+
-+ /* Methods to discard uncompressed images and restore them again */
-+ [noscript] void setDiscardable(in string aMimeType);
-+ [noscript] void addRestoreData(in charPtr aBuffer,
-+ in unsigned long aCount);
-+ [noscript] void restoreDataDone();
- };
-diff --git modules/libpr0n/src/imgContainer.cpp modules/libpr0n/src/imgContainer.cpp
-index 776c4ee..22d8735 100644
---- modules/libpr0n/src/imgContainer.cpp
-+++ modules/libpr0n/src/imgContainer.cpp
-@@ -25,6 +25,7 @@
- * Asko Tontti <atontti@cc.hut.fi>
- * Arron Mogge <paper@animecity.nu>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -42,23 +43,49 @@
-
- #include "nsComponentManagerUtils.h"
- #include "imgIContainerObserver.h"
-+#include "ImageErrors.h"
- #include "nsIImage.h"
-+#include "imgILoad.h"
-+#include "imgIDecoder.h"
-+#include "imgIDecoderObserver.h"
- #include "imgContainer.h"
- #include "nsIInterfaceRequestor.h"
- #include "nsIInterfaceRequestorUtils.h"
- #include "nsAutoPtr.h"
-+#include "nsStringStream.h"
-+#include "prmem.h"
-+#include "prlog.h"
-
- #include "gfxContext.h"
-
-+/* Accounting for compressed data */
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gCompressedImageAccountingLog = PR_NewLogModule ("CompressedImageAccounting");
-+#else
-+#define gCompressedImageAccountingLog
-+#endif
-+
-+static int num_containers_with_discardable_data;
-+static PRInt64 num_compressed_image_bytes;
-+
-+
- NS_IMPL_ISUPPORTS3(imgContainer, imgIContainer, nsITimerCallback, nsIProperties)
-
- //******************************************************************************
- imgContainer::imgContainer() :
- mSize(0,0),
-+ mNumFrames(0),
- mAnim(nsnull),
- mAnimationMode(kNormalAnimMode),
- mLoopCount(-1),
-- mObserver(nsnull)
-+ mObserver(nsnull),
-+ mDiscardable(PR_FALSE),
-+ mDiscarded(PR_FALSE),
-+ mDiscardableMimeType(nsnull),
-+ mRestoreData(nsnull),
-+ mRestoreDataLength(0),
-+ mRestoreDataDone(PR_FALSE),
-+ mDiscardTimer(nsnull)
- {
- }
-
-@@ -67,6 +94,32 @@ imgContainer::~imgContainer()
- {
- if (mAnim)
- delete mAnim;
-+
-+ if (mDiscardableMimeType) {
-+ free (mDiscardableMimeType);
-+ mDiscardableMimeType = nsnull;
-+ }
-+
-+ if (mRestoreData) {
-+ PR_Free (mRestoreData);
-+
-+ num_containers_with_discardable_data--;
-+ num_compressed_image_bytes -= mRestoreDataLength;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: destroying imgContainer %p. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ mRestoreDataLength = 0;
-+ }
-+
-+ if (mDiscardTimer) {
-+ mDiscardTimer->Cancel ();
-+ mDiscardTimer = nsnull;
-+ }
- }
-
- //******************************************************************************
-@@ -124,15 +177,53 @@ NS_IMETHODIMP imgContainer::GetHeight(PRInt32 *aHeight)
- return NS_OK;
- }
-
-+nsresult imgContainer::GetCurrentFrameNoRef (gfxIImageFrame** aFrame)
-+{
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): error %d in RestoreDiscardedData(); "
-+ "returning a null frame from imgContainer %p",
-+ result,
-+ this));
-+
-+ *aFrame = nsnull;
-+ return result;
-+ }
-+
-+ if (!mAnim)
-+ *aFrame = mFrames.SafeObjectAt(0);
-+ else if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-+ *aFrame = mAnim->compositingFrame;
-+ else
-+ *aFrame = mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-+
-+ if (!*aFrame)
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): returning null frame from imgContainer %p "
-+ "(no errors when restoring data)",
-+ this));
-+
-+ return NS_OK;
-+}
-+
- //******************************************************************************
- /* readonly attribute gfxIImageFrame currentFrame; */
- NS_IMETHODIMP imgContainer::GetCurrentFrame(gfxIImageFrame **aCurrentFrame)
- {
-+ nsresult result;
-+
- NS_ASSERTION(aCurrentFrame, "imgContainer::GetCurrentFrame; Invalid Arg");
- if (!aCurrentFrame)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!(*aCurrentFrame = inlinedGetCurrentFrame()))
-+ result = GetCurrentFrameNoRef (aCurrentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ if (!*aCurrentFrame)
- return NS_ERROR_FAILURE;
-
- NS_ADDREF(*aCurrentFrame);
-@@ -148,7 +239,7 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- if (!aNumFrames)
- return NS_ERROR_INVALID_ARG;
-
-- *aNumFrames = mFrames.Count();
-+ *aNumFrames = mNumFrames;
-
- return NS_OK;
- }
-@@ -157,16 +248,24 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- /* gfxIImageFrame getFrameAt (in unsigned long index); */
- NS_IMETHODIMP imgContainer::GetFrameAt(PRUint32 index, gfxIImageFrame **_retval)
- {
-+ nsresult result;
-+
- NS_ASSERTION(_retval, "imgContainer::GetFrameAt; Invalid Arg");
- if (!_retval)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!mFrames.Count()) {
-+ if (mNumFrames == 0) {
- *_retval = nsnull;
- return NS_OK;
- }
-
-- NS_ENSURE_ARG(index < static_cast<PRUint32>(mFrames.Count()));
-+ NS_ENSURE_ARG((int) index < mNumFrames);
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ *_retval = nsnull;
-+ return result;
-+ }
-
- if (!(*_retval = mFrames[index]))
- return NS_ERROR_FAILURE;
-@@ -183,16 +282,17 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- NS_ASSERTION(item, "imgContainer::AppendFrame; Invalid Arg");
- if (!item)
- return NS_ERROR_INVALID_ARG;
--
-- PRInt32 numFrames = mFrames.Count();
--
-- if (numFrames == 0) {
-+
-+ if (mFrames.Count () == 0) {
- // This may not be an animated image, don't do all the animation stuff.
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-+
- return NS_OK;
- }
-
-- if (numFrames == 1) {
-+ if (mFrames.Count () == 1) {
- // Now that we got a second frame, initialize animation stuff.
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-@@ -216,11 +316,13 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- itemRect);
-
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-
- // If this is our second frame, start the animation.
- // Must be called after AppendObject because StartAnimation checks for > 1
- // frame
-- if (numFrames == 1)
-+ if (mFrames.Count () == 1)
- StartAnimation();
-
- return NS_OK;
-@@ -230,6 +332,7 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- /* void removeFrame (in gfxIImageFrame item); */
- NS_IMETHODIMP imgContainer::RemoveFrame(gfxIImageFrame *item)
- {
-+ /* Remember to decrement mNumFrames if you implement this */
- return NS_ERROR_NOT_IMPLEMENTED;
- }
-
-@@ -253,7 +356,7 @@ NS_IMETHODIMP imgContainer::DecodingComplete(void)
- mAnim->doneDecoding = PR_TRUE;
- // If there's only 1 frame, optimize it.
- // Optimizing animated images is not supported
-- if (mFrames.Count() == 1)
-+ if (mNumFrames == 1)
- mFrames[0]->SetMutable(PR_FALSE);
- return NS_OK;
- }
-@@ -292,11 +395,11 @@ NS_IMETHODIMP imgContainer::SetAnimationMode(PRUint16 aAnimationMode)
- break;
- case kNormalAnimMode:
- if (mLoopCount != 0 ||
-- (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count())))
-+ (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames)))
- StartAnimation();
- break;
- case kLoopOnceAnimMode:
-- if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count()))
-+ if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames))
- StartAnimation();
- break;
- }
-@@ -312,12 +415,18 @@ NS_IMETHODIMP imgContainer::StartAnimation()
- (mAnim && (mAnim->timer || mAnim->animating)))
- return NS_OK;
-
-- if (mFrames.Count() > 1) {
-+ if (mNumFrames > 1) {
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-
- PRInt32 timeout;
-- gfxIImageFrame *currentFrame = inlinedGetCurrentFrame();
-+ nsresult result;
-+ gfxIImageFrame *currentFrame;
-+
-+ result = GetCurrentFrameNoRef (&currentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
- if (currentFrame) {
- currentFrame->GetTimeout(&timeout);
- if (timeout <= 0) // -1 means display this frame forever
-@@ -376,8 +485,15 @@ NS_IMETHODIMP imgContainer::ResetAnimation()
- mAnim->currentAnimationFrameIndex = 0;
- // Update display
- nsCOMPtr<imgIContainerObserver> observer(do_QueryReferent(mObserver));
-- if (observer)
-+ if (observer) {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- observer->FrameChanged(this, mFrames[0], &(mAnim->firstFrameRefreshArea));
-+ }
-
- if (oldAnimating)
- return StartAnimation();
-@@ -411,10 +527,161 @@ NS_IMETHODIMP imgContainer::SetLoopCount(PRInt32 aLoopCount)
- return NS_OK;
- }
-
-+static PRBool
-+discarding_is_enabled (void)
-+{
-+ static PRBool inited;
-+ static PRBool enabled;
-+
-+ if (!inited) {
-+ inited = PR_TRUE;
-+
-+ enabled = (getenv ("MOZ_DISABLE_IMAGE_DISCARD") == nsnull);
-+ }
-+
-+ return enabled;
-+}
-+
-+//******************************************************************************
-+/* void setDiscardable(in string mime_type); */
-+NS_IMETHODIMP imgContainer::SetDiscardable (const char* aMimeType)
-+{
-+ NS_ASSERTION(aMimeType, "imgContainer::SetDiscardable() called with null aMimeType");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mDiscardable) {
-+ NS_WARNING ("imgContainer::SetDiscardable(): cannot change an imgContainer which is already discardable");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ mDiscardableMimeType = strdup (aMimeType);
-+ if (!mDiscardableMimeType)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mDiscardable = PR_TRUE;
-+
-+ num_containers_with_discardable_data++;
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Making imgContainer %p (%s) discardable. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ aMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+//******************************************************************************
-+/* void addRestoreData(in nsIInputStream aInputStream, in unsigned long aCount); */
-+NS_IMETHODIMP imgContainer::AddRestoreData (char *aBuffer, PRUint32 aCount)
-+{
-+ PRSize new_size;
-+ char *new_buffer;
-+
-+ NS_ASSERTION(aBuffer, "imgContainer::AddRestoreData() called with null aBuffer");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardable) {
-+ NS_WARNING ("imgContainer::AddRestoreData() can only be called if SetDiscardable is called first");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ if (mRestoreDataDone) {
-+ /* We are being called from the decoder while the data is being restored
-+ * (i.e. we were fully loaded once, then we discarded the image data, then
-+ * we are being restored). We don't want to save the compressed data again,
-+ * since we already have it.
-+ */
-+ return NS_OK;
-+ }
-+
-+ new_size = mRestoreDataLength + aCount;
-+
-+ new_buffer = (char *) PR_Realloc (mRestoreData, new_size);
-+ if (new_buffer)
-+ mRestoreData = new_buffer;
-+ else {
-+ /* Hmm, should we discard the whole buffer? The caller isn't going to be able to recover... */
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ memcpy (mRestoreData + mRestoreDataLength, aBuffer, aCount);
-+ mRestoreDataLength = new_size;
-+
-+ num_compressed_image_bytes += aCount;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Added compressed data to imgContainer %p (%s). "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+/* Note! buf must be declared as char buf[9]; */
-+static void
-+get_header_str (char *buf, char *data, PRSize data_len)
-+{
-+ int i;
-+ int n;
-+ static char hex[] = "0123456789abcdef";
-+
-+ n = data_len < 4 ? data_len : 4;
-+
-+ for (i = 0; i < n; i++) {
-+ buf[i * 2] = hex[(data[i] >> 4) & 0x0f];
-+ buf[i * 2 + 1] = hex[data[i] & 0x0f];
-+ }
-+
-+ buf[i * 2] = 0;
-+}
-+
-+//******************************************************************************
-+/* void restoreDataDone(); */
-+NS_IMETHODIMP imgContainer::RestoreDataDone (void)
-+{
-+ char buf[9];
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mRestoreDataDone)
-+ return NS_OK;
-+
-+ mRestoreDataDone = PR_TRUE;
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDataDone() - data is done for container %p (%s), %d real frames (cached as %d frames) - header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mFrames.Count (),
-+ mNumFrames,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ return ResetDiscardTimer ();
-+}
-+
- //******************************************************************************
- /* void notify(in nsITimer timer); */
- NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- // This should never happen since the timer is only set up in StartAnimation()
- // after mAnim is checked to exist.
- NS_ASSERTION(mAnim, "imgContainer::Notify() called but mAnim is null");
-@@ -433,8 +700,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- return NS_OK;
- }
-
-- PRInt32 numFrames = mFrames.Count();
-- if (!numFrames)
-+ if (mNumFrames == 0)
- return NS_OK;
-
- gfxIImageFrame *nextFrame = nsnull;
-@@ -448,7 +714,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- // finished decoding (see EndFrameDecode)
- if (mAnim->doneDecoding ||
- (nextFrameIndex < mAnim->currentDecodingFrameIndex)) {
-- if (numFrames == nextFrameIndex) {
-+ if (mNumFrames == nextFrameIndex) {
- // End of Animation
-
- // If animation mode is "loop once", it's time to stop animating
-@@ -875,3 +1141,328 @@ NS_IMETHODIMP imgContainer::GetKeys(PRUint32 *count, char ***keys)
- }
- return mProperties->GetKeys(count, keys);
- }
-+
-+static int
-+get_discard_timer_ms (void)
-+{
-+ /* FIXME: don't hardcode this */
-+ return 5000; /* 5 seconds */
-+}
-+
-+void
-+imgContainer::sDiscardTimerCallback (nsITimer *aTimer, void *aClosure)
-+{
-+ imgContainer *self = (imgContainer *) aClosure;
-+ int old_frame_count;
-+
-+ NS_ASSERTION (aTimer == self->mDiscardTimer,
-+ "imgContainer::DiscardTimerCallback() got a callback for an unknown timer");
-+
-+ self->mDiscardTimer = nsnull;
-+
-+ old_frame_count = self->mFrames.Count ();
-+
-+ if (self->mAnim) {
-+ delete self->mAnim;
-+ self->mAnim = nsnull;
-+ }
-+
-+ self->mFrames.Clear ();
-+
-+ self->mDiscarded = PR_TRUE;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: discarded uncompressed image data from imgContainer %p (%s) - %d frames (cached count: %d); "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ self,
-+ self->mDiscardableMimeType,
-+ old_frame_count,
-+ self->mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+}
-+
-+nsresult
-+imgContainer::ResetDiscardTimer (void)
-+{
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardTimer) {
-+ mDiscardTimer = do_CreateInstance("@mozilla.org/timer;1");
-+
-+ if (!mDiscardTimer)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ } else {
-+ if (NS_FAILED (mDiscardTimer->Cancel ()))
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return mDiscardTimer->InitWithFuncCallback (sDiscardTimerCallback,
-+ (void *) this,
-+ get_discard_timer_ms (),
-+ nsITimer::TYPE_ONE_SHOT);
-+}
-+
-+nsresult
-+imgContainer::RestoreDiscardedData (void)
-+{
-+ nsresult result;
-+ int num_expected_frames;
-+
-+ if (!mDiscarded)
-+ return NS_OK;
-+
-+ result = ResetDiscardTimer ();
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ num_expected_frames = mNumFrames;
-+
-+ result = ReloadImages ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() for container %p failed to ReloadImages()",
-+ this));
-+ return result;
-+ }
-+
-+ mDiscarded = PR_FALSE;
-+
-+ NS_ASSERTION (mNumFrames == mFrames.Count (),
-+ "number of restored image frames doesn't match");
-+ NS_ASSERTION (num_expected_frames == mNumFrames,
-+ "number of restored image frames doesn't match the original number of frames!");
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() restored discarded data "
-+ "for imgContainer %p (%s) - %d image frames. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+class ContainerLoader : public imgILoad,
-+ public imgIDecoderObserver,
-+ public nsSupportsWeakReference
-+{
-+public:
-+
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_IMGILOAD
-+ NS_DECL_IMGIDECODEROBSERVER
-+ NS_DECL_IMGICONTAINEROBSERVER
-+
-+ ContainerLoader (void);
-+
-+private:
-+
-+ imgIContainer *mContainer;
-+};
-+
-+NS_IMPL_ISUPPORTS4 (ContainerLoader, imgILoad, imgIDecoderObserver, imgIContainerObserver, nsISupportsWeakReference)
-+
-+ContainerLoader::ContainerLoader (void)
-+{
-+}
-+
-+/* Implement imgILoad::image getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetImage(imgIContainer **aImage)
-+{
-+ *aImage = mContainer;
-+ NS_IF_ADDREF (*aImage);
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::image setter */
-+NS_IMETHODIMP
-+ContainerLoader::SetImage(imgIContainer *aImage)
-+{
-+ mContainer = aImage;
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::isMultiPartChannel getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetIsMultiPartChannel(PRBool *aIsMultiPartChannel)
-+{
-+ *aIsMultiPartChannel = PR_FALSE; /* FIXME: is this always right? */
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartRequest (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartDecode (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onDataAvailable() */
-+NS_IMETHODIMP
-+ContainerLoader::OnDataAvailable (imgIRequest *aRequest, gfxIImageFrame *aFrame, const nsIntRect * aRect)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopDecode (imgIRequest *aRequest, nsresult status, const PRUnichar *statusArg)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopRequest (imgIRequest *aRequest, PRBool aIsLastPart)
-+{
-+ return NS_OK;
-+}
-+
-+/* implement imgIContainerObserver::frameChanged() */
-+NS_IMETHODIMP
-+ContainerLoader::FrameChanged (imgIContainer *aContainer, gfxIImageFrame *aFrame, nsIntRect * aDirtyRect)
-+{
-+ return NS_OK;
-+}
-+
-+static char *
-+make_id_from_mime_type (char *mime_type)
-+{
-+ const char idbase[] = "@mozilla.org/image/decoder;2?type=";
-+ int idbase_len = strlen (idbase);
-+ char *id;
-+
-+ id = (char *) PR_Malloc (strlen (mime_type) + idbase_len + 1);
-+ if (!id)
-+ return nsnull;
-+
-+ strcpy (id, idbase);
-+ strcpy (id + idbase_len, mime_type);
-+
-+ return id;
-+}
-+
-+nsresult
-+imgContainer::ReloadImages (void)
-+{
-+ char *id;
-+ nsCOMPtr<imgILoad> loader;
-+ nsCOMPtr<imgIDecoder> decoder;
-+ nsresult result;
-+ PRUint32 written;
-+ nsCOMPtr<nsIInputStream> stream;
-+ char buf[9];
-+
-+ NS_ASSERTION (mRestoreData,
-+ "imgContainer::ReloadImages(): mRestoreData should not be null");
-+ NS_ASSERTION (mRestoreDataDone,
-+ "imgContainer::ReloadImages(): mRestoreDataDone shoudl be true!");
-+
-+ id = make_id_from_mime_type (mDiscardableMimeType);
-+ if (!id)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mNumFrames = 0;
-+ NS_ASSERTION (mFrames.Count() == 0,
-+ "imgContainer::ReloadImages(): mFrames should be empty");
-+
-+ decoder = do_CreateInstance (id);
-+ PR_Free (id);
-+
-+ if (!decoder) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not create decoder for %s",
-+ mDiscardableMimeType));
-+ return NS_IMAGELIB_ERROR_NO_DECODER;
-+ }
-+
-+ loader = new ContainerLoader ();
-+ if (!loader) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not allocate ContainerLoader "
-+ "when reloading the images for container %p",
-+ this));
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ loader->SetImage (this);
-+
-+ result = decoder->Init (loader);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() image container %p "
-+ "failed to initialize the decoder (%s)",
-+ this,
-+ mDiscardableMimeType));
-+ return result;
-+ }
-+
-+ result = NS_NewByteInputStream (getter_AddRefs (stream), mRestoreData, mRestoreDataLength, NS_ASSIGNMENT_DEPEND);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() starting to restore images for container %p (%s) - "
-+ "header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ result = decoder->WriteFrom (stream, mRestoreDataLength, &written);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ result = decoder->Flush ();
-+ if (!(result == NS_OK || result == NS_ERROR_NOT_IMPLEMENTED)) /* PNG doesn't implement Flush(), for example */
-+ return result;
-+
-+ result = decoder->Close ();
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ NS_ASSERTION (mFrames.Count() == mNumFrames,
-+ "imgContainer::ReloadImages(): the restored mFrames.Count() doesn't match mNumFrames!");
-+
-+ return result;
-+}
-diff --git modules/libpr0n/src/imgContainer.h modules/libpr0n/src/imgContainer.h
-index 3db7034..aa56939 100644
---- modules/libpr0n/src/imgContainer.h
-+++ modules/libpr0n/src/imgContainer.h
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
- * Chris Saari <saari@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -194,14 +195,8 @@ private:
- timer->Cancel();
- }
- };
--
-- inline gfxIImageFrame* inlinedGetCurrentFrame() {
-- if (!mAnim)
-- return mFrames.SafeObjectAt(0);
-- if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-- return mAnim->compositingFrame;
-- return mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-- }
-+
-+ nsresult GetCurrentFrameNoRef(gfxIImageFrame** aFrame);
-
- inline Anim* ensureAnimExists() {
- if (!mAnim)
-@@ -274,10 +269,15 @@ private:
- nsIntSize mSize;
-
- //! All the <gfxIImageFrame>s of the PNG
-+ // *** IMPORTANT: if you use mFrames in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- nsCOMArray<gfxIImageFrame> mFrames;
-+ int mNumFrames; /* stored separately from mFrames.Count() to support discarded images */
-
- nsCOMPtr<nsIProperties> mProperties;
--
-+
-+ // *** IMPORTANT: if you use mAnim in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- imgContainer::Anim* mAnim;
-
- //! See imgIContainer for mode constants
-@@ -288,6 +288,19 @@ private:
-
- //! imgIContainerObserver
- nsWeakPtr mObserver;
-+
-+ PRBool mDiscardable;
-+ PRBool mDiscarded;
-+ char* mDiscardableMimeType;
-+ char* mRestoreData;
-+ PRSize mRestoreDataLength;
-+ PRBool mRestoreDataDone;
-+ nsCOMPtr<nsITimer> mDiscardTimer;
-+
-+ nsresult ResetDiscardTimer (void);
-+ nsresult RestoreDiscardedData (void);
-+ nsresult ReloadImages (void);
-+ static void sDiscardTimerCallback (nsITimer *aTimer, void *aClosure);
- };
-
- #endif /* __imgContainer_h__ */
diff --git a/www/firefox-devel/files/patch-build_unix_run-mozilla.sh b/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index a5295588e..000000000
--- a/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,12 +0,0 @@
---- build/unix/run-mozilla.sh.orig Tue Feb 14 19:56:54 2006
-+++ build/unix/run-mozilla.sh Fri Dec 8 15:49:48 2006
-@@ -443,6 +443,9 @@
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-+
- if [ $moz_debug -eq 1 ]
- then
- moz_debug_program ${1+"$@"}
diff --git a/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h b/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/firefox-devel/files/patch-config-rules.mk b/www/firefox-devel/files/patch-config-rules.mk
deleted file mode 100644
index 8ab35f5a8..000000000
--- a/www/firefox-devel/files/patch-config-rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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
--EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
--endif
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
- endif
-
- ifeq ($(OS_ARCH),NetBSD)
diff --git a/www/firefox-devel/files/patch-config_autoconf.mk.in b/www/firefox-devel/files/patch-config_autoconf.mk.in
deleted file mode 100644
index 29fe7f8fb..000000000
--- a/www/firefox-devel/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Thu Jul 14 00:50:06 2005
-+++ config/autoconf.mk.in Thu Jul 14 00:50:40 2005
-@@ -50,13 +50,13 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
- idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/firefox-devel/files/patch-config_mkdepend_Makefile.in b/www/firefox-devel/files/patch-config_mkdepend_Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/firefox-devel/files/patch-config_mkdepend_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/firefox-devel/files/patch-content_xslt_public_txDouble.h b/www/firefox-devel/files/patch-content_xslt_public_txDouble.h
deleted file mode 100644
index 534bccba4..000000000
--- a/www/firefox-devel/files/patch-content_xslt_public_txDouble.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/xslt/public/txDouble.h.orig Fri Oct 13 00:00:29 2006
-+++ content/xslt/public/txDouble.h Fri Oct 13 00:00:53 2006
-@@ -41,7 +41,7 @@
- #define __txdouble_h__
-
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
--#ifdef __FreeBSD__
-+/* #ifdef __FreeBSD__
- #include <ieeefp.h>
- #ifdef __alpha__
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-@@ -50,7 +50,7 @@
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
--
-+*/
- /**
- * Macros to workaround math-bugs bugs in various platforms
- */
diff --git a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp b/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
deleted file mode 100644
index 41c462d74..000000000
--- a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.cpp.orig Wed Nov 19 01:20:47 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.cpp Tue Feb 10 02:52:26 2004
-@@ -323,11 +323,11 @@
- prefBranch->GetBoolPref("accessibility.typeaheadfind.startlinksonly",
- &mStartLinksOnlyPref);
-
-- PRBool isSoundEnabled = PR_TRUE;
-+ mIsSoundEnabled = PR_TRUE;
- prefBranch->GetBoolPref("accessibility.typeaheadfind.enablesound",
-- &isSoundEnabled);
-+ &mIsSoundEnabled);
- nsXPIDLCString soundStr;
-- if (isSoundEnabled) {
-+ if (mIsSoundEnabled && mIsSoundEnabled) {
- prefBranch->GetCharPref("accessibility.typeaheadfind.soundURL",
- getter_Copies(soundStr));
- }
-@@ -758,7 +758,7 @@
- }
- else {
- // No find string to backspace in!
-- if (mIsBackspaceProtectOn) {
-+ if (mIsBackspaceProtectOn && mIsSoundEnabled) {
- // This flag should be on only if the last key was a backspace.
- // It keeps us from accidentally hitting backspace too many times and
- // going back in history when we really just wanted to clear
-@@ -1012,7 +1012,9 @@
-
- // Error sound (don't fire when backspace is pressed, they're
- // trying to correct the mistake!)
-- PlayNotFoundSound();
-+ if (mIsSoundEnabled) {
-+ PlayNotFoundSound();
-+ }
-
- // Remove bad character from buffer, so we can continue typing from
- // last matched character
-@@ -1059,7 +1061,7 @@
- void
- nsTypeAheadFind::PlayNotFoundSound()
- {
-- if (mNotFoundSoundURL.IsEmpty()) // no sound
-+ if (mNotFoundSoundURL.IsEmpty() || !mIsSoundEnabled) // no sound
- return;
- if (!mSoundInterface) {
- mSoundInterface = do_CreateInstance("@mozilla.org/sound;1");
diff --git a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h b/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
deleted file mode 100644
index 07ad43b43..000000000
--- a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.h.orig Fri May 23 22:00:33 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.h Mon Feb 9 22:21:43 2004
-@@ -194,6 +194,9 @@
-
- nsCString mNotFoundSoundURL;
-
-+ // Move the sound enabled boolean out for all methods to access.
-+ PRBool mIsSoundEnabled;
-+
- // PRBool's are used instead of PRPackedBool's where the address of the
- // boolean variable is getting passed into a method. For example:
- // GetBoolPref("accessibility.typeaheadfind.linksonly", &mLinksOnlyPref);
diff --git a/www/firefox-devel/files/patch-js_src_Makefile.in b/www/firefox-devel/files/patch-js_src_Makefile.in
deleted file mode 100644
index fb0bd7f19..000000000
--- a/www/firefox-devel/files/patch-js_src_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox-devel/files/patch-js_src_jsnum.c b/www/firefox-devel/files/patch-js_src_jsnum.c
deleted file mode 100644
index a3ef2769a..000000000
--- a/www/firefox-devel/files/patch-js_src_jsnum.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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/firefox-devel/files/patch-modules_libpref_src_init_all.js b/www/firefox-devel/files/patch-modules_libpref_src_init_all.js
deleted file mode 100644
index 1700380a5..000000000
--- a/www/firefox-devel/files/patch-modules_libpref_src_init_all.js
+++ /dev/null
@@ -1,53 +0,0 @@
---- modules/libpref/src/init/all.js.orig Mon Feb 13 22:58:15 2006
-+++ modules/libpref/src/init/all.js Tue May 2 00:32:55 2006
-@@ -1883,33 +1883,33 @@
-
- // th
-
--pref("font.name.serif.tr", "Times");
--pref("font.name.sans-serif.tr", "Helvetica");
--pref("font.name.monospace.tr", "Courier");
-+pref("font.name.serif.tr", "serif");
-+pref("font.name.sans-serif.tr", "sans-serif");
-+pref("font.name.monospace.tr", "monospace");
-
- pref("font.name.serif.x-baltic", "serif");
- pref("font.name.sans-serif.x-baltic", "sans-serif");
- pref("font.name.monospace.x-baltic", "monospace");
-
--pref("font.name.serif.x-central-euro", "Times");
--pref("font.name.sans-serif.x-central-euro", "Helvetica");
--pref("font.name.monospace.x-central-euro", "Courier");
-+pref("font.name.serif.x-central-euro", "serif");
-+pref("font.name.sans-serif.x-central-euro", "sans-serif");
-+pref("font.name.monospace.x-central-euro", "monospace");
-
- pref("font.name.serif.x-cyrillic", "serif");
- pref("font.name.sans-serif.x-cyrillic", "sans-serif");
- pref("font.name.monospace.x-cyrillic", "monospace");
-
--pref("font.name.serif.x-unicode", "Times");
--pref("font.name.sans-serif.x-unicode", "Helvetica");
--pref("font.name.monospace.x-unicode", "Courier");
--
--pref("font.name.serif.x-user-def", "Times");
--pref("font.name.sans-serif.x-user-def", "Helvetica");
--pref("font.name.monospace.x-user-def", "Courier");
--
--pref("font.name.serif.x-western", "Times");
--pref("font.name.sans-serif.x-western", "Helvetica");
--pref("font.name.monospace.x-western", "Courier");
-+pref("font.name.serif.x-unicode", "serif");
-+pref("font.name.sans-serif.x-unicode", "sans-serif");
-+pref("font.name.monospace.x-unicode", "monospace");
-+
-+pref("font.name.serif.x-user-def", "serif");
-+pref("font.name.sans-serif.x-user-def", "sans-serif");
-+pref("font.name.monospace.x-user-def", "monospace");
-+
-+pref("font.name.serif.x-western", "serif");
-+pref("font.name.sans-serif.x-western", "sans-serif");
-+pref("font.name.monospace.x-western", "monospace");
-
- pref("font.name.serif.zh-CN", "serif");
- pref("font.name.sans-serif.zh-CN", "sans-serif");
diff --git a/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk b/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk
deleted file mode 100644
index 0f7a04a02..000000000
--- a/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -1,24 +0,0 @@
---- 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
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH = amd64
-+else
- CPU_ARCH = x86
- endif
-+endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
-@@ -73,7 +77,7 @@
- DLL_SUFFIX = so.1.0
- endif
-
--MKSHLIB = $(CC) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
- ifdef MAPFILE
- MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif
diff --git a/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
deleted file mode 100644
index f30d12229..000000000
--- a/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox-devel/files/patch-storage_build_Makefile.in b/www/firefox-devel/files/patch-storage_build_Makefile.in
deleted file mode 100644
index 18202a5a6..000000000
--- a/www/firefox-devel/files/patch-storage_build_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox-devel/files/patch-sysnss b/www/firefox-devel/files/patch-sysnss
deleted file mode 100644
index 6f3d06298..000000000
--- a/www/firefox-devel/files/patch-sysnss
+++ /dev/null
@@ -1,34 +0,0 @@
---- security/manager/ssl/src/Makefile.in.orig 2007-07-23 15:03:01.000000000 -0400
-+++ security/manager/ssl/src/Makefile.in 2007-09-04 20:47:03.000000000 -0400
-@@ -125,13 +125,11 @@
- pipboot \
- $(NULL)
-
--EXTRA_DEPS = $(NSS_DEP_LIBS)
--
- DEFINES += -DNSS_ENABLE_ECC
-
- # 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
-
- ifeq ($(OS_ARCH),Darwin)
- EXTRA_DSO_LDOPTS += \
-@@ -143,6 +141,7 @@
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_JS_LIBS) \
- $(NSS_LIBS) \
-+ $(LOCAL_INCLUDES) \
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
---- toolkit/components/url-classifier/src/Makefile.in.orig 2007-09-05 09:00:23.000000000 -0400
-+++ toolkit/components/url-classifier/src/Makefile.in 2007-09-05 09:00:27.000000000 -0400
-@@ -36,6 +36,3 @@
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
--
--export:: $(topsrcdir)/security/nss/lib/freebl/sha512.c
-- $(INSTALL) $^ .
diff --git a/www/firefox-devel/files/patch-toolkit_xre_Makefile.in b/www/firefox-devel/files/patch-toolkit_xre_Makefile.in
deleted file mode 100644
index 4a9c8533a..000000000
--- a/www/firefox-devel/files/patch-toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- toolkit/xre/Makefile.in.orig 2007-09-10 10:31:53.000000000 -0400
-+++ toolkit/xre/Makefile.in 2007-09-10 10:35:00.000000000 -0400
-@@ -263,5 +263,3 @@
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- 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/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index 9a41bbfc4..000000000
--- a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 2004
-@@ -8,7 +8,7 @@
- * 1 is AddRef
- * 2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();
diff --git a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in b/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
deleted file mode 100644
index 51edeb95a..000000000
--- a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
+++ /dev/null
@@ -1,54 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 15:06:40 2004
-@@ -49,6 +49,9 @@
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -60,7 +63,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -106,9 +109,15 @@
- ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS := xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
- ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
-+endif
-+#
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
- endif
- #
- # Solaris/SPARC
diff --git a/www/firefox-devel/files/patch-xptcall-alpha b/www/firefox-devel/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/firefox-devel/files/patch-xptcall-alpha
+++ /dev/null
@@ -1,459 +0,0 @@
---- 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"
-+
diff --git a/www/firefox-devel/files/patch-xptcall-sparc64 b/www/firefox-devel/files/patch-xptcall-sparc64
deleted file mode 100644
index 9599a8a71..000000000
--- a/www/firefox-devel/files/patch-xptcall-sparc64
+++ /dev/null
@@ -1,327 +0,0 @@
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ */
-+
-+/* Implement shared vtbl methods. */
-+
-+#include "xptcprivate.h"
-+
-+#if defined(sparc) || defined(__sparc__)
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
-+{
-+
-+#define PARAM_BUFFER_COUNT 16
-+
-+ 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");
-+
-+ PRUint64* ap = args;
-+ 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 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
-+ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
-+ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
-+ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
-+ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
-+ 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;
-+}
-+
-+extern "C" int SharedStub(int, int*);
-+
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+ int dummy; /* defeat tail-call optimization */ \
-+ return SharedStub(n, &dummy); \
-+}
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+ return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+
-+#endif /* sparc || __sparc__ */
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003
-@@ -0,0 +1,104 @@
-+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+/*
-+ Platform specific code to invoke XPCOM methods on native objects
-+ for sparcv9 Solaris.
-+
-+ See the SPARC Compliance Definition (SCD) Chapter 3
-+ for more information about what is going on here, including
-+ the use of BIAS (0x7ff).
-+ The SCD is available from http://www.sparc.com/.
-+*/
-+
-+ .global XPTC_InvokeByIndex
-+ .type XPTC_InvokeByIndex, #function
-+
-+/*
-+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ PRUint32 paramCount, nsXPTCVariant* params);
-+
-+*/
-+XPTC_InvokeByIndex:
-+ save %sp,-(128 + 64),%sp ! room for the register window and
-+ ! struct pointer, rounded up to 0 % 64
-+ sll %i2,4,%l0 ! assume the worst case
-+ ! paramCount * 2 * 8 bytes
-+ cmp %l0, 0 ! are there any args? If not,
-+ be .invoke ! no need to copy args to stack
-+ nop
-+
-+ sub %sp,%l0,%sp ! create the additional stack space
-+ add %sp,0x7ff+136,%o0 ! step past the register window, the
-+ ! struct result pointer and the 'this' slot
-+ mov %i2,%o1 ! paramCount
-+ call invoke_copy_to_stack
-+ mov %i3,%o2 ! params
-+
-+!
-+! load arguments from stack into the outgoing registers
-+! BIAS is 0x7ff (2047)
-+!
-+
-+! load the %o1..5 64bit (extended word) output registers registers
-+ ldx [%sp + 0x7ff + 136],%o1 ! %i1
-+ ldx [%sp + 0x7ff + 144],%o2 ! %i2
-+ ldx [%sp + 0x7ff + 152],%o3 ! %i3
-+ ldx [%sp + 0x7ff + 160],%o4 ! %i4
-+ ldx [%sp + 0x7ff + 168],%o5 ! %i5
-+
-+! load the even number double registers starting with %d2
-+ ldd [%sp + 0x7ff + 136],%f2
-+ ldd [%sp + 0x7ff + 144],%f4
-+ ldd [%sp + 0x7ff + 152],%f6
-+ ldd [%sp + 0x7ff + 160],%f8
-+ ldd [%sp + 0x7ff + 168],%f10
-+ ldd [%sp + 0x7ff + 176],%f12
-+ ldd [%sp + 0x7ff + 184],%f14
-+ ldd [%sp + 0x7ff + 192],%f16
-+ ldd [%sp + 0x7ff + 200],%f18
-+ ldd [%sp + 0x7ff + 208],%f20
-+ ldd [%sp + 0x7ff + 216],%f22
-+ ldd [%sp + 0x7ff + 224],%f24
-+ ldd [%sp + 0x7ff + 232],%f26
-+ ldd [%sp + 0x7ff + 240],%f28
-+ ldd [%sp + 0x7ff + 248],%f30
-+
-+!
-+! calculate the target address from the vtable
-+!
-+.invoke:
-+ sll %i1,3,%l0 ! index *= 8
-+! add %l0,16,%l0 ! there are 2 extra entries in the vTable (16bytes)
-+ ldx [%i0],%l1 ! *that --> address of vtable
-+ ldx [%l0 + %l1],%l0 ! that->vtable[index * 8 + 16] --> address
-+
-+ jmpl %l0,%o7 ! call the routine
-+ mov %i0,%o0 ! move 'this' pointer to out register
-+
-+ mov %o0,%i0 ! propagate return value
-+ ret
-+ restore
-+
-+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003
-@@ -0,0 +1,91 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if !defined(__sparc) && !defined(__sparc__)
-+#error "This code is for Sparc only"
-+#endif
-+
-+/* Prototype specifies unmangled function name */
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s);
-+
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+ /*
-+ We need to copy the parameters for this function to locals and use them
-+ from there since the parameters occupy the same stack space as the stack
-+ we're trying to populate.
-+ */
-+ PRUint64 *l_d = d;
-+ nsXPTCVariant *l_s = s;
-+ PRUint64 l_paramCount = paramCount;
-+ PRUint64 regCount = 0; // return the number of registers to load from the stack
-+
-+ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
-+ {
-+ if (regCount < 5) regCount++;
-+
-+ if (l_s->IsPtrData())
-+ {
-+ *l_d = (PRUint64)l_s->ptr;
-+ continue;
-+ }
-+ switch (l_s->type)
-+ {
-+ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
-+ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
-+ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
-+ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
-+
-+ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
-+ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
-+ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
-+ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
-+
-+ /* in the case of floats, we want to put the bits in to the
-+ 64bit space right justified... floats in the paramter array on
-+ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
-+ the space that would be occupied by %f0, %f2, etc.
-+ */
-+ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
-+ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
-+ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
-+ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
-+ case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
-+
-+ default:
-+ // all the others are plain pointer types
-+ *((void**)l_d) = l_s->val.p;
-+ break;
-+ }
-+ }
-+
-+ return regCount;
-+}
diff --git a/www/firefox-devel/pkg-descr b/www/firefox-devel/pkg-descr
deleted file mode 100644
index 166df46a0..000000000
--- a/www/firefox-devel/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-Firefox is an award winning, free, open-source web browser for many platforms
-and is based on the Mozilla codebase. It is small, fast and easy to use, and
-offers many advanced features:
- o Popup Blocking
- o Tabbed Browsing
- o Live Bookmarks (ie. RSS)
- o Extensions
- o Themes
- o FastFind
- o Improved Security
-
-WWW: http://www.mozilla.com/firefox
diff --git a/www/firefox-devel/pkg-message b/www/firefox-devel/pkg-message
deleted file mode 100644
index 5c9d24b32..000000000
--- a/www/firefox-devel/pkg-message
+++ /dev/null
@@ -1,32 +0,0 @@
-======================================================================
-
-SMB issues:
-Network group, machine, and share browsing does not work correctly.
-
-SFTP:
-Only sftp access using public key authentication works. To easily
-setup public key authentication to "remote_host":
-
-ssh-keygen -t dsa
-cat ~/.ssh/id_dsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
-
-The SSH sever on remote_host must allow pub key authentication.
-
-======================================================================
-
-Any bug reports should be addressed to the maintainers at:
- gnome@FreeBSD.org
-You may also Cc: freebsd-ports@FreeBSD.org. Please do not send
-bug reports to any other addresses.
-
-Please include the following information with any bug report:
-* Output from 'uname -a'.
-* Date/time stamp from www/firefox-devel/Makefile.
-* Where/when did the problem occur: configuring, building, or
- running firefox
-* How can you reproduce the problem?
-
-Thank you for your help in testing and reporting bugs, and we hope you
-enjoy using Firefox.
-The Maintainers (gnome@)
-======================================================================
diff --git a/www/firefox3-devel/Makefile b/www/firefox3-devel/Makefile
deleted file mode 100644
index 25c3232f5..000000000
--- a/www/firefox3-devel/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# New ports collection makefile for: phoenix
-# Date created: 2002/10/21
-# Whom: Alan Eldridge <alane@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/firefox-devel/Makefile,v 1.40 2007/09/10 16:26:49 ahze Exp $
-
-PORTNAME= firefox
-DISTVERSION= 3.0.a7
-PORTEPOCH= 1
-CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/granparadiso/alpha7/source/
-#MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= granparadiso-alpha7-source
-#DISTNAME= ${PORTNAME}-${DISTVERSION}-source
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Web browser based on the browser portion of Mozilla
-
-MOZILLA_NAME= Firefox-${MOZILLA_SUFX}
-MOZILLA_SUFX= -devel
-MOZILLA= ${PORTNAME}${MOZILLA_SUFX}
-MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
- --enable-svg --enable-svg-renderer=cairo
-MOZ_TOOLKIT= cairo-gtk2
-
-WANT_GNOME= yes
-ALL_TARGET= default
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-EXTRA_CFLAGS= -O2
-HAS_CONFIGURE= yes
-USE_BZIP2= yes
-USE_GMAKE= yes
-NO_MOZPKGINSTALL=yes
-
-FIREFOX_ICON= ${MOZILLA}.xpm
-FIREFOX_ICON_SRC= ${PREFIX}/lib/firefox-devel/chrome/icons/default/default.xpm
-MOZ_PKGCONFIG_FILES= ${MOZILLA}-js ${MOZILLA}-xpcom ${MOZILLA}-plugin
-MOZ_OPTIONS= --enable-application=browser \
- --enable-system-cairo \
- --enable-official-branding \
- --enable-canvas \
- --with-system-nss
-
-SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
-
-OPTIONS= NEWTAB "Open external links in a new tab" on \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.include <bsd.port.pre.mk>
-
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-
-post-extract::
- @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
- -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
- <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
-
-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
-.for ii in modules/libpref/src/init extensions/sroaming/resources/content/prefs
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
- /dom.disable_window_open_feature.toolbar/s/false/true/' \
- ${WRKSRC}/${ii}/all.js
-.endfor
-
-port-pre-install:
- ${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
- ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLIST}
-.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)
-
-do-install:
- 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
-
-post-install:
- ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
- ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default
- ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON}
-
-.include "${PORTSDIR}/www/mozilla/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/firefox3-devel/distinfo b/www/firefox3-devel/distinfo
deleted file mode 100644
index 1340a04a1..000000000
--- a/www/firefox3-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (granparadiso-alpha7-source.tar.bz2) = cd692127775b55f5e64685ef49788c1c
-SHA256 (granparadiso-alpha7-source.tar.bz2) = 91369eff2bba6b0ef3a9b5a40a1585b27f66a670f1a96299852f2595bd96f209
-SIZE (granparadiso-alpha7-source.tar.bz2) = 35319889
diff --git a/www/firefox3-devel/files/firefox.desktop.in b/www/firefox3-devel/files/firefox.desktop.in
deleted file mode 100644
index d72090e1a..000000000
--- a/www/firefox3-devel/files/firefox.desktop.in
+++ /dev/null
@@ -1,191 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=@MOZILLA_NAME@ Web Browser
-Name[am]=
-Name[ar]=
-Name[az]=@MOZILLA_NAME@ Veb Səyyahı
-Name[be]=
-Name[bg]=Интернет браузър @MOZILLA_NAME@
-Name[bn]=
-Name[bs]=@MOZILLA_NAME@ web preglednik
-Name[ca]=Navegador web @MOZILLA_NAME@
-Name[cs]=Prohlížeč WWW @MOZILLA_NAME@
-Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
-Name[da]=@MOZILLA_NAME@ - internetsurfning
-Name[de]=@MOZILLA_NAME@ Webbrowser
-Name[el]=Περιηγητής Διαδικτύου @MOZILLA_NAME@
-Name[en_CA]=@MOZILLA_NAME@ Web Browser
-Name[en_GB]=@MOZILLA_NAME@ Web Browser
-Name[es]=Navegador Web @MOZILLA_NAME@
-Name[et]=@MOZILLA_NAME@ veebibrauser
-Name[eu]=@MOZILLA_NAME@ web arakatzailea
-Name[fi]=@MOZILLA_NAME@, WWW-selain
-Name[fr]=Navigateur Web @MOZILLA_NAME@
-Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
-Name[gu]=એપીફની વૅબ બ્રાઉઝર
-Name[he]=דפדפן @MOZILLA_NAME@
-Name[hi]=
-Name[hr]=@MOZILLA_NAME@ Web preglednik
-Name[hu]=@MOZILLA_NAME@ webböngésző
-Name[id]=Web Browser @MOZILLA_NAME@
-Name[it]=Browser web @MOZILLA_NAME@
-Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
-Name[ko]=@MOZILLA_NAME@ 웹 브라우저
-Name[li]=@MOZILLA_NAME@ Web Browser
-Name[lt]=@MOZILLA_NAME@ web naršyklė
-Name[mk]=@MOZILLA_NAME@ веб прелистувач
-Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
-Name[mn]=@MOZILLA_NAME@ веб хөтөч
-Name[ms]=Pelungsur Web @MOZILLA_NAME@
-Name[nb]=@MOZILLA_NAME@ nettleser
-Name[nl]=@MOZILLA_NAME@ Webbrowser
-Name[nn]=@MOZILLA_NAME@ nettlesar
-Name[no]=@MOZILLA_NAME@ nettleser
-Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
-Name[pl]=Przeglądarka WWW @MOZILLA_NAME@
-Name[pt]=Navegador Web @MOZILLA_NAME@
-Name[pt_BR]=Navegador Web @MOZILLA_NAME@
-Name[ro]=Navigatorul @MOZILLA_NAME@
-Name[ru]=Веб-браузер @MOZILLA_NAME@
-Name[sk]=
-Name[sl]=Spletni brskalnik @MOZILLA_NAME@
-Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
-Name[sr]=
-Name[sr@Latn]=Veb čitač Spoznaja
-Name[sv]=Webbläsaren @MOZILLA_NAME@
-Name[ta]=எபிபனி வலை உலாவி
-Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
-Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
-Name[uk]=Переглядач web @MOZILLA_NAME@
-Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
-Name[wa]=Betchteu waibe epiphany
-Name[zh_CN]=@MOZILLA_NAME@ Web 浏览器
-Name[zh_TW]=@MOZILLA_NAME@ 網頁瀏覽器
-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 @MOZILLA_NAME@
-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@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@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில் உலாவு
-Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
-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=@MOZILLA@ %u
-Icon=@FIREFOX_ICON@
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox3-devel/files/patch-bugzilla296818 b/www/firefox3-devel/files/patch-bugzilla296818
deleted file mode 100644
index a7f22b4eb..000000000
--- a/www/firefox3-devel/files/patch-bugzilla296818
+++ /dev/null
@@ -1,1621 +0,0 @@
-diff --git ChangeLog ChangeLog
-new file mode 100644
-index 0000000..c9c7dce
---- /dev/null
-+++ ChangeLog
-@@ -0,0 +1,277 @@
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Write the restore data regardless of
-+ the state we are in, right when we first fill the buffer.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDataDone): Print the first four bytes of the
-+ restore data, to check it later.
-+ (imgContainer::ReloadImages): Likewise.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Reuse the image container if the loader has one; don't always
-+ create a new one. This lets containers reload themselves.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AppendFrame): Unconditionally increment mNumFrames!
-+ (imgContainer::RestoreDiscardedData): Check the number of restored
-+ frames here.
-+ (imgContainer::ReloadImages): Flush and close the decoder.
-+ (imgContainer::RestoreDataDone): No-op if we are already restoring
-+ the data.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (*): Print the
-+ imgContainer pointers when logging.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (*): Likewise.
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::ReloadImages): Oops, use an nsCOMPtr<> for the
-+ ContainerLoader, not a direct pointer.
-+ (ContainerLoader NS_IMPL_ISUPPORTS3): Oops, we also implement
-+ imgIContainerObserver.
-+ (class ContainerLoader): Implement nsISupportsWeakReference as
-+ well; imgContainer needs it from the observer.
-+ (imgContainer::RestoreDiscardedData): Log how many frames we got
-+ and how many we expected.
-+ (imgContainer::ReloadImages): Assert that we got the right number
-+ of frames.
-+ (imgContainer::GetCurrentFrameNoRef): Log failures from
-+ RestoreDiscardedData().
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (end_callback):
-+ Don't tell the container that the restore data is done here...
-+ (nsPNGDecoder::Close): ... but do it here instead. This is
-+ because end_callback() gets called from within ReadDataOut(); we
-+ don't want end_callback() to inform the container that the restore
-+ data is done before actually writing the restore data to it!
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Set the image container as discardable.
-+ (ReadDataOut): Store the compressed data in the image container to
-+ restore from it later.
-+ (end_callback): Tell the image container that we finished feeding
-+ it the restore data.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::SetDiscardable): Log the MIME type of the
-+ discardable container.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Clean up a printf format, and do the
-+ logging only on success.
-+
-+ * gfx/thebes/public/gfxXlibSurface.h: Add myself to the contributors.
-+ * modules/libpr0n/public/imgIContainer.idl: Likewise.
-+ * modules/libpr0n/src/imgContainer.cpp: Likewise.
-+ * modules/libpr0n/src/imgContainer.h: Likewise.
-+
-+2007-09-03 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AddRestoreData): No-op if we are being called
-+ during the restore process (we already have the data; there is no
-+ need to save it again).
-+ (class ContainerLoader): Put the macro to implement QI for
-+ imgILoad and imgIDecoderObserver.
-+ (imgContainer::AppendFrame): Don't increment mNumFrames if we are
-+ restoring the image data. Fix the use of the frame counters.
-+ (imgContainer::sDiscardTimerCallback): Implement.
-+ (imgContainer::GetCurrentFrame): Oops, preserve the semantics of
-+ the original function --- if the actual getter gives us a null
-+ frame, return NS_ERROR_FAILURE.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): New
-+ prototype for a ReloadImages() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Call ReloadImages().
-+ (imgContainer::ReloadImages): Implement.
-+ (class ContainerLoader): New helper class that implements
-+ imgILoader and imgIDecoderObserver. We'll use this to re-load the
-+ imgContainer from an image decoder.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Reset the timer; if we got
-+ here it means that the data may be used again soon.
-+
-+2007-08-30 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add an
-+ mDiscarded field. We'll use it to know if the uncompressed image
-+ data has been discarded already and needs to be regenerated on
-+ demand.
-+ (class imgContainer): New prototype for a RestoreDiscardedData() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ mDiscarded.
-+ (imgContainer::GetCurrentFrameNoRef): Return an nsresult rather
-+ than the image frame; return the actual image frame as a
-+ reference. Ensure that the discarded data gets restored.
-+ (imgContainer::GetCurrentFrame): Return the error from
-+ GetCurrentFrameNoRef() if it fails.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::GetFrameAt): Ensure that the discarded data gets restored.
-+ (imgContainer::ResetAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+ (imgContainer::RestoreDiscardedData): Just a stub for now.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Oops, use "count" for the restore
-+ data, not "mBufferLen".
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add a
-+ mNumFrames field. Since we'll discard the contents of mFrames, we
-+ can't rely on mFrames.Count() for the frame count.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize mNumFrames.
-+ (imgContainer::AppendFrame): Maintain the frame count in mNumFrames.
-+ (imgContainer::GetNumFrames): Use mNumFrames instead of mFrames.Count().
-+ (imgContainer::GetFrameAt): Likewise.
-+ (imgContainer::DecodingComplete): Likewise.
-+ (imgContainer::SetAnimationMode): Likewise.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h
-+ (imgContainer::inlinedGetCurrentFrame): Removed to make it not
-+ inline.
-+ (imgContainer::GetCurrentFrameNoRef): New prototype.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::GetCurrentFrameNoRef): Implement this here.
-+ (imgContainer::GetCurrentFrame, imgContainer::StartAnimation): Use
-+ GetCurrentFrameNoRef() instead of inlinedGetCurrentFrame().
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (restoreDataDone): New
-+ method. We'll use this to tell the container when we finish
-+ feeding it the compressed data. After that, it can begin its
-+ discard process whenever it wants.
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add
-+ mRestoreDataDone and mDiscardTimer fields.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ the new fields.
-+ (imgContainer::RestoreDataDone): Implement. When turned on, we
-+ start the discard timer.
-+ (imgContainer::ResetDiscardTimer): New method.
-+ (~imgContainer): Cancel and destroy the timer.
-+ (imgContainer::sDiscardTimerCallback): New callback. Here we'll
-+ discard the uncompressed image data in the image frames. For now
-+ this is just a stub.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Tell the imgContainer when we are done
-+ feeding data to it.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp (discarding_is_enabled):
-+ Stub function, to be replaced with something better in the
-+ future. This lets us disable image discarding by setting a
-+ MOZ_DISABLE_IMAGE_DISCARD environment variable.
-+ (imgContainer::SetDiscardable): Noop if discarding is disabled.
-+ (imgContainer::AddRestoreData): Likewise.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Mark the imgContainer as discardable
-+ when we create it. And when writing to the JPEG decoder, add the
-+ compressed data to the imgContainer so that it can restore itself
-+ later.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (gCompressedImageAccountingLog): Create a
-+ "CompressedImageAccounting" log domain.
-+ (~imgContainer): Log the destruction of compressed data.
-+ (imgContainer::AddRestoreData): Log the addition of compressed data.
-+ (imgContainer::SetDiscardable): Log the creation of a compressed imgContainer.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+
-+ * modules/libpr0n/src/imgContainer.cpp (~imgContainer): Free the
-+ restore data and the MIME type.
-+
-+2007-08-22 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (setDiscardable): New
-+ method. When this is called (can be called only once) from an
-+ image decoder, the image container will discard its uncompressed
-+ image data after a timeout.
-+ (addRestoreData): New method. Image decoders should call this
-+ repeatedly after calling setDiscardable(); this is used to feed
-+ the original, compressed image data to the image container so that
-+ it can uncompress it on demand after discarding it.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer::SetDiscardable):
-+ Implement.
-+ (imgContainer::AddRestoreData): Implement.
-+
-+2007-08-20 Federico Mena Quintero <federico@novell.com>
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp
-+ (gfxXlibSurface::LogSurfaceCreation, surface_destroy_func): Count
-+ the number of surfaces in addition to the number of pixels.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/ImageLogging.h: Remove gImgAccountingLog
-+ from here.
-+
-+ * modules/libpr0n/src/imgRequest.cpp: Likewise.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (gJPEGDecodeAccountingLog): Create a "JPEGDecoderAccounting" log domain.
-+ (nsJPEGDecoder::WriteFrom): Use that log domain.
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp (gXlibSurfaceAccountingLog):
-+ Define a "XlibSurfaceAccounting" log domain.
-+ (gfxXlibSurface::LogSurfaceCreation): New method to log when an
-+ Xlib surface is created from a pixmap. Keeps a counter of how
-+ many pixels are allocated globally.
-+ (gfxXlibSurface::HookSurfaceDestructionForLogging): Utility method
-+ to set user data on the cairo surface, so that we can know when it
-+ is destroyed.
-+ (gfxXlibSurface::gfxXlibSurface): Log the creation of the surface,
-+ and hook it so that we can know when it is destroyed.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgRequest.cpp (gImgAccountingLog): New
-+ logging domain "imgAccounting". We'll use this to log when images
-+ get allocated, freed, requested, etc.
-+
-+ * modules/libpr0n/public/ImageLogging.h (gImgAccountingLog):
-+ Declare this.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Log the creation of an image frame.
-+
-diff --git gfx/thebes/public/gfxXlibSurface.h gfx/thebes/public/gfxXlibSurface.h
-index 078dc73..ea7ba24 100644
---- gfx/thebes/public/gfxXlibSurface.h
-+++ gfx/thebes/public/gfxXlibSurface.h
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -85,6 +86,9 @@ public:
- // when the gfxXlibSurface is destroyed.
- void TakePixmap();
-
-+ void LogSurfaceCreation ();
-+ void HookSurfaceDestructionForLogging ();
-+
- protected:
- // if TakePixmap() was already called on this
- PRBool mPixmapTaken;
-diff --git gfx/thebes/src/gfxXlibSurface.cpp gfx/thebes/src/gfxXlibSurface.cpp
-index dc2a19f..f9c191c 100644
---- gfx/thebes/src/gfxXlibSurface.cpp
-+++ gfx/thebes/src/gfxXlibSurface.cpp
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -37,6 +38,7 @@
- * ***** END LICENSE BLOCK ***** */
-
- #include "gfxXlibSurface.h"
-+#include "prlog.h"
-
- #include "cairo.h"
- #include "cairo-xlib.h"
-@@ -51,6 +53,18 @@ typedef struct {
-
- static void pixmap_free_func (void *);
-
-+
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gXlibSurfaceAccountingLog = PR_NewLogModule ("XlibSurfaceAccounting");
-+#else
-+#define gXlibSurfaceAccountingLog
-+#endif
-+
-+static cairo_user_data_key_t surface_free_key;
-+static int num_surfaces_allocated;
-+static PRInt64 pixels_allocated;
-+
-+
- #define XLIB_IMAGE_SIDE_SIZE_LIMIT 0xffff
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
-@@ -59,6 +73,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
- DoSizeQuery();
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual, const gfxIntSize& size)
-@@ -69,6 +86,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual,
-
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& size)
-@@ -87,6 +107,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& s
-
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictFormat *format,
-@@ -100,6 +123,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictForma
- ScreenOfDisplay(dpy,DefaultScreen(dpy)),
- format, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gfxIntSize& size)
-@@ -115,6 +141,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gf
- format, mSize.width, mSize.height);
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
-@@ -124,6 +153,9 @@ gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
- mDisplay = cairo_xlib_surface_get_display(csurf);
-
- Init(csurf, PR_TRUE);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::~gfxXlibSurface()
-@@ -198,3 +230,63 @@ pixmap_free_func (void *data)
-
- delete pfs;
- }
-+
-+void
-+gfxXlibSurface::LogSurfaceCreation ()
-+{
-+ gfxIntSize size;
-+
-+ size = GetSize ();
-+
-+ num_surfaces_allocated++;
-+ pixels_allocated += (PRInt64) size.width * size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Xlib surface %p created, %ux%u pixels - %d surfaces with %lld global pixels allocated",
-+ CairoSurface (),
-+ size.width,
-+ size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+}
-+
-+struct SurfaceFreeData {
-+ gfxIntSize size;
-+ cairo_surface_t *surface;
-+};
-+
-+static void
-+surface_destroy_func (void *closure)
-+{
-+ SurfaceFreeData *data;
-+
-+ data = (SurfaceFreeData *) closure;
-+
-+ num_surfaces_allocated--;
-+ pixels_allocated -= (PRInt64) data->size.width * data->size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Destroying Xlib surface %p, %dx%d pixels - %d surfaces with %lld global pixels allocated",
-+ data->surface,
-+ data->size.width,
-+ data->size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+
-+ delete data;
-+}
-+
-+void
-+gfxXlibSurface::HookSurfaceDestructionForLogging ()
-+{
-+ SurfaceFreeData *data;
-+
-+ data = new SurfaceFreeData;
-+ data->size = GetSize ();
-+ data->surface = CairoSurface ();
-+
-+ cairo_surface_set_user_data (data->surface,
-+ &surface_free_key,
-+ data,
-+ surface_destroy_func);
-+}
-diff --git modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-index 16b9fd8..48431e4 100644
---- modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+++ modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -63,8 +64,10 @@ NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder)
-
- #if defined(PR_LOGGING)
- PRLogModuleInfo *gJPEGlog = PR_NewLogModule("JPEGDecoder");
-+static PRLogModuleInfo *gJPEGDecoderAccountingLog = PR_NewLogModule ("JPEGDecoderAccounting");
- #else
- #define gJPEGlog
-+#define gJPEGDecoderAccountingLog
- #endif
-
-
-@@ -208,6 +211,15 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- nsresult rv = inStr->Read((char*)mBuffer, count, &mBufferLen);
- *_retval = mBufferLen;
-
-+ if (mImage) {
-+ nsresult result = mImage->AddRestoreData ((char *) mBuffer, count);
-+
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+ }
-+
- NS_ASSERTION(NS_SUCCEEDED(rv), "nsJPEGDecoder::WriteFrom -- inStr->Read failed");
- }
- // else no input stream.. Flush() ?
-@@ -357,6 +369,9 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- /* Check if the request already has an image container.
- this is the case when multipart/x-mixed-replace is being downloaded
- if we already have one and it has the same width and height, reuse it.
-+
-+ This is also the case when an existing container is reloading itself from
-+ us.
- */
- mImageLoad->GetImage(getter_AddRefs(mImage));
- if (mImage) {
-@@ -370,6 +385,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- if (!mImage) {
-+ nsresult result;
-+
- mImage = do_CreateInstance("@mozilla.org/image/container;1");
- if (!mImage) {
- mState = JPEG_ERROR;
-@@ -377,6 +394,18 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
- mImageLoad->SetImage(mImage);
- mImage->Init(mInfo.image_width, mInfo.image_height, mObserver);
-+
-+ result = mImage->SetDiscardable ("image/jpeg"); /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
-+ result = mImage->AddRestoreData ((char *) mBuffer, count);
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
- }
-
- mObserver->OnStartContainer(nsnull, mImage);
-@@ -416,7 +445,11 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- mImage->AppendFrame(mFrame);
-- }
-+
-+ PR_LOG (gJPEGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("JPEGDecoderAccounting: nsJPEGDecoder::WriteFrom -- created image frame with %ux%u pixels",
-+ mInfo.image_width, mInfo.image_height));
-+ }
-
- mObserver->OnStartFrame(nsnull, mFrame);
-
-@@ -538,6 +571,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- case JPEG_DONE:
- {
-+ nsresult result;
-+
- LOG_SCOPE(gJPEGlog, "nsJPEGDecoder::WriteFrom -- entering JPEG_DONE case");
-
- /* Step 7: Finish decompression */
-@@ -547,6 +582,12 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- mState = JPEG_SINK_NON_JPEG_TRAILER;
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
- /* we're done dude */
- break;
- }
-diff --git modules/libpr0n/decoders/png/nsPNGDecoder.cpp modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-index 85f0216..15abc9f 100644
---- modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-+++ modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -73,6 +74,7 @@ static void PNGAPI warning_callback(png_structp png_ptr, png_const_charp warning
-
- #ifdef PR_LOGGING
- PRLogModuleInfo *gPNGLog = PR_NewLogModule("PNGDecoder");
-+static PRLogModuleInfo *gPNGDecoderAccountingLog = PR_NewLogModule ("PNGDecoderAccounting");
- #endif
-
- NS_IMPL_ISUPPORTS1(nsPNGDecoder, imgIDecoder)
-@@ -119,6 +121,11 @@ void nsPNGDecoder::CreateFrame(png_uint_32 x_offset, png_uint_32 y_offset,
-
- if (mObserver)
- mObserver->OnStartFrame(nsnull, mFrame);
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::CreateFrame -- created image frame with %dx%d pixels in container %p",
-+ width, height,
-+ mImage.get ()));
- }
-
- // set timeout and frame disposal method for the current frame
-@@ -213,9 +220,25 @@ NS_IMETHODIMP nsPNGDecoder::Init(imgILoad *aLoad)
- /* void close (); */
- NS_IMETHODIMP nsPNGDecoder::Close()
- {
-+ nsresult result;
-+
- if (mPNG)
- png_destroy_read_struct(&mPNG, mInfo ? &mInfo : NULL, NULL);
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): failure in RestoreDataDone() for image container %p",
-+ mImage.get ()));
-+
-+ mError = PR_TRUE;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): image container %p is now with RestoreDataDone",
-+ mImage.get ()));
-+
- return NS_OK;
- }
-
-@@ -234,6 +257,7 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- PRUint32 *writeCount)
- {
- nsPNGDecoder *decoder = static_cast<nsPNGDecoder*>(closure);
-+ nsresult result;
-
- if (decoder->mError) {
- *writeCount = 0;
-@@ -248,10 +272,24 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- *writeCount = 0;
- return NS_ERROR_FAILURE;
- }
--
- png_process_data(decoder->mPNG, decoder->mInfo,
- reinterpret_cast<unsigned char *>(const_cast<char *>(fromRawSegment)), count);
-
-+ result = decoder->mImage->AddRestoreData ((char *) fromRawSegment, count);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): failed to add restore data to image container %p",
-+ decoder->mImage.get ()));
-+
-+ decoder->mError = PR_TRUE;
-+ *writeCount = 0;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): Added restore data to image container %p",
-+ decoder->mImage.get ()));
-+
- *writeCount = count;
- return NS_OK;
- }
-@@ -525,13 +563,41 @@ info_callback(png_structp png_ptr, png_infop info_ptr)
- if (decoder->mObserver)
- decoder->mObserver->OnStartDecode(nsnull);
-
-- decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-- if (!decoder->mImage)
-- longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ /* The image container may already exist if it is reloading itself from us.
-+ * Check that it has the same width/height; otherwise create a new container.
-+ */
-+ decoder->mImageLoad->GetImage (getter_AddRefs (decoder->mImage));
-+ if (decoder->mImage) {
-+ PRInt32 container_width, container_height;
-+
-+ decoder->mImage->GetWidth (&container_width);
-+ decoder->mImage->GetHeight (&container_height);
-
-- decoder->mImageLoad->SetImage(decoder->mImage);
-+ if (container_width != width || container_height != height)
-+ decoder->mImage = nsnull;
-+ }
-
-- decoder->mImage->Init(width, height, decoder->mObserver);
-+ if (!decoder->mImage) {
-+ decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-+ if (!decoder->mImage)
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+
-+ decoder->mImageLoad->SetImage(decoder->mImage);
-+
-+ decoder->mImage->Init(width, height, decoder->mObserver);
-+
-+ /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (decoder->mImage->SetDiscardable ("image/png"))) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): failed to set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ }
-
- if (decoder->mObserver)
- decoder->mObserver->OnStartContainer(nsnull, decoder->mImage);
-@@ -757,7 +823,7 @@ end_callback(png_structp png_ptr, png_infop info_ptr)
- }
-
- decoder->mImage->DecodingComplete();
--
-+
- if (decoder->mObserver) {
- if (!(decoder->apngFlags & FRAME_HIDDEN))
- decoder->mObserver->OnStopFrame(nsnull, decoder->mFrame);
-diff --git modules/libpr0n/public/imgIContainer.idl modules/libpr0n/public/imgIContainer.idl
-index fc42335..524af96 100644
---- modules/libpr0n/public/imgIContainer.idl
-+++ modules/libpr0n/public/imgIContainer.idl
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -144,4 +145,10 @@ interface imgIContainer : nsISupports
- * @note -1 means forever.
- */
- attribute long loopCount;
-+
-+ /* Methods to discard uncompressed images and restore them again */
-+ [noscript] void setDiscardable(in string aMimeType);
-+ [noscript] void addRestoreData(in charPtr aBuffer,
-+ in unsigned long aCount);
-+ [noscript] void restoreDataDone();
- };
-diff --git modules/libpr0n/src/imgContainer.cpp modules/libpr0n/src/imgContainer.cpp
-index 776c4ee..22d8735 100644
---- modules/libpr0n/src/imgContainer.cpp
-+++ modules/libpr0n/src/imgContainer.cpp
-@@ -25,6 +25,7 @@
- * Asko Tontti <atontti@cc.hut.fi>
- * Arron Mogge <paper@animecity.nu>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -42,23 +43,49 @@
-
- #include "nsComponentManagerUtils.h"
- #include "imgIContainerObserver.h"
-+#include "ImageErrors.h"
- #include "nsIImage.h"
-+#include "imgILoad.h"
-+#include "imgIDecoder.h"
-+#include "imgIDecoderObserver.h"
- #include "imgContainer.h"
- #include "nsIInterfaceRequestor.h"
- #include "nsIInterfaceRequestorUtils.h"
- #include "nsAutoPtr.h"
-+#include "nsStringStream.h"
-+#include "prmem.h"
-+#include "prlog.h"
-
- #include "gfxContext.h"
-
-+/* Accounting for compressed data */
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gCompressedImageAccountingLog = PR_NewLogModule ("CompressedImageAccounting");
-+#else
-+#define gCompressedImageAccountingLog
-+#endif
-+
-+static int num_containers_with_discardable_data;
-+static PRInt64 num_compressed_image_bytes;
-+
-+
- NS_IMPL_ISUPPORTS3(imgContainer, imgIContainer, nsITimerCallback, nsIProperties)
-
- //******************************************************************************
- imgContainer::imgContainer() :
- mSize(0,0),
-+ mNumFrames(0),
- mAnim(nsnull),
- mAnimationMode(kNormalAnimMode),
- mLoopCount(-1),
-- mObserver(nsnull)
-+ mObserver(nsnull),
-+ mDiscardable(PR_FALSE),
-+ mDiscarded(PR_FALSE),
-+ mDiscardableMimeType(nsnull),
-+ mRestoreData(nsnull),
-+ mRestoreDataLength(0),
-+ mRestoreDataDone(PR_FALSE),
-+ mDiscardTimer(nsnull)
- {
- }
-
-@@ -67,6 +94,32 @@ imgContainer::~imgContainer()
- {
- if (mAnim)
- delete mAnim;
-+
-+ if (mDiscardableMimeType) {
-+ free (mDiscardableMimeType);
-+ mDiscardableMimeType = nsnull;
-+ }
-+
-+ if (mRestoreData) {
-+ PR_Free (mRestoreData);
-+
-+ num_containers_with_discardable_data--;
-+ num_compressed_image_bytes -= mRestoreDataLength;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: destroying imgContainer %p. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ mRestoreDataLength = 0;
-+ }
-+
-+ if (mDiscardTimer) {
-+ mDiscardTimer->Cancel ();
-+ mDiscardTimer = nsnull;
-+ }
- }
-
- //******************************************************************************
-@@ -124,15 +177,53 @@ NS_IMETHODIMP imgContainer::GetHeight(PRInt32 *aHeight)
- return NS_OK;
- }
-
-+nsresult imgContainer::GetCurrentFrameNoRef (gfxIImageFrame** aFrame)
-+{
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): error %d in RestoreDiscardedData(); "
-+ "returning a null frame from imgContainer %p",
-+ result,
-+ this));
-+
-+ *aFrame = nsnull;
-+ return result;
-+ }
-+
-+ if (!mAnim)
-+ *aFrame = mFrames.SafeObjectAt(0);
-+ else if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-+ *aFrame = mAnim->compositingFrame;
-+ else
-+ *aFrame = mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-+
-+ if (!*aFrame)
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): returning null frame from imgContainer %p "
-+ "(no errors when restoring data)",
-+ this));
-+
-+ return NS_OK;
-+}
-+
- //******************************************************************************
- /* readonly attribute gfxIImageFrame currentFrame; */
- NS_IMETHODIMP imgContainer::GetCurrentFrame(gfxIImageFrame **aCurrentFrame)
- {
-+ nsresult result;
-+
- NS_ASSERTION(aCurrentFrame, "imgContainer::GetCurrentFrame; Invalid Arg");
- if (!aCurrentFrame)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!(*aCurrentFrame = inlinedGetCurrentFrame()))
-+ result = GetCurrentFrameNoRef (aCurrentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ if (!*aCurrentFrame)
- return NS_ERROR_FAILURE;
-
- NS_ADDREF(*aCurrentFrame);
-@@ -148,7 +239,7 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- if (!aNumFrames)
- return NS_ERROR_INVALID_ARG;
-
-- *aNumFrames = mFrames.Count();
-+ *aNumFrames = mNumFrames;
-
- return NS_OK;
- }
-@@ -157,16 +248,24 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- /* gfxIImageFrame getFrameAt (in unsigned long index); */
- NS_IMETHODIMP imgContainer::GetFrameAt(PRUint32 index, gfxIImageFrame **_retval)
- {
-+ nsresult result;
-+
- NS_ASSERTION(_retval, "imgContainer::GetFrameAt; Invalid Arg");
- if (!_retval)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!mFrames.Count()) {
-+ if (mNumFrames == 0) {
- *_retval = nsnull;
- return NS_OK;
- }
-
-- NS_ENSURE_ARG(index < static_cast<PRUint32>(mFrames.Count()));
-+ NS_ENSURE_ARG((int) index < mNumFrames);
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ *_retval = nsnull;
-+ return result;
-+ }
-
- if (!(*_retval = mFrames[index]))
- return NS_ERROR_FAILURE;
-@@ -183,16 +282,17 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- NS_ASSERTION(item, "imgContainer::AppendFrame; Invalid Arg");
- if (!item)
- return NS_ERROR_INVALID_ARG;
--
-- PRInt32 numFrames = mFrames.Count();
--
-- if (numFrames == 0) {
-+
-+ if (mFrames.Count () == 0) {
- // This may not be an animated image, don't do all the animation stuff.
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-+
- return NS_OK;
- }
-
-- if (numFrames == 1) {
-+ if (mFrames.Count () == 1) {
- // Now that we got a second frame, initialize animation stuff.
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-@@ -216,11 +316,13 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- itemRect);
-
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-
- // If this is our second frame, start the animation.
- // Must be called after AppendObject because StartAnimation checks for > 1
- // frame
-- if (numFrames == 1)
-+ if (mFrames.Count () == 1)
- StartAnimation();
-
- return NS_OK;
-@@ -230,6 +332,7 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- /* void removeFrame (in gfxIImageFrame item); */
- NS_IMETHODIMP imgContainer::RemoveFrame(gfxIImageFrame *item)
- {
-+ /* Remember to decrement mNumFrames if you implement this */
- return NS_ERROR_NOT_IMPLEMENTED;
- }
-
-@@ -253,7 +356,7 @@ NS_IMETHODIMP imgContainer::DecodingComplete(void)
- mAnim->doneDecoding = PR_TRUE;
- // If there's only 1 frame, optimize it.
- // Optimizing animated images is not supported
-- if (mFrames.Count() == 1)
-+ if (mNumFrames == 1)
- mFrames[0]->SetMutable(PR_FALSE);
- return NS_OK;
- }
-@@ -292,11 +395,11 @@ NS_IMETHODIMP imgContainer::SetAnimationMode(PRUint16 aAnimationMode)
- break;
- case kNormalAnimMode:
- if (mLoopCount != 0 ||
-- (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count())))
-+ (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames)))
- StartAnimation();
- break;
- case kLoopOnceAnimMode:
-- if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count()))
-+ if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames))
- StartAnimation();
- break;
- }
-@@ -312,12 +415,18 @@ NS_IMETHODIMP imgContainer::StartAnimation()
- (mAnim && (mAnim->timer || mAnim->animating)))
- return NS_OK;
-
-- if (mFrames.Count() > 1) {
-+ if (mNumFrames > 1) {
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-
- PRInt32 timeout;
-- gfxIImageFrame *currentFrame = inlinedGetCurrentFrame();
-+ nsresult result;
-+ gfxIImageFrame *currentFrame;
-+
-+ result = GetCurrentFrameNoRef (&currentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
- if (currentFrame) {
- currentFrame->GetTimeout(&timeout);
- if (timeout <= 0) // -1 means display this frame forever
-@@ -376,8 +485,15 @@ NS_IMETHODIMP imgContainer::ResetAnimation()
- mAnim->currentAnimationFrameIndex = 0;
- // Update display
- nsCOMPtr<imgIContainerObserver> observer(do_QueryReferent(mObserver));
-- if (observer)
-+ if (observer) {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- observer->FrameChanged(this, mFrames[0], &(mAnim->firstFrameRefreshArea));
-+ }
-
- if (oldAnimating)
- return StartAnimation();
-@@ -411,10 +527,161 @@ NS_IMETHODIMP imgContainer::SetLoopCount(PRInt32 aLoopCount)
- return NS_OK;
- }
-
-+static PRBool
-+discarding_is_enabled (void)
-+{
-+ static PRBool inited;
-+ static PRBool enabled;
-+
-+ if (!inited) {
-+ inited = PR_TRUE;
-+
-+ enabled = (getenv ("MOZ_DISABLE_IMAGE_DISCARD") == nsnull);
-+ }
-+
-+ return enabled;
-+}
-+
-+//******************************************************************************
-+/* void setDiscardable(in string mime_type); */
-+NS_IMETHODIMP imgContainer::SetDiscardable (const char* aMimeType)
-+{
-+ NS_ASSERTION(aMimeType, "imgContainer::SetDiscardable() called with null aMimeType");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mDiscardable) {
-+ NS_WARNING ("imgContainer::SetDiscardable(): cannot change an imgContainer which is already discardable");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ mDiscardableMimeType = strdup (aMimeType);
-+ if (!mDiscardableMimeType)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mDiscardable = PR_TRUE;
-+
-+ num_containers_with_discardable_data++;
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Making imgContainer %p (%s) discardable. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ aMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+//******************************************************************************
-+/* void addRestoreData(in nsIInputStream aInputStream, in unsigned long aCount); */
-+NS_IMETHODIMP imgContainer::AddRestoreData (char *aBuffer, PRUint32 aCount)
-+{
-+ PRSize new_size;
-+ char *new_buffer;
-+
-+ NS_ASSERTION(aBuffer, "imgContainer::AddRestoreData() called with null aBuffer");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardable) {
-+ NS_WARNING ("imgContainer::AddRestoreData() can only be called if SetDiscardable is called first");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ if (mRestoreDataDone) {
-+ /* We are being called from the decoder while the data is being restored
-+ * (i.e. we were fully loaded once, then we discarded the image data, then
-+ * we are being restored). We don't want to save the compressed data again,
-+ * since we already have it.
-+ */
-+ return NS_OK;
-+ }
-+
-+ new_size = mRestoreDataLength + aCount;
-+
-+ new_buffer = (char *) PR_Realloc (mRestoreData, new_size);
-+ if (new_buffer)
-+ mRestoreData = new_buffer;
-+ else {
-+ /* Hmm, should we discard the whole buffer? The caller isn't going to be able to recover... */
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ memcpy (mRestoreData + mRestoreDataLength, aBuffer, aCount);
-+ mRestoreDataLength = new_size;
-+
-+ num_compressed_image_bytes += aCount;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Added compressed data to imgContainer %p (%s). "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+/* Note! buf must be declared as char buf[9]; */
-+static void
-+get_header_str (char *buf, char *data, PRSize data_len)
-+{
-+ int i;
-+ int n;
-+ static char hex[] = "0123456789abcdef";
-+
-+ n = data_len < 4 ? data_len : 4;
-+
-+ for (i = 0; i < n; i++) {
-+ buf[i * 2] = hex[(data[i] >> 4) & 0x0f];
-+ buf[i * 2 + 1] = hex[data[i] & 0x0f];
-+ }
-+
-+ buf[i * 2] = 0;
-+}
-+
-+//******************************************************************************
-+/* void restoreDataDone(); */
-+NS_IMETHODIMP imgContainer::RestoreDataDone (void)
-+{
-+ char buf[9];
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mRestoreDataDone)
-+ return NS_OK;
-+
-+ mRestoreDataDone = PR_TRUE;
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDataDone() - data is done for container %p (%s), %d real frames (cached as %d frames) - header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mFrames.Count (),
-+ mNumFrames,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ return ResetDiscardTimer ();
-+}
-+
- //******************************************************************************
- /* void notify(in nsITimer timer); */
- NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- // This should never happen since the timer is only set up in StartAnimation()
- // after mAnim is checked to exist.
- NS_ASSERTION(mAnim, "imgContainer::Notify() called but mAnim is null");
-@@ -433,8 +700,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- return NS_OK;
- }
-
-- PRInt32 numFrames = mFrames.Count();
-- if (!numFrames)
-+ if (mNumFrames == 0)
- return NS_OK;
-
- gfxIImageFrame *nextFrame = nsnull;
-@@ -448,7 +714,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- // finished decoding (see EndFrameDecode)
- if (mAnim->doneDecoding ||
- (nextFrameIndex < mAnim->currentDecodingFrameIndex)) {
-- if (numFrames == nextFrameIndex) {
-+ if (mNumFrames == nextFrameIndex) {
- // End of Animation
-
- // If animation mode is "loop once", it's time to stop animating
-@@ -875,3 +1141,328 @@ NS_IMETHODIMP imgContainer::GetKeys(PRUint32 *count, char ***keys)
- }
- return mProperties->GetKeys(count, keys);
- }
-+
-+static int
-+get_discard_timer_ms (void)
-+{
-+ /* FIXME: don't hardcode this */
-+ return 5000; /* 5 seconds */
-+}
-+
-+void
-+imgContainer::sDiscardTimerCallback (nsITimer *aTimer, void *aClosure)
-+{
-+ imgContainer *self = (imgContainer *) aClosure;
-+ int old_frame_count;
-+
-+ NS_ASSERTION (aTimer == self->mDiscardTimer,
-+ "imgContainer::DiscardTimerCallback() got a callback for an unknown timer");
-+
-+ self->mDiscardTimer = nsnull;
-+
-+ old_frame_count = self->mFrames.Count ();
-+
-+ if (self->mAnim) {
-+ delete self->mAnim;
-+ self->mAnim = nsnull;
-+ }
-+
-+ self->mFrames.Clear ();
-+
-+ self->mDiscarded = PR_TRUE;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: discarded uncompressed image data from imgContainer %p (%s) - %d frames (cached count: %d); "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ self,
-+ self->mDiscardableMimeType,
-+ old_frame_count,
-+ self->mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+}
-+
-+nsresult
-+imgContainer::ResetDiscardTimer (void)
-+{
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardTimer) {
-+ mDiscardTimer = do_CreateInstance("@mozilla.org/timer;1");
-+
-+ if (!mDiscardTimer)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ } else {
-+ if (NS_FAILED (mDiscardTimer->Cancel ()))
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return mDiscardTimer->InitWithFuncCallback (sDiscardTimerCallback,
-+ (void *) this,
-+ get_discard_timer_ms (),
-+ nsITimer::TYPE_ONE_SHOT);
-+}
-+
-+nsresult
-+imgContainer::RestoreDiscardedData (void)
-+{
-+ nsresult result;
-+ int num_expected_frames;
-+
-+ if (!mDiscarded)
-+ return NS_OK;
-+
-+ result = ResetDiscardTimer ();
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ num_expected_frames = mNumFrames;
-+
-+ result = ReloadImages ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() for container %p failed to ReloadImages()",
-+ this));
-+ return result;
-+ }
-+
-+ mDiscarded = PR_FALSE;
-+
-+ NS_ASSERTION (mNumFrames == mFrames.Count (),
-+ "number of restored image frames doesn't match");
-+ NS_ASSERTION (num_expected_frames == mNumFrames,
-+ "number of restored image frames doesn't match the original number of frames!");
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() restored discarded data "
-+ "for imgContainer %p (%s) - %d image frames. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+class ContainerLoader : public imgILoad,
-+ public imgIDecoderObserver,
-+ public nsSupportsWeakReference
-+{
-+public:
-+
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_IMGILOAD
-+ NS_DECL_IMGIDECODEROBSERVER
-+ NS_DECL_IMGICONTAINEROBSERVER
-+
-+ ContainerLoader (void);
-+
-+private:
-+
-+ imgIContainer *mContainer;
-+};
-+
-+NS_IMPL_ISUPPORTS4 (ContainerLoader, imgILoad, imgIDecoderObserver, imgIContainerObserver, nsISupportsWeakReference)
-+
-+ContainerLoader::ContainerLoader (void)
-+{
-+}
-+
-+/* Implement imgILoad::image getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetImage(imgIContainer **aImage)
-+{
-+ *aImage = mContainer;
-+ NS_IF_ADDREF (*aImage);
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::image setter */
-+NS_IMETHODIMP
-+ContainerLoader::SetImage(imgIContainer *aImage)
-+{
-+ mContainer = aImage;
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::isMultiPartChannel getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetIsMultiPartChannel(PRBool *aIsMultiPartChannel)
-+{
-+ *aIsMultiPartChannel = PR_FALSE; /* FIXME: is this always right? */
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartRequest (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartDecode (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onDataAvailable() */
-+NS_IMETHODIMP
-+ContainerLoader::OnDataAvailable (imgIRequest *aRequest, gfxIImageFrame *aFrame, const nsIntRect * aRect)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopDecode (imgIRequest *aRequest, nsresult status, const PRUnichar *statusArg)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopRequest (imgIRequest *aRequest, PRBool aIsLastPart)
-+{
-+ return NS_OK;
-+}
-+
-+/* implement imgIContainerObserver::frameChanged() */
-+NS_IMETHODIMP
-+ContainerLoader::FrameChanged (imgIContainer *aContainer, gfxIImageFrame *aFrame, nsIntRect * aDirtyRect)
-+{
-+ return NS_OK;
-+}
-+
-+static char *
-+make_id_from_mime_type (char *mime_type)
-+{
-+ const char idbase[] = "@mozilla.org/image/decoder;2?type=";
-+ int idbase_len = strlen (idbase);
-+ char *id;
-+
-+ id = (char *) PR_Malloc (strlen (mime_type) + idbase_len + 1);
-+ if (!id)
-+ return nsnull;
-+
-+ strcpy (id, idbase);
-+ strcpy (id + idbase_len, mime_type);
-+
-+ return id;
-+}
-+
-+nsresult
-+imgContainer::ReloadImages (void)
-+{
-+ char *id;
-+ nsCOMPtr<imgILoad> loader;
-+ nsCOMPtr<imgIDecoder> decoder;
-+ nsresult result;
-+ PRUint32 written;
-+ nsCOMPtr<nsIInputStream> stream;
-+ char buf[9];
-+
-+ NS_ASSERTION (mRestoreData,
-+ "imgContainer::ReloadImages(): mRestoreData should not be null");
-+ NS_ASSERTION (mRestoreDataDone,
-+ "imgContainer::ReloadImages(): mRestoreDataDone shoudl be true!");
-+
-+ id = make_id_from_mime_type (mDiscardableMimeType);
-+ if (!id)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mNumFrames = 0;
-+ NS_ASSERTION (mFrames.Count() == 0,
-+ "imgContainer::ReloadImages(): mFrames should be empty");
-+
-+ decoder = do_CreateInstance (id);
-+ PR_Free (id);
-+
-+ if (!decoder) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not create decoder for %s",
-+ mDiscardableMimeType));
-+ return NS_IMAGELIB_ERROR_NO_DECODER;
-+ }
-+
-+ loader = new ContainerLoader ();
-+ if (!loader) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not allocate ContainerLoader "
-+ "when reloading the images for container %p",
-+ this));
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ loader->SetImage (this);
-+
-+ result = decoder->Init (loader);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() image container %p "
-+ "failed to initialize the decoder (%s)",
-+ this,
-+ mDiscardableMimeType));
-+ return result;
-+ }
-+
-+ result = NS_NewByteInputStream (getter_AddRefs (stream), mRestoreData, mRestoreDataLength, NS_ASSIGNMENT_DEPEND);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() starting to restore images for container %p (%s) - "
-+ "header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ result = decoder->WriteFrom (stream, mRestoreDataLength, &written);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ result = decoder->Flush ();
-+ if (!(result == NS_OK || result == NS_ERROR_NOT_IMPLEMENTED)) /* PNG doesn't implement Flush(), for example */
-+ return result;
-+
-+ result = decoder->Close ();
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ NS_ASSERTION (mFrames.Count() == mNumFrames,
-+ "imgContainer::ReloadImages(): the restored mFrames.Count() doesn't match mNumFrames!");
-+
-+ return result;
-+}
-diff --git modules/libpr0n/src/imgContainer.h modules/libpr0n/src/imgContainer.h
-index 3db7034..aa56939 100644
---- modules/libpr0n/src/imgContainer.h
-+++ modules/libpr0n/src/imgContainer.h
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
- * Chris Saari <saari@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -194,14 +195,8 @@ private:
- timer->Cancel();
- }
- };
--
-- inline gfxIImageFrame* inlinedGetCurrentFrame() {
-- if (!mAnim)
-- return mFrames.SafeObjectAt(0);
-- if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-- return mAnim->compositingFrame;
-- return mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-- }
-+
-+ nsresult GetCurrentFrameNoRef(gfxIImageFrame** aFrame);
-
- inline Anim* ensureAnimExists() {
- if (!mAnim)
-@@ -274,10 +269,15 @@ private:
- nsIntSize mSize;
-
- //! All the <gfxIImageFrame>s of the PNG
-+ // *** IMPORTANT: if you use mFrames in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- nsCOMArray<gfxIImageFrame> mFrames;
-+ int mNumFrames; /* stored separately from mFrames.Count() to support discarded images */
-
- nsCOMPtr<nsIProperties> mProperties;
--
-+
-+ // *** IMPORTANT: if you use mAnim in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- imgContainer::Anim* mAnim;
-
- //! See imgIContainer for mode constants
-@@ -288,6 +288,19 @@ private:
-
- //! imgIContainerObserver
- nsWeakPtr mObserver;
-+
-+ PRBool mDiscardable;
-+ PRBool mDiscarded;
-+ char* mDiscardableMimeType;
-+ char* mRestoreData;
-+ PRSize mRestoreDataLength;
-+ PRBool mRestoreDataDone;
-+ nsCOMPtr<nsITimer> mDiscardTimer;
-+
-+ nsresult ResetDiscardTimer (void);
-+ nsresult RestoreDiscardedData (void);
-+ nsresult ReloadImages (void);
-+ static void sDiscardTimerCallback (nsITimer *aTimer, void *aClosure);
- };
-
- #endif /* __imgContainer_h__ */
diff --git a/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh b/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index a5295588e..000000000
--- a/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,12 +0,0 @@
---- build/unix/run-mozilla.sh.orig Tue Feb 14 19:56:54 2006
-+++ build/unix/run-mozilla.sh Fri Dec 8 15:49:48 2006
-@@ -443,6 +443,9 @@
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-+
- if [ $moz_debug -eq 1 ]
- then
- moz_debug_program ${1+"$@"}
diff --git a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h b/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/firefox3-devel/files/patch-config-rules.mk b/www/firefox3-devel/files/patch-config-rules.mk
deleted file mode 100644
index 8ab35f5a8..000000000
--- a/www/firefox3-devel/files/patch-config-rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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
--EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
--endif
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
- endif
-
- ifeq ($(OS_ARCH),NetBSD)
diff --git a/www/firefox3-devel/files/patch-config_autoconf.mk.in b/www/firefox3-devel/files/patch-config_autoconf.mk.in
deleted file mode 100644
index 29fe7f8fb..000000000
--- a/www/firefox3-devel/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Thu Jul 14 00:50:06 2005
-+++ config/autoconf.mk.in Thu Jul 14 00:50:40 2005
-@@ -50,13 +50,13 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
- idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in b/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h b/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
deleted file mode 100644
index 534bccba4..000000000
--- a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/xslt/public/txDouble.h.orig Fri Oct 13 00:00:29 2006
-+++ content/xslt/public/txDouble.h Fri Oct 13 00:00:53 2006
-@@ -41,7 +41,7 @@
- #define __txdouble_h__
-
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
--#ifdef __FreeBSD__
-+/* #ifdef __FreeBSD__
- #include <ieeefp.h>
- #ifdef __alpha__
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-@@ -50,7 +50,7 @@
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
--
-+*/
- /**
- * Macros to workaround math-bugs bugs in various platforms
- */
diff --git a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp b/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
deleted file mode 100644
index 41c462d74..000000000
--- a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.cpp.orig Wed Nov 19 01:20:47 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.cpp Tue Feb 10 02:52:26 2004
-@@ -323,11 +323,11 @@
- prefBranch->GetBoolPref("accessibility.typeaheadfind.startlinksonly",
- &mStartLinksOnlyPref);
-
-- PRBool isSoundEnabled = PR_TRUE;
-+ mIsSoundEnabled = PR_TRUE;
- prefBranch->GetBoolPref("accessibility.typeaheadfind.enablesound",
-- &isSoundEnabled);
-+ &mIsSoundEnabled);
- nsXPIDLCString soundStr;
-- if (isSoundEnabled) {
-+ if (mIsSoundEnabled && mIsSoundEnabled) {
- prefBranch->GetCharPref("accessibility.typeaheadfind.soundURL",
- getter_Copies(soundStr));
- }
-@@ -758,7 +758,7 @@
- }
- else {
- // No find string to backspace in!
-- if (mIsBackspaceProtectOn) {
-+ if (mIsBackspaceProtectOn && mIsSoundEnabled) {
- // This flag should be on only if the last key was a backspace.
- // It keeps us from accidentally hitting backspace too many times and
- // going back in history when we really just wanted to clear
-@@ -1012,7 +1012,9 @@
-
- // Error sound (don't fire when backspace is pressed, they're
- // trying to correct the mistake!)
-- PlayNotFoundSound();
-+ if (mIsSoundEnabled) {
-+ PlayNotFoundSound();
-+ }
-
- // Remove bad character from buffer, so we can continue typing from
- // last matched character
-@@ -1059,7 +1061,7 @@
- void
- nsTypeAheadFind::PlayNotFoundSound()
- {
-- if (mNotFoundSoundURL.IsEmpty()) // no sound
-+ if (mNotFoundSoundURL.IsEmpty() || !mIsSoundEnabled) // no sound
- return;
- if (!mSoundInterface) {
- mSoundInterface = do_CreateInstance("@mozilla.org/sound;1");
diff --git a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h b/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
deleted file mode 100644
index 07ad43b43..000000000
--- a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.h.orig Fri May 23 22:00:33 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.h Mon Feb 9 22:21:43 2004
-@@ -194,6 +194,9 @@
-
- nsCString mNotFoundSoundURL;
-
-+ // Move the sound enabled boolean out for all methods to access.
-+ PRBool mIsSoundEnabled;
-+
- // PRBool's are used instead of PRPackedBool's where the address of the
- // boolean variable is getting passed into a method. For example:
- // GetBoolPref("accessibility.typeaheadfind.linksonly", &mLinksOnlyPref);
diff --git a/www/firefox3-devel/files/patch-js_src_Makefile.in b/www/firefox3-devel/files/patch-js_src_Makefile.in
deleted file mode 100644
index fb0bd7f19..000000000
--- a/www/firefox3-devel/files/patch-js_src_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox3-devel/files/patch-js_src_jsnum.c b/www/firefox3-devel/files/patch-js_src_jsnum.c
deleted file mode 100644
index a3ef2769a..000000000
--- a/www/firefox3-devel/files/patch-js_src_jsnum.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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/firefox3-devel/files/patch-modules_libpref_src_init_all.js b/www/firefox3-devel/files/patch-modules_libpref_src_init_all.js
deleted file mode 100644
index 1700380a5..000000000
--- a/www/firefox3-devel/files/patch-modules_libpref_src_init_all.js
+++ /dev/null
@@ -1,53 +0,0 @@
---- modules/libpref/src/init/all.js.orig Mon Feb 13 22:58:15 2006
-+++ modules/libpref/src/init/all.js Tue May 2 00:32:55 2006
-@@ -1883,33 +1883,33 @@
-
- // th
-
--pref("font.name.serif.tr", "Times");
--pref("font.name.sans-serif.tr", "Helvetica");
--pref("font.name.monospace.tr", "Courier");
-+pref("font.name.serif.tr", "serif");
-+pref("font.name.sans-serif.tr", "sans-serif");
-+pref("font.name.monospace.tr", "monospace");
-
- pref("font.name.serif.x-baltic", "serif");
- pref("font.name.sans-serif.x-baltic", "sans-serif");
- pref("font.name.monospace.x-baltic", "monospace");
-
--pref("font.name.serif.x-central-euro", "Times");
--pref("font.name.sans-serif.x-central-euro", "Helvetica");
--pref("font.name.monospace.x-central-euro", "Courier");
-+pref("font.name.serif.x-central-euro", "serif");
-+pref("font.name.sans-serif.x-central-euro", "sans-serif");
-+pref("font.name.monospace.x-central-euro", "monospace");
-
- pref("font.name.serif.x-cyrillic", "serif");
- pref("font.name.sans-serif.x-cyrillic", "sans-serif");
- pref("font.name.monospace.x-cyrillic", "monospace");
-
--pref("font.name.serif.x-unicode", "Times");
--pref("font.name.sans-serif.x-unicode", "Helvetica");
--pref("font.name.monospace.x-unicode", "Courier");
--
--pref("font.name.serif.x-user-def", "Times");
--pref("font.name.sans-serif.x-user-def", "Helvetica");
--pref("font.name.monospace.x-user-def", "Courier");
--
--pref("font.name.serif.x-western", "Times");
--pref("font.name.sans-serif.x-western", "Helvetica");
--pref("font.name.monospace.x-western", "Courier");
-+pref("font.name.serif.x-unicode", "serif");
-+pref("font.name.sans-serif.x-unicode", "sans-serif");
-+pref("font.name.monospace.x-unicode", "monospace");
-+
-+pref("font.name.serif.x-user-def", "serif");
-+pref("font.name.sans-serif.x-user-def", "sans-serif");
-+pref("font.name.monospace.x-user-def", "monospace");
-+
-+pref("font.name.serif.x-western", "serif");
-+pref("font.name.sans-serif.x-western", "sans-serif");
-+pref("font.name.monospace.x-western", "monospace");
-
- pref("font.name.serif.zh-CN", "serif");
- pref("font.name.sans-serif.zh-CN", "sans-serif");
diff --git a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk b/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
deleted file mode 100644
index 0f7a04a02..000000000
--- a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -1,24 +0,0 @@
---- 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
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH = amd64
-+else
- CPU_ARCH = x86
- endif
-+endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
-@@ -73,7 +77,7 @@
- DLL_SUFFIX = so.1.0
- endif
-
--MKSHLIB = $(CC) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
- ifdef MAPFILE
- MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif
diff --git a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
deleted file mode 100644
index f30d12229..000000000
--- a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox3-devel/files/patch-storage_build_Makefile.in b/www/firefox3-devel/files/patch-storage_build_Makefile.in
deleted file mode 100644
index 18202a5a6..000000000
--- a/www/firefox3-devel/files/patch-storage_build_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/firefox3-devel/files/patch-sysnss b/www/firefox3-devel/files/patch-sysnss
deleted file mode 100644
index 6f3d06298..000000000
--- a/www/firefox3-devel/files/patch-sysnss
+++ /dev/null
@@ -1,34 +0,0 @@
---- security/manager/ssl/src/Makefile.in.orig 2007-07-23 15:03:01.000000000 -0400
-+++ security/manager/ssl/src/Makefile.in 2007-09-04 20:47:03.000000000 -0400
-@@ -125,13 +125,11 @@
- pipboot \
- $(NULL)
-
--EXTRA_DEPS = $(NSS_DEP_LIBS)
--
- DEFINES += -DNSS_ENABLE_ECC
-
- # 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
-
- ifeq ($(OS_ARCH),Darwin)
- EXTRA_DSO_LDOPTS += \
-@@ -143,6 +141,7 @@
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_JS_LIBS) \
- $(NSS_LIBS) \
-+ $(LOCAL_INCLUDES) \
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
---- toolkit/components/url-classifier/src/Makefile.in.orig 2007-09-05 09:00:23.000000000 -0400
-+++ toolkit/components/url-classifier/src/Makefile.in 2007-09-05 09:00:27.000000000 -0400
-@@ -36,6 +36,3 @@
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
--
--export:: $(topsrcdir)/security/nss/lib/freebl/sha512.c
-- $(INSTALL) $^ .
diff --git a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in b/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
deleted file mode 100644
index 4a9c8533a..000000000
--- a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- toolkit/xre/Makefile.in.orig 2007-09-10 10:31:53.000000000 -0400
-+++ toolkit/xre/Makefile.in 2007-09-10 10:35:00.000000000 -0400
-@@ -263,5 +263,3 @@
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- 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/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index 9a41bbfc4..000000000
--- a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 2004
-@@ -8,7 +8,7 @@
- * 1 is AddRef
- * 2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();
diff --git a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in b/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
deleted file mode 100644
index 51edeb95a..000000000
--- a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
+++ /dev/null
@@ -1,54 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 15:06:40 2004
-@@ -49,6 +49,9 @@
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -60,7 +63,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -106,9 +109,15 @@
- ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS := xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
- ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
-+endif
-+#
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
- endif
- #
- # Solaris/SPARC
diff --git a/www/firefox3-devel/files/patch-xptcall-alpha b/www/firefox3-devel/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/firefox3-devel/files/patch-xptcall-alpha
+++ /dev/null
@@ -1,459 +0,0 @@
---- 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"
-+
diff --git a/www/firefox3-devel/files/patch-xptcall-sparc64 b/www/firefox3-devel/files/patch-xptcall-sparc64
deleted file mode 100644
index 9599a8a71..000000000
--- a/www/firefox3-devel/files/patch-xptcall-sparc64
+++ /dev/null
@@ -1,327 +0,0 @@
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ */
-+
-+/* Implement shared vtbl methods. */
-+
-+#include "xptcprivate.h"
-+
-+#if defined(sparc) || defined(__sparc__)
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
-+{
-+
-+#define PARAM_BUFFER_COUNT 16
-+
-+ 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");
-+
-+ PRUint64* ap = args;
-+ 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 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
-+ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
-+ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
-+ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
-+ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
-+ 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;
-+}
-+
-+extern "C" int SharedStub(int, int*);
-+
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+ int dummy; /* defeat tail-call optimization */ \
-+ return SharedStub(n, &dummy); \
-+}
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+ return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+
-+#endif /* sparc || __sparc__ */
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003
-@@ -0,0 +1,104 @@
-+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+/*
-+ Platform specific code to invoke XPCOM methods on native objects
-+ for sparcv9 Solaris.
-+
-+ See the SPARC Compliance Definition (SCD) Chapter 3
-+ for more information about what is going on here, including
-+ the use of BIAS (0x7ff).
-+ The SCD is available from http://www.sparc.com/.
-+*/
-+
-+ .global XPTC_InvokeByIndex
-+ .type XPTC_InvokeByIndex, #function
-+
-+/*
-+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ PRUint32 paramCount, nsXPTCVariant* params);
-+
-+*/
-+XPTC_InvokeByIndex:
-+ save %sp,-(128 + 64),%sp ! room for the register window and
-+ ! struct pointer, rounded up to 0 % 64
-+ sll %i2,4,%l0 ! assume the worst case
-+ ! paramCount * 2 * 8 bytes
-+ cmp %l0, 0 ! are there any args? If not,
-+ be .invoke ! no need to copy args to stack
-+ nop
-+
-+ sub %sp,%l0,%sp ! create the additional stack space
-+ add %sp,0x7ff+136,%o0 ! step past the register window, the
-+ ! struct result pointer and the 'this' slot
-+ mov %i2,%o1 ! paramCount
-+ call invoke_copy_to_stack
-+ mov %i3,%o2 ! params
-+
-+!
-+! load arguments from stack into the outgoing registers
-+! BIAS is 0x7ff (2047)
-+!
-+
-+! load the %o1..5 64bit (extended word) output registers registers
-+ ldx [%sp + 0x7ff + 136],%o1 ! %i1
-+ ldx [%sp + 0x7ff + 144],%o2 ! %i2
-+ ldx [%sp + 0x7ff + 152],%o3 ! %i3
-+ ldx [%sp + 0x7ff + 160],%o4 ! %i4
-+ ldx [%sp + 0x7ff + 168],%o5 ! %i5
-+
-+! load the even number double registers starting with %d2
-+ ldd [%sp + 0x7ff + 136],%f2
-+ ldd [%sp + 0x7ff + 144],%f4
-+ ldd [%sp + 0x7ff + 152],%f6
-+ ldd [%sp + 0x7ff + 160],%f8
-+ ldd [%sp + 0x7ff + 168],%f10
-+ ldd [%sp + 0x7ff + 176],%f12
-+ ldd [%sp + 0x7ff + 184],%f14
-+ ldd [%sp + 0x7ff + 192],%f16
-+ ldd [%sp + 0x7ff + 200],%f18
-+ ldd [%sp + 0x7ff + 208],%f20
-+ ldd [%sp + 0x7ff + 216],%f22
-+ ldd [%sp + 0x7ff + 224],%f24
-+ ldd [%sp + 0x7ff + 232],%f26
-+ ldd [%sp + 0x7ff + 240],%f28
-+ ldd [%sp + 0x7ff + 248],%f30
-+
-+!
-+! calculate the target address from the vtable
-+!
-+.invoke:
-+ sll %i1,3,%l0 ! index *= 8
-+! add %l0,16,%l0 ! there are 2 extra entries in the vTable (16bytes)
-+ ldx [%i0],%l1 ! *that --> address of vtable
-+ ldx [%l0 + %l1],%l0 ! that->vtable[index * 8 + 16] --> address
-+
-+ jmpl %l0,%o7 ! call the routine
-+ mov %i0,%o0 ! move 'this' pointer to out register
-+
-+ mov %o0,%i0 ! propagate return value
-+ ret
-+ restore
-+
-+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003
-@@ -0,0 +1,91 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if !defined(__sparc) && !defined(__sparc__)
-+#error "This code is for Sparc only"
-+#endif
-+
-+/* Prototype specifies unmangled function name */
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s);
-+
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+ /*
-+ We need to copy the parameters for this function to locals and use them
-+ from there since the parameters occupy the same stack space as the stack
-+ we're trying to populate.
-+ */
-+ PRUint64 *l_d = d;
-+ nsXPTCVariant *l_s = s;
-+ PRUint64 l_paramCount = paramCount;
-+ PRUint64 regCount = 0; // return the number of registers to load from the stack
-+
-+ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
-+ {
-+ if (regCount < 5) regCount++;
-+
-+ if (l_s->IsPtrData())
-+ {
-+ *l_d = (PRUint64)l_s->ptr;
-+ continue;
-+ }
-+ switch (l_s->type)
-+ {
-+ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
-+ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
-+ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
-+ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
-+
-+ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
-+ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
-+ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
-+ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
-+
-+ /* in the case of floats, we want to put the bits in to the
-+ 64bit space right justified... floats in the paramter array on
-+ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
-+ the space that would be occupied by %f0, %f2, etc.
-+ */
-+ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
-+ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
-+ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
-+ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
-+ case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
-+
-+ default:
-+ // all the others are plain pointer types
-+ *((void**)l_d) = l_s->val.p;
-+ break;
-+ }
-+ }
-+
-+ return regCount;
-+}
diff --git a/www/firefox3-devel/pkg-descr b/www/firefox3-devel/pkg-descr
deleted file mode 100644
index 166df46a0..000000000
--- a/www/firefox3-devel/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-Firefox is an award winning, free, open-source web browser for many platforms
-and is based on the Mozilla codebase. It is small, fast and easy to use, and
-offers many advanced features:
- o Popup Blocking
- o Tabbed Browsing
- o Live Bookmarks (ie. RSS)
- o Extensions
- o Themes
- o FastFind
- o Improved Security
-
-WWW: http://www.mozilla.com/firefox
diff --git a/www/firefox3-devel/pkg-message b/www/firefox3-devel/pkg-message
deleted file mode 100644
index 5c9d24b32..000000000
--- a/www/firefox3-devel/pkg-message
+++ /dev/null
@@ -1,32 +0,0 @@
-======================================================================
-
-SMB issues:
-Network group, machine, and share browsing does not work correctly.
-
-SFTP:
-Only sftp access using public key authentication works. To easily
-setup public key authentication to "remote_host":
-
-ssh-keygen -t dsa
-cat ~/.ssh/id_dsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
-
-The SSH sever on remote_host must allow pub key authentication.
-
-======================================================================
-
-Any bug reports should be addressed to the maintainers at:
- gnome@FreeBSD.org
-You may also Cc: freebsd-ports@FreeBSD.org. Please do not send
-bug reports to any other addresses.
-
-Please include the following information with any bug report:
-* Output from 'uname -a'.
-* Date/time stamp from www/firefox-devel/Makefile.
-* Where/when did the problem occur: configuring, building, or
- running firefox
-* How can you reproduce the problem?
-
-Thank you for your help in testing and reporting bugs, and we hope you
-enjoy using Firefox.
-The Maintainers (gnome@)
-======================================================================
diff --git a/www/mozilla/Makefile b/www/mozilla/Makefile
deleted file mode 100644
index dd10a7ce7..000000000
--- a/www/mozilla/Makefile
+++ /dev/null
@@ -1,162 +0,0 @@
-# New ports collection makefile for: mozilla
-# Date created: 31 Mar 1998
-# Whom: eivind/dima/jseger
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/Makefile,v 1.45 2007/07/05 17:01:49 ahze Exp $
-#
-
-PORTNAME= mozilla
-PORTVERSION= 1.7.13
-PORTREVISION?= 3
-PORTEPOCH= 2
-CATEGORIES?= www
-MASTER_SITES= ${MASTER_SITE_MOZILLA} \
- ${MASTER_SITE_LOCAL:S/$/:local/}
-MASTER_SITE_SUBDIR= mozilla/releases/${PORTNAME}${PORTVERSION}/source \
- ahze/:local
-DISTFILES= ${PORTNAME}-${PORTVERSION}-source${EXTRACT_SUFX} \
- libart_lgpl-1${EXTRACT_SUFX}:local
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= The open source, standards compliant web browser
-
-DEPRECATED= The mozilla team has shifted the development branch of mozilla to \
- seamonkey, this port is outdated and has many vulnerabilities. \
- Please consider using www/seamonkey or www/firefox instead.
-
-MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/dist/bin
-USE_GMAKE= yes
-USE_BZIP2= yes
-WANT_GNOME= yes
-HAS_CONFIGURE= yes
-MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin
-ALL_TARGET= default
-
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-
-MOZ_EXTENSIONS= default
-MOZ_EXPORT+= MOZ_INTERNAL_LIBART_LGPL=1
-MOZ_MK_OPTIONS+=MOZ_INTERNAL_LIBART_LGPL=1
-MOZ_OPTIONS+= --enable-svg-renderer-libart --enable-svg \
- --disable-plaintext-editor-only
-
-NOT_FOR_ARCHS= ia64
-
-OPTIONS=CALENDAR "Enable the Calendar module" off \
- MAILNEWS "Enable Mail and News modules" on \
- COMPOSER "Enable the HTML Composer module" on \
- LDAP "Enable LDAP support for Mailnews" on \
- CHATZILLA "Enable the Chatzilla IRC module" on \
- XMLTERM "Enable the XMLTerm module" on \
- JAVASCRIPT_DEBUGGER "Enable DTD and JavaScript debuggers" off \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.if !defined(WITHOUT_MAILNEWS)
-GECKO_PLIST_PRE_FILES= lib/${MOZILLA}/defaults/isp/US/movemail.rdf \
- lib/${MOZILLA}/defaults/isp/movemail.rdf
-GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/defaults/isp/US/ \
- lib/${MOZILLA}/defaults/isp
-.endif
-
-.include <bsd.port.pre.mk>
-
-# libart patches
-.if ${OSVERSION} < 500035
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
-.else
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
-.endif
-
-LATEST_LINK= ${MOZILLA}
-
-.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
-IGNORE= core dumps on ${ARCH} during post-build
-.endif
-
-.if defined(WITH_CALENDAR) && (defined(WITHOUT_MAILNEWS) || \
- defined(WITHOUT_COMPOSER))
-BROKEN= Calendar requires Composer and Mailnews support.
-.endif
-.if defined(WITHOUT_MAILNEWS)
-MOZ_OPTIONS+= --disable-ldap --disable-mailnews
-.else
-# mail and news desired, but not LDAP
-.if defined(WITHOUT_LDAP)
-MOZ_OPTIONS+= --disable-ldap --enable-mailnews
-.else
-MOZ_OPTIONS+= --enable-ldap --enable-mailnews
-.endif
-.endif
-
-.if !defined(WITHOUT_CHATZILLA)
-MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc
-.endif
-
-.if !defined(WITHOUT_XMLTERM) && defined(WITH_JAVASCRIPT_DEBUGGER)
-MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},xmlterm
-.endif
-
-.if defined(WITH_JAVASCRIPT_DEBUGGER)
-MOZ_OPTIONS+= --enable-jsd \
- --enable-dtd-debug
-.else
-MOZ_OPTIONS+= --disable-jsd \
- --disable-dtd-debug
-.endif
-
-.if defined(WITH_CALENDAR)
-MOZ_OPTIONS+= --enable-calendar
-.endif
-
-.if defined(WITHOUT_COMPOSER)
-MOZ_OPTIONS+= --disable-composer
-.endif
-
-post-patch:
- @${FIND} ${WRKSRC}/other-licenses/libical -name "*.c" | ${XARGS} \
- ${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|g'
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \
- ${WRKSRC}/modules/libpref/src/init/all.js
- @${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \
- ${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp
- @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
- < ${FILESDIR}/mozilla.desktop.in > \
- ${WRKDIR}/mozilla.desktop
-
-pre-install:
- if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
- for jpi in ${JPI_LIST}; do \
- if [ -f $${jpi} ]; then \
- ${ECHO_CMD} lib/browser_plugins/libjavaplugin_oji.so >> ${PLIST} ; \
- break; \
- fi; \
- done; \
- fi
-.if !defined(WITHOUT_MAILNEWS)
- @${CP} -RL ${WRKSRC}/dist/bin/defaults/isp ${FAKEDIR}/lib/${MOZILLA}/defaults
-.endif
- ${ECHO_CMD} share/applications/mozilla.desktop >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
-
-do-install:
- 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
- ${MKDIR} ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKDIR}/mozilla.desktop \
- ${PREFIX}/share/applications
-
-post-install:
- @${CHMOD} -R u-w ${PREFIX}/lib/${MOZILLA}/components
-
-.include "${.CURDIR}/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/mozilla/Makefile.common b/www/mozilla/Makefile.common
deleted file mode 100644
index 35c331b6b..000000000
--- a/www/mozilla/Makefile.common
+++ /dev/null
@@ -1,433 +0,0 @@
-# Makefile.common handles common tasks and dependencies for mozilla ports.
-#
-# Date created: 12 Nov 2005
-# Whom: Michael Johnson <ahze@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/Makefile.common,v 1.48 2007/07/30 20:44:28 mezz Exp $
-#
-
-# This file contains some reusable components for mozilla ports. It's of
-# use primarily to apps from the mozilla project itself (such as Firefox,
-# Thunderbird, etc.), and probably won't be of use for gecko-based ports
-# like epiphany, galeon, etc. The reusable components for gecko-based ports
-# lives in www/mozilla/bsd.gecko.mk.
-#
-#
-# Ports can use the following:
-#
-# GECKO_PLIST_PRE_FILES List of files to add to the beginning of plist
-# GECKO_PLIST_PRE_DIRS
-#
-# MOZILLA_PLIST_DIRS List of directories to descend into when
-# installing and creating the plist
-# MOZ_PIS_SCRIPTS List of scripts residing in ${FILESDIR} to
-# be filtered through MOZCONFIG_SED and installed
-# along with our Pluggable Init Scripts (PIS)
-# MOZ_SED_ARGS sed(1) commands through which MOZ_PIS_SCRIPTS
-# are filtered. There is a default set defined here,
-# so you probably want to add to MOZ_SED_ARGS rather
-# than clobber it
-#
-# MOZ_OPTIONS configure arguments (added to .mozconfig). If
-# NOMOZCONFIG is defined, you probably want to set
-# CONFIGURE_ARGS+=${MOZ_OPTIONS}
-# MOZ_MK_OPTIONS make(1) arguments (added to .mozconfig). If
-# NOMOZCONFIG is defined, you probably want to set
-# MAKE_ARGS+=${MOZ_MK_OPTIONS}
-# MOZ_EXPORT environment variables for the build process
-# (added to .mozconfig). If NOMOZCONFIG is defined,
-# you probably want to set MAKE_ENV+=${MOZ_EXPORT}
-# MOZ_EXTENSIONS A list of extensions to build
-# MOZ_GRAPHICS A list of image decoders to build
-# MOZ_PROTOCOLS A list of protocols to build (http, ftp, etc.)
-#
-# PORT_MOZCONFIG Defaults to ${FILESDIR}/mozconfig.in, but can
-# be set to a generic mozconfig included with
-# the port
-#
-# NOGECKO_INSTALL Don't install the built gecko (most likely
-# for testing)
-# NOGECKO_PLIST Don't create a dynamically-generated playlist
-# NOMOZCONFIG Don't drop a customized .mozconfig into the
-# build directory. Options will have to be
-# specified in CONFIGURE_ARGS instead
-
-BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip
-LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg \
- png.5:${PORTSDIR}/graphics/png \
- nspr4:${PORTSDIR}/devel/nspr \
- nss3:${PORTSDIR}/security/nss \
- Xft.2:${PORTSDIR}/x11-fonts/libXft
-
-MAINTAINER?= gnome@FreeBSD.org
-
-MOZILLA?= ${PORTNAME}
-MOZILLA_VER?= ${PORTVERSION}
-MOZILLA_BIN?= ${PORTNAME}-bin
-MOZ_RPATH?= ${MOZILLA}
-USE_GNOME+= gtk20 libidl desktopfileutils
-USE_ICONV= yes
-USE_PERL5_BUILD=yes
-USE_XLIB= yes
-
-MOZILLA_SUFX?= none
-WRKSRC?= ${WRKDIR}/mozilla
-FAKEDIR?= ${WRKDIR}/fake
-PLIST?= ${WRKDIR}/plist
-MASTER_DIR?= ${.CURDIR}/../../www/mozilla
-
-KRB5_HOME?= /usr
-BROWSER_PLUGINS_DIR?= lib/browser_plugins
-MOZ_PIS_DIR?= lib/${MOZILLA}/init.d
-
-ESD_LIB?= libesd.so.2
-FREETYPE_LIB?= libfreetype.so.9
-
-GENERIC_MOZCONFIG?= ${.CURDIR}/../../www/mozilla/files/mozconfig-generic.in
-PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in
-MOZCONFIG?= ${WRKSRC}/.mozconfig
-MOZILLA_PLIST_DIRS?= bin include lib share/idl
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-PKGINSTALL?= ${WRKDIR}/pkg-install
-PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
-MASTER_MOZDIR?= ${PORTSDIR}/www/mozilla
-PKGINSTALL_INC?= ${MASTER_MOZDIR}/pkg-install.in
-PKGDEINSTALL_INC?= ${MASTER_MOZDIR}/pkg-deinstall.in
-
-EXTRACT_AFTER_ARGS?= | ${TAR} -xf - --exclude */CVS/* \
- --exclude */macbuild/* \
- --exclude */package/* \
- --exclude mozilla/jpeg \
- --exclude mozilla/dbm \
- --exclude mozilla/security/nss \
- --exclude mozilla/gc/boehm \
- --exclude mozilla/gfx/cairo
-
-JPI_LIST?=\
- ${LOCALBASE}/jdk1.5.0/jre/plugin/${ARCH}/ns7/libjavaplugin_oji.so \
- ${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so
-
-MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \
- ${MOZILLA}-xpcom ${MOZILLA}-plugin
-
-CPPFLAGS+= -I${LOCALBASE}/include/nss -I${LOCALBASE}/include/nss/nss
-CFLAGS+= ${PTHREAD_CFLAGS}
-LDFLAGS+= -L${LOCALBASE}/lib/nss -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}
-LIBS+= ${PTHREAD_LIBS} -L${LOCALBASE}/lib -liconv
-
-_USE_GECKO_OPTIONS_ALL= java debug logging optimized_cflags
-
-.if !defined(USE_GECKO_OPTIONS)
-USE_GECKO_OPTIONS= debug logging optimized_cflags
-.endif
-
-debug_OPTION= "Build a debugging image" off
-java_OPTION= "Enable JAVA xpcom" off
-logging_OPTION= "Enable additional log messages" off
-optimized_cflags_OPTION= "Enable some additional optimizations" off
-
-.for option in ${USE_GECKO_OPTIONS:L}
-.if ${_USE_GECKO_OPTIONS_ALL:M${option}}!=""
-OPTIONS+= ${option:U} ${${option}_OPTION}
-_${option}= ${TRUE}
-.endif
-.endfor
-
-# Standard options from README
-MOZ_TOOLKIT?= gtk2
-MOZ_OPTIONS+= --enable-crypto \
- --disable-tests \
- --enable-default-toolkit=${MOZ_TOOLKIT} \
- --enable-xft \
- --with-pthreads
-# Configure options for install
-MOZ_OPTIONS+= --x-includes=${LOCALBASE}/include \
- --x-libraries=${LOCALBASE}/lib
-.if !defined(MOZ_EXTENSIONS)
-MOZ_OPTIONS+= --enable-extensions=default
-.else
-MOZ_OPTIONS+= --enable-extensions=${MOZ_EXTENSIONS}
-.endif
-.if !defined(MOZ_GRAPHICS)
-MOZ_OPTIONS+= --enable-image-decoders=default
-.else
-MOZ_OPTIONS+= --enable-image-decoders=${MOZ_GRAPHICS}
-.endif
-.if !defined(MOZ_PROTOCOLS)
-MOZ_OPTIONS+= --enable-necko-protocols=default
-.else
-MOZ_OPTIONS+= --enable-necko-protocols=${MOZ_PROTOCOLS}
-.endif
-# others
-MOZ_OPTIONS+= --with-system-jpeg=${LOCALBASE} \
- --with-system-zlib=/usr \
- --with-system-png=${LOCALBASE} \
- --with-gssapi=${KRB5_HOME} \
- --with-system-nspr \
- --disable-auto-deps \
- --enable-chrome-format=jar \
- --disable-cpp-exceptions \
- --disable-cpp-rtti \
- --disable-glibtest \
- --disable-gtktest \
- --disable-freetypetest \
- --enable-double-buffer \
- --enable-mathml \
- --disable-installer \
- --disable-md \
- --disable-pedantic \
- --disable-bidi \
- --disable-xterm-updates \
- --enable-xinerama
-MOZ_MK_OPTIONS+= XP_UNIX=1 \
- PERL=${PERL}
-
-.if defined(WITH_OPTIMIZED_CFLAGS)
-CFLAGS:= ${CFLAGS} -O2 -fno-strict-aliasing ${EXTRA_CFLAGS}
-WITH_OPTIMIZE?= -O2
-.else
-CFLAGS:= ${CFLAGS} ${EXTRA_CFLAGS}
-WITH_OPTIMIZE?=
-.endif
-
-.if defined(WITH_SMB)
-USE_GNOME+= gnomevfs2
-MOZ_OPTIONS+= --enable-gnomevfs
-.endif
-
-.if defined(WITH_DEBUG)
-MOZ_OPTIONS+= --enable-debug \
- --disable-strip
-WITH_LOGGING= yes
-.else
-MOZ_OPTIONS+= --disable-debug \
- --enable-optimize=${WITH_OPTIMIZE} \
- --enable-strip
-.endif
-
-.if defined(WITH_JAVA) && defined(_WITH_JAVA)
-USE_JAVA= yes
-JAVA_VERSION+= 1.4+
-JAVA_OS+= native
-CONFIGURE_ENV+= JAVA_HOME="${JAVA_HOME}"
-MOZ_OPTIONS+= --enable-javaxpcom
-.endif
-
-.if defined(WITH_LOGGING)
-MOZ_OPTIONS+= --enable-logging
-.else
-MOZ_OPTIONS+= --disable-logging
-.endif
-
-MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \
- -e 's|@CFLAGS@|${CFLAGS}|g' \
- -e 's|@LDFLAGS@|${LDFLAGS}|g' \
- -e 's|@LIBS@|${LIBS}|g' \
- -e 's|@X11BASE@|${LOCALBASE}|g' \
- -e 's|@LOCALBASE@|${LOCALBASE}|g' \
- -e 's|@FAKEDIR@|${FAKEDIR}|g' \
- -e 's|@PERL@|${PERL5}|g' \
- -e 's|@KRB5_HOME@|${KRB5_HOME}|g' \
- -e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g' \
- -e 's|%%PREFIX%%|${PREFIX}|g' \
- -e 's|%%CFLAGS%%|${CFLAGS}|g' \
- -e 's|%%LDFLAGS%%|${LDFLAGS}|g' \
- -e 's|%%LIBS%%|${LIBS}|g' \
- -e 's|%%X11BASE%%|${LOCALBASE}|g' \
- -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
- -e 's|%%FAKEDIR%%|${FAKEDIR}|g' \
- -e 's|%%PERL%%|${PERL5}|g' \
- -e 's|%%KRB5_HOME%%|${KRB5_HOME}|g' \
- -e 's|%%MOZILLA%%|${MOZILLA}|g' \
- -e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g' \
- -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g'
-MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS}
-
-.if ${OSVERSION} >= 700000 || exists(/usr/lib/libbz2_p.a)
-LIB_BZ2= -lbz2_p
-.else
-LIB_BZ2= -lbz2
-.endif
-
-post-patch: gecko-post-patch gecko-moz-pis-patch
-
-gecko-post-patch:
-.if exists(${PKGINSTALL_INC})
- @${MOZCONFIG_SED} < ${PKGINSTALL_INC} > ${PKGINSTALL}
-.endif
-.if exists(${PKGDEINSTALL_INC})
- @${MOZCONFIG_SED} < ${PKGDEINSTALL_INC} > ${PKGDEINSTALL}
-.endif
- @${RM} -f ${MOZCONFIG}
-.if !defined(NOMOZCONFIG)
-.if exists(${GENERIC_MOZCONFIG})
- @${MOZCONFIG_SED} < ${GENERIC_MOZCONFIG} >> ${MOZCONFIG}
-.endif
- @if [ -e ${PORT_MOZCONFIG} ] ; then \
- ${MOZCONFIG_SED} < ${PORT_MOZCONFIG} >> ${MOZCONFIG} ; \
- fi
-.for arg in ${MOZ_OPTIONS}
- @${ECHO_CMD} ac_add_options ${arg} >> ${MOZCONFIG}
-.endfor
-.for arg in ${MOZ_MK_OPTIONS}
- @${ECHO_CMD} mk_add_options ${arg} >> ${MOZCONFIG}
-.endfor
-.for var in ${MOZ_EXPORT}
- @${ECHO_CMD} "export ${var}" >> ${MOZCONFIG}
-.endfor
-.endif # .if !defined(NOMOZCONFIG)
- @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \
- s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \
- s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \
- ${WRKSRC}/build/unix/mozilla-config.in
- @${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \
- ${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp
- @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
- ${WRKSRC}/config/autoconf.mk.in
- @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g ; \
- s|echo aout|echo elf|g ; s|/usr/X11R6|${LOCALBASE}|g' \
- ${WRKSRC}/security/coreconf/FreeBSD.mk \
- ${WRKSRC}/js/src/Makefile.in
- @if [ -d ${WRKSRC}/directory/c-sdk ]; then \
- ${REINPLACE_CMD} -e 's|echo aout|echo elf|g' \
- ${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
- ${WRKSRC}/directory/c-sdk/configure ; \
- fi
- @${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g ; \
- s|-lpthread|${PTHREAD_LIBS}|g ; \
- s|echo aout|echo elf|g ; \
- s|/usr/X11R6|${LOCALBASE}|g' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
- ${WRKSRC}/build/unix/run-mozilla.sh
- @${REINPLACE_CMD} -E -e 's|libesd\.so\.[0-9]+|libesd.so|g' \
- ${WRKSRC}/widget/src/gtk2/nsSound.cpp
- @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.so|g' \
- ${WRKSRC}/*/*/*/nsDeviceContextSpecG.cpp
- @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \
- s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \
- ${WRKSRC}/xpcom/*/SpecialSystemDirectory.cpp
- @if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \
- ${ECHO_CMD} "${PKGNAME}: bind installed with PORT_REPLACES_BASE_BIND causes build problems."; \
- ${FALSE}; \
- fi
-
-# handles mozilla pis scripts.
-gecko-moz-pis-patch:
-.for moz in ${MOZ_PIS_SCRIPTS}
- @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz}
-.endfor
-
-post-configure: gecko-post-configure
-
-gecko-post-configure:
- @${ECHO_CMD} "#define JNIIMPORT" >> ${WRKSRC}/mozilla-config.h
-
-post-build: gecko-post-build
-
-gecko-post-build:
- @${REINPLACE_CMD} -e "s|\(Libs:.*\)\($$\)|\1 -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}\2|" \
- ${WRKSRC}/build/unix/*.pc
-
-pre-install: gecko-moz-pis-pre-install gecko-pre-install port-pre-install gecko-create-plist
-
-.if !target(port-pre-install)
-port-pre-install:
- @${DO_NADA}
-.endif
-
-gecko-pre-install:
-.if !defined(NOGECKO_PLIST)
- @${RM} -rf ${FAKEDIR} ${PLIST}
- @${TOUCH} -f ${PLIST}
- @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
- ${MAKEFILE} ${MAKE_ARGS} prefix=${FAKEDIR} ${INSTALL_TARGET}
-.if defined(MOZILLA_SUFX) && ${MOZILLA_SUFX}!="none"
- ${MV} ${FAKEDIR}/bin/${MOZILLA:S/${MOZILLA_SUFX}//} ${FAKEDIR}/bin/${MOZILLA}
- ${MV} ${FAKEDIR}/bin/${MOZILLA:S/${MOZILLA_SUFX}//}-config ${FAKEDIR}/bin/${MOZILLA}-config
-.for pc in ${MOZ_PKGCONFIG_FILES:S|${MOZILLA_SUFX}||}
- ${SED} -e 's|Requires: ${MOZILLA:S/${MOZILLA_SUFX}//}|Requires: ${MOZILLA}|' \
- ${FAKEDIR}/lib/pkgconfig/${pc}.pc > ${FAKEDIR}/lib/pkgconfig/${pc:S/${MOZILLA:S,${MOZILLA_SUFX},,}/${MOZILLA}/}.pc
-.endfor
- @${REINPLACE_CMD} -e 's|${MOZILLA}-bin|${MOZILLA:S/${MOZILLA_SUFX}//}|; \
- s|$${progbase}-bin|${MOZILLA:S/${MOZILLA_SUFX}//}-bin|' \
- ${FAKEDIR}/bin/${MOZILLA} \
- ${FAKEDIR}/bin/${MOZILLA}-config
-.endif
- @${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
- ${FAKEDIR}/bin/${MOZILLA} \
- ${FAKEDIR}/bin/${MOZILLA}-config
- ${RM} -f ${FAKEDIR}/bin/*.bak
-.endif
-
-gecko-create-plist:
-.if !defined(NOGECKO_PLIST)
-# Create the plist
-.for f in ${GECKO_PLIST_PRE_FILES}
- ${ECHO_CMD} ${f} >> ${PLIST}
-.endfor
-.for f in ${GECKO_PLIST_PRE_DIRS}
- ${ECHO_CMD} "@dirrm ${f}" >> ${PLIST}
-.endfor
- ${ECHO_CMD} "${BROWSER_PLUGINS_DIR}/.${MOZILLA}.keep" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/${BROWSER_PLUGINS_DIR} 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${MKDIR} ${FAKEDIR}/libdata
- ${MV} -f ${FAKEDIR}/lib/pkgconfig ${FAKEDIR}/libdata/
- ${RM} -f ${FAKEDIR}/lib/pkgconfig
-.for dir in ${MOZILLA_PLIST_DIRS}
- @cd ${FAKEDIR}/${dir} && ${FIND} -s * -type f -o -type l | \
- ${SED} -e 's|^|${dir}/|' >> ${PLIST} && \
- ${FIND} -d * -type d | \
- ${SED} -e 's|^|@dirrm ${dir}/|' >> ${PLIST}
-.endfor
-.for pcfile in ${MOZ_PKGCONFIG_FILES}
- ${ECHO_CMD} "libdata/pkgconfig/${pcfile}.pc" >> ${PLIST}
- @${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
- -e 's|${MOZILLA}-nspr = ${PORTVERSION}|nspr|' \
- ${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc
-.endfor
- ${ECHO_CMD} "@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/idl 2>/dev/null || ${TRUE}" >> ${PLIST}
-.endif # !defined(NOGECKO_PLIST)
-
-do-install: gecko-do-install
-
-gecko-do-install:
-.if !defined(NOGECKO_INSTALL)
-.for dir in ${MOZILLA_PLIST_DIRS}
-.if !exists(${PREFIX}/${dir})
- ${MKDIR} ${PREFIX}/${dir}
- ${CHMOD} 755 ${PREFIX}/${dir}
-.endif
- cd ${FAKEDIR}/${dir} && ${FIND} . | \
- ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/${dir}
-.endfor
-.for pcfile in ${MOZ_PKGCONFIG_FILES}
- ${INSTALL_DATA} ${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc \
- ${PREFIX}/libdata/pkgconfig/${pcfile}.pc
-.endfor
- ${MKDIR} ${PREFIX}/${BROWSER_PLUGINS_DIR}
- ${TOUCH} -f ${PREFIX}/${BROWSER_PLUGINS_DIR}/.${MOZILLA}.keep
-.endif # !defined(NOGECKO_INSTALL)
-
-gecko-moz-pis-pre-install:
-.if defined(MOZ_PIS_SCRIPTS)
- ${MKDIR} ${FAKEDIR}/${MOZ_PIS_DIR}
-.for moz in ${MOZ_PIS_SCRIPTS}
- ${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${FAKEDIR}/${MOZ_PIS_DIR}
-.endfor
-.endif
-
-post-install: gecko-post-install
-
-gecko-post-install:
-.if !defined(PACKAGE_BUILDING) && !defined(NO_MOZPKGINSTALL)
- @if [ -e ${PKGINSTALL} ] ; then \
- ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
- fi
-.endif
- @-update-desktop-database
diff --git a/www/mozilla/bsd.gecko.mk b/www/mozilla/bsd.gecko.mk
deleted file mode 100644
index d7ba05e0e..000000000
--- a/www/mozilla/bsd.gecko.mk
+++ /dev/null
@@ -1,171 +0,0 @@
-#-*- mode: Fundamental; tab-width: 4; -*-
-# ex:ts=4
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/bsd.gecko.mk,v 1.32 2007/07/05 17:01:49 ahze Exp $
-#
-# 4 column tabs prevent hair loss and tooth decay!
-
-# bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users
-# and porters to support any available gecko backend without needing to build
-# many conditional tests. ${USE_GECKO} is the list of backends that your port
-# can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend.
-# Users set ${WITH_GECKO} to the list of gecko backends they want on their system.
-
-.if defined(USE_GECKO)
-#.if defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include)
-
-# Please make sure all changes to this file are passed through the maintainer.
-# Do not commit them yourself (unless of course you're the Port's Wraith ;).
-Gecko_Include_MAINTAINER= gnome@FreeBSD.org
-Gecko_Pre_Include= bsd.gecko.mk
-
-
-# Users should use the following syntax:
-#
-# WITH_GECKO= mozilla firefox seamonkey
-# Use mozilla whenever a port supports it, falling back on firefox and
-# then seamonkey.
-# WITH_GECKO= firefox
-# Sets your preferred backend. With this example, firefox will always
-# be chosen, unless the port doesn't support a firefox backend. In that
-# case, you get whatever the porter chose as the default. Better to use
-# the first example.
-#
-#
-# Ports should use the following:
-#
-# USE_GECKO= mozilla firefox seamonkey
-# The list of gecko backends that the port supports. Unless the user
-# overrides it with WITH_GECKO, the first gecko listed in USE_GECKO
-# will be the default. In the above example, www/mozilla will be used
-# as a gecko backend unless WITH_GECKO=firefox or WITH_GECKO=seamonkey
-# is defined by the user.
-#
-# USE_GECKO= firefox-devel<->firefox
-# This will sed -e 's/firefox/firefox-devel/' on Makefile.in's and configure
-# if ${GECKO}=="firefox-devel"
-#
-# Example:
-# USE_GECKO= mozilla firefox seamonkey
-# .include <bsd.port.pre.mk>
-# .include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk"
-# post-patch:
-# @${REINPALCE_CMD} -e 's|mozilla-|${GECKO}-|' \
-# ${WRKSRC}/configure
-#
-# If you want your port to check the ${GECKO} variable to see which backend
-# has been chosen.
-#
-# Example:
-# USE_GECKO= mozilla firefox seamonkey
-# .include <bsd.port.pre.mk>
-# .include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk"
-# post-patch:
-# .if ${GECKO}=="seamonkey"
-# @${REINPLACE_CMD} -e 's|mozilla-|seamonkey-|' \
-# ${WRKSRC}/configure
-# .endif
-
-.if ${OSVERSION} >= 500000
-.if (${ARCH}!="sparc64" || ${OSVERSION} >= 601101) && ${ARCH}!="ia64"
-_GECKO_ALL= firefox nvu seamonkey thunderbird xulrunner flock firefox15
-.endif
-.endif
-_GECKO_ALL+= mozilla
-
-thunderbird_PORTSDIR= mail
-
-.for gecko in ${_GECKO_ALL}
-${gecko}_PORTSDIR?= www
-${gecko}_DEPENDS?= ${PORTSDIR}/${${gecko}_PORTSDIR}/${gecko}
-${gecko}_PLIST?= ${LOCALBASE}/lib/${gecko}/libgtkembedmoz.so
-.endfor
-
-# Figure out which mozilla to use
-# Weed out bad options in USE_GECKO
-.for badgecko in ${USE_GECKO}
-. if ${_GECKO_ALL:M${badgecko:C/^([^<->]+).*/\1/}}!=""
-GOOD_USE_GECKO+= ${badgecko:C/^([^<->]+).*/\1/}
-. endif
-. if ${_GECKO_ALL:M${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}}!="${badgecko:C/^([^<->]+).*/\1/}"
-${badgecko:C/^([^<->]+).*/\1/}_HACK= s:${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}:${badgecko:C/^([^<->]+).*/\1/}:g
-. endif
-.endfor
-
-.undef GECKO_FALLTHROUGH
-.undef _FOUND_WITH_GECKO
-# Figure out which gecko to use and weed out the bad ones
-.if defined(WITH_GECKO) && defined(GOOD_USE_GECKO)
-. for badgecko in ${WITH_GECKO}
-. if ${GOOD_USE_GECKO:M${badgecko}}!=""
-GOOD_WITH_GECKO+= ${badgecko}
-. endif
-. endfor
-. if defined(GOOD_WITH_GECKO)
-. for gecko in ${GOOD_WITH_GECKO}
-. if !defined(GECKO_FALLTHROUGH)
-GECKO= ${gecko}
-GECKO_FALLTHROUGH= ${TRUE}
-_FOUND_WITH_GECKO= ${TRUE}
-. endif
-. endfor
-. endif
-.endif
-
-.if !defined(GECKO) && defined(GOOD_USE_GECKO)
-. for gecko in ${GOOD_USE_GECKO}
-. if !defined(GECKO_FALLTRHOUGH)
-GECKO= ${gecko}
-GECKO_FALLTRHOUGH= ${TRUE}
-. endif
-. endfor
-.endif
-
-# Generic defines
-BROWSER_LINUX_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_linux_plugins
-BROWSER_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_plugins
-
-GECKO_CONFIG?= ${LOCALBASE}/bin/${GECKO}-config
-XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl
-XPIDL_INCL?= `${GECKO_CONFIG} --idlflags`
-
-.if defined(GECKO) && ${_GECKO_ALL:M${GECKO}}!=""
-BUILD_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-RUN_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-.else
-IGNORE= Unable to find a supported gecko, please check USE_GECKO
-.endif
-
-pre-everything:: _gecko-pre-everything
-
-_gecko-pre-everything::
- @${ECHO_CMD} ""
-.if !defined(_FOUND_WITH_GECKO) && defined(WITH_GECKO)
- @${ECHO_CMD} " Warning: ${PORTNAME} does not support any gecko you"
- @${ECHO_CMD} " listed in WITH_GECKO=${WITH_GECKO}."
- @${ECHO_CMD} " \"${GECKO}\" will be used"
- @${ECHO_CMD} ""
- @${ECHO_CMD} " for gecko support, but you can change that by using one of"
- @${ECHO_CMD} " the following values:"
-.else
- @${ECHO_CMD} " ${PORTNAME} is using ${GECKO} for gecko support, but you can"
- @${ECHO_CMD} " change that by defining WITH_GECKO to the following values:"
-.endif
- @${ECHO_CMD} ""
-.for gecko in ${GOOD_USE_GECKO}
- @${ECHO_CMD} " ${gecko} "
-.endfor
- @${ECHO_CMD} ""
-
-post-patch: gecko-post-patch
-
-gecko-post-patch:
-.if defined(${GECKO}_HACK)
- ${FIND} ${WRKSRC} -name "Makefile.in" -type f -o -name "configure" -type f | \
- ${XARGS} ${REINPLACE_CMD} -e ${${GECKO}_HACK}
-.endif
-
-#.endif # end it all
-.endif
-# HERE THERE BE TACOS
diff --git a/www/mozilla/distinfo b/www/mozilla/distinfo
deleted file mode 100644
index 82439353f..000000000
--- a/www/mozilla/distinfo
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 (mozilla-1.7.13-source.tar.bz2) = eb0683207f7668319c65e403d04bfc41
-SHA256 (mozilla-1.7.13-source.tar.bz2) = 015018ffa88843563c8acbbcad16ffdc22a1e2d1a9e5a28972164ab86273b01e
-SIZE (mozilla-1.7.13-source.tar.bz2) = 30525187
-MD5 (libart_lgpl-1.tar.bz2) = c6dba83a091336ef8abdb7c85694f16e
-SHA256 (libart_lgpl-1.tar.bz2) = cd964fb67183c048f2c245ee26beeade29f3109e947c6d8a8993374c8f8392df
-SIZE (libart_lgpl-1.tar.bz2) = 102977
diff --git a/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp b/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
deleted file mode 100644
index 758c0146c..000000000
--- a/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
---- layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp.orig Wed Mar 2 12:36:59 2005
-+++ layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp Wed Mar 2 12:36:37 2005
-@@ -56,6 +56,13 @@
- #include "nsArray.h"
- #include "nsDataHashtable.h"
-
-+
-+#ifdef HAVE_CPP_2BYTE_WCHAR_T
-+ typedef nsDependentString nsLiteralString;
-+#else
-+ typedef NS_ConvertASCIItoUTF16 nsLiteralString;
-+#endif
-+
- /**
- * \addtogroup libart_renderer Libart Rendering Engine
- * @{
-@@ -112,7 +119,7 @@
- nsCOMPtr<nsISVGGlyphMetricsSource> mSource;
-
- public:
-- static nsDataHashtable<nsStringHashKey,nsDependentString*> sFontAliases;
-+ static nsDataHashtable<nsStringHashKey,nsLiteralString*> sFontAliases;
- };
-
- /** @} */
-@@ -120,7 +127,7 @@
- //----------------------------------------------------------------------
- // nsSVGLibartGlyphMetricsFT implementation:
-
--nsDataHashtable<nsStringHashKey,nsDependentString*>
-+nsDataHashtable<nsStringHashKey,nsLiteralString*>
- nsSVGLibartGlyphMetricsFT::sFontAliases;
-
-
-@@ -155,15 +162,15 @@
-
- static NS_NAMED_LITERAL_STRING(arial, "arial");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("helvetica"),
-- &arial);
-+ (nsLiteralString *)&arial);
-
- static NS_NAMED_LITERAL_STRING(courier, "courier new");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("courier"),
-- &courier);
-+ (nsLiteralString *)&courier);
-
- static NS_NAMED_LITERAL_STRING(times, "times new roman");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("times"),
-- &times);
-+ (nsLiteralString *)&times);
- }
-
- void NS_FreeSVGLibartGlyphMetricsFTGlobals()
-@@ -406,7 +413,7 @@
- }
- else {
- // try alias if there is one:
-- nsDependentString *alias = nsnull;
-+ nsLiteralString *alias = nsnull;
- nsSVGLibartGlyphMetricsFT::sFontAliases.Get(NS_ConvertUTF8toUCS2(family_name),
- &alias);
- if (alias) {
-@@ -440,19 +447,19 @@
- return;
- }
-
-- FTC_Image_Desc imageDesc;
-- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
-+ FTC_ImageType imageDesc;
-+ imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
- float twipstopixel = GetTwipsToPixels();
- float scale = GetPixelScale();
-- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.image_type |= ftc_image_grays;
-+ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->flags = 0;
-
- // get the face
- nsresult rv;
- FTC_Manager mgr;
- nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
-- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
-+ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
- NS_ASSERTION(mFace, "failed to get face/size");
- }
-
diff --git a/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp b/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
deleted file mode 100644
index 84392bd4a..000000000
--- a/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-by,v 1.2 2004/07/05 14:22:42 taya Exp $
-
-diff -ru ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp
---- ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-03-19 10:36:16.000000000 +0900
-+++ ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-07-04 22:59:19.000000000 +0900
-@@ -155,15 +155,15 @@
-
- static NS_NAMED_LITERAL_STRING(arial, "arial");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("helvetica"),
-- &arial);
-+ (nsDependentString *)&arial);
-
- static NS_NAMED_LITERAL_STRING(courier, "courier new");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("courier"),
-- &courier);
-+ (nsDependentString *)&courier);
-
- static NS_NAMED_LITERAL_STRING(times, "times new roman");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("times"),
-- &times);
-+ (nsDependentString *)&times);
- }
-
- void NS_FreeSVGLibartGlyphMetricsFTGlobals()
-@@ -440,19 +440,19 @@
- return;
- }
-
-- FTC_Image_Desc imageDesc;
-- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
-+ FTC_ImageType imageDesc;
-+ imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
- float twipstopixel = GetTwipsToPixels();
- float scale = GetPixelScale();
-- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.image_type |= ftc_image_grays;
-+ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->flags = 0;
-
- // get the face
- nsresult rv;
- FTC_Manager mgr;
- nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
-- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
-+ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
- NS_ASSERTION(mFace, "failed to get face/size");
- }
-
diff --git a/www/mozilla/files/mozconfig-generic.in b/www/mozilla/files/mozconfig-generic.in
deleted file mode 100644
index 9af187e48..000000000
--- a/www/mozilla/files/mozconfig-generic.in
+++ /dev/null
@@ -1,8 +0,0 @@
-ac_add_options --prefix=@FAKEDIR@
-export CPPFLAGS="@CPPFLAGS@"
-export CFLAGS="@CFLAGS@"
-export LIBS="@LIBS@"
-export LDFLAGS="@LDFLAGS@"
-export CONFIG_SH=/bin/sh
-export XP_UNIX=1
-export PERL="@PERL@"
diff --git a/www/mozilla/files/mozilla.desktop.in b/www/mozilla/files/mozilla.desktop.in
deleted file mode 100644
index 191765663..000000000
--- a/www/mozilla/files/mozilla.desktop.in
+++ /dev/null
@@ -1,169 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Mozilla Web Browser
-Name[az]=Mozilla Veb Səyyahı
-Name[bg]=Интернет браузър (Mozilla)
-Name[bs]=Mozilla web preglednik
-Name[ca]=Navegador web Mozilla
-Name[cs]=Prohlížeč WWW Mozilla
-Name[cy]=Y Porwr Gwe Mozilla
-Name[da]=Mozilla - internetbrowser
-Name[de]=Mozilla Webbrowser
-Name[el]=Περιηγητής Διαδικτύου Mozilla
-Name[en_CA]=Mozilla Web Browser
-Name[en_GB]=Mozilla Web Browser
-Name[es]=Navegador Web Mozilla
-Name[et]=Mozilla veebibrauser
-Name[eu]=Mozilla web arakatzailea
-Name[fa]=مرورگر وب Mozilla
-Name[fi]=Mozilla, WWW-selain
-Name[fr]=Navigateur Web Mozilla
-Name[ga]=Brabhsálaí Lín Mozilla
-Name[he]=דפדפן Mozilla
-Name[hr]=Mozilla Web preglednik
-Name[hu]=Mozilla webböngésző
-Name[id]=Web Browser Mozilla
-Name[it]=Browser web Mozilla
-Name[ja]=Mozilla ウェブ・ブラウザ
-Name[ko]=Mozilla 웹 브라우저
-Name[li]=Mozilla Web Browser
-Name[lt]=Mozilla web naršyklė
-Name[mk]=Mozilla Веб Прелистувач
-Name[mn]=Mozilla веб хөтөч
-Name[ms]=Pelungsur Web Mozilla
-Name[nb]=Mozilla nettleser
-Name[nl]=Mozilla webbrowser
-Name[nn]=Mozilla nettlesar
-Name[no]=Mozilla nettleser
-Name[pl]=Przeglądarka WWW Mozilla
-Name[pt]=Navegador Web Mozilla
-Name[pt_BR]=Navegador Web Mozilla
-Name[ro]=Navigatorul Mozilla
-Name[sl]=Spletni brskalnik Mozilla
-Name[sq]=Mozilla - Shfletuesi Web
-Name[sv]=Webbläsaren Mozilla
-Name[tk]=Mozilla Web Ahtarçisi
-Name[tr]=Mozilla Web Tarayıcı
-Name[uk]=Переглядач web Mozilla
-Name[vi]=Trình Duyệt Web Mozilla
-Name[wa]=Betchteu waibe mozilla
-Name[zh_CN]=Mozilla Web 浏览器
-Name[zh_TW]=Mozilla 網頁瀏覽器
-GenericName=Mozilla Web Browser
-GenericName[az]=Mozilla Veb Səyyahı
-GenericName[bg]=Интернет браузър (Mozilla)
-GenericName[bs]=Mozilla web preglednik
-GenericName[ca]=Navegador web Mozilla
-GenericName[cs]=Prohlížeč WWW Mozilla
-GenericName[cy]=Y Porwr Gwe Mozilla
-GenericName[da]=Mozilla - internetbrowser
-GenericName[de]=Mozilla Webbrowser
-GenericName[el]=Περιηγητής Διαδικτύου Mozilla
-GenericName[en_CA]=Mozilla Web Browser
-GenericName[en_GB]=Mozilla Web Browser
-GenericName[es]=Navegador Web Mozilla
-GenericName[et]=Mozilla veebibrauser
-GenericName[eu]=Mozilla web arakatzailea
-GenericName[fa]=مرورگر وب Mozilla
-GenericName[fi]=Mozilla, WWW-selain
-GenericName[fr]=Navigateur Web Mozilla
-GenericName[ga]=Brabhsálaí Lín Mozilla
-GenericName[he]=דפדפן Mozilla
-GenericName[hr]=Mozilla Web preglednik
-GenericName[hu]=Mozilla webböngésző
-GenericName[id]=Web Browser Mozilla
-GenericName[it]=Browser web Mozilla
-GenericName[ja]=Mozilla ウェブ・ブラウザ
-GenericName[ko]=Mozilla 웹 브라우저
-GenericName[li]=Mozilla Web Browser
-GenericName[lt]=Mozilla web naršyklė
-GenericName[mk]=Mozilla Веб Прелистувач
-GenericName[mn]=Mozilla веб хөтөч
-GenericName[ms]=Pelungsur Web Mozilla
-GenericName[nb]=Mozilla nettleser
-GenericName[nl]=Mozilla webbrowser
-GenericName[nn]=Mozilla nettlesar
-GenericName[no]=Mozilla nettleser
-GenericName[pl]=Przeglądarka WWW Mozilla
-GenericName[pt]=Navegador Web Mozilla
-GenericName[pt_BR]=Navegador Web Mozilla
-GenericName[ro]=Navigatorul Mozilla
-GenericName[sl]=Spletni brskalnik Mozilla
-GenericName[sq]=Mozilla - Shfletuesi Web
-GenericName[sv]=Webbläsaren Mozilla
-GenericName[tk]=Mozilla Web Ahtarçisi
-GenericName[tr]=Mozilla Web Tarayıcı
-GenericName[uk]=Переглядач web Mozilla
-GenericName[vi]=Trình Duyệt Web Mozilla
-GenericName[wa]=Betchteu waibe mozilla
-GenericName[zh_CN]=Mozilla Web 浏览器
-GenericName[zh_TW]=Mozilla 網頁瀏覽器
-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]=Benyt 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[fa]=مرور وب
-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@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில் உலாவு
-Comment[th]=ใช้งานเว็บบราวเซอร์ Mozilla
-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=mozilla %U
-StartupNotify=false
-Terminal=false
-Type=Application
-Icon=%%PREFIX%%/lib/mozilla/chrome/icons/default/default.xpm
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;
diff --git a/www/mozilla/files/patch-Double.cpp b/www/mozilla/files/patch-Double.cpp
deleted file mode 100644
index 5cd13e4ff..000000000
--- a/www/mozilla/files/patch-Double.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- extensions/transformiix/source/base/Double.cpp.orig Thu Jan 30 09:26:46 2003
-+++ extensions/transformiix/source/base/Double.cpp Sun Nov 16 01:46:42 2003
-@@ -51,10 +51,10 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#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__)
- 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;
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
-@@ -75,22 +75,31 @@
- #define TX_DOUBLE_HI32_EXPMASK 0x7ff00000
- #define TX_DOUBLE_HI32_MANTMASK 0x000fffff
-
-+union ui32dun {
-+ PRUint32 i[2];
-+ double d;
-+};
-+
- //-- Initialize Double related constants
- #ifdef IS_BIG_ENDIAN
--const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
-- 0xffffffff};
--const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
--const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
-+const union ui32dun nanMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, 0xffffffff}};
-+const union ui32dun infMask =
-+ {{TX_DOUBLE_HI32_EXPMASK, 0}};
-+const union ui32dun negInfMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}};
- #else
--const PRUint32 nanMask[2] = {0xffffffff,
-- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
--const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
--const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
-+const union ui32dun nanMask =
-+ {{0xffffffff, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}};
-+const union ui32dun infMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK}};
-+const union ui32dun negInfMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}};
- #endif
-
--const double Double::NaN = *((double*)nanMask);
--const double Double::POSITIVE_INFINITY = *((double*)infMask);
--const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
-+const double Double::NaN = nanMask.d;
-+const double Double::POSITIVE_INFINITY = infMask.d;
-+const double Double::NEGATIVE_INFINITY = negInfMask.d;
-
- /*
- * Determines whether the given double represents positive or negative
diff --git a/www/mozilla/files/patch-Makefile.in b/www/mozilla/files/patch-Makefile.in
deleted file mode 100644
index 5480cb799..000000000
--- a/www/mozilla/files/patch-Makefile.in
+++ /dev/null
@@ -1,22 +0,0 @@
---- Makefile.in.orig Fri Aug 29 20:20:58 2003
-+++ Makefile.in Sat Oct 18 15:34:15 2003
-@@ -67,8 +67,7 @@
- $(tier_2_dirs) \
- $(tier_9_dirs) \
- $(tier_40_dirs) \
-- $(tier_50_dirs) \
-- $(NULL)
-+ $(tier_50_dirs)
-
- ifdef GC_LEAK_DETECTOR
- DIRS += gc/boehm
-@@ -87,7 +86,8 @@
- DIRS += $(tier_98_dirs)
- endif
-
--DIRS += $(tier_99_dirs)
-+DIRS += $(tier_99_dirs) \
-+ $(NULL)
-
- #
- # tier 0 - base build config dirs
diff --git a/www/mozilla/files/patch-bugzilla149334 b/www/mozilla/files/patch-bugzilla149334
deleted file mode 100644
index fe1be5bc8..000000000
--- a/www/mozilla/files/patch-bugzilla149334
+++ /dev/null
@@ -1,342 +0,0 @@
-Index: gfx/idl/nsIFreeType2.idl
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/idl/nsIFreeType2.idl,v
-retrieving revision 1.10
-diff -u -3 -p -r1.10 nsIFreeType2.idl
---- gfx/idl/nsIFreeType2.idl 15 Apr 2004 23:30:02 -0000 1.10
-+++ gfx/idl/nsIFreeType2.idl 26 May 2004 10:00:54 -0000
-@@ -76,10 +76,11 @@ native FT_Pointer(FT_Pointer);
- native FT_Sfnt_Tag(FT_Sfnt_Tag);
- native FT_Size(FT_Size);
-
--[ptr] native FTC_Image_Desc_p(FTC_Image_Desc);
-+[ptr] native FTC_ImageType_p(FTC_ImageType);
- native FTC_Face_Requester(FTC_Face_Requester);
- native FTC_Font(FTC_Font);
--native FTC_Image_Cache(FTC_Image_Cache);
-+native FTC_FaceID(FTC_FaceID);
-+native FTC_ImageCache(FTC_ImageCache);
- native FTC_Manager(FTC_Manager);
-
- // #ifdef MOZ_SVG
-@@ -99,7 +100,7 @@ interface nsIFreeType2 : nsISupports
-
- readonly attribute FT_Library library;
- readonly attribute FTC_Manager FTCacheManager;
-- readonly attribute FTC_Image_Cache ImageCache;
-+ readonly attribute FTC_ImageCache ImageCache;
-
- void doneFace(in FT_Face face);
- void doneFreeType(in FT_Library lib);
-@@ -115,16 +116,16 @@ interface nsIFreeType2 : nsISupports
- void outlineDecompose(in FT_Outline_p outline,
- in const_FT_Outline_Funcs_p funcs, in voidPtr p);
- void setCharmap(in FT_Face face, in FT_CharMap charmap);
-- void imageCacheLookup(in FTC_Image_Cache cache, in FTC_Image_Desc_p desc,
-+ void imageCacheLookup(in FTC_ImageCache cache, in FTC_ImageType_p desc,
- in FT_UInt gindex, out FT_Glyph glyph);
-- void managerLookupSize(in FTC_Manager manager, in FTC_Font font,
-- out FT_Face face, out FT_Size size);
-+ void managerLookupFace(in FTC_Manager manager, in FTC_FaceID face_id,
-+ out FT_Face face);
- void managerDone(in FTC_Manager manager);
- void managerNew(in FT_Library lib, in FT_UInt max_faces,
- in FT_UInt max_sizes, in FT_ULong max_bytes,
- in FTC_Face_Requester requester, in FT_Pointer req_data,
- out FTC_Manager manager);
-- void imageCacheNew(in FTC_Manager manager, out FTC_Image_Cache cache);
-+ void imageCacheNew(in FTC_Manager manager, out FTC_ImageCache cache);
- /* #ifdef MOZ_SVG */
- void glyphTransform(in FT_Glyph glyph, in FT_Matrix_p matrix,
- in FT_Vector_p delta);
-Index: gfx/src/freetype/nsFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.cpp,v
-retrieving revision 1.25
-diff -u -3 -p -r1.25 nsFreeType.cpp
---- gfx/src/freetype/nsFreeType.cpp 17 Apr 2004 21:52:29 -0000 1.25
-+++ gfx/src/freetype/nsFreeType.cpp 26 May 2004 10:00:54 -0000
-@@ -110,11 +110,11 @@ FtFuncList nsFreeType2::FtFuncs [] = {
- {"FT_New_Face", NS_FT2_OFFSET(nsFT_New_Face), PR_TRUE},
- {"FT_Outline_Decompose", NS_FT2_OFFSET(nsFT_Outline_Decompose), PR_TRUE},
- {"FT_Set_Charmap", NS_FT2_OFFSET(nsFT_Set_Charmap), PR_TRUE},
-- {"FTC_Image_Cache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
-- {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE},
-+ {"FTC_ImageCache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
-+ {"FTC_Manager_LookupFace", NS_FT2_OFFSET(nsFTC_Manager_LookupFace), PR_TRUE},
- {"FTC_Manager_Done", NS_FT2_OFFSET(nsFTC_Manager_Done), PR_TRUE},
- {"FTC_Manager_New", NS_FT2_OFFSET(nsFTC_Manager_New), PR_TRUE},
-- {"FTC_Image_Cache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
-+ {"FTC_ImageCache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
- // #ifdef MOZ_SVG
- {"FT_Glyph_Transform", NS_FT2_OFFSET(nsFT_Glyph_Transform), PR_TRUE},
- {"FT_Get_Kerning", NS_FT2_OFFSET(nsFT_Get_Kerning), PR_TRUE},
-@@ -282,7 +282,7 @@ nsFreeType2::SetCharmap(FT_Face face, FT
- }
-
- NS_IMETHODIMP
--nsFreeType2::ImageCacheLookup(FTC_Image_Cache cache, FTC_Image_Desc *desc,
-+nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType *desc,
- FT_UInt glyphID, FT_Glyph *glyph)
- {
- // call the FreeType2 function via the function pointer
-@@ -291,11 +291,11 @@ nsFreeType2::ImageCacheLookup(FTC_Image_
- }
-
- NS_IMETHODIMP
--nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font,
-- FT_Face *face, FT_Size *size)
-+nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id,
-+ FT_Face *face)
- {
- // call the FreeType2 function via the function pointer
-- FT_Error error = nsFTC_Manager_Lookup_Size(manager, font, face, size);
-+ FT_Error error = nsFTC_Manager_LookupFace(manager, face_id, face);
- return error ? NS_ERROR_FAILURE : NS_OK;
- }
-
-@@ -320,7 +320,7 @@ nsFreeType2::ManagerNew(FT_Library libra
- }
-
- NS_IMETHODIMP
--nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_Image_Cache *cache)
-+nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache)
- {
- // call the FreeType2 function via the function pointer
- FT_Error error = nsFTC_Image_Cache_New(manager, cache);
-@@ -389,7 +389,7 @@ nsFreeType2::SupportsExtFunc(PRBool *res
- }
-
- NS_IMETHODIMP
--nsFreeType2::GetImageCache(FTC_Image_Cache *aCache)
-+nsFreeType2::GetImageCache(FTC_ImageCache *aCache)
- {
- *aCache = mImageCache;
- return NS_OK;
-Index: gfx/src/freetype/nsFreeType.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.h,v
-retrieving revision 1.17
-diff -u -3 -p -r1.17 nsFreeType.h
---- gfx/src/freetype/nsFreeType.h 17 Apr 2004 21:52:29 -0000 1.17
-+++ gfx/src/freetype/nsFreeType.h 26 May 2004 10:00:54 -0000
-@@ -120,13 +120,13 @@ typedef FT_Error (*FT_Outline_Decompose_
- typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
- typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap);
- typedef FT_Error (*FTC_Image_Cache_Lookup_t)
-- (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*);
--typedef FT_Error (*FTC_Manager_Lookup_Size_t)
-- (FTC_Manager, FTC_Font, FT_Face*, FT_Size*);
-+ (FTC_ImageCache, FTC_ImageType*, FT_UInt, FT_Glyph*);
-+typedef FT_Error (*FTC_Manager_LookupFace_t)
-+ (FTC_Manager, FTC_FaceID, FT_Face*);
- typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager);
- typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong,
- FTC_Face_Requester, FT_Pointer, FTC_Manager*);
--typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*);
-+typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_ImageCache*);
- // #ifdef MOZ_SVG
- typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*);
- typedef FT_Error (*FT_Get_Kerning_t)
-@@ -181,7 +181,7 @@ protected:
- FT_Outline_Decompose_t nsFT_Outline_Decompose;
- FT_Set_Charmap_t nsFT_Set_Charmap;
- FTC_Image_Cache_Lookup_t nsFTC_Image_Cache_Lookup;
-- FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size;
-+ FTC_Manager_LookupFace_t nsFTC_Manager_LookupFace;
- FTC_Manager_Done_t nsFTC_Manager_Done;
- FTC_Manager_New_t nsFTC_Manager_New;
- FTC_Image_Cache_New_t nsFTC_Image_Cache_New;
-@@ -229,7 +229,7 @@ protected:
- PRLibrary *mSharedLib;
- FT_Library mFreeTypeLibrary;
- FTC_Manager mFTCacheManager;
-- FTC_Image_Cache mImageCache;
-+ FTC_ImageCache mImageCache;
-
- static nsHashtable *sFontFamilies;
- static nsHashtable *sRange1CharSetNames;
-Index: gfx/src/ps/nsFontMetricsPS.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/ps/nsFontMetricsPS.cpp,v
-retrieving revision 1.43
-diff -u -3 -p -r1.43 nsFontMetricsPS.cpp
---- gfx/src/ps/nsFontMetricsPS.cpp 17 Apr 2004 21:52:31 -0000 1.43
-+++ gfx/src/ps/nsFontMetricsPS.cpp 26 May 2004 10:01:03 -0000
-@@ -1140,10 +1140,10 @@ nsFontPSFreeType::Init(nsITrueTypeFontCa
-
- mPixelSize = NSToIntRound(app2dev * mFont->size);
-
-- mImageDesc.font.face_id = (void*)mEntry;
-- mImageDesc.font.pix_width = mPixelSize;
-- mImageDesc.font.pix_height = mPixelSize;
-- mImageDesc.image_type = 0;
-+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
-+ mImageDesc->width = mPixelSize;
-+ mImageDesc->height = mPixelSize;
-+ mImageDesc->flags = 0;
-
- nsresult rv;
- mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
-@@ -1189,7 +1189,7 @@ nsFontPSFreeType::GetWidth(const PRUnich
- if (!face)
- return 0;
-
-- FTC_Image_Cache iCache;
-+ FTC_ImageCache iCache;
- nsresult rv = mFt2->GetImageCache(&iCache);
- if (NS_FAILED(rv)) {
- NS_ERROR("Failed to get Image Cache");
-@@ -1227,8 +1227,8 @@ nsFontPSFreeType::getFTFace()
-
- FTC_Manager cManager;
- mFt2->GetFTCacheManager(&cManager);
-- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
-- &face, nsnull);
-+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
-+ &face);
- NS_ASSERTION(rv==0, "failed to get face/size");
- if (rv)
- return nsnull;
-@@ -1621,16 +1621,16 @@ void nsFT2Type8Generator::GeneratePSFont
- mEntry->GetFamilyName(fontName);
- mEntry->GetStyleName(styleName);
-
-- mImageDesc.font.face_id = (void*)mEntry;
-+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
- // TT glyph has no relation to size
-- mImageDesc.font.pix_width = 16;
-- mImageDesc.font.pix_height = 16;
-- mImageDesc.image_type = 0;
-+ mImageDesc->width = 16;
-+ mImageDesc->height = 16;
-+ mImageDesc->flags = 0;
- FT_Face face = nsnull;
- FTC_Manager cManager;
- mFt2->GetFTCacheManager(&cManager);
-- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
-- &face, nsnull);
-+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
-+ &face);
- if (NS_FAILED(rv))
- return;
-
-Index: gfx/src/ps/nsFontMetricsPS.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/ps/nsFontMetricsPS.h,v
-retrieving revision 1.25
-diff -u -3 -p -r1.25 nsFontMetricsPS.h
---- gfx/src/ps/nsFontMetricsPS.h 17 Apr 2004 21:52:31 -0000 1.25
-+++ gfx/src/ps/nsFontMetricsPS.h 26 May 2004 10:01:03 -0000
-@@ -319,7 +319,7 @@ protected:
- nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID;
- nsCOMPtr<nsIFreeType2> mFt2;
- PRUint16 mPixelSize;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
-
-
- static PRBool AddUserPref(nsIAtom *aLang, const nsFont& aFont,
-@@ -362,7 +362,7 @@ public:
- protected:
- nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry;
- nsCOMPtr<nsIFreeType2> mFt2;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
- };
- #endif
-
-Index: gfx/src/x11shared/nsFontFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/x11shared/nsFontFreeType.cpp,v
-retrieving revision 1.14
-diff -u -3 -p -r1.14 nsFontFreeType.cpp
---- gfx/src/x11shared/nsFontFreeType.cpp 17 Apr 2004 21:52:34 -0000 1.14
-+++ gfx/src/x11shared/nsFontFreeType.cpp 26 May 2004 10:01:03 -0000
-@@ -177,7 +177,7 @@ nsFreeTypeFont::getFTFace()
- FTC_Manager mgr;
- nsresult rv;
- mFt2->GetFTCacheManager(&mgr);
-- rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull);
-+ rv = mFt2->ManagerLookupFace(mgr, mImageDesc->face_id, &face);
- NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get face/size");
- if (NS_FAILED(rv))
- return nsnull;
-@@ -191,22 +191,15 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy
- PRBool embedded_bimap = PR_FALSE;
- mFaceID = aFaceID;
- mPixelSize = aPixelSize;
-- mImageDesc.font.face_id = (void*)mFaceID;
-- mImageDesc.font.pix_width = aPixelSize;
-- mImageDesc.font.pix_height = aPixelSize;
-- mImageDesc.image_type = 0;
-+ mImageDesc->face_id = (FTC_FaceID)&mFaceID;
-+ mImageDesc->width = aPixelSize;
-+ mImageDesc->height = aPixelSize;
-+ mImageDesc->flags = 0;
-
- if (aPixelSize < nsFreeType2::gAntiAliasMinimum) {
-- mImageDesc.image_type |= ftc_image_mono;
- anti_alias = PR_FALSE;
- }
-
-- if (nsFreeType2::gFreeType2Autohinted)
-- mImageDesc.image_type |= ftc_image_flag_autohinted;
--
-- if (nsFreeType2::gFreeType2Unhinted)
-- mImageDesc.image_type |= ftc_image_flag_unhinted;
--
- PRUint32 num_embedded_bitmaps, i;
- PRInt32* embedded_bitmapheights;
- mFaceID->GetEmbeddedBitmapHeights(&num_embedded_bitmaps,
-@@ -218,7 +211,6 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy
- if (embedded_bitmapheights[i] == aPixelSize) {
- embedded_bimap = PR_TRUE;
- // unhinted must be set for embedded bitmaps to be used
-- mImageDesc.image_type |= ftc_image_flag_unhinted;
- break;
- }
- }
-@@ -312,7 +304,7 @@ nsFreeTypeFont::doGetBoundingMetrics(con
- if (!face)
- return NS_ERROR_FAILURE;
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return NS_ERROR_FAILURE;
-@@ -401,7 +393,7 @@ nsFreeTypeFont::GetWidth(const PRUnichar
- if (!face)
- return 0;
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return 0;
-@@ -723,7 +715,7 @@ nsFreeTypeXImage::DrawString(nsRendering
- if (y%4==0) (*blendPixelFunc)(sub_image, y, ascent-1, black, 255/2);
- #endif
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return 0;
-Index: gfx/src/x11shared/nsFontFreeType.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/x11shared/nsFontFreeType.h,v
-retrieving revision 1.10
-diff -u -3 -p -r1.10 nsFontFreeType.h
---- gfx/src/x11shared/nsFontFreeType.h 17 Apr 2004 21:52:34 -0000 1.10
-+++ gfx/src/x11shared/nsFontFreeType.h 26 May 2004 10:01:03 -0000
-@@ -110,7 +110,7 @@ protected:
- XImage *GetXImage(PRUint32 width, PRUint32 height);
- nsITrueTypeFontCatalogEntry *mFaceID;
- PRUint16 mPixelSize;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
- nsCOMPtr<nsIFreeType2> mFt2;
- };
-
diff --git a/www/mozilla/files/patch-build_unix_run-mozilla.sh b/www/mozilla/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index 87114cc7b..000000000
--- a/www/mozilla/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,21 +0,0 @@
---- build/unix/run-mozilla.sh.orig Mon Dec 15 12:27:28 2003
-+++ build/unix/run-mozilla.sh Wed Feb 11 14:24:17 2004
-@@ -355,7 +355,7 @@
- fi
- ##
- ## Set LD_LIBRARY_PATH
--LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
-+LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
- if [ -n "$LD_LIBRARYN32_PATH" ]
- then
- LD_LIBRARYN32_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN32_PATH+":$LD_LIBRARYN32_PATH"}
-@@ -442,6 +442,9 @@
- #
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-+
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-
- if [ $moz_debug -eq 1 ]
- then
diff --git a/www/mozilla/files/patch-config-mkdepend-imakemdep.h b/www/mozilla/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/mozilla/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/mozilla/files/patch-config::mkdepend::Makefile.in b/www/mozilla/files/patch-config::mkdepend::Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/mozilla/files/patch-config::mkdepend::Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/mozilla/files/patch-config::rules.mk b/www/mozilla/files/patch-config::rules.mk
deleted file mode 100644
index 16cb6ae11..000000000
--- a/www/mozilla/files/patch-config::rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
---- config/rules.mk.orig Sun May 18 16:10:18 2003
-+++ config/rules.mk Sun Jul 20 18:07:26 2003
-@@ -448,7 +448,11 @@
-
- ifeq ($(OS_ARCH),FreeBSD)
- ifdef IS_COMPONENT
-+ifneq (,$(filter alpha ia64,$(OS_TEST)))
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
-+else
- EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
-+endif
- endif
- endif
-
diff --git a/www/mozilla/files/patch-config_autoconf.mk.in b/www/mozilla/files/patch-config_autoconf.mk.in
deleted file mode 100644
index c4fa0b516..000000000
--- a/www/mozilla/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Mon Mar 15 22:56:25 2004
-+++ config/autoconf.mk.in Fri Mar 19 15:17:50 2004
-@@ -31,13 +31,13 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
- idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/mozilla/files/patch-extensions_p3p_Makefile.in b/www/mozilla/files/patch-extensions_p3p_Makefile.in
deleted file mode 100644
index efade70e9..000000000
--- a/www/mozilla/files/patch-extensions_p3p_Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
---- extensions/p3p/Makefile.in.orig Sun Jul 9 14:10:16 2006
-+++ extensions/p3p/Makefile.in Sun Jul 9 14:20:10 2006
-@@ -62,23 +62,23 @@
- p3p200010.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2000/10/18/P3Pv1 \
-- -DHAS_TMPL_RETENTION\
-+ -DHAS_TMPL_RETENTION \
- $< > $@
-
- p3p200012.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2000/12/P3Pv1 \
-- -DHAS_CALL_OURS\
-+ -DHAS_CALL_OURS \
- $< > $@
-
- p3p200109.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2001/09/P3Pv1 \
-- -DHAS_CALL_OURS\
-+ -DHAS_CALL_OURS \
- $< > $@
-
- p3p200201.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2002/01/P3Pv1 \
-- -DHAS_CALL_OURS -DHAS_PURPOSE_SRC\
-+ -DHAS_CALL_OURS -DHAS_PURPOSE_SRC \
- $< > $@
diff --git a/www/mozilla/files/patch-gcc4 b/www/mozilla/files/patch-gcc4
deleted file mode 100644
index 855a756a6..000000000
--- a/www/mozilla/files/patch-gcc4
+++ /dev/null
@@ -1,79 +0,0 @@
-Index: gfx/src/freetype/nsFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.cpp,v
-retrieving revision 1.24
-diff -u -r1.24 nsFreeType.cpp
---- gfx/src/freetype/nsFreeType.cpp 7 Feb 2004 15:22:30 -0000 1.24
-+++ gfx/src/freetype/nsFreeType.cpp 4 Mar 2005 19:59:53 -0000
-@@ -96,7 +96,7 @@
- // Define the FreeType2 functions we resolve at run time.
- // see the comment near nsFreeType2::DoneFace() for more info
- //
--#define NS_FT2_OFFSET(f) (int)&((nsFreeType2*)0)->f
-+#define NS_FT2_OFFSET(f) (NS_PTR_TO_INT32(&((nsFreeType2*)0)->f))
- FtFuncList nsFreeType2::FtFuncs [] = {
- {"FT_Done_Face", NS_FT2_OFFSET(nsFT_Done_Face), PR_TRUE},
- {"FT_Done_FreeType", NS_FT2_OFFSET(nsFT_Done_FreeType), PR_TRUE},
-Index: widget/src/gtk2/nsDragService.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/widget/src/gtk2/nsDragService.cpp,v
-retrieving revision 1.5
-diff -u -r1.5 nsDragService.cpp
---- widget/src/gtk2/nsDragService.cpp 30 Oct 2003 01:48:41 -0000 1.5
-+++ widget/src/gtk2/nsDragService.cpp 4 Mar 2005 20:00:01 -0000
-@@ -838,7 +838,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- listTarget->target = g_strdup(gMimeListType);
- listTarget->flags = 0;
-- listTarget->info = (guint)listAtom;
-+ listTarget->info = (guint)(NS_PTR_TO_INT32(listAtom));
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with id %ld\n",
- listTarget->target, listAtom));
-@@ -877,7 +877,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- listTarget->target = g_strdup(gTextUriListType);
- listTarget->flags = 0;
-- listTarget->info = (guint)listAtom;
-+ listTarget->info = (guint)NS_PTR_TO_INT32(listAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", listTarget->target, listAtom));
-@@ -914,7 +914,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- target->target = g_strdup(flavorStr);
- target->flags = 0;
-- target->info = (guint)atom;
-+ target->info = (guint)NS_PTR_TO_INT32(atom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("adding target %s with id %ld\n",
- target->target, atom));
-@@ -931,7 +931,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- plainTarget->target = g_strdup(kTextMime);
- plainTarget->flags = 0;
-- plainTarget->info = (guint)plainAtom;
-+ plainTarget->info = (guint)NS_PTR_TO_INT32(plainAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", plainTarget->target, plainAtom));
-@@ -948,7 +948,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- urlTarget->target = g_strdup(gMozUrlType);
- urlTarget->flags = 0;
-- urlTarget->info = (guint)urlAtom;
-+ urlTarget->info = (guint)NS_PTR_TO_INT32(urlAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", urlTarget->target, urlAtom));
---- mailnews/mime/src/mimeeobj.h.orig Sat Dec 16 14:01:13 2006
-+++ mailnews/mime/src/mimeeobj.h Sat Dec 16 14:01:28 2006
-@@ -54,7 +54,7 @@ struct MimeExternalObjectClass {
- MimeLeafClass leaf;
- };
-
--extern MimeExternalObjectClass mimeExternalObjectClass;
-+extern "C" MimeExternalObjectClass mimeExternalObjectClass;
-
- struct MimeExternalObject {
- MimeLeaf leaf;
diff --git a/www/mozilla/files/patch-gfx-src-gtk-Makefile.in b/www/mozilla/files/patch-gfx-src-gtk-Makefile.in
deleted file mode 100644
index ff8b69984..000000000
--- a/www/mozilla/files/patch-gfx-src-gtk-Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-When using ``--with-system-nspr'' option, MOZ_COMPONENT_LIBS does not
-contain the ``-L../../../dist/lib'' -- only ``-L../../../dist/bin''.
-
-This causes an error, because libgfxshared_s is only under dist/lib.
-
- -mi
-
---- gfx/src/gtk/Makefile.in Mon Nov 10 07:24:51 2003
-+++ gfx/src/gtk/Makefile.in Thu Jul 21 23:58:26 2005
-@@ -165,4 +165,5 @@
- ifdef MOZ_ENABLE_GTK2
- EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) \
-+ $(LIBS_DIR) \
- -lgkgfx \
- -lgfxshared_s \
diff --git a/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp b/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp
deleted file mode 100644
index 29752f34a..000000000
--- a/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
---- gfx/src/ps/nsType1.cpp.orig Wed Dec 11 01:24:47 2002
-+++ gfx/src/ps/nsType1.cpp Sun Sep 10 09:52:45 2006
-@@ -81,8 +81,8 @@
- int wmode;
- } FT2PT1_info;
-
--static int cubicto(FT_Vector *aControlPt1, FT_Vector *aControlPt2,
-- FT_Vector *aEndPt, void *aClosure);
-+static int cubicto(const FT_Vector *aControlPt1, const FT_Vector *aControlPt2,
-+ const FT_Vector *aEndPt, void *aClosure);
- static int Type1CharStringCommand(unsigned char **aBufPtrPtr, int aCmd);
- static int Type1EncodeCharStringInt(unsigned char **aBufPtrPtr, int aValue);
-
-@@ -173,7 +173,7 @@
- }
-
- static PRBool
--sideWidthAndBearing(FT_Vector *aEndPt, FT2PT1_info *aFti)
-+sideWidthAndBearing(const FT_Vector *aEndPt, FT2PT1_info *aFti)
- {
- int aw = 0;
- int ah = 0;
-@@ -216,7 +216,7 @@
- }
-
- static int
--moveto(FT_Vector *aEndPt, void *aClosure)
-+moveto(const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *fti = (FT2PT1_info *)aClosure;
- FT_UShort upm = fti->face->units_per_EM;
-@@ -253,7 +253,7 @@
- }
-
- static int
--lineto(FT_Vector *aEndPt, void *aClosure)
-+lineto(const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *fti = (FT2PT1_info *)aClosure;
- FT_UShort upm = fti->face->units_per_EM;
-@@ -279,7 +279,7 @@
- }
-
- static int
--conicto(FT_Vector *aControlPt, FT_Vector *aEndPt, void *aClosure)
-+conicto(const FT_Vector *aControlPt, const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *ftinfo = (FT2PT1_info *)aClosure;
- FT_UShort upm = ftinfo->face->units_per_EM;
-@@ -311,7 +311,7 @@
- }
-
- static int
--cubicto(FT_Vector *aControlPt1, FT_Vector *aControlPt2, FT_Vector *aEndPt,
-+cubicto(const FT_Vector *aControlPt1, const FT_Vector *aControlPt2, const FT_Vector *aEndPt,
- void *aClosure)
- {
- FT2PT1_info *ftinfo = (FT2PT1_info *)aClosure;
diff --git a/www/mozilla/files/patch-libm b/www/mozilla/files/patch-libm
deleted file mode 100644
index 7de64b2a5..000000000
--- a/www/mozilla/files/patch-libm
+++ /dev/null
@@ -1,25 +0,0 @@
---- 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 @@
- #
-
--DIRS = src/fdlibm src
-+DIRS = src
-
- include $(topsrcdir)/config/rules.mk
diff --git a/www/mozilla/files/patch-qt b/www/mozilla/files/patch-qt
deleted file mode 100644
index d1cb9f9f7..000000000
--- a/www/mozilla/files/patch-qt
+++ /dev/null
@@ -1,65 +0,0 @@
---- configure.orig Tue Oct 12 00:13:29 2004
-+++ configure Wed Nov 23 01:48:55 2005
-@@ -9368,7 +9368,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 9374 "configure"
- #include "confdefs.h"
-@@ -9399,7 +9399,7 @@
- fi
- if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-- _ICONV_LIBS="$_ICONV_LIBS -liconv"
-+ _ICONV_LIBS="$_ICONV_LIBS -L$LOCALBASE/lib -liconv"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
-@@ -9409,7 +9409,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 9415 "configure"
- #include "confdefs.h"
-@@ -9440,7 +9440,7 @@
- fi
- if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-- _ICONV_LIBS="$_ICONV_LIBS -liconv"
-+ _ICONV_LIBS="$_ICONV_LIBS -L$LOCALBASE/lib -liconv"
- else
- echo "$ac_t""no" 1>&6
- fi
-@@ -11401,12 +11401,12 @@
-
- echo $ac_n "checking MOZ_GTK2_CFLAGS""... $ac_c" 1>&6
- echo "configure:11404: checking MOZ_GTK2_CFLAGS" >&5
-- MOZ_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 1.3.7"`
-+ MOZ_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 1.3.7" "pangox >= 1.1.0"`
- echo "$ac_t""$MOZ_GTK2_CFLAGS" 1>&6
-
- echo $ac_n "checking MOZ_GTK2_LIBS""... $ac_c" 1>&6
- echo "configure:11409: checking MOZ_GTK2_LIBS" >&5
-- MOZ_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 1.3.7"`
-+ MOZ_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 1.3.7" "pangox >= 1.1.0"`
- echo "$ac_t""$MOZ_GTK2_LIBS" 1>&6
- else
- MOZ_GTK2_CFLAGS=""
-@@ -12344,9 +12344,9 @@
-
-
-
--MOZ_EXTENSIONS_DEFAULT=" cookie wallet content-packs xml-rpc xmlextras help p3p pref transformiix venkman inspector irc universalchardet typeaheadfind webservices spellcheck gnomevfs negotiateauth"
-+MOZ_EXTENSIONS_DEFAULT=" cookie wallet content-packs xml-rpc xmlextras help p3p pref transformiix venkman inspector universalchardet typeaheadfind webservices spellcheck gnomevfs negotiateauth"
-
--MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT xmlterm datetime finger cview layout-debug tasks"
-+MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT irc xmlterm datetime finger cview layout-debug tasks"
-
- # Check whether --enable-extensions or --disable-extensions was given.
- if test "${enable_extensions+set}" = set; then
diff --git a/www/mozilla/files/patch-security::coreconf::FreeBSD.mk b/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
deleted file mode 100644
index 5c76b5af5..000000000
--- a/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
+++ /dev/null
@@ -1,37 +0,0 @@
---- security/coreconf/FreeBSD.mk.orig Wed Mar 26 20:17:25 2003
-+++ security/coreconf/FreeBSD.mk Thu Jul 8 12:56:24 2004
-@@ -35,16 +35,18 @@
-
- include $(CORE_DEPTH)/coreconf/UNIX.mk
-
--DEFAULT_COMPILER = gcc
--CC = gcc
--CCC = g++
-+CCC = ${CXX}
- RANLIB = ranlib
-
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH = amd64
-+else
- CPU_ARCH = x86
- endif
-+endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
-@@ -71,7 +73,11 @@
- 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
- endif
diff --git a/www/mozilla/files/patch-sysnspr b/www/mozilla/files/patch-sysnspr
deleted file mode 100644
index 19e2703b4..000000000
--- a/www/mozilla/files/patch-sysnspr
+++ /dev/null
@@ -1,21 +0,0 @@
---- directory/c-sdk/ldap/include/Makefile.in.orig Sat Aug 20 02:15:05 2005
-+++ directory/c-sdk/ldap/include/Makefile.in Sat Aug 20 02:15:55 2005
-@@ -76,7 +76,6 @@
- $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR)
- $(INSTALL) $(INSTALLFLAGS) -m 644 $(PRIVATEHEADERS) $(PRIVATEINCDIR)
- rm -rf $(NSPRINCDIR)/*
-- cp -r $(DIST)/$(OBJDIR_NAME)/include/nspr/* $(NSPRINCDIR)
-
- $(INCLUDEDIR): FORCE
- $(NSINSTALL) -D $(INCLUDEDIR)
---- directory/c-sdk/ldap/libraries/libprldap/Makefile.in.orig Sat Aug 20 02:14:33 2005
-+++ directory/c-sdk/ldap/libraries/libprldap/Makefile.in Sat Aug 20 02:14:39 2005
-@@ -58,7 +58,7 @@
-
- LOCAL_INCLUDES = -I$(PUBLIC)/nspr
- INCLUDES += -I$(DISTHDIR) -I$(HDIR) -I$(INSTALLDIR)/include \
-- -I$(DIST)/include/nspr
-+ $(shell nspr-config --cflags)
- DEFINES += $(DEFS)
-
- PLATFORMCFLAGS = -DUSE_WAITPID -DNEEDPROTOS
diff --git a/www/mozilla/files/patch-sysnss b/www/mozilla/files/patch-sysnss
deleted file mode 100644
index d854cabc0..000000000
--- a/www/mozilla/files/patch-sysnss
+++ /dev/null
@@ -1,178 +0,0 @@
---- Makefile.in Tue Sep 14 16:59:40 2004
-+++ Makefile.in Tue Aug 2 08:26:55 2005
-@@ -102,6 +102,4 @@
- # tier 1 - 3rd party individual libraries
- #
--tier_1_dirs += dbm
--
- 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 @@
- SOFTOKEN3_LIB \
- SOFTOKEN3_CHK \
-- LOADABLE_ROOT_MODULE \
- HAVE_FREEBL_MODULES \
- $(NULL)
-
--LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
--
--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 @@
- .nss.cleaned: .nss.checkout
- $(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
- touch $@
-
-@@ -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
-- $(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
--endif
-- $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DIST)/bin
-- $(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
--endif
- endif
- $(MAKE) -C boot $@
-@@ -200,18 +147,4 @@
-
- install::
-- $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
--ifndef SKIP_CHK
-- $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
--endif
-- $(SYSINSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DESTDIR)$(mozappdir)
-- $(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)
--endif
- $(MAKE) -C boot $@
- $(MAKE) -C ssl $@
-@@ -227,9 +160,4 @@
- endif
- $(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
-
- 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)
-
---- 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
-
--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 =
-
- 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 @@
- }
-
-+#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 @@
- }
-
-- 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);
diff --git a/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- 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/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp b/www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp
deleted file mode 100644
index df9abaef6..000000000
--- a/www/mozilla/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/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc b/www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc
deleted file mode 100644
index ebe5474ca..000000000
--- a/www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Fri Mar 19 15:58:14 2004
-@@ -8,7 +8,7 @@
- * 1 is AddRef
- * 2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();
diff --git a/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in b/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
deleted file mode 100644
index dbdc47b6f..000000000
--- a/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
+++ /dev/null
@@ -1,56 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 14:31:25 2004
-@@ -49,6 +49,9 @@
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_amd64_freebsd.cpp xptcstubs_amd64_freebsd.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -59,8 +62,8 @@
- CPPSRCS := xptcinvoke_gcc_x86_unix.cpp xptcstubs_gcc_x86_unix.cpp
- endif
- endif
--# IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+# IA64 Linux & FreeBSD
-+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -106,9 +109,15 @@
- ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS := xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
- ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
-+endif
-+#
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
- endif
- #
- # Solaris/SPARC
diff --git a/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in b/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in
deleted file mode 100644
index 768eaf648..000000000
--- a/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in
+++ /dev/null
@@ -1,436 +0,0 @@
---- xpfe/bootstrap/mozilla.in.orig Fri Feb 20 19:13:46 2004
-+++ xpfe/bootstrap/mozilla.in Tue Mar 22 22:40:43 2005
-@@ -29,141 +29,324 @@
- ## 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
- #set -x
-
--moz_libdir=%MOZAPPDIR%
--MRE_HOME=%MREDIR%
-+#
-+# variables
-+#
-+location="new-tab"
-+#MOZILLA_UILOCALE="en-US"
-+#MOZILLA_UIREGION="US"
-
--# honor MOZILLA_FIVE_HOME if it's there
--if [ -n "$MOZILLA_FIVE_HOME" ] ; then
-- dist_bin="$MOZILLA_FIVE_HOME"
--else
-- # 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"`
-- run_moz="$curdir/run-mozilla.sh"
-- if test -x "$run_moz"; then
-- dist_bin=$curdir
-+#
-+# 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
-+found=0
-+progname="$0"
-+curdir=`dirname "$progname"`
-+progbase=`basename "$progname"`
-+run_moz="$curdir/run-mozilla.sh"
-+# mozilla must obey MOZILLA_FIVE_HOME
-+if [ -n "$MOZILLA_FIVE_HOME" -a -d "$MOZILLA_FIVE_HOME" -a \
-+ -x "$MOZILLA_FIVE_HOME/run-mozilla.sh" ]; then
-+ curdir="$MOZILLA_FIVE_HOME"
-+ run_moz="$curdir/run-mozilla.sh"
-+ 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`
-- found=1
-- break
-- fi
-+elif [ -x "$run_moz" ]; then
-+ dist_bin="$curdir"
-+ found=1
-+else
-+ 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
-+ 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."
-- exit 1
-- fi
-- fi
-+ 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
-
--script_args=""
--debugging=0
--MOZILLA_BIN="%MOZILLA-BIN%"
--
-+MOZILLA_BIN="${progbase}-bin"
- if [ "$OSTYPE" = "beos" ]; then
-- mimeset -F $MOZILLA_BIN
-+ mimeset -F "$MOZILLA_BIN"
- fi
-
-+# test for binary apps in ${dist_bin}
-+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
-+fi
-+if [ -x "${dist_bin}/mozilla-xremote-client" ]; then
-+ MOZ_CLIENT_PROGRAM="${dist_bin}/mozilla-xremote-client -a ${progbase}"
-+else
-+ MOZ_CLIENT_PROGRAM="${MOZILLA_BIN} -remote -a ${progbase}"
-+fi
-+
-+# guest a default remote command
-+_remote_cmd="xfeDoCommand(openBrowser)"
-+
-+# parse options
-+script_args= # null
-+moreargs= # null
-+target= # null
-+ALREADY_RUNNING="test"
- pass_arg_count=0
- while [ $# -gt $pass_arg_count ]
- do
-- case "$1" in
-- -p | -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
-- ;;
-- *)
-- # Move the unrecognized argument to the end of the list.
-- arg="$1"
-- shift
-- set -- "$@" "$arg"
-- pass_arg_count=`expr $pass_arg_count + 1`
-- ;;
-- esac
-+ if [ -n "${target}" ]; then
-+ # well, this can't be the target if not last
-+ moreargs="${moreargs} \"${target}\""
-+ target= # null
-+ fi
-+ case "$1" in
-+ # preserve [pP] for profile
-+ --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, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -[Uu][Ii][Ll]ocale)
-+ if [ -n "$2" ]; then
-+ uilocale="$2"
-+ shift 2
-+ else
-+ echo "$0: ERROR, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -[Uu][Ii][Rr]egion)
-+ if [ -n "$2" ]; then
-+ uiregion="$2"
-+ shift 2
-+ else
-+ echo "$0: ERROR, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -browser)
-+ # browser is default for mozilla
-+ shift
-+ ;;
-+ -mail)
-+ _remote_cmd="xfeDoCommand(openInbox)"
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -compose)
-+ _remote_cmd="xfeDoCommand(composeMessage)"
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -turbo | -nosplash | -quiet)
-+ # use remote even with this
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -*)
-+ # don't use remote with options
-+ ALREADY_RUNNING= # null
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ *)
-+ target="$1"
-+ shift
-+ ;;
-+ esac
- done
-
--export MRE_HOME
-+# test for a running copy of firefox
-+# seems this is not needed
-+#if [-n "${ALREADY_RUNNING}" ]; then
-+# 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
-+# ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' >/dev/null 2>&1 &&
-+# ALREADY_RUNNING="yes"
-+# fi
-+# elif [ -n "${debugging}" ]; then
-+# echo "$0: WARN, no DISPLAY environment" 1>&2
-+# fi
-+#fi
-+
-+# process target
-+if [ -n "${target}" ]; then
-+ moreargs="${moreargs} \"${target}\""
-+ if [ -n "${ALREADY_RUNNING}" ]; 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
-+ echo "$0: WARN, target: ${target} not an URI/file/dir" 1>&2
-+ ALREADY_RUNNING= # null
-+ fi
-+ else
-+ # an former URI, don't use openFile
-+ use_openFile= # null
-+ fi
-+ fi
-+fi
-+
-+# 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
-+ # FIXME problems with freedesktop StartupNotify
-+ if [ -n "${debugging}" ]; then
-+ echo "${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd}"
-+ ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} &&
-+ exit 0
-+ else
-+ ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} \
-+ >/dev/null 2>&1 && exit 0
-+ fi
-+fi
-+
-+# 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
-+if [ -n "${uiregion}" -a -z "${uilocale}" ]; then
-+ uilocale="en-US"
-+fi
-+if [ -n "${uilocale}" ]; then
-+ if [ -n "${uiregion}" ]; then
-+ moreargs="-UIRegion ${uiregion} ${moreargs}"
-+ fi
-+ moreargs="-UILocale ${uilocale} ${moreargs}"
-+fi
-+
-+# real invocation
-+eval "set -- ${moreargs}"
-
- ## 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
diff --git a/www/mozilla/files/patch-xptcall-alpha b/www/mozilla/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/mozilla/files/patch-xptcall-alpha
+++ /dev/null
@@ -1,459 +0,0 @@
---- 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"
-+
diff --git a/www/mozilla/files/patch-xptcall-amd64 b/www/mozilla/files/patch-xptcall-amd64
deleted file mode 100644
index 3227cad02..000000000
--- a/www/mozilla/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/mozilla/files/patch-xptcall-ia64 b/www/mozilla/files/patch-xptcall-ia64
deleted file mode 100644
index 9cd07f7dd..000000000
--- a/www/mozilla/files/patch-xptcall-ia64
+++ /dev/null
@@ -1,38 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf64.s.orig Sun Jul 20 00:05:32 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf64.s Sun Jul 20 00:06:37 2003
-@@ -8,6 +8,7 @@
- // Section has executable code
- .section .text, "ax","progbits"
- // procedure named 'XPTC_InvokeByIndex'
-+ .global XPTC_InvokeByIndex
- .proc XPTC_InvokeByIndex
- // manual bundling
- .explicit
-@@ -24,7 +25,7 @@
-
- // XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- // PRUint32 paramCount, nsXPTCVariant* params);
--XPTC_InvokeByIndex::
-+XPTC_InvokeByIndex:
- .prologue
- .save ar.pfs, r37
- // allocate 4 input args, 6 local args, and 8 output args
---- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s.orig Sun Jul 20 00:02:02 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s Sun Jul 20 00:02:40 2003
-@@ -6,6 +6,7 @@
- // Section has executable code
- .section .text, "ax","progbits"
- // procedure named 'SharedStub'
-+ .global SharedStub
- .proc SharedStub
- // manual bundling
- .explicit
-@@ -14,7 +15,7 @@
- // .exclass PrepareAndDispatch, @fullyvisible
- .type PrepareAndDispatch,@function
-
--SharedStub::
-+SharedStub:
- // 9 arguments, first 8 are the input arguments of previous
- // function call. The last one is methodIndex, and is passed in memory
- .prologue
diff --git a/www/mozilla/files/patch-xptcall-sparc64 b/www/mozilla/files/patch-xptcall-sparc64
deleted file mode 100755
index 9599a8a71..000000000
--- a/www/mozilla/files/patch-xptcall-sparc64
+++ /dev/null
@@ -1,327 +0,0 @@
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ */
-+
-+/* Implement shared vtbl methods. */
-+
-+#include "xptcprivate.h"
-+
-+#if defined(sparc) || defined(__sparc__)
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
-+{
-+
-+#define PARAM_BUFFER_COUNT 16
-+
-+ 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");
-+
-+ PRUint64* ap = args;
-+ 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 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
-+ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
-+ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
-+ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
-+ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
-+ 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;
-+}
-+
-+extern "C" int SharedStub(int, int*);
-+
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+ int dummy; /* defeat tail-call optimization */ \
-+ return SharedStub(n, &dummy); \
-+}
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+ return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+
-+#endif /* sparc || __sparc__ */
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003
-@@ -0,0 +1,104 @@
-+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+/*
-+ Platform specific code to invoke XPCOM methods on native objects
-+ for sparcv9 Solaris.
-+
-+ See the SPARC Compliance Definition (SCD) Chapter 3
-+ for more information about what is going on here, including
-+ the use of BIAS (0x7ff).
-+ The SCD is available from http://www.sparc.com/.
-+*/
-+
-+ .global XPTC_InvokeByIndex
-+ .type XPTC_InvokeByIndex, #function
-+
-+/*
-+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ PRUint32 paramCount, nsXPTCVariant* params);
-+
-+*/
-+XPTC_InvokeByIndex:
-+ save %sp,-(128 + 64),%sp ! room for the register window and
-+ ! struct pointer, rounded up to 0 % 64
-+ sll %i2,4,%l0 ! assume the worst case
-+ ! paramCount * 2 * 8 bytes
-+ cmp %l0, 0 ! are there any args? If not,
-+ be .invoke ! no need to copy args to stack
-+ nop
-+
-+ sub %sp,%l0,%sp ! create the additional stack space
-+ add %sp,0x7ff+136,%o0 ! step past the register window, the
-+ ! struct result pointer and the 'this' slot
-+ mov %i2,%o1 ! paramCount
-+ call invoke_copy_to_stack
-+ mov %i3,%o2 ! params
-+
-+!
-+! load arguments from stack into the outgoing registers
-+! BIAS is 0x7ff (2047)
-+!
-+
-+! load the %o1..5 64bit (extended word) output registers registers
-+ ldx [%sp + 0x7ff + 136],%o1 ! %i1
-+ ldx [%sp + 0x7ff + 144],%o2 ! %i2
-+ ldx [%sp + 0x7ff + 152],%o3 ! %i3
-+ ldx [%sp + 0x7ff + 160],%o4 ! %i4
-+ ldx [%sp + 0x7ff + 168],%o5 ! %i5
-+
-+! load the even number double registers starting with %d2
-+ ldd [%sp + 0x7ff + 136],%f2
-+ ldd [%sp + 0x7ff + 144],%f4
-+ ldd [%sp + 0x7ff + 152],%f6
-+ ldd [%sp + 0x7ff + 160],%f8
-+ ldd [%sp + 0x7ff + 168],%f10
-+ ldd [%sp + 0x7ff + 176],%f12
-+ ldd [%sp + 0x7ff + 184],%f14
-+ ldd [%sp + 0x7ff + 192],%f16
-+ ldd [%sp + 0x7ff + 200],%f18
-+ ldd [%sp + 0x7ff + 208],%f20
-+ ldd [%sp + 0x7ff + 216],%f22
-+ ldd [%sp + 0x7ff + 224],%f24
-+ ldd [%sp + 0x7ff + 232],%f26
-+ ldd [%sp + 0x7ff + 240],%f28
-+ ldd [%sp + 0x7ff + 248],%f30
-+
-+!
-+! calculate the target address from the vtable
-+!
-+.invoke:
-+ sll %i1,3,%l0 ! index *= 8
-+! add %l0,16,%l0 ! there are 2 extra entries in the vTable (16bytes)
-+ ldx [%i0],%l1 ! *that --> address of vtable
-+ ldx [%l0 + %l1],%l0 ! that->vtable[index * 8 + 16] --> address
-+
-+ jmpl %l0,%o7 ! call the routine
-+ mov %i0,%o0 ! move 'this' pointer to out register
-+
-+ mov %o0,%i0 ! propagate return value
-+ ret
-+ restore
-+
-+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003
-@@ -0,0 +1,91 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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 Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if !defined(__sparc) && !defined(__sparc__)
-+#error "This code is for Sparc only"
-+#endif
-+
-+/* Prototype specifies unmangled function name */
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s);
-+
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+ /*
-+ We need to copy the parameters for this function to locals and use them
-+ from there since the parameters occupy the same stack space as the stack
-+ we're trying to populate.
-+ */
-+ PRUint64 *l_d = d;
-+ nsXPTCVariant *l_s = s;
-+ PRUint64 l_paramCount = paramCount;
-+ PRUint64 regCount = 0; // return the number of registers to load from the stack
-+
-+ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
-+ {
-+ if (regCount < 5) regCount++;
-+
-+ if (l_s->IsPtrData())
-+ {
-+ *l_d = (PRUint64)l_s->ptr;
-+ continue;
-+ }
-+ switch (l_s->type)
-+ {
-+ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
-+ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
-+ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
-+ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
-+
-+ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
-+ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
-+ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
-+ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
-+
-+ /* in the case of floats, we want to put the bits in to the
-+ 64bit space right justified... floats in the paramter array on
-+ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
-+ the space that would be occupied by %f0, %f2, etc.
-+ */
-+ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
-+ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
-+ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
-+ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
-+ case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
-+
-+ default:
-+ // all the others are plain pointer types
-+ *((void**)l_d) = l_s->val.p;
-+ break;
-+ }
-+ }
-+
-+ return regCount;
-+}
diff --git a/www/mozilla/pkg-deinstall.in b/www/mozilla/pkg-deinstall.in
deleted file mode 100644
index 4a0a2fba8..000000000
--- a/www/mozilla/pkg-deinstall.in
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# $MCom: ports/www/mozilla/pkg-deinstall.in,v 1.19 2006/12/09 15:32:06 ahze Exp $
-#
-# 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
-
-MOZDIR=%%MOZDIR%%
-
-rm -rf ${MOZDIR}/chrome/overlayinfo
-rm -f ${MOZDIR}/chrome/*.rdf
-rm -f ${MOZDIR}/component.reg
-rm -f ${MOZDIR}/components/*.dat
-rm -f ${MOZDIR}/components.ini
-rm -f ${MOZDIR}/defaults.ini
-rm -f ${MOZDIR}/chrome/app-chrome.manifest
-rm -rf ${MOZDIR}/updates
-find %%MOZDIR%%/plugins/ -depth 1 -type l -delete > /dev/null 2>&1
-find %%MOZDIR%%/extensions/ -depth 1 -type l -delete > /dev/null 2>&1
-
-exit 0
diff --git a/www/mozilla/pkg-descr b/www/mozilla/pkg-descr
deleted file mode 100644
index 37a7a6403..000000000
--- a/www/mozilla/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-This is the current release of the Mozilla open source web browser. It should
-be fully compliant with all W3C standards, including HTML, CSS, XML, XSL,
-JavaScript, MathML, SVG and RDF. This version also supports SSL encryption,
-and Java with the use of the FreeBSD native Java plug-in.
-
-This is the latest release of the Mozilla browser. It contains all the
-bugfixes and security enhancements from the mozilla port as well as
-new new features.
-
-WWW: http://www.mozilla.org/
diff --git a/www/mozilla/pkg-install.in b/www/mozilla/pkg-install.in
deleted file mode 100644
index 8fcc2b0ea..000000000
--- a/www/mozilla/pkg-install.in
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# $MCom: ports/www/mozilla/pkg-install.in,v 1.19 2006/12/09 15:32:06 ahze Exp $
-#
-# 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" != "xPOST-INSTALL" ] && exit 0
-
-MOZDIR=%%MOZDIR%%
-MOZBIN=${MOZDIR}/%%MOZILLA_BIN%%
-REGXPCOM=${MOZDIR}/regxpcom
-REGCHROME=${MOZDIR}/regchrome
-
-echo "===> Building Chrome's registry..."
-rm -rf ${MOZDIR}/chrome/overlayinfo
-rm -f ${MOZDIR}/chrome/*.rdf
-mkdir -p ${MOZDIR}/chrome/overlayinfo
-rm -f ${MOZDIR}/component.reg
-
-cd ${MOZDIR} || exit 1
-if [ -f ${REGXPCOM} ]; then
- ./run-mozilla.sh ${REGXPCOM} || true
-fi
-if [ -f ${REGCHROME} ]; then
- ./run-mozilla.sh ${REGCHROME} || true
-fi
-if [ -f ${MOZBIN} -a "${1%-*}" = "nvu" ]; then
- ./run-mozilla.sh ${MOZBIN} -register > /dev/null 2>&1
-fi
-if [ ! -d %%PREFIX%%/lib/browser_plugins ]; then
- mkdir -p %%PREFIX%%/lib/browser_plugins
-fi
-cp -R %%LOCALBASE%%/lib/npapi/symlinks/%%MOZILLA%%/ %%MOZDIR%%/plugins/ > /dev/null 2>&1
-cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%MOZILLA%%/ %%MOZDIR%%/extensions/ > /dev/null 2>&1
-
-exit 0