[99527] trunk/dports/aqua/qt4-mac-devel/Portfile

michaelld at macports.org michaelld at macports.org
Thu Nov 8 06:30:05 PST 2012


Revision: 99527
          http://trac.macports.org//changeset/99527
Author:   michaelld at macports.org
Date:     2012-11-08 06:30:05 -0800 (Thu, 08 Nov 2012)
Log Message:
-----------
qt4-mac-devel : properly set to replaced_by qt4-mac

Modified Paths:
--------------
    trunk/dports/aqua/qt4-mac-devel/Portfile

Modified: trunk/dports/aqua/qt4-mac-devel/Portfile
===================================================================
--- trunk/dports/aqua/qt4-mac-devel/Portfile	2012-11-08 14:27:20 UTC (rev 99526)
+++ trunk/dports/aqua/qt4-mac-devel/Portfile	2012-11-08 14:30:05 UTC (rev 99527)
@@ -3,535 +3,30 @@
 
 PortSystem          1.0
 
-# use the qt4 group; set 'building_qt4' so that the portgroup
-# does not include certain parts
-set building_qt4    1
-PortGroup           qt4 1.0
-PortGroup           xcodeversion 1.0
-
 name                qt4-mac-devel
-conflicts           qt3 qt3-mac qt4-mac
-set ver_nums        4.8.0
+set ver_nums        4.8.3
 version             ${ver_nums}
-revision            2
-#set branch          rc1
-#version             ${ver_nums}-${branch}
+revision            1
 categories          aqua
 platforms           macosx
 maintainers         michaelld openmaintainer
 license             {LGPL-2.1 GPL-3}
 
-homepage            http://qt.nokia.com/
+homepage            http://qt-project.org
 description         Qt Tool Kit
 long_description    Qt Tool Kit: A cross-platform framework \
                     (headers, data, and libraries) for writing \
                     cross-platform GUI-based applications.
 
-master_sites        trolltech
-distname            qt-everywhere-opensource-src-${version}
-checksums           md5     e8a5fdbeba2927c948d9f477a6abe904 \
-                    sha1    2ba35adca8fb9c66a58eca61a15b21df6213f22e \
-                    rmd160  7506dce7743215481fd9fe56920b8a47f07a112e
-dist_subdir		    qt4-mac
-
-worksrcdir          qt-everywhere-opensource-src-${ver_nums}
-
-minimum_xcodeversions   {8 2.5}
-
 # disable this port for now
+
 replaced_by qt4-mac
 
-depends_lib-append  port:zlib path:bin/dbus-daemon:dbus \
-                    port:openssl port:sqlite3 \
-                    port:tiff port:libpng port:libmng port:jpeg
+livecheck.type      none
 
