# $Id: Portfile 24714 2007-05-01 07:55:32Z jann@macports.org $
# -*- Mode: Tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:enc=utf-8:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
PortSystem    1.0

name          qt4-mac
version       4.3.1
revision      0
categories    aqua
maintainers   dinosaur@aztecfreenet.org

description   Qt Tool Kit (Native Aqua Version)
long_description \
              This is Qt, TrollTech's C++ toolkit for writing \
              cross-platform GUI applications.
homepage      http://www.trolltech.com/
master_sites  ftp://ftp.trolltech.com/qt/source/ \
              http://ftp.iasi.roedu.net/mirrors/ftp.trolltech.com/qt/source/ \
              http://ftp.ntua.gr/pub/X11/Qt/qt/source/ \
              http://wftp.tu-chemnitz.de/pub/Qt/qt/source/
distname      qt-mac-opensource-src-${version}
use_bzip2     no
checksums     md5 adfb4196ee569d6ff5f7c7e539a76cd2 \
              sha1 efdeb87a81f5e3f7303d4a92fbb0267f196419ac \
              rmd160 b9e83a4cb42b4eec9e60da3a415499b2325f2e1a
platforms     darwin

depends_lib   lib:libz.1:zlib

variant mysql {
    depends_lib-append  lib:libmysqlclient.12:mysql4
    configure.args-delete  -no-sql-mysql
    configure.args-append  -qt-sql-mysql \
                           -L${prefix}/lib/mysql \
                           -I${prefix}/include/mysql \
                           -plugin-sql-mysql
}

variant ipv6 {
    configure.args-delete  -no-ipv6
    configure.args-append  -ipv6
}
variant framework {
    configure.args-delete  -no-framework
    configure.args-append  -framework -libdir /Library/Frameworks
}
variant examples {
    configure.args-delete  -nomake examples
    configure.args-append  -make examples
}
variant demos {
    configure.args-delete  -nomake demos
    configure.args-append  -make demos
}

configure.cmd  "echo yes | ./configure"
configure.env  QMAKESPEC='' QTDIR='' DYLD_LIBRARY_PATH=''
configure.args  -v -prefix '${prefix}' \
                -docdir '${prefix}/share/doc/${portname}/html' \
                -datadir '${prefix}/share/qt4' \
                -headerdir '${prefix}/include/qt4' \
                -plugindir '${prefix}/lib/qt4-plugins' \
                -translationdir '${prefix}/share/qt4/translations' \
                -release -shared -fast -stl \
                -qt-gif -qt-libpng -qt-libjpeg -qt-libmng -qt-libtiff \
                -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql \
                -no-sql-sqlite -no-nis -no-cups -nomake examples -nomake demos \
                -system-zlib -largefile -no-framework -optimized-qmake \
                '-I${prefix}/include' '-L${prefix}/lib'

# have to build with Apple gcc because of -fconstant-cfstrings
configure.compiler gcc-4.0

build.env  QMAKESPEC='' QTDIR='' DYLD_LIBRARY_PATH="${worksrcpath}/lib"
#build.target  symlinks src-qmake src-moc sub-src sub-tools
build.target  first

destroot.destdir  INSTALL_ROOT="${destroot}"

# install the package doc and the port changelog
post-destroot {
    xinstall -c -m 644 ${worksrcpath}/INSTALL ${destroot}${prefix}/share/doc/qt4-mac/
    xinstall -c -m 644 ${worksrcpath}/LICENSE.GPL ${destroot}${prefix}/share/doc/qt4-mac/
    xinstall -c -m 644 ${worksrcpath}/OPENSOURCE-NOTICE.TXT ${destroot}${prefix}/share/doc/qt4-mac/
    xinstall -c -m 644 ${worksrcpath}/README ${destroot}${prefix}/share/doc/qt4-mac/
    xinstall -c -m 644 ${filespath}/ChangeLog.MacPorts ${destroot}${prefix}/share/doc/qt4-mac/
}

platform darwin  {
  post-destroot {
    set appPath ${destroot}/Applications/MacPorts/Qt
    xinstall -d -m 0755 ${appPath}
    foreach app {assistant Designer Linguist pixeltool qdbusviewer} {
      system "mv -v ${destroot}${prefix}/bin/${app}.app \
        ${appPath}/${app}.app"
    }
    if {![file exists ${destroot}${prefix}/lib/libqt.dylib]} {
      set majorver [strsed ${version} {s/\.[0-9]*\.[0-9]*$//}]
      set minorver [strsed ${version} {s/\.[0-9]*$//}]
      cd ${destroot}${prefix}/lib
      system "ln -s libqt-mt.${version}.dylib libqt.dylib"
      system "ln -s libqt-mt.${version}.dylib libqt.${majorver}.dylib"
      system "ln -s libqt-mt.${version}.dylib libqt.${minorver}.dylib"
    }
    if { [variant_isset framework] } {
        # move the stuff that doesn't belong into /Library/Frameworks into ${prefix}/lib
        move ${destroot}/Library/Frameworks/libQtUiTools.a ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/libQtUiTools.prl ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/libQtUiTools_debug.a ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/libQtUiTools_debug.prl ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/pkgconfig ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/Qt3Support.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtCore.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtDBus.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtGui.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtNetwork.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtOpenGL.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtScript.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtSql.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtSvg.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtTest.la ${destroot}${prefix}/lib/
        move ${destroot}/Library/Frameworks/QtXml.la ${destroot}${prefix}/lib/
    }
  }
}

