Portfile

# $Id: Portfile 23053 2007-03-23 20:35:47Z pipping@macports.org $

#Synced with Fink, Version 3.3.6-1023

PortSystem 1.0
name qt3
version 3.3.7
categories x11
maintainers takanori@macports.org
description Qt Tool Kit
long_description Qt 3 is a multiplatform C++ application development framework.
homepage http://www.trolltech.com/products/qt/index.html
platforms darwin
master_sites ftp://ftp.trolltech.com/qt/source/:qt3 \
http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source/:qt3 \
http://ranger.befunk.com/fink/:fink
distname qt-x11-free-${version}
distfiles ${distname}.tar.bz2:qt3 \
qt-upstream-patches-0003.tar.bz2:fink
use_bzip2 yes

depends_lib lib:libGL.1:XFree86 \
port:freetype \
port:jpeg \
port:libpng \
port:perl5.8 \
port:Xft2 \
port:xrender \
port:zlib

checksums ${distname}.tar.bz2 md5 655e21cf6a7e66daf8ec6ceda81aae1e \
qt-upstream-patches-0003.tar.bz2 md5 cfe0cc6a7a8411bce151ebfaaa7e03e7

patchfiles qt3-tiger.patch dp01.patch
patch {
foreach p ${patchfiles} { system "cd ${worksrcpath} && sed -e 's|@PREFIX@|${prefix}|g' < ${portpath}/${filesdir}/${p} | patch -p1" }
#system "perl -pi -e 's|cp \-P|/bin/cp \-RL|' ${worksrcpath}/qmake/Makefile.unix"

foreach p { patches/qt-3.3.4-print-CJK.patch \
patches/qt-3.0.5-nodebug.patch \
patches/qt-x11-free-3.3.2-quiet.patch \
patches/qt-uic-nostdlib.patch \
patches/qt-x11-free-3.3.5-uic.patch \
patches/qt-x11-free-3.3.4-qfontdatabase_x11.patch \
patches/qt-3.3.3-gtkstyle.patch \
patches/qt-x11-free-3.3.4-fullscreen.patch } {
system "cd ${worksrcpath} && patch -p1 --fuzz=4 < ${workpath}/${p}"
}
foreach p { patches/0001-dnd_optimization.patch \
patches/0002-dnd_active_window_fix.patch \
patches/0005-qpixmap_mitshm.patch \
patches/0007-qpixmap_constants.patch \
patches/0015-qiconview-finditem.patch \
patches/0016-qiconview-rebuildcontainer.patch \
patches/0017-qiconview-ctrl_rubber.patch \
patches/0020-designer-deletetabs.patch \
patches/0032-fix_rotated_randr.diff \
patches/0035-qvaluelist-streaming-operator.patch \
patches/0036-qprogressbar-optimization.patch \
patches/0038-dragobject-dont-prefer-unknown.patch \
patches/0044-qscrollview-windowactivate-fix.diff \
patches/0046-qiconview-no-useless-scrollbar.diff \
patches/0047-fix-kmenu-width.diff \
patches/0048-qclipboard_hack_80072.patch \
patches/0049-qiconview-rubber_on_move.diff \
patches/0056-khotkeys_input_84434.patch \
patches/0059-qpopup_has_mouse.patch \
patches/0060-qpopup_ignore_mousepos.patch \
patches/0061-qscrollview-propagate-horizontal-wheelevent.patch \
patches/0069-fix-minsize.patch } {
system "cd ${worksrcpath} && patch -p0 --fuzz=4 < ${workpath}/${p}"
}
}

post-patch {
foreach file {CompileScript.sh InstallScript.sh} {
file copy ${portpath}/${filesdir}/${file} ${worksrcpath}
reinplace "s|%p|${prefix}|g" ${worksrcpath}/${file}
reinplace "s|%N|${name}|g" ${worksrcpath}/${file}
reinplace "s|%n|${name}|g" ${worksrcpath}/${file}
reinplace "s|%v|${version}|g" ${worksrcpath}/${file}
reinplace "s|%r|${revision}|g" ${worksrcpath}/${file}
reinplace "s|%c|${configure.args}|g" ${worksrcpath}/${file}
reinplace "s|%d|${destroot}|g" ${worksrcpath}/${file}
reinplace "s|%i|${destroot}${prefix}|g" ${worksrcpath}/${file}
file attributes ${worksrcpath}/${file} -permissions 0755
}
}

configure.args -fast -buildkey qt3-jaguar \
-platform darwin-g++ -xplatform darwin-g++ \
-prefix '${prefix}/lib/qt3' -docdir '${prefix}/share/doc/qt3' \
-headerdir '${prefix}/include/qt3' -libdir '${prefix}/lib' \
-release -shared -no-exceptions -thread -cups -stl \
-qt-gif -plugin-imgfmt-png -plugin-imgfmt-jpeg -plugin-imgfmt-mng \
-system-libpng -system-libjpeg -system-zlib -largefile \
-sm -xinerama -xrender -xft -xkb \
-plugin-sql-sqlite -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql

configure {
if {[file exists ${prefix}/bin/cups-config]} {
ui_msg "port:cups-headers may prevent building this port."
ui_msg "Please uninstall (or deactivate) cups-headers and restart the build."
exit 1
}
}

#workaround for upgrade problem.
pre-build {if {[file exists ${prefix}/lib/libqassistantclient.a]} { system "ranlib ${prefix}/lib/libqassistantclient.a" }}

build { system "cd ${worksrcpath} && ./CompileScript.sh" }
destroot { system "cd ${worksrcpath} && ./InstallScript.sh" }

post-destroot {
xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
foreach f {FAQ INSTALL LICENSE* MANIFEST PLATFORMS README* changes*} {
eval xinstall -m 644 [glob ${worksrcpath}/${f}] ${destroot}${prefix}/share/doc/${name}
}
foreach f {bin/findtr bin/qt20fix bin/qtrename140} {
reinplace "s|#!/usr|#!${prefix}|" ${worksrcpath}/${f}
xinstall -m 755 ${worksrcpath}/${f} ${destroot}${prefix}/share/doc/${name}
}
}

post-activate {
system "ranlib ${prefix}/lib/libqassistantclient.a"

ui_msg "\nBefore using qt3 (qmake),"
ui_msg "please make sure to set environment variable QTDIR.\n"
ui_msg " QTDIR=${prefix}/lib/qt3; export QTDIR\n"
}

platform darwin 9 {}

platform darwin 8 {}

platform darwin 7 {
patchfiles-delete qt3-tiger.patch
patchfiles-append qt3-panther.patch
}

platform darwin 6 {
ui_msg "Sorry, your platform is no longer supported."
exit 1
}

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

variant odbc {
depends_lib-append lib:libodbc.1:unixODBC
configure.args-delete -no-sql-odbc
configure.args-append -qt-sql-odbc -L${prefix}/lib \
-I${prefix}/include -plugin-sql-odbc
}

variant psql {
depends_lib-append lib:libpq.2:postgresql
configure.args-delete -no-sql-psql
configure.args-append -qt-sql-psql -plugin-sql-psql
}

files