-# (0) Fix the testing script to properly handle both +universal as
-# well as the native arch for both CXX and CC compiling; also make
-# sure it does not create a Mac app bundle.
-patchfiles-append   patch-config.tests_unix_compile.test.diff
-
-# (1) Test for Precompiled-headers support requires a C++ compiler,
-# but configure calls it, by default, with a C compiler.
-patchfiles-append   patch-precomp.test.diff
-
-# (2) Tweak various scripts to allow easy replacement of
-# MACOSX_DEPLOYMENT_TARGET: build for just the user's current OS.
-patchfiles-append   patch-macosx-deployment-target.diff
-
-# (3) Tweak the configure script to allow easy replacement of arch
-# type(s).  The location of this patch is dependent on patch (2), but
-# 'patch' should be able to figure it out.
-patchfiles-append   patch-configure-arch.diff
-
-# (4) Tweak Qt spec files:
-# (4a) Place the -I path for local moc-created headers -before-
-# all other -I paths.
-patchfiles-append   patch-mkspecs-features-moc.prf.diff
-
-# (4b) Remove Qt's LIBDIR and INCDIR from various Qmake internal
-# variables, since they are already included in the user-supplied
-# LIBS and INCLUDEPATH.
-patchfiles-append   patch-mkspecs-features-qt.prf.diff
-
-# (4c) Change placement of Qt's LIBDIR and INCDIR, to always be after
-# those supplied by the user's QMake (.pro) files.  By the time QMake
-# gets to the patched function, it is creating the Makefile parts to
-# find Qt's headers and libraries, so moving these paths to this
-# location should always work.
-patchfiles-append   patch-mkspecs-features-qt_functions.prf.diff
-
-# (4d) Add "absolute_library_soname" to the default CONFIG variables,
-# so that when a DYLIB is created, if "target.path" is set for it then
-# that path is prepended to its "install_name".
-patchfiles-append   patch-mkspecs-macx-g++-qmake.prf.diff
-
-# (4e) allow use of 'ccache' via "qmake && make CCACHE=ccache", in mac
-# only; this patch requires that (2) already be in place.
-patchfiles-append   patch-mkspecs_common_mac.conf.diff
-
-# (4f) Changed the GNU C++ configuration to allow easy replacement of
-# the hard-coded compilers "gcc" and "g++".
-patchfiles-append   patch-mkspecs_common_g++-base.conf.diff
-
-# (5) fix the corewlan qmake file to use non-standard Developer SDK
-# location under 10.6, e.g., for some developers doing both iOS and
-# OSX.  This patch does not change behavior for 10.4 or 10.5.
-# Also include fix to use the correct SDK.
-patchfiles-append   patch-src-plugins-bearer-corewlan-corewlan.pro.diff
-
-# find a way to specify the OS MINOR version.
-global MINOR
-set MINOR ""
-
-# hopefully the macosx_deployment_target exists and is set by now.  if
-# not, last resort (which is not desirable) is to use the os.version.
-if {${macosx_deployment_target} != ""} {
-    set MINOR [lindex [split ${macosx_deployment_target} "."] 1]
-} else {
-    set MINOR [expr [lindex [split ${os.version} "."] 0] - 4]
-}
-
-post-patch {
-    # set ARCHES in configure (per the third patchfile above), for
-    # building QMake.  join any 2 or more arch entries with the GCC
-    # arch flag (join does not effect a single entry).  first "-arch"
-    # is already in place in the 'configure' script (since there has
-    # to be at least 1 arch).
-    set ARCHES ""
-    if {[variant_exists universal] && [variant_isset universal]} {
-        set ARCHES [join ${universal_archs} " -arch "]
-    } else {
-        set ARCHES ${build_arch}
-    }
-    reinplace "s|@ARCHES@|${ARCHES}|g" ${worksrcpath}/configure
-
-    global MINOR
-
-    # set MACOSX_DEPLOYMENT_TARGET version in various places.  These
-    # were all patched in (2) above, and can be easily changed or
-    # overridden by the user in a project-local qmake .pro script.
-    set TARGET "10.${MINOR}"
-    foreach fixfile {configure mkspecs/common/g++-macx.conf \
-                     mkspecs/common/mac.conf qmake/qmake.pri \
-                     src/tools/bootstrap/bootstrap.pro } {
-        reinplace "s|@MACOSX_DEPLOYMENT_TARGET@|${TARGET}|g" \
-            ${worksrcpath}/${fixfile}
-    }
-
-    # Fix OS version on Bearer CoreWLAN QMake file
-    reinplace "s|@MACOSX_VERSION_MINOR@|${MINOR}|g" \
-        ${worksrcpath}/src/plugins/bearer/corewlan/corewlan.pro
-
-    # Ensure that correct C/C++ compilers are used.
-    reinplace "s|@CONFIGURE_CXX@|${configure.cxx}|" \
-        ${worksrcpath}/mkspecs/common/g++-base.conf
-    reinplace "s|@CONFIGURE_CC@|${configure.cc}|"  \
-        ${worksrcpath}/mkspecs/common/g++-base.conf
-
-    # fix up tests to work with ccache, if used
-    foreach fixfile [exec find ${worksrcpath}/config.tests \
-                         -name "*.test"] {
-        reinplace "s@\\\"\\\$COMPILER\\\"@\$COMPILER at g" ${fixfile}
-    }
-
-    # fix 'configure' script to find the correct QMAKE CXX compiler by
-    # removing possibilities that include the character "$".  Yes,
-    # that's a lot of "\"s: each "\\\\" -> a single "\" in the patched
-    # file, and need "\\\\$" (with the "s) there.
-    reinplace "/QMAKE_CONF_COMPILER/ \
-             s at tail@grep -v \"\\\\\\\\\\\\\\\\\$\" | tail@" \
-        ${worksrcpath}/configure
-
-    # fix the corewlan .pro file to use the correct developer dir
-    reinplace "s, at DEVELOPER_DIR@,${developer_dir},g" \
-        ${worksrcpath}/src/plugins/bearer/corewlan/corewlan.pro
-}
-
-# The build process uses -fconstant-cfstrings.
-# configure.compiler should therefore not be one of the MacPorts compilers.
-
-# http://llvm.org/bugs/show_bug.cgi?id=8971, #30271, #31076, #31638
-compiler.blacklist {macports-clang-2.9}
-if {[vercmp $xcodeversion 4.3] < 0} {
-    compiler.blacklist-append clang
-}
-
-# --prefix is not recognized.
-configure.pre_args-delete       --prefix=${prefix}
-
-# --disable-dependency-tracking is not recognized.
-configure.universal_args-delete --disable-dependency-tracking
-
-################################################################################
-# We do not want flags of any kind -- QT is smart enough to set up its own.    #
-################################################################################
-
-configure.cflags
-configure.cppflags
-configure.cxxflags
-configure.ldflags
-
-configure.universal_cflags
-configure.universal_cppflags
-configure.universal_cxxflags
-configure.universal_ldflags
-
-configure.cc_archflags
-configure.cxx_archflags
-configure.ld_archflags
-
-#  use compiler.cpath and compiler.library_path, as per
-#  http://trac.macports.org/ticket/25321 for all -I and -L entries,
-#  so-as to avoid conflicts with already-installed headers and
-#  libraries (giving preference to internal-to-this-port first)
-#
-#  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.
-#
-#  set the default paths to include those for SQLITE3 and DBUS-1
-
-set header_path [ list ${prefix}/include/dbus-1.0 \
-                       ${prefix}/lib/dbus-1.0/include \
-                       ${prefix}/include ]
-
-set library_path [ list ${prefix}/lib ]
-
-# -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.
-#
-# -no-framework ensures that this port is installed as separate
-#     libraries and headers, with guaranteed locations and names.
-#
-# -no-phonon ensures that Qt does not install the 3rd-parth Phonon
-#     port or its backend to QuickTime 7; Phonon is now installed via
-#     the 'phonon' port, which is more up to date than that provided
-#     by Qt.
-
-configure.args                                            \
-    -v                                                    \
-    -confirm-license                                      \
-    -opensource                                           \
-    -prefix          ${qt_dir}                            \
-    -bindir          ${qt_bins_dir}                       \
-    -libdir          ${qt_libs_dir}                       \
-    -docdir          ${qt_docs_dir}                       \
-    -headerdir       ${qt_includes_dir}                   \
-    -plugindir       ${qt_plugins_dir}                    \
-    -importdir       ${qt_imports_dir}                    \
-    -datadir         ${qt_data_dir}                       \
-    -translationdir  ${qt_translations_dir}               \
-    -sysconfdir      ${qt_sysconf_dir}                    \
-    -examplesdir     ${qt_examples_dir}                   \
-    -demosdir        ${qt_demos_dir}                      \
-    -system-sqlite                                        \
-    -openssl-linked                                       \
-    -dbus-linked                                          \
-    -fast                                                 \
-    -optimized-qmake                                      \
-    -no-pch                                               \
-    -no-framework                                         \
-    -no-phonon                                            \
-    -no-phonon-backend
-
-# 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}
-}
-
 pre-configure {
-    # use the corrected CPATH and LIBRARY_PATH for build
-    compiler.cpath [join ${header_path} :]
-    compiler.library_path [join ${library_path} :]
+    ui_error "This port has been temporarily replaced by 'qt4-mac'; it will be updated to 5.0 beta or a release candidate hopefully soon."
+    return -code error
 }
 
