# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 name xulrunner-devel set component xulrunner categories devel version 1.9.1.2 #set ff_version 3.5 revision 0 platforms darwin maintainers jeremyhu openmaintainer description Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications long_description ${description} universal_variant no homepage http://developer.mozilla.org/en/docs/XULRunner master_sites http://mozilla.isc.org/pub/mozilla.org/${component}/releases/${version}/source distname ${component}-${version}-source #master_sites http://mozilla.isc.org/pub/mozilla.org/firefox/releases/${ff_version}/source #distname firefox-${ff_version}-source use_bzip2 yes checksums md5 136867f95c86f3988b7f825e874b85de \ sha1 6439923ff9d316297926ebe193bac3ac1a41b494 \ rmd160 d5e0b5f0e8b19b216394584ccabf37d776b89a39 worksrcdir mozilla-1.9.1 depends_build \ port:findutils \ port:pkgconfig \ port:autoconf213 depends_lib \ port:heimdal \ port:lcms \ port:gconf \ port:esound \ port:libcanberra \ port:findutils \ port:nss \ port:nspr \ port:gtk2 \ port:xorg-libXt use_autoconf yes autoconf.cmd autoconf213 configure.args \ --with-xulrunner-stub-name=xulrunner-stub \ --disable-static \ --enable-shared \ --with-distribution-id=org.macports \ --enable-default-toolkit=cairo-gtk2 \ --x-includes=${prefix}/include \ --x-libraries=${prefix}/lib \ --with-system-nspr \ --with-nspr-prefix=${prefix} \ --with-system-nss \ --with-nss-prefix=${prefix} \ --with-system-bzip2=${prefix} \ --with-system-jpeg=${prefix} \ --with-system-zlib=${prefix} \ --enable-system-lcms \ --enable-system-cairo \ --enable-system-sqlite \ --with-default-mozilla-five-home=${prefix}/lib/${component} \ --enable-oji \ --enable-plugins \ --enable-mathml \ --enable-extensions="default,spellcheck" \ --enable-permissions \ --enable-cookie \ --enable-image-decoders=all \ --enable-image-encoder=all \ --enable-canvas \ --enable-jsd \ --enable-xpctools \ --enable-crypto \ --enable-pango \ --enable-svg \ --enable-svg-renderer=cairo \ --enable-xinerama \ --with-pthreads \ --disable-gnomevfs \ --disable-gnomeui \ --enable-postscript \ --enable-safe-browsing \ --disable-crashreporter \ --enable-optimize='-O2' \ --disable-prebinding \ --enable-strip \ --enable-install-strip \ --disable-debug \ --disable-installer \ --disable-updater \ --disable-pedantic \ --disable-tests \ --disable-mochitest \ --enable-libxul variant debug description {build with debugging symbols} { configure.args-delete --disable-debug \ --disable-mochitest \ --enable-optimize='-O2' \ --enable-strip \ --enable-install-strip configure.args-append --enable-debug='-ggdb3' \ --enable-mochitest \ --disable-optimize \ --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 } # Upstream bugs (http://bugzilla.mozilla.org) # #485827 (xpcom-Makefile, in mozilla-1.9.2) # #486782 (configure, in mozilla-1.9.2) # #485862 (system-nss, in mozilla-1.9.2) # #486036 (make-install, in mozilla-1.9.2) # #485863 (icon-Makefile, in mozilla-1.9.2) # #492119 (nsFilePicker) # #486892 (plugins, in mozilla-1.9.2) # #486890 (sydneyaudio, 3.1b3 and later, in mozilla-1.9.2) # #487367 (browser-xulrunner-stub, in mozilla-1.9.2) # #484457 (gdk-Status, in mozilla-1.9.2) # #487371 (xulrunner-app-Makefile, in mozilla-1.9.2) # #492138 #490995 (netwerk-wifi-src-Makefile, in mozilla-1.9.2) # #499218 (nsOggDecoder.patch) # Previous firefox-x11 port, not sure if still needed, but safe to keep: patch-dylib_file.diff patchfiles configure.patch xpcom-Makefile.patch system-nss.patch make-install.patch patch-dylib_file.diff icon-Makefile.patch nsFilePicker.patch plugins.patch sydneyaudio.patch browser-xulrunner-stub.patch gdk-Status.patch xulrunner-app-Makefile.patch netwerk-wifi-src-Makefile.patch nsOggDecoder.patch post-patch { # https://bugzilla.mozilla.org/show_bug.cgi?id=485857 reinplace "s:XP_MACOSX:__APPLE__:g" ${worksrcpath}/xpcom/base/nsStackWalk.cpp # https://bugzilla.mozilla.org/show_bug.cgi?id=484353 reinplace "s:nsWildCard.cpp:nsWildCard_jar.cpp:g" ${worksrcpath}/modules/libjar/objs.mk # https://bugzilla.mozilla.org/show_bug.cgi?id=486034 # find -xtype -> gfind -xtype reinplace "s:find:gfind:g" ${worksrcpath}/toolkit/mozapps/installer/packager.mk if {[file exists ${prefix}/lib/pkgconfig/x11.pc]} { reinplace "s:/usr/X11R6:${prefix}:" ${worksrcpath}/modules/plugin/base/src/nsPluginsDirUnix.cpp } # Set the right install_name on the libs reinplace "s:@executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/config/rules.mk reinplace "s:@executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/config/config.mk reinplace "s:@executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/nsprpub/configure.in reinplace "s:@executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/nsprpub/configure reinplace "s:@executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/security/coreconf/Darwin.mk reinplace "s:@executable_path:${prefix}/lib/${component}: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 # Set our system plugins path reinplace "s:/usr/lib/mozilla/plugins:${prefix}/lib/nsplugins:" ${worksrcpath}/xpcom/io/nsAppFileLocationProvider.cpp reinplace "s:/etc/gre\.:${prefix}/etc/gre.:g" \ ${worksrcpath}/xpcom/build/nsXPCOMPrivate.h \ ${worksrcpath}/xulrunner/app/nsRegisterGREUnix.cpp \ ${worksrcpath}/xulrunner/installer/Makefile.in } configure.env \ MOZCONFIG="${worksrcpath}/xulrunner/config/mozconfig" \ MOZILLA_FIVE_HOME="${prefix}/lib/${component}" build.args-append \ includedir="${prefix}/include/${component}" \ idldir="${prefix}/share/idl/${component}" \ installdir="${prefix}/lib/${component}" \ sdkdir="${prefix}/lib/${component}" destroot.args-append \ includedir="${prefix}/include/${component}" \ idldir="${prefix}/share/idl/${component}" \ installdir="${prefix}/lib/${component}" \ sdkdir="${prefix}/lib/${component}" post-destroot { ## Workaround to get root certs loaded, so https:// works #ln -s ${prefix}/lib/nss/libnssckbi.dylib ${destroot}${prefix}/lib/${component}/libnssckbi.dylib # https://bugzilla.mozilla.org/show_bug.cgi?id=486064 system "cat ${worksrcpath}/dist/include/gfx/gfxtypes.h ${worksrcpath}/dist/include/thebes/gfxTypes.h > ${destroot}${prefix}/include/${component}/unstable/gfxtypes.h" }