# $Id: Portfile 90950 2012-03-19 09:40:19Z jmr@macports.org $

PortSystem		1.0

name			qt3-mac
conflicts		qt3 qt4-mac qt4-mac-devel
version			3.3.8b
revision                2
categories		aqua
license			{QPL-1 GPL-2 GPL-3}
maintainers		blair openmaintainer
description		Qt Tool Kit (Native Aqua Version)
long_description	This is Qt, TrollTech's C++ toolkit for writing \
				cross-platform GUI applications.
homepage		http://qt.nokia.com/
master_sites		trolltech
distname		qt-mac-free-${version}
checksums		md5 307eebaa3ee3653595116ad6de36167c \
			sha1 b366c077179c2e95c04c35da013a282f6b270ada \
			rmd160 a71ec4140371c88bf5e29c1c2886f02d643a4a57
platforms		darwin
supported_archs	i386 ppc
destroot.violate_mtree	yes

depends_lib		port:zlib port:libpng port:libmng

variant mysql4 conflicts mysql5 description "add MySQL 4 support" {
	depends_lib-append	port: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 mysql5 conflicts mysql4 description "add MySQL 5 support" {
	depends_lib-append	path:bin/mysql_config5:mysql5
	configure.args-delete	-no-sql-mysql
	configure.args-append	-qt-sql-mysql \
					-L${prefix}/lib/mysql5/mysql \
					-I${prefix}/include/mysql5/mysql \
					-plugin-sql-mysql
}

configure.cmd	"echo yes | ./configure"
configure.env	QMAKESPEC='' QTDIR='' DYLD_LIBRARY_PATH=''
configure.args	-v -prefix '${prefix}' \
			-docdir '${prefix}/share/doc/${name}/html' \
			-datadir '${prefix}/share/qt3' \
			-headerdir '${prefix}/include/qt3' \
			-plugindir '${prefix}/lib/qt3-plugins' \
			-release -shared -fast -thread -stl \
			-qt-gif -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng \
			-no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql \
			-no-sql-sqlite -no-nis -no-cups -ipv6 \
			-largefile \
			-system-zlib -system-libpng -system-libjpeg \
			-system-libmng \
			'-I${prefix}/include' '-L${prefix}/lib'

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

destroot.destdir	INSTALL_ROOT='${destroot}'
post-destroot {
	system "ranlib -s ${destroot}${prefix}/lib/libdesignercore.a"
	system "ranlib -s ${destroot}${prefix}/lib/libeditor.a"
	system "ranlib -s ${destroot}${prefix}/lib/libqassistantclient.a"
}

platform darwin	{
	patchfiles		patch-src-qt_install.pri \
					patch-mkspecs-qmake.conf \
					patch-qmake_Makefile.unix.diff \
					qt3-leopard.diff \
					reinplace_support.diff \
					patch-src-kernel_qpngio.cpp.diff \
					dlcompat.diff
    configure.args-append -ldl
    post-patch {
        reinplace s|__CC__|${configure.cc}| ${worksrcpath}/mkspecs/macx-g++/qmake.conf
        reinplace s|__CXX__|${configure.cxx}| ${worksrcpath}/mkspecs/macx-g++/qmake.conf \
                                              ${worksrcpath}/config.tests/mac/mac_version.test
        if {[variant_isset universal]} {
            set archflags ${configure.universal_cflags}
        } else {
            set archflags ${configure.cc_archflags}
        }
        reinplace s/__ARCHFLAGS__/${archflags}/ ${worksrcpath}/mkspecs/macx-g++/qmake.conf \
                                                ${worksrcpath}/config.tests/mac/mac_version.test
        if {!${configure.pipe}} {
            reinplace s/-pipe// ${worksrcpath}/mkspecs/macx-g++/qmake.conf
        }
    }
	post-destroot {
		system "sh ${filespath}/fix_install_names.sh '${prefix}' '${destroot}' '${frameworks_dir}'"
		set appPath ${destroot}${applications_dir}/Qt3
		xinstall -d -m 0755 ${appPath}
		foreach app {assistant designer linguist qtconfig} {
			system "mv -v ${destroot}${prefix}/bin/${app}.app \
				${appPath}/${app}.app"
		}
		regexp {[0-9.]+} $version baseversion
		set majorver [lindex [split ${baseversion} .] 0]
		set minorver [join [lrange [split ${baseversion} .] 0 1] .]
		foreach libname "libqt libqt.${majorver} libqt.${minorver}" {
		    if {![file exists "${destroot}${prefix}/lib/${libname}.dylib"]} {
		        ln -s libqt-mt.${baseversion}.dylib "${destroot}${prefix}/lib/${libname}.dylib"
		    }
		}
	}
}

configure.universal_args-delete --disable-dependency-tracking
