[SVN-Commit] r198 - in trunk/www: firefox3 firefox3-devel firefox3-devel/files firefox35 linux-firefox-devel linux-seamonkey

svn-freebsd-gecko at chruetertee.ch svn-freebsd-gecko at chruetertee.ch
Sun Dec 13 12:52:42 UTC 2009


Author: beat
Date: Sun Dec 13 12:52:33 2009
New Revision: 198

Log:
Sync with ports:
- www/linux-seamonkey: Append default used linux applications to
  USE_LINUX_APPS.
- www/linux-firefox-devel: Update to 3.5.5
- www/firefox3-devel: Update to 3.6 Beta 4
- www/firefox3 & www/firefox35: Add CONFLICT with Firefox 3.6

Added:
   trunk/www/firefox3-devel/files/patch-configure.in
   trunk/www/firefox3-devel/files/patch-content-xslt-public-txDouble.h
   trunk/www/firefox3-devel/files/patch-gfx__thebes__src__gfxPangoFonts.cpp
   trunk/www/firefox3-devel/files/patch-js-src-configure.in
   trunk/www/firefox3-devel/files/patch-js-src-jslock.cpp
   trunk/www/firefox3-devel/files/patch-media-libsydneyaudio-include-sydney_audio.h
   trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-xptcprivate.h
Deleted:
   trunk/www/firefox3-devel/files/patch-configure
   trunk/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h
   trunk/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h
Modified:
   trunk/www/firefox3-devel/Makefile
   trunk/www/firefox3-devel/distinfo
   trunk/www/firefox3-devel/files/patch-js_src_jsnum.cpp
   trunk/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
   trunk/www/firefox3-devel/files/patch-toolkit_mozapps_update_src_updater_updater.cpp
   trunk/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
   trunk/www/firefox3/Makefile
   trunk/www/firefox35/Makefile
   trunk/www/linux-firefox-devel/Makefile
   trunk/www/linux-firefox-devel/distinfo
   trunk/www/linux-firefox-devel/pkg-plist
   trunk/www/linux-seamonkey/Makefile.common

Modified: trunk/www/firefox3-devel/Makefile
==============================================================================
--- trunk/www/firefox3-devel/Makefile	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/Makefile	Sun Dec 13 12:52:33 2009	(r198)
@@ -2,15 +2,15 @@
 # Date created:			2002/10/21
 # Whom:				Alan Eldridge <alane at FreeBSD.org>
 #
-# $FreeBSD: ports/www/firefox3-devel/Makefile,v 1.174 2009/06/30 20:19:48 miwi Exp $
+# $FreeBSD: ports/www/firefox3-devel/Makefile,v 1.175 2009/12/12 15:15:47 beat Exp $
 #
 
 PORTNAME=	firefox
-DISTVERSION=	3.6a1
+DISTVERSION=	3.6b4
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR=	${PORTNAME}/nightly/${DISTVERSION}-candidates/build1/source
+MASTER_SITE_SUBDIR=	${PORTNAME}/releases/${DISTVERSION}/source
 DISTNAME=	${PORTNAME}-${DISTVERSION}.source
 
 MAINTAINER=	gecko at FreeBSD.org
@@ -19,9 +19,7 @@
 BUILD_DEPENDS=	nspr>=4.8:${PORTSDIR}/devel/nspr
 LIB_DEPENDS=	notify.1:${PORTSDIR}/devel/libnotify
 
-IGNORE=		use www/firefox3-devel from experimental branch
-
-USE_AUTOTOOLS=	autoconf:213:run
+USE_AUTOTOOLS=	autoconf:213
 LATEST_LINK=	firefox3-devel
 USE_GECKO=	gecko
 MOZ_PKGCONFIG_FILES=	# empty
@@ -31,8 +29,7 @@
 MOZILLA=	${PORTNAME}${MOZILLA_SUFX}
 MOZ_TOOLKIT=	cairo-gtk2
 GECKO_PLIST_PRE_DIRS=	lib/${MOZILLA}/bin lib/${MOZILLA}/idl \
-			lib/${MOZILLA}/include lib/${MOZILLA}/lib \
-			lib/${MOZILLA}/sdk/idl lib/${MOZILLA}/sdk/include
+			lib/${MOZILLA}/include lib/${MOZILLA}/lib
 
 MAKE_JOBS_SAFE=	yes
 WANT_GNOME=	yes
@@ -42,6 +39,7 @@
 HAS_CONFIGURE=	yes
 USE_BZIP2=	yes
 USE_GMAKE=	yes
+MAKE_JOBS_SAFE=	yes
 NO_MOZPKGINSTALL=yes
 CONFLICTS=	firefox-3.[0,5].*
 
@@ -62,10 +60,6 @@
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} == "sparc64"
-BROKEN=		Does not compile on sparc64
-.endif
-
 .if ${OSVERSION} < 700000
 LIB_DEPENDS+=	pulse.0:${PORTSDIR}/audio/pulseaudio
 EXTRA_PATCHES=	${FILESDIR}/releng6_pulseaudio
@@ -73,7 +67,7 @@
 EXTRA_PATCHES=	${FILESDIR}/libsydney_oss
 .endif
 
-WRKSRC:=	${WRKSRC}-central
+WRKSRC:=	${WRKSRC}-1.9.2
 
 GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 '%{\!pg: %{pthread:' | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
 
@@ -91,7 +85,6 @@
 .endif
 
 post-extract::
-	@(cd ${WRKSRC} && ${AUTOCONF})
 	@${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
 		-e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
 		<${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
@@ -110,6 +103,10 @@
 		s|/usr/X11R6|${LOCALBASE}|g' \
 		${WRKSRC}/js/src/configure
 
+pre-configure:
+	(cd ${WRKSRC} && ${AUTOCONF})
+	(cd ${WRKSRC}/js/src/ && ${AUTOCONF})
+
 port-pre-install:
 #	${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
 	${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLISTF}

Modified: trunk/www/firefox3-devel/distinfo
==============================================================================
--- trunk/www/firefox3-devel/distinfo	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/distinfo	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,3 +1,3 @@
-MD5 (firefox-3.6a1.source.tar.bz2) = 15c4223c101c62d03a469f76593a343f
-SHA256 (firefox-3.6a1.source.tar.bz2) = 3e51fe3594bcf6f425740e9dcde930cff0f1e95f7ce2b60207fa6abc74cf29cc
-SIZE (firefox-3.6a1.source.tar.bz2) = 44933567
+MD5 (firefox-3.6b4.source.tar.bz2) = 770d0a33e4e2ceb52017c59d98c4d28c
+SHA256 (firefox-3.6b4.source.tar.bz2) = b4d371cc4abf3df36c8cb9738b35ad8d3c4ff57d31c00085a29141fff4c407d7
+SIZE (firefox-3.6b4.source.tar.bz2) = 48323922

Deleted: trunk/www/firefox3-devel/files/patch-configure
==============================================================================
--- trunk/www/firefox3-devel/files/patch-configure	Sun Dec 13 12:52:33 2009	(r197)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,11 +0,0 @@
---- configure.orig	2009-07-24 11:36:04.000000000 +0200
-+++ configure	2009-07-24 11:36:16.000000000 +0200
-@@ -5502,7 +5502,7 @@
-     CPU_ARCH=sparc
-     ;;
- 
--x86_64 | ia64)
-+amd64 | x86_64 | ia64)
-     CPU_ARCH="$OS_TEST"
-     ;;
- esac

Added: trunk/www/firefox3-devel/files/patch-configure.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-configure.in	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,11 @@
+--- configure.in.orig	2009-10-03 20:24:11.000000000 +0200
++++ configure.in	2009-10-03 20:24:43.000000000 +0200
+@@ -1352,7 +1352,7 @@
+     CPU_ARCH=sparc
+     ;;
+ 
+-x86_64 | ia64)
++amd64 | x86_64 | ia64)
+     CPU_ARCH="$OS_TEST"
+     ;;
+ 

