[49110] trunk/dports/www/firefox-x11

jeremyhu at macports.org jeremyhu at macports.org
Fri Apr 3 21:13:54 PDT 2009


Revision: 49110
          http://trac.macports.org/changeset/49110
Author:   jeremyhu at macports.org
Date:     2009-04-03 21:13:54 -0700 (Fri, 03 Apr 2009)
Log Message:
-----------
firefox-x11: Fix dynamic loading of various libs.  This fixes https:// and save dialogs, etc.  Closes #14901

Modified Paths:
--------------
    trunk/dports/www/firefox-x11/Portfile

Added Paths:
-----------
    trunk/dports/www/firefox-x11/files/nsFilePicker.patch

Modified: trunk/dports/www/firefox-x11/Portfile
===================================================================
--- trunk/dports/www/firefox-x11/Portfile	2009-04-04 03:58:07 UTC (rev 49109)
+++ trunk/dports/www/firefox-x11/Portfile	2009-04-04 04:13:54 UTC (rev 49110)
@@ -6,7 +6,7 @@
 name            firefox-x11
 categories      www x11
 version         3.0.8
-revision        3
+revision        4
 platforms       darwin
 maintainers     jeremyhu openmaintainer
 description     Mozilla.org's popular stand-alone web browser
@@ -39,13 +39,15 @@
 	port:pkgconfig
 
 depends_lib \
-	port:gnome-vfs \
-	port:gnome-icon-theme \
+	port:heimdal \
+	port:lcms \
+	port:gconf \
+	port:esound \
+	port:libcanberra \
 	port:nss \
-	port:nspr \
-	port:gtk2
+	port:nspr
 
-#	port:xulrunner can replace nss nspr and gtk2 once it's used to build firefox
+#	port:xulrunner can replace nss and nspr once it's used to build firefox
 
 #-DXP_UNIX -DXP_MACOSX -UNO_X11
 #configure.cppflags-append -I/Developer/Headers/FlatCarbon
@@ -68,8 +70,8 @@
 	--with-system-bzip2=${prefix} \
 	--with-system-jpeg=${prefix} \
 	--with-system-zlib=${prefix} \
+	--enable-system-lcms \
 	--enable-system-cairo \
-	--with-system-cairo=${prefix} \
 	--enable-system-sqlite \
 	--with-default-mozilla-five-home=${prefix}/lib/${name} \
 	--enable-oji \
@@ -89,15 +91,15 @@
 	--enable-svg-renderer=cairo \
 	--enable-xinerama \
 	--with-pthreads \
-	--enable-gnomevfs \
+	--disable-gnomevfs \
+	--disable-gnomeui \
 	--enable-postscript \
 	--enable-safe-browsing \
-	--enable-xft \
-	--disable-freetype2 \
 	--disable-crashreporter \
-	--enable-optimize=-O2 \
+	--enable-optimize='-O2' \
 	--disable-prebinding \
 	--enable-strip \
+	--enable-install-strip \
 	--disable-debug \
 	--disable-installer \
 	--disable-updater \
@@ -108,18 +110,34 @@
 
 #	--with-libxul-sdk=${prefix}/lib/xulrunner
 
