[36004] trunk/dports/aqua/qt4-mac/Portfile
jochen at macports.org
jochen at macports.org
Mon Apr 14 01:17:26 PDT 2008
Revision: 36004
http://trac.macosforge.org/projects/macports/changeset/36004
Author: jochen at macports.org
Date: 2008-04-14 01:17:23 -0700 (Mon, 14 Apr 2008)
Log Message:
-----------
Implement patch from Ticket #14601 (with minor modifications)
Modified Paths:
--------------
trunk/dports/aqua/qt4-mac/Portfile
Modified: trunk/dports/aqua/qt4-mac/Portfile
===================================================================
--- trunk/dports/aqua/qt4-mac/Portfile 2008-04-14 07:46:07 UTC (rev 36003)
+++ trunk/dports/aqua/qt4-mac/Portfile 2008-04-14 08:17:23 UTC (rev 36004)
@@ -1,4 +1,4 @@
-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
+# -*- 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
# $Id$
PortSystem 1.0
@@ -19,63 +19,90 @@
http://wftp.tu-chemnitz.de/pub/Qt/qt/source/
distname qt-mac-opensource-src-${version}
checksums md5 e3997f7c7620bcf03c635676c3b01fef \
- sha1 bdba9cd2a5ad79724d536f8a4a3010c3a223108b
+ sha1 bdba9cd2a5ad79724d536f8a4a3010c3a223108b \
+ rmd160 b02600a73ce54e367b3f362223cfafbaf337ca80
depends_lib port:libmng port:libpng port:jpeg port:tiff
# have to build with Apple gcc because of -fconstant-cfstrings
configure.compiler gcc-4.0
configure.cmd "echo yes | ./configure"
-configure.env QMAKESPEC='' QTDIR='' DYLD_LIBRARY_PATH=''
configure.pre_args
+
+test.run yes
+test.target check
+
+# directory to put .app and executable files
+# once installed there, should not be moved so they can find each other
+# (e.g. assistant.app) and the examples directory
+set bindir ${prefix}/libexec/${name}/bin
+
# See
# http://doc.trolltech.com/qtopia4.3/buildsystem/over-configure-options-qt-1.html
# for options
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' \
+ -bindir '${bindir}' \
+ -docdir '${prefix}/share/doc/${portname}' \
+ -datadir '${prefix}/share/${portname}' \
+ -headerdir '${prefix}/include/${portname}' \
+ -plugindir '${prefix}/lib/${portname}-plugins' \
+ -translationdir '${prefix}/share/${portname}/translations' \
-optimized-qmake -release -shared -stl \
-no-openssl -largefile \
-system-libpng -system-libjpeg -system-libmng -system-libtiff \
-system-zlib -qt-gif \
-no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql \
- -no-sql-sqlite -no-nis -no-cups -no-framework \
+ -no-sql-sqlite -no-nis -no-cups \
+ -framework -libdir '${prefix}/Library/Frameworks' \
-make libs -make tools \
-I${worksrcpath}/include -I${prefix}/include \
-L${worksrcpath}/lib -L${prefix}/lib
# not made by default, anyway: -nomake demos -nomake examples
-build.env QMAKESPEC='' QTDIR='' DYLD_LIBRARY_PATH="${worksrcpath}/lib"
build.target first
destroot.destdir INSTALL_ROOT="${destroot}"
-set appPath ${destroot}/Applications/MacPorts/Qt
-set docPath ${destroot}${prefix}/share/doc/qt4-mac
-
post-destroot {
- xinstall -d -m 0755 ${appPath}
- foreach app {assistant Designer Linguist pixeltool} {
- move ${destroot}${prefix}/bin/${app}.app ${appPath}
+ xinstall -d -m 0755 ${destroot}${bindir}
+ xinstall -d -m 0755 ${destroot}/Applications/MacPorts/Qt
+
+ # create link in ${prefix}/bin to executable files in ${bindir}
+ foreach bin [glob -type f -directory ${destroot}${bindir} *] {
+ system "ln -s ${bindir}/[file tail ${bin}] ${destroot}${prefix}/bin"
}
+
+ # create link in /Applications/MacPorts/Qt to .app directories in ${bindir}
+ # create link in ${prefix}/bin to all *.app/Contents/MacOS/*
+ foreach app [glob -type d -directory ${destroot}${bindir} *.app] {
+ system "ln -s ${bindir}/[file tail ${app}] ${destroot}/Applications/MacPorts/Qt"
+ foreach bin [glob -type f -directory ${app} Contents/MacOS/*] {
+ system "ln -s ${bindir}/[file tail ${app}]/Contents/MacOS/[file tail ${bin}] ${destroot}${prefix}/bin"
+ }
+ }
+
+ # append -mac to links in ${prefix}/bin to avoid conflict with qt4-x11
+ foreach bin [glob ${destroot}${prefix}/bin/*] {
+ move ${bin} ${bin}-mac
+ }
+
+ # fix id of plugins shared libraries
+ foreach dirFull [glob -directory ${destroot}${prefix}/lib/${portname}-plugins -type d -nocomplain *] {
+ set dir [file tail ${dirFull}]
+ foreach libFull [glob -directory ${destroot}${prefix}/lib/${portname}-plugins/${dir} -nocomplain *.dylib] {
+ set lib [file tail ${libFull}]
+ system "install_name_tool -id ${prefix}/lib/${portname}-plugins/${dir}/${lib} ${libFull}"
+ }
+ }
+
+ # install documentation
foreach doc {INSTALL LICENSE.GPL2 LICENSE.GPL3 OPENSOURCE-NOTICE.TXT README \
GPL_EXCEPTION_ADDENDUM.TXT GPL_EXCEPTION.TXT} {
- xinstall -c -m 644 ${worksrcpath}/$doc ${docPath}
+ xinstall -c -m 644 ${worksrcpath}/$doc ${destroot}${prefix}/share/doc/${portname}
}
- if {![file exists ${destroot}${prefix}/lib/libqt.dylib]} {
- set majorver [strsed ${version} {s/\.[0-9]*\.[0-9]*$//}]
- set minorver [strsed ${version} {s/\.[0-9]*$//}]
- system "cd ${destroot}${prefix}/lib &&
- ln -s libqt-mt.${version}.dylib libqt.dylib &&
- ln -s libqt-mt.${version}.dylib libqt.${majorver}.dylib &&
- ln -s libqt-mt.${version}.dylib libqt.${minorver}.dylib"
- }
}
variant dbus description "Include DBus support" {
@@ -83,24 +110,29 @@
configure.args-append -qdbus
}
-variant framework description "Build frameworks" {
- configure.args-delete -no-framework
- configure.args-append -framework
+variant noframework description "Do not build frameworks" {
+ configure.args-delete -framework -libdir '${prefix}/Library/Frameworks'
+ configure.args-append -no-framework
}
-variant ipv6 description "Include IPv6 support" {
- configure.args-delete -no-ipv6
- configure.args-append -ipv6
+variant nis description "Include Network Information Service (NIS) support" {
+ configure.args-delete -no-nis
+ configure.args-append -nis
}
-variant mysql description "Include support for SQL via mysql driver" {
+variant cups description "Include Common Unix Printing System (CUPS) support" {
+ configure.args-delete -no-cups
+ configure.args-append -cups
+}
+
+variant mysql4 conflicts mysql5 description "Include support for SQL via mysql4 driver" {
depends_lib-append lib:libmysqlclient.12:mysql4
configure.args-delete -no-sql-mysql
configure.args-append -qt-sql-mysql -plugin-sql-mysql \
-I${prefix}/include/mysql -L${prefix}/lib/mysql
}
-variant mysql5 description "Include support for SQL via mysql driver" {
+variant mysql5 conflicts mysql4 description "Include support for SQL via mysql5 driver" {
depends_lib-append lib:libmysqlclient.15:mysql5
configure.args-delete -no-sql-mysql
configure.args-append -qt-sql-mysql -plugin-sql-mysql \
@@ -108,33 +140,27 @@
}
variant sqlite description "Include support for SQL via sqlite driver" {
- # depends_lib-append port:sqlite3
configure.args-delete -no-sql-sqlite
configure.args-append -qt-sql-sqlite -plugin-sql-sqlite
- # -system-sqlite
- post-destroot {
- # fix install-name of plugin
- system "install_name_tool -id ${prefix}/lib/qt4-plugins/sqldrivers/libqsqlite.dylib \
- ${destroot}${prefix}/lib/qt4-plugins/sqldrivers/libqsqlite.dylib"
- }
}
variant ssl description "Include OpenSSL support" {
- depends_lib port:openssl
+ depends_lib-append port:openssl
configure.args-delete -no-openssl
configure.args-append -openssl
}
variant examples description "Build Qt examples" {
# configure.args-delete "-nomake examples"
- configure.args-append -make examples
+ configure.args-append -make examples -examplesdir ${prefix}/share/${portname}/examples
}
variant demos description "Build Qt demos" {
# configure.args-delete "-nomake demos"
- configure.args-append -make demos
- post-destroot {
- move ${destroot}${prefix}/demos ${appPath}
- move ${destroot}${prefix}/bin/qtdemo.app ${appPath}
- }
+ configure.args-append -make demos -demosdir ${prefix}/share/${portname}/demos
}
+
+
+livecheck.check regex
+livecheck.url http://trolltech.com/developer/downloads/qt/mac
+livecheck.regex "The current version of Qt/Mac Open Source Edition is (4(?:\\.\\d+)*)"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080414/23990398/attachment.html
More information about the macports-changes
mailing list