Added: trunk/www/firefox3-devel/files/patch-content-xslt-public-txDouble.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-content-xslt-public-txDouble.h	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,11 @@
+--- content/xslt/public/txDouble.h.orig	2009-08-16 21:46:27.000000000 +0200
++++ content/xslt/public/txDouble.h	2009-08-16 21:49:53.000000000 +0200
+@@ -43,7 +43,7 @@
+ //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+ #ifdef __FreeBSD__
+ #include <ieeefp.h>
+-#ifdef __alpha__
++#if !defined(__amd64__) && !defined(__i386__)
+ static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+ #else
+ static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;

Added: trunk/www/firefox3-devel/files/patch-gfx__thebes__src__gfxPangoFonts.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-gfx__thebes__src__gfxPangoFonts.cpp	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,599 @@
+--- ./gfx/thebes/src/gfxPangoFonts.cpp.orig	2009-12-09 10:17:48.872850998 +0100
++++ ./gfx/thebes/src/gfxPangoFonts.cpp	2009-12-09 10:22:14.745686512 +0100
+@@ -56,8 +56,6 @@
+ #include "gfxContext.h"
+ #include "gfxPlatformGtk.h"
+ #include "gfxPangoFonts.h"
+-#include "gfxFT2FontBase.h"
+-#include "gfxFT2Utils.h"
+ #include "gfxFontconfigUtils.h"
+ #include "gfxUserFontSet.h"
+ 
+@@ -128,6 +126,21 @@
+ #define FC_FULLNAME "fullname"
+ #endif
+ 
++// Rounding and truncation functions for a FreeType fixed point number 
++// (FT26Dot6) stored in a 32bit integer with high 26 bits for the integer
++// part and low 6 bits for the fractional part. 
++#define FLOAT_FROM_26_6(x) ((x) / 64.0)
++#define FLOAT_FROM_16_16(x) ((x) / 65536.0)
++#define ROUND_26_6_TO_INT(x) ((x) >= 0 ?  ((32 + (x)) >> 6) \
++                                       : -((32 - (x)) >> 6))
++// aScale is intended for a 16.16 x/y_scale of an FT_Size_Metrics
++static inline FT_Long
++ScaleRoundDesignUnits(FT_Short aDesignMetric, FT_Fixed aScale)
++{
++    FT_Long fixed26dot6 = FT_MulFix(aDesignMetric, aScale);
++    return ROUND_26_6_TO_INT(fixed26dot6);
++}
++
+ static PRFuncPtr
+ FindFunctionSymbol(const char *name)
+ {
+@@ -506,19 +519,84 @@
+  * cairo_scaled_font created from an FcPattern.
+  */
+ 
+-class gfxFcFont : public gfxFT2FontBase {
++class gfxFcFont : public gfxFont {
+ public:
+     virtual ~gfxFcFont ();
+     static already_AddRefed<gfxFcFont> GetOrMakeFont(FcPattern *aPattern);
+ 
++    virtual const gfxFont::Metrics& GetMetrics();
++
++    virtual nsString GetUniqueName();
++
++    // Get the glyphID of a space
++    virtual PRUint32 GetSpaceGlyph() {
++        NS_ASSERTION(GetStyle()->size != 0,
++                     "forgot to short-circuit a text run with zero-sized font?");
++        GetMetrics();
++        return mSpaceGlyph;
++    }
++
++    cairo_scaled_font_t *CairoScaledFont() { return mCairoFont; }
++    PRUint32 GetGlyph(PRUint32 aCharCode);
++    void GetGlyphExtents(PRUint32 aGlyph, cairo_text_extents_t* aExtents);
++
+ protected:
++    cairo_scaled_font_t *mCairoFont;
++
++    PRUint32 mSpaceGlyph;
++    Metrics mMetrics;
++    PRPackedBool mHasMetrics;
++
+     gfxFcFont(cairo_scaled_font_t *aCairoFont,
+               gfxFontEntry *aFontEntry, const gfxFontStyle *aFontStyle);
+ 
++    virtual PRBool SetupCairoFont(gfxContext *aContext);
++
+     // key for locating a gfxFcFont corresponding to a cairo_scaled_font
+     static cairo_user_data_key_t sGfxFontKey;
+ };
+ 
++class LockedFTFace {
++public:
++    LockedFTFace(gfxFcFont *aFont)
++        : mGfxFont(aFont),
++          mFace(cairo_ft_scaled_font_lock_face(aFont->CairoScaledFont()))
++    {
++    }
++
++    ~LockedFTFace()
++    {
++        if (mFace) {
++            cairo_ft_scaled_font_unlock_face(mGfxFont->CairoScaledFont());
++        }
++    }
++
++    FT_Face get()
++    {
++        return mFace;
++    }
++
++    /**
++     * Get the glyph id for a Unicode character representable by a single
++     * glyph, or return zero if there is no such glyph.  This does no caching,
++     * so you probably want gfxFcFont::GetGlyph.
++     */
++    PRUint32 GetGlyph(PRUint32 aCharCode);
++
++    void GetMetrics(gfxFont::Metrics* aMetrics, PRUint32* aSpaceGlyph);
++
++private:
++    /**
++     * Get extents for a simple character representable by a single glyph.
++     * The return value is the glyph id of that glyph or zero if no such glyph
++     * exists.  aExtents is only set when this returns a non-zero glyph id.
++     */
++    PRUint32 GetCharExtents(char aChar, cairo_text_extents_t* aExtents);
++
++    nsRefPtr<gfxFcFont> mGfxFont;
++    FT_Face mFace;
++};
++
+ /**
+  * gfxPangoFcFont:
+  *
+@@ -2029,14 +2107,18 @@
+ gfxFcFont::gfxFcFont(cairo_scaled_font_t *aCairoFont,
+                      gfxFontEntry *aFontEntry,
+                      const gfxFontStyle *aFontStyle)
+-    : gfxFT2FontBase(aCairoFont, aFontEntry, aFontStyle)
++    : gfxFont(aFontEntry, aFontStyle),
++      mCairoFont(aCairoFont),
++      mHasMetrics(PR_FALSE)
+ {
+-    cairo_scaled_font_set_user_data(mScaledFont, &sGfxFontKey, this, NULL);
++    cairo_scaled_font_reference(mCairoFont);
++    cairo_scaled_font_set_user_data(mCairoFont, &sGfxFontKey, this, NULL);
+ }
+ 
+ gfxFcFont::~gfxFcFont()
+ {
+-    cairo_scaled_font_set_user_data(mScaledFont, &sGfxFontKey, NULL, NULL);
++    cairo_scaled_font_set_user_data(mCairoFont, &sGfxFontKey, NULL, NULL);
++    cairo_scaled_font_destroy(mCairoFont);
+ }
+ 
+ /* static */ void
+@@ -2129,7 +2211,7 @@
+         if (!font)
+             return NULL;
+ 
+-        gfxFT2LockedFace face(font);
++        LockedFTFace face(font);
+         if (!face.get())
+             return NULL;
+ 
+@@ -2320,6 +2402,400 @@
+     return fontSet;
+ }
+ 
++PRUint32
++gfxFcFont::GetGlyph(PRUint32 aCharCode)
++{
++    // FcFreeTypeCharIndex needs to lock the FT_Face and can end up searching
++    // through all the postscript glyph names in the font.  Therefore use a
++    // lightweight cache, which is stored on the cairo_font_face_t.
++
++    cairo_font_face_t *face =
++        cairo_scaled_font_get_font_face(CairoScaledFont());
++
++    if (cairo_font_face_status(face) != CAIRO_STATUS_SUCCESS)
++        return 0;
++
++    // This cache algorithm and size is based on what is done in
++    // cairo_scaled_font_text_to_glyphs and pango_fc_font_real_get_glyph.  I
++    // think the concept is that adjacent characters probably come mostly from
++    // one Unicode block.  This assumption is probably not so valid with
++    // scripts with large character sets as used for East Asian languages.
++
++    struct CmapCacheSlot {
++        PRUint32 mCharCode;
++        PRUint32 mGlyphIndex;
++    };
++    const PRUint32 kNumSlots = 256;
++    static cairo_user_data_key_t sCmapCacheKey;
++
++    CmapCacheSlot *slots = static_cast<CmapCacheSlot*>
++        (cairo_font_face_get_user_data(face, &sCmapCacheKey));
++
++    if (!slots) {
++        // cairo's caches can keep some cairo_font_faces alive past our last
++        // destroy, so the destroy function (free) for the cache must be
++        // callable from cairo without any assumptions about what other
++        // modules have not been shutdown.
++        slots = static_cast<CmapCacheSlot*>
++            (calloc(kNumSlots, sizeof(CmapCacheSlot)));
++        if (!slots)
++            return 0;
++
++        cairo_status_t status =
++            cairo_font_face_set_user_data(face, &sCmapCacheKey, slots, free);
++        if (status != CAIRO_STATUS_SUCCESS) { // OOM
++            free(slots);
++            return 0;
++        }
++
++        // Invalidate slot 0 by setting its char code to something that would
++        // never end up in slot 0.  All other slots are already invalid
++        // because they have mCharCode = 0 and a glyph for char code 0 will
++        // always be in the slot 0.
++        slots[0].mCharCode = 1;
++    }
++
++    CmapCacheSlot *slot = &slots[aCharCode % kNumSlots];
++    if (slot->mCharCode != aCharCode) {
++        slot->mCharCode = aCharCode;
++        slot->mGlyphIndex = LockedFTFace(this).GetGlyph(aCharCode);
++    }
++
++    return slot->mGlyphIndex;
++}
++
++void
++gfxFcFont::GetGlyphExtents(PRUint32 aGlyph, cairo_text_extents_t* aExtents)
++{
++    NS_PRECONDITION(aExtents != NULL, "aExtents must not be NULL");
++
++    cairo_glyph_t glyphs[1];
++    glyphs[0].index = aGlyph;
++    glyphs[0].x = 0.0;
++    glyphs[0].y = 0.0;
++    // cairo does some caching for us here but perhaps a small gain could be
++    // made by caching more.  It is usually only the advance that is needed,
++    // so caching only the advance could allow many requests to be cached with
++    // little memory use.  Ideally this cache would be merged with
++    // gfxGlyphExtents.
++    cairo_scaled_font_glyph_extents(CairoScaledFont(), glyphs, 1, aExtents);
++}
++
++PRUint32
++LockedFTFace::GetGlyph(PRUint32 aCharCode)
++{
++    if (NS_UNLIKELY(!mFace))
++        return 0;
++
++    // FcFreeTypeCharIndex will search starting from the most recently
++    // selected charmap.  This can cause non-determistic behavior when more
++    // than one charmap supports a character but with different glyphs, as
++    // with older versions of MS Gothic, for example.  Always prefer a Unicode
++    // charmap, if there is one.  (FcFreeTypeCharIndex usually does the
++    // appropriate Unicode conversion, but some fonts have non-Roman glyphs
++    // for FT_ENCODING_APPLE_ROMAN characters.)
++    if (!mFace->charmap || mFace->charmap->encoding != FT_ENCODING_UNICODE) {
++        FT_Select_Charmap(mFace, FT_ENCODING_UNICODE);
++    }
++
++    return FcFreeTypeCharIndex(mFace, aCharCode);
++}
++
++PRUint32
++LockedFTFace::GetCharExtents(char aChar,
++                             cairo_text_extents_t* aExtents)
++{
++    NS_PRECONDITION(aExtents != NULL, "aExtents must not be NULL");
++
++    if (!mFace)
++        return 0;
++
++    FT_UInt gid = mGfxFont->GetGlyph(aChar);
++    if (gid) {
++        mGfxFont->GetGlyphExtents(gid, aExtents);
++    }
++
++    return gid;
++}
++
++// Snap a line to pixels while keeping the center and size of the line as
++// close to the original position as possible.
++//
++// Pango does similar snapping for underline and strikethrough when fonts are
++// hinted, but nsCSSRendering::GetTextDecorationRectInternal always snaps the
++// top and size of lines.  Optimizing the distance between the line and
++// baseline is probably good for the gap between text and underline, but
++// optimizing the center of the line is better for positioning strikethough.
++static void
++SnapLineToPixels(gfxFloat& aOffset, gfxFloat& aSize)
++{
++    gfxFloat snappedSize = PR_MAX(NS_floor(aSize + 0.5), 1.0);
++    // Correct offset for change in size
++    gfxFloat offset = aOffset - 0.5 * (aSize - snappedSize);
++    // Snap offset
++    aOffset = NS_floor(offset + 0.5);
++    aSize = snappedSize;
++}
++
++void
++LockedFTFace::GetMetrics(gfxFont::Metrics* aMetrics, PRUint32* aSpaceGlyph)
++{
++    NS_PRECONDITION(aMetrics != NULL, "aMetrics must not be NULL");
++    NS_PRECONDITION(aSpaceGlyph != NULL, "aSpaceGlyph must not be NULL");
++
++    if (NS_UNLIKELY(!mFace)) {
++        // No face.  This unfortunate situation might happen if the font
++        // file is (re)moved at the wrong time.
++        aMetrics->emHeight = mGfxFont->GetStyle()->size;
++        aMetrics->emAscent = 0.8 * aMetrics->emHeight;
++        aMetrics->emDescent = 0.2 * aMetrics->emHeight;
++        aMetrics->maxAscent = aMetrics->emAscent;
++        aMetrics->maxDescent = aMetrics->maxDescent;
++        aMetrics->maxHeight = aMetrics->emHeight;
++        aMetrics->internalLeading = 0.0;
++        aMetrics->externalLeading = 0.2 * aMetrics->emHeight;
++        aSpaceGlyph = 0;
++        aMetrics->spaceWidth = 0.5 * aMetrics->emHeight;
++        aMetrics->maxAdvance = aMetrics->spaceWidth;
++        aMetrics->aveCharWidth = aMetrics->spaceWidth;
++        aMetrics->zeroOrAveCharWidth = aMetrics->spaceWidth;
++        aMetrics->xHeight = 0.5 * aMetrics->emHeight;
++        aMetrics->underlineSize = aMetrics->emHeight / 14.0;
++        aMetrics->underlineOffset = -aMetrics->underlineSize;
++        aMetrics->strikeoutOffset = 0.25 * aMetrics->emHeight;
++        aMetrics->strikeoutSize = aMetrics->underlineSize;
++        aMetrics->superscriptOffset = aMetrics->xHeight;
++        aMetrics->subscriptOffset = aMetrics->xHeight;
++
++        return;
++    }
++
++    const FT_Size_Metrics& ftMetrics = mFace->size->metrics;
++
++    gfxFloat emHeight;
++    // Scale for vertical design metric conversion: pixels per design unit.
++    gfxFloat yScale;
++    if (FT_IS_SCALABLE(mFace)) {
++        // Prefer FT_Size_Metrics::x_scale to x_ppem as x_ppem does not
++        // have subpixel accuracy.
++        //
++        // FT_Size_Metrics::y_scale is in 16.16 fixed point format.  Its
++        // (fractional) value is a factor that converts vertical metrics from
++        // design units to units of 1/64 pixels, so that the result may be
++        // interpreted as pixels in 26.6 fixed point format.
++        yScale = FLOAT_FROM_26_6(FLOAT_FROM_16_16(ftMetrics.y_scale));
++        emHeight = mFace->units_per_EM * yScale;
++    } else { // Not scalable.
++        // FT_Size_Metrics doc says x_scale is "only relevant for scalable
++        // font formats".
++        gfxFloat emUnit = mFace->units_per_EM;
++        emHeight = ftMetrics.y_ppem;
++        yScale = emHeight / emUnit;
++    }
++
++    TT_OS2 *os2 =
++        static_cast<TT_OS2*>(FT_Get_Sfnt_Table(mFace, ft_sfnt_os2));
++
++    aMetrics->maxAscent = FLOAT_FROM_26_6(ftMetrics.ascender);
++    aMetrics->maxDescent = -FLOAT_FROM_26_6(ftMetrics.descender);
++    aMetrics->maxAdvance = FLOAT_FROM_26_6(ftMetrics.max_advance);
++
++    gfxFloat lineHeight;
++    if (os2 && os2->sTypoAscender) {
++        aMetrics->emAscent = os2->sTypoAscender * yScale;
++        aMetrics->emDescent = -os2->sTypoDescender * yScale;
++        FT_Short typoHeight =
++            os2->sTypoAscender - os2->sTypoDescender + os2->sTypoLineGap;
++        lineHeight = typoHeight * yScale;
++
++        // maxAscent/maxDescent get used for frame heights, and some fonts
++        // don't have the HHEA table ascent/descent set (bug 279032).
++        if (aMetrics->emAscent > aMetrics->maxAscent)
++            aMetrics->maxAscent = aMetrics->emAscent;
++        if (aMetrics->emDescent > aMetrics->maxDescent)
++            aMetrics->maxDescent = aMetrics->emDescent;
++    } else {
++        aMetrics->emAscent = aMetrics->maxAscent;
++        aMetrics->emDescent = aMetrics->maxDescent;
++        lineHeight = FLOAT_FROM_26_6(ftMetrics.height);
++    }
++
++    cairo_text_extents_t extents;
++    *aSpaceGlyph = GetCharExtents(' ', &extents);
++    if (*aSpaceGlyph) {
++        aMetrics->spaceWidth = extents.x_advance;
++    } else {
++        aMetrics->spaceWidth = aMetrics->maxAdvance; // guess
++    }
++
++    aMetrics->zeroOrAveCharWidth = 0.0;
++    if (GetCharExtents('0', &extents)) {
++        aMetrics->zeroOrAveCharWidth = extents.x_advance;
++    }
++
++    // Prefering a measured x over sxHeight because sxHeight doesn't consider
++    // hinting, but maybe the x extents are not quite right in some fancy
++    // script fonts.  CSS 2.1 suggests possibly using the height of an "o",
++    // which would have a more consistent glyph across fonts.
++    if (GetCharExtents('x', &extents) && extents.y_bearing < 0.0) {
++        aMetrics->xHeight = -extents.y_bearing;
++        aMetrics->aveCharWidth = extents.x_advance;
++    } else {
++        if (os2 && os2->sxHeight) {
++            aMetrics->xHeight = os2->sxHeight * yScale;
++        } else {
++            // CSS 2.1, section 4.3.2 Lengths: "In the cases where it is
++            // impossible or impractical to determine the x-height, a value of
++            // 0.5em should be used."
++            aMetrics->xHeight = 0.5 * emHeight;
++        }
++        aMetrics->aveCharWidth = 0.0; // updated below
++    }
++    // aveCharWidth is used for the width of text input elements so be
++    // liberal rather than conservative in the estimate.
++    if (os2 && os2->xAvgCharWidth) {
++        // Round to pixels as this is compared with maxAdvance to guess
++        // whether this is a fixed width font.
++        gfxFloat avgCharWidth =
++            ScaleRoundDesignUnits(os2->xAvgCharWidth, ftMetrics.x_scale);
++        aMetrics->aveCharWidth =
++            PR_MAX(aMetrics->aveCharWidth, avgCharWidth);
++    }
++    aMetrics->aveCharWidth =
++        PR_MAX(aMetrics->aveCharWidth, aMetrics->zeroOrAveCharWidth);
++    if (aMetrics->aveCharWidth == 0.0) {
++        aMetrics->aveCharWidth = aMetrics->spaceWidth;
++    }
++    if (aMetrics->zeroOrAveCharWidth == 0.0) {
++        aMetrics->zeroOrAveCharWidth = aMetrics->aveCharWidth;
++    }
++    // Apparently hinting can mean that max_advance is not always accurate.
++    aMetrics->maxAdvance =
++        PR_MAX(aMetrics->maxAdvance, aMetrics->aveCharWidth);
++
++    // gfxFont::Metrics::underlineOffset is the position of the top of the
++    // underline.
++    //
++    // FT_FaceRec documentation describes underline_position as "the
++    // center of the underlining stem".  This was the original definition
++    // of the PostScript metric, but in the PostScript table of OpenType
++    // fonts the metric is "the top of the underline"
++    // (http://www.microsoft.com/typography/otspec/post.htm), and FreeType
++    // (up to version 2.3.7) doesn't make any adjustment.
++    //
++    // Therefore get the underline position directly from the table
++    // ourselves when this table exists.  Use FreeType's metrics for
++    // other (including older PostScript) fonts.
++    if (mFace->underline_position && mFace->underline_thickness) {
++        aMetrics->underlineSize = mFace->underline_thickness * yScale;
++        TT_Postscript *post = static_cast<TT_Postscript*>
++            (FT_Get_Sfnt_Table(mFace, ft_sfnt_post));
++        if (post && post->underlinePosition) {
++            aMetrics->underlineOffset = post->underlinePosition * yScale;
++        } else {
++            aMetrics->underlineOffset = mFace->underline_position * yScale
++                + 0.5 * aMetrics->underlineSize;
++        }
++    } else { // No underline info.
++        // Imitate Pango.
++        aMetrics->underlineSize = emHeight / 14.0;
++        aMetrics->underlineOffset = -aMetrics->underlineSize;
++    }
++
++    if (os2 && os2->yStrikeoutSize && os2->yStrikeoutPosition) {
++        aMetrics->strikeoutSize = os2->yStrikeoutSize * yScale;
++        aMetrics->strikeoutOffset = os2->yStrikeoutPosition * yScale;
++    } else { // No strikeout info.
++        aMetrics->strikeoutSize = aMetrics->underlineSize;
++        // Use OpenType spec's suggested position for Roman font.
++        aMetrics->strikeoutOffset = emHeight * 409.0 / 2048.0
++            + 0.5 * aMetrics->strikeoutSize;
++    }
++    SnapLineToPixels(aMetrics->strikeoutOffset, aMetrics->strikeoutSize);
++
++    if (os2 && os2->ySuperscriptYOffset) {
++        gfxFloat val = ScaleRoundDesignUnits(os2->ySuperscriptYOffset,
++                                             ftMetrics.y_scale);
++        aMetrics->superscriptOffset = PR_MAX(1.0, val);
++    } else {
++        aMetrics->superscriptOffset = aMetrics->xHeight;
++    }
++    
++    if (os2 && os2->ySubscriptYOffset) {
++        gfxFloat val = ScaleRoundDesignUnits(os2->ySubscriptYOffset,
++                                             ftMetrics.y_scale);
++        // some fonts have the incorrect sign. 
++        val = fabs(val);
++        aMetrics->subscriptOffset = PR_MAX(1.0, val);
++    } else {
++        aMetrics->subscriptOffset = aMetrics->xHeight;
++    }
++
++    aMetrics->maxHeight = aMetrics->maxAscent + aMetrics->maxDescent;
++
++    // Make the line height an integer number of pixels so that lines will be
++    // equally spaced (rather than just being snapped to pixels, some up and
++    // some down).  Layout calculates line height from the emHeight +
++    // internalLeading + externalLeading, but first each of these is rounded
++    // to layout units.  To ensure that the result is an integer number of
++    // pixels, round each of the components to pixels.
++    aMetrics->emHeight = NS_floor(emHeight + 0.5);
++
++    // maxHeight will normally be an integer, but round anyway in case
++    // FreeType is configured differently.
++    aMetrics->internalLeading =
++        NS_floor(aMetrics->maxHeight - aMetrics->emHeight + 0.5);
++
++    // Text input boxes currently don't work well with lineHeight
++    // significantly less than maxHeight (with Verdana, for example).
++    lineHeight = NS_floor(PR_MAX(lineHeight, aMetrics->maxHeight) + 0.5);
++    aMetrics->externalLeading =
++        lineHeight - aMetrics->internalLeading - aMetrics->emHeight;
++
++    // Ensure emAscent + emDescent == emHeight
++    gfxFloat sum = aMetrics->emAscent + aMetrics->emDescent;
++    aMetrics->emAscent = sum > 0.0 ?
++        aMetrics->emAscent * aMetrics->emHeight / sum : 0.0;
++    aMetrics->emDescent = aMetrics->emHeight - aMetrics->emAscent;
++}
++
++const gfxFont::Metrics&
++gfxFcFont::GetMetrics()
++{
++    if (mHasMetrics)
++        return mMetrics;
++
++    if (NS_UNLIKELY(GetStyle()->size <= 0.0)) {
++        new(&mMetrics) gfxFont::Metrics(); // zero initialize
++        mSpaceGlyph = 0;
++    } else {
++        LockedFTFace(this).GetMetrics(&mMetrics, &mSpaceGlyph);
++    }
++
++    SanitizeMetrics(&mMetrics, PR_FALSE);
++
++#if 0
++    //    printf("font name: %s %f\n", NS_ConvertUTF16toUTF8(GetName()).get(), GetStyle()->size);
++    //    printf ("pango font %s\n", pango_font_description_to_string (pango_font_describe (font)));
++
++    fprintf (stderr, "Font: %s\n", NS_ConvertUTF16toUTF8(GetName()).get());
++    fprintf (stderr, "    emHeight: %f emAscent: %f emDescent: %f\n", mMetrics.emHeight, mMetrics.emAscent, mMetrics.emDescent);
++    fprintf (stderr, "    maxAscent: %f maxDescent: %f\n", mMetrics.maxAscent, mMetrics.maxDescent);
++    fprintf (stderr, "    internalLeading: %f externalLeading: %f\n", mMetrics.externalLeading, mMetrics.internalLeading);
++    fprintf (stderr, "    spaceWidth: %f aveCharWidth: %f xHeight: %f\n", mMetrics.spaceWidth, mMetrics.aveCharWidth, mMetrics.xHeight);
++    fprintf (stderr, "    uOff: %f uSize: %f stOff: %f stSize: %f suOff: %f suSize: %f\n", mMetrics.underlineOffset, mMetrics.underlineSize, mMetrics.strikeoutOffset, mMetrics.strikeoutSize, mMetrics.superscriptOffset, mMetrics.subscriptOffset);
++#endif
++
++    mHasMetrics = PR_TRUE;
++    return mMetrics;
++}
++
++nsString
++gfxFcFont::GetUniqueName()
++{
++    return GetName();
++}
++
+ /**
+  ** gfxTextRun
+  * 
+@@ -2637,6 +3113,47 @@
+     return scaledFont;
+ }
+ 
++PRBool
++gfxFcFont::SetupCairoFont(gfxContext *aContext)
++{
++    cairo_t *cr = aContext->GetCairo();
++
++    // The scaled font ctm is not relevant right here because
++    // cairo_set_scaled_font does not record the scaled font itself, but
++    // merely the font_face, font_matrix, font_options.  The scaled_font used
++    // for the target can be different from the scaled_font passed to
++    // cairo_set_scaled_font.  (Unfortunately we have measured only for an
++    // identity ctm.)
++    cairo_scaled_font_t *cairoFont = CairoScaledFont();
++
++    if (cairo_scaled_font_status(cairoFont) != CAIRO_STATUS_SUCCESS) {
++        // Don't cairo_set_scaled_font as that would propagate the error to
++        // the cairo_t, precluding any further drawing.
++        return PR_FALSE;
++    }
++    // Thoughts on which font_options to set on the context:
++    //
++    // cairoFont has been created for screen rendering.
++    //
++    // When the context is being used for screen rendering, we should set
++    // font_options such that the same scaled_font gets used (when the ctm is
++    // the same).  The use of explicit font_options recorded in
++    // CreateScaledFont ensures that this will happen.
++    //
++    // XXXkt: For pdf and ps surfaces, I don't know whether it's better to
++    // remove surface-specific options, or try to draw with the same
++    // scaled_font that was used to measure.  As the same font_face is being
++    // used, its font_options will often override some values anyway (unless
++    // perhaps we remove those from the FcPattern at face creation).
++    //
++    // I can't see any significant difference in printing, irrespective of
++    // what is set here.  It's too late to change things here as measuring has
++    // already taken place.  We should really be measuring with a different
++    // font for pdf and ps surfaces (bug 403513).
++    cairo_set_scaled_font(cr, cairoFont);
++    return PR_TRUE;
++}
++
+ static void
+ SetupClusterBoundaries(gfxTextRun* aTextRun, const gchar *aUTF8, PRUint32 aUTF8Length,
+                        PRUint32 aUTF16Offset, PangoAnalysis *aAnalysis)

Added: trunk/www/firefox3-devel/files/patch-js-src-configure.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-js-src-configure.in	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,13 @@
+--- js/src/configure.in.orig	2009-09-21 00:26:58.000000000 +0200
++++ js/src/configure.in	2009-10-08 07:00:27.000000000 +0200
+@@ -2456,10 +2456,6 @@
+     ENABLE_JIT=1
+     NANOJIT_ARCH=ARM
+     ;;
+-sparc*-*)
+-    ENABLE_JIT=1
+-    NANOJIT_ARCH=Sparc
+-    ;;
+ esac
+ 
+ MOZ_ARG_DISABLE_BOOL(jit,

Added: trunk/www/firefox3-devel/files/patch-js-src-jslock.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-js-src-jslock.cpp	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,18 @@
+--- js/src/jslock.cpp.orig	2009-10-07 20:15:38.000000000 +0200
++++ js/src/jslock.cpp	2009-10-07 21:36:14.000000000 +0200
+@@ -160,8 +160,13 @@
+     unsigned int res;
+ 
+     __asm__ __volatile__ (
+-                  "stbar\n"
+-                  "cas [%1],%2,%3\n"
++                  "membar #StoreLoad | #LoadLoad\n"
++#                 if defined (__sparc64__)
++                    "casx [%1],%2,%3\n"
++#                 else
++                    "cas [%1],%2,%3\n" /* 32-bit version */
++#                 endif
++                  "membar #StoreLoad | #LoadLoad\n"
+                   "cmp %2,%3\n"
+                   "be,a 1f\n"
+                   "mov 1,%0\n"

Modified: trunk/www/firefox3-devel/files/patch-js_src_jsnum.cpp
==============================================================================
--- trunk/www/firefox3-devel/files/patch-js_src_jsnum.cpp	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/files/patch-js_src_jsnum.cpp	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,16 +1,16 @@
---- js/src/jsnum.cpp.orig	2009-04-28 11:19:57.888134991 +0000
-+++ js/src/jsnum.cpp	2009-04-28 11:21:35.786147448 +0000
-@@ -45,6 +45,9 @@
- #if defined(XP_WIN) || defined(XP_OS2)
- #include <float.h>
- #endif
+--- js/src/jsnum.cpp.orig	2009-10-14 18:03:30.000000000 +0200
++++ js/src/jsnum.cpp	2009-10-15 21:49:44.000000000 +0200
+@@ -43,6 +43,9 @@
+ /*
+  * JS number type and wrapper class.
+  */
 +#if defined(__FreeBSD__)
 +#include <sys/param.h>
 +#endif
  #ifdef XP_OS2
  #define _PC_53  PC_53
  #define _MCW_EM MCW_EM
-@@ -659,8 +662,16 @@
+@@ -691,8 +694,16 @@
  
  #else
  

Added: trunk/www/firefox3-devel/files/patch-media-libsydneyaudio-include-sydney_audio.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-media-libsydneyaudio-include-sydney_audio.h	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,11 @@
+--- media/libsydneyaudio/include/sydney_audio.h.orgi	2009-04-10 12:24:01.000000000 +0200
++++ media/libsydneyaudio/include/sydney_audio.h	2009-04-10 12:24:30.000000000 +0200
+@@ -73,7 +73,7 @@
+ #   endif
+ #elif defined(WIN32)
+ #   define SA_LITTLE_ENDIAN 1
+-#elif defined(__APPLE__)
++#elif defined(__APPLE__) || defined(__FreeBSD__)
+ #   if defined(__BIG_ENDIAN__)
+ #       define SA_BIG_ENDIAN 1
+ #   else

Deleted: trunk/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h
==============================================================================
--- trunk/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h	Sun Dec 13 12:52:33 2009	(r197)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,11 +0,0 @@
---- media/libsydneyaudio/include/sydney_audio.h.orgi	2009-04-10 12:24:01.000000000 +0200
-+++ media/libsydneyaudio/include/sydney_audio.h	2009-04-10 12:24:30.000000000 +0200
-@@ -73,7 +73,7 @@
- #   endif
- #elif defined(WIN32)
- #   define SA_LITTLE_ENDIAN 1
--#elif defined(__APPLE__)
-+#elif defined(__APPLE__) || defined(__FreeBSD__)
- #   if defined(__BIG_ENDIAN__)
- #       define SA_BIG_ENDIAN 1
- #   else

Deleted: trunk/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h
==============================================================================
--- trunk/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h	Sun Dec 13 12:52:33 2009	(r197)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,11 +0,0 @@
---- media/liboggplay/src/liboggplay/std_semaphore.h.orig	2009-04-24 01:46:48.000000000 +0000
-+++ media/liboggplay/src/liboggplay/std_semaphore.h	2009-04-28 08:39:25.739957779 +0000
-@@ -74,7 +74,7 @@
-  * @retval non-zero on error 
-  */
- 
--#if defined(linux) || defined(SOLARIS)
-+#if defined(linux) || defined(SOLARIS) || defined(__FreeBSD__)
- #include <semaphore.h>
- #define SEM_CREATE(p,s) sem_init(&(p), 1, s)
- #define SEM_SIGNAL(p)   sem_post(&(p))

Modified: trunk/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
==============================================================================
--- trunk/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,19 +1,31 @@
---- security/coreconf/FreeBSD.mk.orig	2008-07-06 00:10:00.000000000 -0500
-+++ security/coreconf/FreeBSD.mk	2008-07-06 00:12:34.000000000 -0500
-@@ -45,8 +45,12 @@
+--- security/coreconf/FreeBSD.mk.orig	2009-11-09 01:34:19.000000000 +0100
++++ security/coreconf/FreeBSD.mk	2009-11-11 18:15:55.000000000 +0100
+@@ -45,8 +45,24 @@
  ifeq ($(OS_TEST),alpha)
  CPU_ARCH		= alpha
  else
 +ifeq ($(OS_TEST),amd64)
 +CPU_ARCH		= amd64
++else 
++ifeq ($(OS_TEST),ia64) 
++CPU_ARCH		= ia64
++else
++ifeq ($(OS_TEST),powerpc)
++CPU_ARCH		= powerpc
++else
++ifeq ($(OS_TEST),sparc64)
++CPU_ARCH		= sparc64
 +else
  CPU_ARCH		= x86
  endif
 +endif
++endif
++endif
++endif
  
  OS_CFLAGS		= $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
  
-@@ -73,7 +77,7 @@
+@@ -73,7 +89,7 @@
  DLL_SUFFIX		= so.1.0
  endif
  
@@ -22,9 +34,9 @@
  ifdef MAPFILE
  	MKSHLIB += -Wl,--version-script,$(MAPFILE)
  endif
-@@ -82,4 +86,4 @@
+@@ -82,4 +98,4 @@
  
  G++INCLUDES		= -I/usr/include/g++
  
 -INCLUDES		+= -I/usr/X11R6/include
-+#INCLUDES		+= -I/usr/X11R6/include
++#INCLUDES		+= -I/usr/local/include

Modified: trunk/www/firefox3-devel/files/patch-toolkit_mozapps_update_src_updater_updater.cpp
==============================================================================
--- trunk/www/firefox3-devel/files/patch-toolkit_mozapps_update_src_updater_updater.cpp	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/files/patch-toolkit_mozapps_update_src_updater_updater.cpp	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,15 +1,15 @@
---- toolkit/mozapps/update/src/updater/updater.cpp.orig	2009-08-10 15:02:48.000000000 +0200
-+++ toolkit/mozapps/update/src/updater/updater.cpp	2009-08-11 11:02:01.000000000 +0200
-@@ -509,7 +509,7 @@
+--- toolkit/mozapps/update/src/updater/updater.cpp.orig	2009-09-16 04:41:19.000000000 +0200
++++ toolkit/mozapps/update/src/updater/updater.cpp	2009-09-18 01:49:47.000000000 +0200
+@@ -511,7 +511,7 @@
    struct stat ss;
  
    AutoFile sfile = NS_tfopen(spath, NS_T("rb"));
 -  if (sfile == NULL || fstat(fileno(sfile), &ss)) {
 +  if (sfile == NULL || fstat(fileno((FILE*)sfile), &ss)) {
-     LOG(("copy_file: failed to open or stat: %p," LOG_S ",%d\n", sfile, spath, errno));
+     LOG(("copy_file: failed to open or stat: %p," LOG_S ",%d\n", sfile.get(), spath, errno));
      return READ_ERROR;
    }
-@@ -1607,7 +1607,7 @@
+@@ -1660,7 +1660,7 @@
      return READ_ERROR;
  
    struct stat ms;

Added: trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-xptcprivate.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-xptcprivate.h	Sun Dec 13 12:52:33 2009	(r198)
@@ -0,0 +1,20 @@
+--- xpcom/reflect/xptcall/src/xptcprivate.h.orig	2009-11-09 21:43:49.000000000 -0800
++++ xpcom/reflect/xptcall/src/xptcprivate.h	2009-11-09 21:44:05.000000000 -0800
+@@ -45,7 +45,7 @@
+ 
+ class xptiInterfaceEntry;
+ 
+-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
++#if !defined(__ia64)
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n() = 0;
+ #else
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64) = 0;
+@@ -62,7 +62,7 @@
+ #undef STUB_ENTRY
+ #undef SENTINEL_ENTRY
+ 
+-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
++#if !defined(__ia64)
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n();
+ #else
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);