-platform darwin 8 {
-    # build as Carbon only, not cocoa.
-    configure.args-append -carbon
-
-    # required linking flags?
-    configure.ldflags-append -lcrypto -ldbus-1 -ljpeg -llcms -lsqlite3 -lssl -lz
-
-    # Under 10.4 only: patch QMake build files using just "-lQtHelp"
-    # to do "-lQtHelp -lQtCLucene -lQtNetwork -lQtWebKit" instead.
-    # For some reason 10.5+ "knows" that how to do this correctly.
-    patchfiles-append patch-QtHelp_10.4_only.diff
-}
-
-platform darwin {
-    pre-configure {
-        # retrieve the arch type(s) to use, in Qt-speak
-        configure.args-append -arch \"${qt_arch_types}\"
-
-        # check to see if not compiling for the native machine hardware
-        # (e.g., compiling for just i386 but CPU is x86_64); optimization
-        # of QMake does not work in this circumstance.
-        if {[lsearch -exact ${qt_arch_types} ${os.arch}] == -1} {
-            # not building for native arch: disable optimizing qmake
-            configure.args-delete -optimized-qmake
-        } elseif {${MINOR} == "6" &&
-                  [llength ${qt_arch_types}] == 1 &&
-                  [lsearch -exact ${qt_arch_types} x86] == 0} {
-            # disable qmake optimization on 10.6 32-bit
-            configure.args-delete -optimized-qmake
-        }
-
-        # find a way to specify the SDK to use; Qt will use the 10.4u
-        # by default which won't work on 10.6 since it is not
-        # supported.  Allow the user to specify the SDK if desired.
-        set SDK ${configure.sdkroot}
-        if {${SDK} == ""} {
-            # set SDK version depending on OS version
-            global MINOR
-            set sdk_version ""
-            if {${MINOR} == "4"} {
-                # OSX 10.4 requires an additional 'u'
-                set sdk_version "10.4u"
-            } else {
-                set sdk_version "10.${MINOR}"
-            }
-            set SDK ${developer_dir}/SDKs/MacOSX${sdk_version}.sdk
-        }
-        if {[file exists ${SDK}]} {
-            configure.args-append -sdk ${SDK}
-        } else {
-            ui_msg \
-"No SDK found in ${developer_dir}/SDKs for ${sdk_version} ; \
-configure will probably fail. \n \
-Please install Apple's Developer Tools again."
-        }
-    }
-}
-
-# Remove any '-I' and '-L' string from the *FLAGS for SQLITE, DBUS,
-# ODBC, and OPENSSL, so that what remains are just non-I/L flags;
-# these paths are in compiler.cpath and compiler.library_path.  The
-# header and library paths for all the other variants are not used by
-# 'configure', and are already included in the compiler.cpath and
-# compiler.library_path . during the 'build' stage, 'make' will
-# rebuild the Makefiles that depend on any of these changed files.
-# These patches are sufficient to make sure local (to this build)
-# paths are searched first, and then system paths last (via the
-# compiler.X settings).  Ideally, 'qmake' -- either via its mkspecs
-# files or the project's build files -- would distinguish between
-# "local" and "system" includes & libraries.
-post-configure {
-    # SQLITE
-    reinplace "/SQLITE/s at -I${prefix}/\[^ \]*include\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    reinplace "/SQLITE/s at -L${prefix}/\[^ \]*lib\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    # DBUS
-    reinplace "/DBUS/s at -I${prefix}/\[^ \]*include\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    reinplace "/DBUS/s at -L${prefix}/\[^ \]*lib\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    # OPENSSL
-    reinplace "/OPENSSL/s at -I${prefix}/\[^ \]*include\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    reinplace "/OPENSSL/s at -L${prefix}/\[^ \]*lib\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    # ODBC
-    reinplace "/ODBC/s at -I${prefix}/\[^ \]*include\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-    reinplace "/ODBC/s at -L${prefix}/\[^ \]*lib\[^ \]*@@g" \
-        ${worksrcpath}/.qmake.cache
-}
-
-pre-build {
-    # use the corrected CPATH and LIBRARY_PATH for build
-    compiler.cpath [join ${header_path} :]
-    compiler.library_path [join ${library_path} :]
-}
-
-build.target all
-
-post-destroot {
-    set destroot_qt ${destroot}${qt_dir}
-
-    # Fix .pc and .prl files by changing ${worksrcpath}\${prefix} to
-    # ${qt_dir}\${prefix} ("\" means 'take away').  Cannot use
-    # "find -E" since it is not necessarily portable.
-    regsub ${prefix} ${worksrcpath} "" from_dir
-    regsub ${prefix} ${qt_dir} "" to_dir
-    foreach fixfile [exec find ${destroot_qt} -name "*.pc"] {
-        reinplace "s|${from_dir}|${to_dir}|g" ${fixfile}
-    }
-    foreach fixfile [exec find ${destroot_qt} -name "*.prl"] {
-        reinplace "s|${from_dir}|${to_dir}|g" ${fixfile}
-    }
-
-    # Install documentation.
-    xinstall -m 755 -d ${worksrcpath}/${qt_docs_dir}
-    xinstall -m 644 -W ${worksrcpath} \
-        INSTALL LGPL_EXCEPTION.txt LICENSE.FDL \
-        LICENSE.GPL3 LICENSE.LGPL README \
-        ${destroot}${qt_docs_dir}
-
-    # Move .apps into the applications_dir
-    xinstall -m 755 -d ${destroot}${qt_apps_dir}
-    foreach app [glob ${destroot}/${qt_bins_dir}/*.app] {
-        move ${app} ${destroot}${qt_apps_dir}
-    }
-
-    # install qt_menu.nib, used by any applications making use of Qt's
-    # application class.
-    xinstall -m 755 -d ${destroot_qt}/lib/Resources
-    copy ${worksrcpath}/src/gui/mac/qt_menu.nib \
-        ${destroot_qt}/lib/Resources
-
-    # remove 'tests' directory
-    file delete -force ${destroot}${prefix}/tests
-}
-
-pre-activate {
-    # make sure 'none' is selected by qt4_select, so that there is no
-    # conflict between it and this port.
-    if {[file exists ${prefix}/bin/qt4_select]} {
-        if {[exec ${prefix}/bin/qt4_select -s] != "none"} {
-            ui_msg "Disabling 'qt4_select' selection."
-            system "exec ${prefix}/bin/qt4_select none"
-        }
-    }
-}
-
-variant framework description {Build as Frameworks} {
-    configure.args-delete -no-framework
-    configure.args-append -framework
-}
-
-variant mysql description {Enable MySQL SQL Driver} {
-    depends_lib-append path:lib/mysql5:mysql5
-    lunshift header_path ${prefix}/include/mysql5/mysql
-    lunshift library_path ${prefix}/lib/mysql5/mysql
-    configure.args-delete -no-sql-mysql
-    configure.args-append -plugin-sql-mysql
-}
-
-variant odbc description {Enable iODBC SQL Driver} {
-    depends_lib-append port:libiodbc
-    configure.args-delete -no-sql-odbc
-    configure.args-append -plugin-sql-odbc
-}
-
-variant psql83 conflicts psql84 psql90 psql91 \
-description {Enable Postgre SQL Driver version 8.3} {}
-
-variant psql84 conflicts psql83 psql90 psql91 \
-description {Enable Postgre SQL Driver version 8.4} {}
-
-variant psql90 conflicts psql83 psql84 psql91 \
-description {Enable Postgre SQL Driver version 9.0} {}
-
-variant psql91 conflicts psql83 psql84 psql90 \
-description {Enable Postgre SQL Driver version 9.1} {}
-
-set psql_version ""
-if {[variant_isset psql83]} {
-    set psql_version "83"
-} elseif {[variant_isset psql84]} {
-    set psql_version "84"
-} elseif {[variant_isset psql90]} {
-    set psql_version "90"
-} elseif {[variant_isset psql91]} {
-    set psql_version "91"
-}
-
-if {${psql_version} != ""} {
-    depends_lib-append port:postgresql${psql_version}
-    lunshift header_path ${prefix}/include/postgresql${psql_version}
-    lunshift library_path ${prefix}/lib/postgresql${psql_version}
-    configure.args-delete -no-sql-psql
-    configure.args-append -plugin-sql-psql
-}
-
-variant sqlite2 description {Enable SQLite version 2 SQL Driver} {
-    depends_lib-append port:sqlite2
-    configure.args-delete -no-sql-sqlite2
-    configure.args-append -plugin-sql-sqlite2
-}
-
-variant raster description {Use raster graphics system by default} {
-    configure.args-append -graphicssystem raster
-}
-
-variant demos description {Build demos} {}
-
-if {![variant_isset demos]} {
-   configure.args-append -nomake demos
-}
-
-variant examples description {Build examples} {}
-
-if {![variant_isset examples]} {
-   configure.args-append -nomake examples
-}
-
-variant debug description {Build both release and debug library} {}
-
-if {[variant_isset debug]} {
-    configure.args-append -debug-and-release
-} else {
-    configure.args-append -release
-}
-
-#variant quartz conflicts x11
-variant quartz \
-description {Build for Native OSX Quartz GUI, not X11 (default)} {}
-
-#variant x11 conflicts quartz \
-#description {Build for X11 GUI, not Native OSX Quartz} {}
-
-# if neither +x11 or +quartz were specified, default to the latter
-#if {![variant_isset quartz] && ![variant_isset x11]}
-    default_variants +quartz
-#}
-
-# check to see if user specified just "-quartz", which can't work.
-#if {![variant_isset quartz] && ![variant_isset x11]} {
-#    return -code error \
-#"\n\nThe variant -quartz will not work alone.
-#Please select one of +quartz or +x11 as a variant.\n"
-#}
-
-#if {[variant_isset x11]} {
-#    return -code error "\n\nVariant +x11 is not yet functional; \
-#please use +quartz for now.\n"
-#}
-
-livecheck.type      regex
-livecheck.url       http://download.qt.nokia.com/qt/source/
-livecheck.regex     "qt-everywhere-opensource-src-(\[0-9a-z.-\]+)${extract.suffix}"
+distfiles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121108/275fe4db/attachment-0001.html>


More information about the macports-changes mailing list