Qt4-mac version 4.5.3 - How to Download and Install on Mac OS X
Saturday the 7th of November, 2009

    qt4-mac  most recent diff


    version 4.5.3

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


      # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
      The qt4-mac Portfile 59699 2009-10-20 14:33:21Z macsforever2000 macports.org $

      PortSystem 1.0

      Name: qt4-mac
      conflicts qt4-mac-devel
      Version: 4.5.3
      Category: aqua
      Platform: macosx
      Maintainers: nomaintainer

      Homepage: http://www.trolltech.com/
      Description: Qt Tool Kit (Native Aqua Version)
      Long Description: This is Qt, TrollTech's C++ toolkit for writing cross-platform GUI applications. This version uses the native Aqua UI. For a X11 version, see qt4-x11.
      Master Sites: trolltech
      distname qt-mac-opensource-src-${version}

      Checksums: md5 484e3739fdc51540218ed92f4b732881 sha1 566a9c45b261447c07c784b9317c9b5aae1ccbd8 rmd160 290fecbe8698ead4f884617ae4dd20b37663545e

      depends_build port:pkgconfig

      depends_lib port:zlib port:tiff port:libpng port:libmng port:jpeg port:dbus port:openssl port:sqlite3

      # Build plugins as bundle files instead of dylib files.
      # Test for Precompiled-headers support requires a C++ compiler, but configure calls it, by default, with a C compiler.
      # Use unixODBC provided by MacPorts instead of iODBC provided my Mac OS.
      # Ensure that securesocketclient demo is built even with configure option -openssl-linked.
      Patch Files: patch-mac.conf.diff patch-precomp.test.diff patch-odbc.diff patch-network.pro.diff patch-qt3support-for-cocoa.diff

      # The build process uses -fconstant-cfstrings.
      # configure.compiler should therefore not be one of the MacPorts compilers.

      # --prefix is not recognized.
      configure.pre_args-delete --prefix=${prefix}
      # -I${prefix}/include and -L${prefix}/lib must be set in ${configure.args}
      # or else some generated Makefiles will not see them.
      configure.cppflags
      configure.ldflags

      ################################################################################
      # We do not want flags of any kind -- QT is smart enough to set up its own. #
      ################################################################################

      configure.universal_cflags
      configure.universal_cppflags
      configure.universal_cxxflags
      configure.universal_ldflags

      set dirname qt4-mac
      set qt_dir ${prefix}/libexec/${dirname}

      # CPATH is used instead of -I to avoid conflicts with other ports.
      # See http://trac.macports.org/ticket/15219 and http://trac.macports.org/ticket/18723.
      #
      # -system-sqlite ensures the use SQLite provided by MacPorts instead of Qt.
      #
      # -dbus-linked prevends qt4 from trying to dynamically load libdbus-1,
      # which it is not able to find in ${prefix}.
      # -openssl-linked ensures that the MacPorts openssl is used.
      #
      configure.args -v -debug-and-release -confirm-license -opensource -prefix ${qt_dir} -docdir ${prefix}/share/doc/${dirname} -examplesdir ${prefix}/share/${dirname}/examples -demosdir ${prefix}/share/${dirname}/demos -system-sqlite -openssl-linked -dbus-linked -L${prefix}/lib -arch \"${build_arch}\"

      lappend cpath ${prefix}/include
      lappend library_path ${prefix}/lib

      pre-configure {
      configure.env-append CPATH=[join ${cpath} :] LIBRARY_PATH=[join ${library_path} :]
      }

      pre-build {
      build.env-append CPATH=[join ${cpath} :] LIBRARY_PATH=[join ${library_path} :]
      }

      # Stop configure script from searching for SQL Drivers
      # not available from MacPorts.
      foreach driver {db2 ibase oci tds} {
      configure.args-append -no-sql-${driver}
      }

      # By default, disable most SQL Drivers.
      # There must be at least one enabled (http://trac.macports.org/ticket/15627).
      # SQLite is chosen to be always enabled because a copy of it is distributed
      # with Qt, so it is reasonable for the user to expect it.
      foreach driver {mysql odbc psql sqlite2} {
      configure.args-append -no-sql-${driver}
      }

      platform darwin 10 {
      default_variants +cocoa
      }

      Variant: mysql description {Enable MySQL SQL Driver} {
      depends_lib-append path:lib/mysql5:mysql5

      lappend cpath ${prefix}/include/mysql5/mysql
      lappend library_path ${prefix}/lib/mysql5/mysql

      configure.args-delete -no-sql-mysql
      }

      Variant: odbc description {Enable unixODBC SQL Driver} {
      depends_lib-append port:unixODBC
      configure.args-delete -no-sql-odbc
      }

      Variant: psql description {Enable PostgreSQL SQL Driver} {
      depends_lib-append port:postgresql83

      lappend cpath ${prefix}/include/postgresql83
      lappend library_path ${prefix}/lib/postgresql83

      configure.args-delete -no-sql-psql
      }

      Variant: sqlite2 description {Enable SQLite version 2 SQL Driver} {
      depends_lib-append port:sqlite2
      configure.args-delete -no-sql-sqlite2
      }

      Variant: cocoa description {Build the Cocoa version of Qt in 32-bit mode} conflicts noframework {
      configure.args-append -cocoa

      # Everything might build, but nothing will run.
      pre-fetch {
      if { ${os.major} < 9 } {
      return -code error "Variant cocoa creates Qt binaries which require Mac OS X 10.5 or higher."
      }
      }
      }

      Variant: noframework description {Do not build frameworks} conflicts cocoa {
      configure.args-append -no-framework
      }

      build.target first
      use_parallel_build yes

      destroot.destdir INSTALL_ROOT="${destroot}"

      post-patch {
      # Ensure that correct compilers are used.
      reinplace "s| g++\$| ${configure.cxx}|" ${worksrcpath}/mkspecs/common/g++.conf
      reinplace "s| gcc\$| ${configure.cc}|" ${worksrcpath}/mkspecs/common/g++.conf
      reinplace "s| g++\$| ${configure.cxx}|" ${worksrcpath}/mkspecs/macx-g++/qmake.conf
      }

      post-destroot {
      # Install documentation.
      foreach doc { FAQ.txt INSTALL LGPL_EXCEPTION.txt LICENSE.GPL3 LICENSE.LGPL README } {
      xinstall -c -m 644 ${worksrcpath}/$doc ${destroot}${prefix}/share/doc/${name}
      }

      # Create link in ${prefix}/bin to executable files in ${qt_dir}/bin.
      foreach bin [glob -type f -directory ${destroot}${qt_dir}/bin *] {
      ln -s ${qt_dir}/bin/[file tail ${bin}] ${destroot}${prefix}/bin
      }

      xinstall -d -m 0755 ${destroot}${applications_dir}/Qt
      # Create link in ${applications_dir}/Qt to .app directories in ${qt_dir}/bin/.
      # Create link in ${prefix}/bin to all *.app/Contents/MacOS/*.
      foreach app [glob -type d -directory ${destroot}${qt_dir}/bin *.app] {
      ln -s ${qt_dir}/bin/[file tail ${app}] ${destroot}${applications_dir}/Qt
      foreach bin [glob -tails -type f -directory ${app}/Contents/MacOS *] {
      ln -s ${qt_dir}/bin/[file tail ${app}]/Contents/MacOS/${bin} ${destroot}${prefix}/bin
      }
      }

      # Avoid conflict with other qt packages.
      # Ensure lower case names.
      foreach bin [glob ${destroot}${prefix}/bin/*] {
      file rename ${bin} ${destroot}${prefix}/bin/[string tolower [file tail ${bin}]]-mac
      }

      # Fix the .pc and .prl files by removing ${destroot}.
      foreach fixfile [glob -nocomplain -directory ${destroot} ${qt_dir}/lib/pkgconfig/*.pc ${qt_dir}/lib/*.prl ${qt_dir}/lib/*/*.prl ${prefix}/share/${dirname}/demos/shared/*.prl] {
      reinplace "s|-L${worksrcpath}/lib|-L${qt_dir}/lib|g" ${fixfile}
      reinplace "s|-F${worksrcpath}/lib|-F${qt_dir}/lib|g" ${fixfile}
      }

      # Create link to Frameworks in Frameworks directory.
      xinstall -d -m 0755 ${destroot}${frameworks_dir}
      foreach fdir [glob -tails -directory ${destroot}${qt_dir}/lib -nocomplain *.framework] {
      ln -s ${qt_dir}/lib/${fdir} ${destroot}${frameworks_dir}
      }

      # The debug .pc files have no counterpart in qt4-x11, so set a link to them in the pkgconfig directory.
      xinstall -d -m 0755 ${destroot}${prefix}/lib/pkgconfig
      foreach fl [glob -tails -directory ${destroot}${qt_dir}/lib/pkgconfig *_debug.pc] {
      ln -s ${qt_dir}/lib/pkgconfig/${fl} ${destroot}${prefix}/lib/pkgconfig/
      }

      # Install select file for qt4_select.
      xinstall -m 755 -d ${destroot}${prefix}/etc/select/qt4
      xinstall -m 644 ${filespath}/${dirname} ${destroot}${prefix}/etc/select/qt4/
      }

      Variant: raster description {Use raster graphics system by default} {
      configure.args-append -graphicssystem raster
      }

      Variant: universal {
      configure.universal_args-delete --disable-dependency-tracking
      configure.args-delete -arch \"${build_arch}\"
      configure.args-append -arch \"${universal_archs}\"
      if {[info exists universal_sysroot]} {
      configure.args-append -sdk ${universal_sysroot}
      }
      }

      livecheck.type regex
      livecheck.url http://qt.nokia.com/downloads/mac-os-cpp
      livecheck.regex "qt-mac-opensource-src-(4(?:\\.\\d+)*)${extract.suffix}"

    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/qt4-mac
      % sudo port install qt4-mac
      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 qt4-mac
      ---> Verifying checksum for qt4-mac
      ---> Extracting qt4-mac
      ---> Configuring qt4-mac
      ---> Building qt4-mac with target all
      ---> Staging qt4-mac into destroot
      ---> Installing qt4-mac
    - 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 qt4-mac with these commands:
      %  man qt4-mac
      % apropos qt4-mac
      % which qt4-mac
      % locate qt4-mac

     Where to find more information:

    Darwin Ports



    Lightbox this page.