Modified: trunk/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
==============================================================================
--- trunk/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,16 +1,16 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig	2009-03-05 22:32:55.000000000 +0100
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in	2009-04-21 14:15:46.135700268 +0200
-@@ -70,6 +70,9 @@
- ifeq (Darwin,$(OS_ARCH))
+--- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig	2009-09-16 04:41:25.000000000 +0200
++++ xpcom/reflect/xptcall/src/md/unix/Makefile.in	2009-10-03 21:30:21.000000000 +0200
+@@ -73,6 +73,9 @@
  DEFINES		+= -DKEEP_STACK_16_BYTE_ALIGNED
+ CPPSRCS		:= xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
  endif
 +ifeq (x86_64,$(OS_TEST))
 +CPPSRCS		:= xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
 +endif
  endif
  endif
- #
-@@ -87,7 +90,7 @@
+ 
+@@ -96,7 +99,7 @@
  endif
  endif
  # IA64 Linux
@@ -19,20 +19,18 @@
  ifneq (,$(findstring ia64,$(OS_TEST)))
  CPPSRCS		:= xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
  ASFILES		:= xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -100,6 +103,12 @@
- CPPSRCS		:= xptcinvoke_amd64_openbsd.cpp xptcstubs_amd64_openbsd.cpp
- endif
+@@ -111,8 +114,8 @@
  #