-variant debug description "build with debugging symbols" {
+variant debug description {build with debugging symbols} {
     configure.args-delete   --disable-debug \
                             --disable-mochitest \
                             --enable-optimize='-O2' \
-                            --enable-strip
+                            --enable-strip \
+                            --enable-install-strip
 
     configure.args-append   --enable-debug='-ggdb3' \
                             --enable-mochitest \
                             --disable-optimize \
-                            --disable-strip
+                            --disable-strip \
+                            --disable-install-strip
 }
 
+variant gnome description {use gnome libraries where appropriate} {
+    depends_lib-append \
+	port:gnome-vfs \
+	port:libgnomeui \
+	port:libgnome \
+	port:gnome-icon-theme
+
+    configure.args-delete --disable-gnomevfs \
+                          --disable-gnomeui
+
+    configure.args-append --enable-gnomevfs \
+                          --enable-gnomeui
+}
+
 post-extract {
     # https://bugzilla.mozilla.org/show_bug.cgi?id=484353
     move ${worksrcpath}/modules/libjar/nsWildCard.cpp ${worksrcpath}/modules/libjar/nsWildCard_jar.cpp
@@ -131,8 +149,9 @@
 # #485862 (system-nss)
 # #486036 (make-install)
 # #485863 (icon-Makefile)
+# NOTFILED (nsFilePicker)
 # Previous firefox-x11 port (patch-dylib_file.diff patch-pthread.diff)
-patchfiles configure.patch xpcom-Makefile.patch system-nss.patch make-install.patch patch-dylib_file.diff  patch-pthread.diff icon-Makefile.patch
+patchfiles configure.patch xpcom-Makefile.patch system-nss.patch make-install.patch patch-dylib_file.diff  patch-pthread.diff icon-Makefile.patch nsFilePicker.patch
 
 post-patch {
     # https://bugzilla.mozilla.org/show_bug.cgi?id=485857
@@ -152,6 +171,29 @@
     reinplace "s:@executable_path:${prefix}/lib/${name}:g" ${worksrcpath}/nsprpub/configure
     reinplace "s:@executable_path:${prefix}/lib/${name}:g" ${worksrcpath}/security/coreconf/Darwin.mk
     reinplace "s:@executable_path:${prefix}/lib/${name}:g" ${worksrcpath}/security/nss/lib/freebl/config.mk
+
+    # Fix the correct library filenames for loading at runtime
+    reinplace "s:libatk-1.0.so.0:${prefix}/lib/libatk-1.0.dylib:" ${worksrcpath}/accessible/src/atk/nsAppRootAccessible.cpp
+
+    reinplace "s:libgssapi_krb5.so.2:${prefix}/heimdal/lib/libgssapi.2.dylib:" ${worksrcpath}/extensions/auth/nsAuthGSSAPI.cpp
+
+    reinplace "s:libgnomeui-2.so.0:${prefix}/lib/libgnomeui-2.dylib:" ${worksrcpath}/modules/libpr0n/decoders/icon/gtk/nsIconChannel.cpp
+    reinplace "s:libgnome-2.so.0:${prefix}/lib/libgnome-2.dylib:" ${worksrcpath}/modules/libpr0n/decoders/icon/gtk/nsIconChannel.cpp
+    reinplace "s:libgnomevfs-2.so.0:${prefix}/lib/libgnomevfs-2.dylib:" ${worksrcpath}/modules/libpr0n/decoders/icon/gtk/nsIconChannel.cpp
+
+    reinplace "s:libgconf-2.so.4:${prefix}/lib/libgconf-2.dylib:" ${worksrcpath}/extensions/pref/system-pref/src/gconf/nsSystemPrefService.cpp
+
+    reinplace "s:libcups.so.2:/usr/lib/libcups.2.dylib:" ${worksrcpath}/gfx/src/psshared/nsCUPSShim.cpp
+
+    reinplace "s:libgnomeui-2.so.0:${prefix}/lib/libgnomeui-2.dylib:" ${worksrcpath}/toolkit/xre/nsNativeAppSupportUnix.cpp
+    reinplace "s:libgnome-2.so.0:${prefix}/lib/libgnome-2.dylib:" ${worksrcpath}/toolkit/xre/nsNativeAppSupportUnix.cpp
+
+    reinplace "s:libgtk-x11-2.0.so.0:${prefix}/lib/libgtk-x11-2.0.dylib:" ${worksrcpath}/widget/src/gtk2/nsBidiKeyboard.cpp
+    reinplace "s:libXss.so.1:${prefix}/lib/libXss.1.0.0.dylib:" ${worksrcpath}/widget/src/gtk2/nsIdleServiceGTK.cpp
+    reinplace "s:libXinerama.so.1:${prefix}/lib/libXinerama.1.dylib:" ${worksrcpath}/widget/src/gtk2/nsScreenManagerGtk.cpp
+    reinplace "s:libesd.so.0:${prefix}/lib/libesd.0.dylib:" ${worksrcpath}/widget/src/gtk2/nsSound.cpp
+    reinplace "s:libcanberra.so.0:${prefix}/lib/libcanberra.0.dylib:" ${worksrcpath}/widget/src/gtk2/nsSound.cpp
+    reinplace "s:libgtk-x11-2.0.dylib:${prefix}/lib/libgtk-x11-2.0.dylib:" ${worksrcpath}/widget/src/gtk2/nsFilePicker.cpp
 }
 
 configure.env \

Added: trunk/dports/www/firefox-x11/files/nsFilePicker.patch
===================================================================
--- trunk/dports/www/firefox-x11/files/nsFilePicker.patch	                        (rev 0)
+++ trunk/dports/www/firefox-x11/files/nsFilePicker.patch	2009-04-04 04:13:54 UTC (rev 49110)
@@ -0,0 +1,14 @@
+--- widget/src/gtk2/nsFilePicker.cpp.bak	2009-04-03 18:35:03.000000000 -0700
++++ widget/src/gtk2/nsFilePicker.cpp	2009-04-03 18:38:58.000000000 -0700
+@@ -203,7 +203,11 @@ nsFilePicker::LoadSymbolsGTK24()
+     _gtk_file_chooser_get_filename = (_gtk_file_chooser_get_filename_fn)func;
+   } else {
+     // XXX hmm, this seems to fail when gtk 2.4 is already loaded...
++#ifdef __APPLE__
++    mGTK24 = PR_LoadLibrary("libgtk-x11-2.0.dylib");
++#else
+     mGTK24 = LoadVersionedLibrary("gtk-2", ".4");
++#endif
+     if (!mGTK24) {
+       return NS_ERROR_NOT_AVAILABLE;
+     }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090403/a5079a7e/attachment.html>


More information about the macports-changes mailing list