Xulrunner version 1.9.1.4 - How to Download and Install on Mac OS X
Wednesday the 10th of March, 2010

    xulrunner  most recent diff


    version 1.9.1.4

      View the most recent changes for the xulrunner port at: xulrunner.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for xulrunner.
      The raw portfile for xulrunner 1.9.1.4 is located here:
      http://xulrunner.darwinports.com/dports/devel/xulrunner/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/xulrunner


      # -*- 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
      The xulrunner Portfile 60237 2009-11-06 23:47:42Z jeremyhu macports.org $

      PortSystem 1.0

      Name: xulrunner
      set component xulrunner
      Category: devel
      Version: 1.9.1.4
      #set ff_version 3.5
      Revision: 0
      Platform: 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 0b6ccb1e50d96b7127a18a69399fcf05 sha1 ce250208371326d03e72a02d223bc136cd376e5d rmd160 e89ff54fef6d036538c9779176f5086a8eaa721e

      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 --disable-necko-wifi --enable-libxul

      # Force 32-bit, inline-asm
      if {$build_arch == "x86_64"} {
      configure.build_arch i386
      } elseif {$build_arch == "ppc64"} {
      configure.build_arch ppc
      }

      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
      Patch Files: 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}/js/src/config/config.mk
      reinplace "s: executable_path:${prefix}/lib/${component}:g" ${worksrcpath}/js/src/config/rules.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"
      }

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/xulrunner
      % sudo port install xulrunner
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching xulrunner
      ---> Verifying checksum for xulrunner
      ---> Extracting xulrunner
      ---> Configuring xulrunner
      ---> Building xulrunner with target all
      ---> Staging xulrunner into destroot
      ---> Installing xulrunner
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using xulrunner with these commands:
      %  man xulrunner
      % apropos xulrunner
      % which xulrunner
      % locate xulrunner

     Where to find more information:

    Darwin Ports



    Lightbox this page.