-+# FreeBSD/amd64
-+#
+ # FreeBSD/amd64
+ #
+-ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDx86_64)
+-CPPSRCS		:= xptcinvoke_amd64_linux.cpp xptcstubs_amd64_linux.cpp
 +ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDamd64)
 +CPPSRCS         := xptcinvoke_amd64_openbsd.cpp xptcstubs_amd64_openbsd.cpp
-+endif
-+#
- # BeOS/Intel (uses the same unixish_x86 code)
+ endif
  #
- ifeq ($(OS_ARCH)$(OS_TEST),BeOSBePC)
-@@ -150,9 +159,15 @@
+ # BeOS/Intel (uses the same unixish_x86 code)
+@@ -165,9 +168,15 @@
  ASFILES		:= xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
  endif
  #
@@ -49,7 +47,7 @@
  CPPSRCS		:= xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
  endif
  #
-@@ -307,7 +322,7 @@
+@@ -322,7 +331,7 @@
  #
  # Linux/PPC
  #
@@ -58,7 +56,7 @@
  CPPSRCS		:= xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
  ASFILES		:= xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
  AS		:= $(CC) -c -x assembler-with-cpp
-@@ -385,6 +400,15 @@
+@@ -400,6 +409,15 @@
  ASFILES		:= xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
  endif
  #

Modified: trunk/www/firefox3/Makefile
==============================================================================
--- trunk/www/firefox3/Makefile	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox3/Makefile	Sun Dec 13 12:52:33 2009	(r198)
@@ -2,7 +2,7 @@
 # Date created:			2002/10/21
 # Whom:				Alan Eldridge <alane at FreeBSD.org>
 #
-# $FreeBSD: ports/www/firefox3/Makefile,v 1.28 2009/10/28 15:35:40 beat Exp $
+# $FreeBSD: ports/www/firefox3/Makefile,v 1.29 2009/12/12 15:17:06 beat Exp $
 #   $MCom: ports-stable/www/firefox3/Makefile,v 1.20 2008/12/31 01:52:03 mezz Exp $
 #
 
@@ -21,7 +21,7 @@
 
 LATEST_LINK=	firefox3
 USE_GECKO=	gecko
-CONFLICTS=	firefox-3.[1-5]*
+CONFLICTS=	firefox-3.[1-6]*
 MOZ_PKGCONFIG_FILES=	# empty
 USE_MOZILLA=	-png -nss -dbm -jpeg
 MOZILLA_NAME=	Firefox${MOZILLA_SUFX}

Modified: trunk/www/firefox35/Makefile
==============================================================================
--- trunk/www/firefox35/Makefile	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/firefox35/Makefile	Sun Dec 13 12:52:33 2009	(r198)
@@ -2,7 +2,7 @@
 # Date created:			2002/10/21
 # Whom:				Alan Eldridge <alane at FreeBSD.org>
 #
-# $FreeBSD: ports/www/firefox35/Makefile,v 1.183 2009/11/06 07:59:45 beat Exp $
+# $FreeBSD: ports/www/firefox35/Makefile,v 1.184 2009/12/12 15:17:06 beat Exp $
 #
 
 PORTNAME=	firefox
@@ -40,7 +40,7 @@
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 NO_MOZPKGINSTALL=yes
-CONFLICTS=	firefox-3.0.*
+CONFLICTS=	firefox-3.0.* firefox-3.6*
 
 FIREFOX_ICON=		${MOZILLA}.png
 FIREFOX_ICON_SRC=	${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png

Modified: trunk/www/linux-firefox-devel/Makefile
==============================================================================
--- trunk/www/linux-firefox-devel/Makefile	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/linux-firefox-devel/Makefile	Sun Dec 13 12:52:33 2009	(r198)
@@ -2,12 +2,11 @@
 # Date created:		8 May 2006
 # Whom:			Andrew Pantyukhin <infofarmer at FreeBSD.org>
 #
-# $FreeBSD: ports/www/linux-firefox-devel/Makefile,v 1.28 2009/10/10 20:21:31 miwi Exp $
+# $FreeBSD: ports/www/linux-firefox-devel/Makefile,v 1.29 2009/12/12 14:05:22 beat Exp $
 #
 
 PORTNAME=	firefox
-DISTVERSION=	3.0b2
-PORTREVISION=	1
+DISTVERSION=	3.5.5
 CATEGORIES=	www
 MASTER_SITE_SUBDIR?=	${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US
 PKGNAMESUFFIX=		-devel
@@ -17,7 +16,7 @@
 
 USE_BZIP2=	yes
 
-FORBIDDEN=	Security issues http://www.vuxml.org/freebsd/f29fea8f-b19f-11dd-a55e-00163e000016.html 
+USE_LINUX_APPS=	dbusglib dbuslibs alsalib
 
 .include "${.CURDIR}/../linux-seamonkey/Makefile.common"
 .include <bsd.port.mk>

Modified: trunk/www/linux-firefox-devel/distinfo
==============================================================================
--- trunk/www/linux-firefox-devel/distinfo	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/linux-firefox-devel/distinfo	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,3 +1,3 @@
-MD5 (firefox-3.0b2.tar.bz2) = ab0fe9d65d2b58e6af1e4080b6bd5508
-SHA256 (firefox-3.0b2.tar.bz2) = 03d4b0344c8298a9a408a857117d9eb6807077ae2e23c73c8237a96fae9bafb9
-SIZE (firefox-3.0b2.tar.bz2) = 8943135
+MD5 (firefox-3.5.5.tar.bz2) = c312a6f3d193398cd09d5b1ad9b5b974
+SHA256 (firefox-3.5.5.tar.bz2) = eada998a2279e1bffaa7f63b652a2a205c91450a1d67a22f0340a72826eb1387
+SIZE (firefox-3.5.5.tar.bz2) = 9924119

Modified: trunk/www/linux-firefox-devel/pkg-plist
==============================================================================
--- trunk/www/linux-firefox-devel/pkg-plist	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/linux-firefox-devel/pkg-plist	Sun Dec 13 12:52:33 2009	(r198)
@@ -1,7 +1,10 @@
 bin/%%APP_NAME%%
 share/applications/%%APP_NAME%%.desktop
 lib/%%APP_NAME%%/.autoreg
+lib/%%APP_NAME%%/README.txt
+lib/%%APP_NAME%%/Throbber-small.gif
 lib/%%APP_NAME%%/application.ini
+lib/%%APP_NAME%%/blocklist.xml
 lib/%%APP_NAME%%/browserconfig.properties
 lib/%%APP_NAME%%/chrome/browser.jar
 lib/%%APP_NAME%%/chrome/browser.manifest
@@ -11,7 +14,9 @@
 lib/%%APP_NAME%%/chrome/comm.manifest
 lib/%%APP_NAME%%/chrome/en-US.jar
 lib/%%APP_NAME%%/chrome/en-US.manifest
-lib/%%APP_NAME%%/chrome/icons/default/default.xpm
+lib/%%APP_NAME%%/chrome/icons/default/default16.png
+lib/%%APP_NAME%%/chrome/icons/default/default32.png
+lib/%%APP_NAME%%/chrome/icons/default/default48.png
 lib/%%APP_NAME%%/chrome/pippki.jar
 lib/%%APP_NAME%%/chrome/pippki.manifest
 lib/%%APP_NAME%%/chrome/reporter.jar
@@ -21,15 +26,24 @@
 lib/%%APP_NAME%%/components/FeedConverter.js
 lib/%%APP_NAME%%/components/FeedProcessor.js
 lib/%%APP_NAME%%/components/FeedWriter.js
+lib/%%APP_NAME%%/components/NetworkGeolocationProvider.js
 lib/%%APP_NAME%%/components/WebContentConverter.js
+lib/%%APP_NAME%%/components/aboutCertError.js
+lib/%%APP_NAME%%/components/aboutPrivateBrowsing.js
+lib/%%APP_NAME%%/components/aboutRights.js
+lib/%%APP_NAME%%/components/aboutRobots.js
+lib/%%APP_NAME%%/components/aboutSessionRestore.js
 lib/%%APP_NAME%%/components/browser.xpt
 lib/%%APP_NAME%%/components/fuelApplication.js
 lib/%%APP_NAME%%/components/jsconsole-clhandler.js
 lib/%%APP_NAME%%/components/libbrowsercomps.so
 lib/%%APP_NAME%%/components/libbrowserdirprovider.so
+lib/%%APP_NAME%%/components/libdbusservice.so
 lib/%%APP_NAME%%/components/libimgicon.so
 lib/%%APP_NAME%%/components/libmozgnome.so
 lib/%%APP_NAME%%/components/libnkgnomevfs.so
+lib/%%APP_NAME%%/components/nsAddonRepository.js
+lib/%%APP_NAME%%/components/nsBadCertHandler.js
 lib/%%APP_NAME%%/components/nsBlocklistService.js
 lib/%%APP_NAME%%/components/nsBrowserContentHandler.js
 lib/%%APP_NAME%%/components/nsBrowserGlue.js
@@ -46,10 +60,11 @@
 lib/%%APP_NAME%%/components/nsLoginManager.js
 lib/%%APP_NAME%%/components/nsLoginManagerPrompter.js
 lib/%%APP_NAME%%/components/nsMicrosummaryService.js
+lib/%%APP_NAME%%/components/nsPlacesDBFlush.js
 lib/%%APP_NAME%%/components/nsPlacesTransactionsService.js
+lib/%%APP_NAME%%/components/nsPrivateBrowsingService.js
 lib/%%APP_NAME%%/components/nsProxyAutoConfig.js
 lib/%%APP_NAME%%/components/nsSafebrowsingApplication.js
-lib/%%APP_NAME%%/components/nsScriptableIO.js
 lib/%%APP_NAME%%/components/nsSearchService.js
 lib/%%APP_NAME%%/components/nsSearchSuggestions.js
 lib/%%APP_NAME%%/components/nsSessionStartup.js
@@ -65,8 +80,10 @@
 lib/%%APP_NAME%%/components/nsWebHandlerApp.js
 lib/%%APP_NAME%%/components/pluginGlue.js
 lib/%%APP_NAME%%/components/storage-Legacy.js
+lib/%%APP_NAME%%/components/storage-mozStorage.js
 lib/%%APP_NAME%%/components/txEXSLTRegExFunctions.js
 lib/%%APP_NAME%%/crashreporter
+lib/%%APP_NAME%%/crashreporter-override.ini
 lib/%%APP_NAME%%/crashreporter.ini
 lib/%%APP_NAME%%/defaults/autoconfig/platform.js
 lib/%%APP_NAME%%/defaults/autoconfig/prefcalls.js
@@ -84,13 +101,6 @@
 lib/%%APP_NAME%%/defaults/profile/prefs.js
 lib/%%APP_NAME%%/dictionaries/en-US.aff
 lib/%%APP_NAME%%/dictionaries/en-US.dic
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/chrome.manifest
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/chrome/inspector.jar
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/components/inspector-cmdline.js
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/defaults/preferences/inspector.js
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/install.rdf
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux/chrome/icons/default/winInspectorMain.xpm
-lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux/chrome/icons/default/winInspectorMain16.xpm
 lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
 lib/%%APP_NAME%%/firefox
 lib/%%APP_NAME%%/firefox-bin
@@ -101,13 +111,16 @@
 lib/%%APP_NAME%%/icons/mozicon128.png
 lib/%%APP_NAME%%/icons/mozicon16.xpm
 lib/%%APP_NAME%%/icons/mozicon50.xpm
+lib/%%APP_NAME%%/icons/updater.png
 lib/%%APP_NAME%%/libfreebl3.chk
 lib/%%APP_NAME%%/libfreebl3.so
 lib/%%APP_NAME%%/libmozjs.so
 lib/%%APP_NAME%%/libnspr4.so
 lib/%%APP_NAME%%/libnss3.so
 lib/%%APP_NAME%%/libnssckbi.so
+lib/%%APP_NAME%%/libnssdbm3.chk
 lib/%%APP_NAME%%/libnssdbm3.so
+lib/%%APP_NAME%%/libnssutil3.so
 lib/%%APP_NAME%%/libplc4.so
 lib/%%APP_NAME%%/libplds4.so
 lib/%%APP_NAME%%/libsmime3.so
@@ -117,11 +130,19 @@
 lib/%%APP_NAME%%/libssl3.so
 lib/%%APP_NAME%%/libxpcom.so
 lib/%%APP_NAME%%/libxul.so
+lib/%%APP_NAME%%/modules/DownloadLastDir.jsm
+lib/%%APP_NAME%%/modules/DownloadUtils.jsm
 lib/%%APP_NAME%%/modules/ISO8601DateUtils.jsm
-lib/%%APP_NAME%%/modules/JSON.jsm
 lib/%%APP_NAME%%/modules/Microformats.js
+lib/%%APP_NAME%%/modules/PlacesDBUtils.jsm
+lib/%%APP_NAME%%/modules/PluralForm.jsm
+lib/%%APP_NAME%%/modules/SpatialNavigation.js
+lib/%%APP_NAME%%/modules/WindowDraggingUtils.jsm
 lib/%%APP_NAME%%/modules/XPCOMUtils.jsm
+lib/%%APP_NAME%%/modules/debug.js
 lib/%%APP_NAME%%/modules/distribution.js
+lib/%%APP_NAME%%/modules/openLocationLastURL.jsm
+lib/%%APP_NAME%%/modules/utils.js
 lib/%%APP_NAME%%/mozilla-xremote-client
 lib/%%APP_NAME%%/old-homepage-default.properties
 lib/%%APP_NAME%%/platform.ini
@@ -133,12 +154,10 @@
 lib/%%APP_NAME%%/res/broken-image.gif
 lib/%%APP_NAME%%/res/charsetData.properties
 lib/%%APP_NAME%%/res/charsetalias.properties
-lib/%%APP_NAME%%/res/cmessage.txt
 lib/%%APP_NAME%%/res/contenteditable.css
 lib/%%APP_NAME%%/res/designmode.css
 lib/%%APP_NAME%%/res/dtd/mathml.dtd
 lib/%%APP_NAME%%/res/dtd/xhtml11.dtd
-lib/%%APP_NAME%%/res/effective_tld_names.dat
 lib/%%APP_NAME%%/res/entityTables/html40Latin1.properties
 lib/%%APP_NAME%%/res/entityTables/html40Special.properties
 lib/%%APP_NAME%%/res/entityTables/html40Symbols.properties
@@ -188,10 +207,11 @@
 lib/%%APP_NAME%%/searchplugins/creativecommons.xml
 lib/%%APP_NAME%%/searchplugins/eBay.xml
 lib/%%APP_NAME%%/searchplugins/google.xml
+lib/%%APP_NAME%%/searchplugins/wikipedia.xml
 lib/%%APP_NAME%%/searchplugins/yahoo.xml
+lib/%%APP_NAME%%/update.locale
 lib/%%APP_NAME%%/updater
 lib/%%APP_NAME%%/updater.ini
-lib/%%APP_NAME%%/xpicleanup
 @exec /bin/cp -R %%LOCALBASE%%/lib/npapi/symlinks/%%APP_NAME%%/  %D/lib/%%APP_NAME%%/plugins/ 2>/dev/null || true
 @exec /bin/cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/  %D/lib/%%APP_NAME%%/extensions/ 2>/dev/null || true
 @unexec /usr/bin/find %D/lib/%%APP_NAME%%/plugins/  -depth 1 -type l -delete 2>/dev/null || true
@@ -206,16 +226,6 @@
 @dirrm lib/%%APP_NAME%%/defaults/profile
 @dirrm lib/%%APP_NAME%%/defaults
 @dirrm lib/%%APP_NAME%%/dictionaries
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/chrome
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/components
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/defaults/preferences
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/defaults
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux/chrome/icons/default
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux/chrome/icons
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux/chrome
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform/Linux
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org/platform
- at dirrm lib/%%APP_NAME%%/extensions/inspector at mozilla.org
 @dirrm lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 @dirrm lib/%%APP_NAME%%/extensions
 @dirrm lib/%%APP_NAME%%/greprefs

Modified: trunk/www/linux-seamonkey/Makefile.common
==============================================================================
--- trunk/www/linux-seamonkey/Makefile.common	Sat Dec 12 20:18:23 2009	(r197)
+++ trunk/www/linux-seamonkey/Makefile.common	Sun Dec 13 12:52:33 2009	(r198)
@@ -2,7 +2,7 @@
 # Date created:		1 May 2006
 # Whom:			Andrew Pantyukhin <infofarmer at FreeBSD.org>
 #
-# $FreeBSD: ports/www/linux-seamonkey/Makefile.common,v 1.14 2009/03/19 17:28:49 bsam Exp $
+# $FreeBSD: ports/www/linux-seamonkey/Makefile.common,v 1.15 2009/12/12 14:00:35 beat Exp $
 #
 
 CATEGORIES+=	linux
@@ -17,7 +17,7 @@
 APP_NAME=	${PKGBASE}
 BIN_NAME?=	${PORTNAME}
 USE_LINUX=	yes
-USE_LINUX_APPS=	atk fontconfig gtk2 hicontheme pango
+USE_LINUX_APPS+=	atk fontconfig gtk2 hicontheme pango
 WRKSRC?=	${WRKDIR}/${BIN_NAME}
 FDIR=		${PREFIX}/lib/${APP_NAME}
 COMMON_DIR=	${.CURDIR}/../../www/linux-seamonkey


More information about the freebsd-gecko mailing list