Changeset 67606


Ignore:
Timestamp:
May 14, 2010, 10:02:53 AM (7 years ago)
Author:
vince@…
Message:

Correction of some bugs, it works fine now

Location:
trunk/dports/gis/qgis
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/gis/qgis/Portfile

    r60454 r67606  
    1 # -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=2:ts=2:sts=2
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
    22# $Id$
    33
    4 PortSystem                                                      1.0
     4PortSystem                      1.0
     5PortGroup                       cmake   1.0
     6name                            qgis
     7version                         1.4.0
     8categories                      gis
     9maintainers                     vince
     10description                     QGIS is a user-friendly GIS based on Qt 4
     11long_description        QGIS is a GIS. It can visualize, inject data into \
     12                                        PostGres/PostGIS, or serve as a Qt front-end to Grass. \
     13                                        Extended with Python plugins, it can become a quite \
     14                                        powerful GIS on its own.
    515
    6 name                                                                            qgis
    7 version                                                                 1.3.0
    8 categories                                                      gis
    9 maintainers                                                     vince
    10 description                                                     QGIS is a user-friendly GIS based on Qt 4
    11 long_description                                QGIS is a GIS. It can visualize, inject data into \
    12                                                                                                 PostGres/PostGIS, or serve as a Qt front-end to Grass. \
    13                                                                                                 Extended with Python plugins, it can become a quite \
    14                                                                                                 powerful GIS on its own.
     16platforms                       darwin
     17license                         GPL
    1518
    16 platforms                                                               darwin
    17 license                                                                 GPL
     19use_parallel_build      no
     20homepage                        http://www.qgis.org/
    1821
    19 homepage                                                                http://www.qgis.org/
     22distname                        ${name}_${version}
     23master_sites            http://download.osgeo.org/qgis/src/
    2024
    21 distname                                                                ${name}_${version}
    22 master_sites                                            http://download.osgeo.org/qgis/src/
     25checksums                       md5     47710e7aa14c2a672c7f28457b0c956f \
     26                                        sha1    105f353f36e9625d1eb15f1a315882f214dbe026 \
     27                                        rmd160  47486732c8fe37aa6864d09c7420be22de5ea802
    2328
    24 checksums                                                               md5     c75d0912011fe41a4e4a316ea323f73a \
    25                                                                                                 sha1    6c2f4cf5db8d5b513306465bfd160bdfa9a727af \
    26                                                                                                 rmd160  c2ffd90468b7f9cd49d2ba878a6572e8f19e137a
     29worksrcdir                      ${name}-${version}
    2730
    28 worksrcdir                                                      ${name}-${version}
    29 
    30 post-extract    {
    31         system                                                          "cd ${worksrcpath} && mkdir build"
     31post-extract {
     32                                        system "cd ${worksrcpath} && mkdir build"
    3233}
    3334
    34 patchfiles                                                      patch-spatialite_c.diff
     35patchfiles                      patch-spatialite_c.diff \
     36                                        patch-cmake_Python_cmake.diff \
     37                                        patch-python_configure_py_in.diff
    3538
    36 depends_build                                           port:cmake
     39depends_build           port:cmake
    3740                                                                       
    38 depends_lib                                                     port:libiconv \
    39                                                                                                 port:expat \
    40                                                                                                 port:openssl \
    41                                                                                                 port:proj \
    42                                                                                                 port:geos \
    43                                                                                                 port:gdal \
    44                                                                                                 port:sqlite3 \
    45                                                                                                 port:gsl
     41depends_lib                     port:libiconv \
     42                                        port:expat \
     43                                        port:openssl \
     44                                        port:proj \
     45                                        port:geos \
     46                                        port:gdal \
     47                                        port:sqlite3 \
     48                                        port:gsl
    4649
    4750# Python related stuff
    4851# Checks if Python framework is not buggy
    49 set Python_FRM                                  "${frameworks_dir}/Python.framework"
    50         if {! [file exists ${Python_FRM}]} {
    51                 ui_error                                                "Qgis requires python"
    52         }
     52set Python_FRM          "${frameworks_dir}/Python.framework"
     53if {![file exists ${Python_FRM}]} {
     54        ui_error                "Qgis requires python"
     55}
    5356
    54 set Pyver                                                       [exec python -V |& awk "{print \$2}"]
     57set Pyver                       [exec python -V |& awk "{print \$2}"]
     58
    5559# Eliminates minor (could also be done with strsed)
    56 set Pyversion                                           [join [lrange [split ${Pyver} "."] 0 1] ""]
    57 set Pyverpath                                           [join [lrange [split ${Pyver}   "."] 0 1] "."]
     60set Pyversion           [join [lrange [split ${Pyver} "."] 0 1] ""]
     61set Pyverpath           [join [lrange [split ${Pyver}   "."] 0 1] "."]
    5862               
    59 depends_lib-append                      port:py${Pyversion}-pyqt4
     63depends_lib-append      port:py${Pyversion}-pyqt4
    6064
     65# Overrides default
     66configure.dir           ${worksrcpath}/build                                                                   
     67configure.cmd           cmake ..
    6168
    62 configure.dir                                           ${worksrcpath}/build                                                                   
    63 configure.cmd                                           cmake ..
    64 
    65 # Start with no configure arguments: override defaults
    66 configure.pre_args
    67 configure.args
    68 configure.universal_args
    69 
    70 
    71 variant postgis                                 description "Build postgis support" {
     69variant postgis                         description "Build postgis support" {
     70       
    7271        depends_lib-append              port:postgis
    7372       
    7473        # Always choose latest installed postgresql version
    7574
    76         set     PGSQL_DIR                                       \
    77                                                                                 [lindex [lsort -dec [glob -d ${prefix}/lib postgresql*]] 0]
    78         configure.args-append "-DPOSTGRESQL_PREFIX=${PGSQL_DIR}"
     75        set     PGSQL_DIR                       \
     76                        [lindex [lsort -dec [glob -d ${prefix}/lib postgresql*]] 0]
     77        configure.args-append   "-DPOSTGRESQL_PREFIX=${PGSQL_DIR}"
    7978        configure.args-append   "-DPOSTGRES_CONFIG=${PGSQL_DIR}/bin/pg_config"
    8079}
    8180
    8281
    83 variant grass63                                 description "Build the grass (6.3) plugin" {
     82variant grass63                         description "Build the grass (6.3) plugin" {
    8483
    8584        depends_lib-append              port:grass
     
    9493
    9594
    96 variant grass64                                 description "Build the grass (6.4) plugin" {
     95variant grass64                         description "Build the grass (6.4) plugin" {
    9796
    9897        depends_lib-append              port:grass64
     
    106105}
    107106
    108 
    109 variant universal                               description "Builds universal app" {
    110                 set archs                                       "-DCMAKE_OSX_ARCHITECTURES=\""
    111 
    112                 foreach arch ${configure.universal_archs} {
    113                         append archs ${arch} ";"
    114                 }
    115                 configure.args-append "${archs}\""
    116                 set sysroot                                             [lindex [exec ls /Developer/SDKs] end]
    117                 configure.args-append "-DCMAKE_OSX_SYSROOT=/Developer/SDKs/${sysroot}"
    118 }
    119 
    120107# LLVM cannot be used (Seg. faults in spatialite.c)
    121108
    122 if {[string first llvm ${configure.cc}] != -1 || \
    123                 [string first llvm ${configure.cxx}] != -1} {
     109#if {[string first llvm ${configure.cc}] != -1 || \
     110#               [string first llvm ${configure.cxx}] != -1} {
    124111
    125         ui_msg "Warning: Qgis cannot be compiled with LLVM, switching to GCC\n"
    126         set configure.cc                gcc
    127         set configure.cxx               g++
    128 }
     112#       ui_msg "Warning: Qgis cannot be compiled with LLVM, switching to GCC\n"
     113#       set configure.cc                gcc
     114#       set configure.cxx               g++
     115#}
    129116
    130117configure.args-append           "-DCMAKE_CXX_COMPILER=${configure.cxx}"
     
    151138configure.args-append           "-DPYRCC4_PROGRAM=${prefix}/bin/pyrcc4-${Pyverpath}"
    152139configure.args-append           \
    153                                                         "-DSIP_BINARY_PATH=${Python_FRM}/Versions/${Pyverpath}/bin/sip"
     140                                "-DSIP_BINARY_PATH=${Python_FRM}/Versions/${Pyverpath}/bin/sip"
    154141configure.args-append           "-DSIP_INCLUDE_DIR=${Python_FRM}/Headers"
    155142configure.args-append           "-DQT_QMAKE_EXECUTABLE=${prefix}/bin/qmake-mac"
     
    161148# Patch for proper linking of our own Python framework
    162149post-configure {
    163         reinplace -E "s|g\\+\\+|g\\+\\+ -F${frameworks_dir}|" \
     150        reinplace -E "s|(g\\+\\+\[^ ]+)|\\1 -F${frameworks_dir}|" \
    164151                ${worksrcpath}/build/src/python/CMakeFiles/qgispython.dir/link.txt
    165                
    166 # Adapts for new Sip 4.6
    167         reinplace -E \
    168                 "s|sipClass(_\[^,\]+)|(sipWrapperType *) sipTypeAsPyTypeObject\
    169                 (sipType\\1)|" \
    170                 ${worksrcpath}/python/core/conversions.sip
    171152}
    172153
     
    174155pre-build {
    175156        if {! [file exists ${Python_FRM}/Headers]} {
    176                 ui_msg                                                  "Patching (temporarily) the Python framework\
    177                                                                                                  (See http://trac.macports.org/ticket/21614)"
     157                ui_msg                          "Patching (temporarily) the Python framework\
     158                                                        (See http://trac.macports.org/ticket/21614)"
    178159               
    179160                if {[variant_isset universal] && ${Pyversion} < 26} {
    180                         ui_error                                        "Universal build requires Python > 2.5"
     161                        ui_error                "Universal build requires Python > 2.5"
    181162                }
    182163                                                                                                 
    183                 system                                                  "cd ${Python_FRM} ; \
    184                                                                                                         ln -s Versions/${Pyverpath}/include/python${Pyverpath} Headers ; \
    185                                                                                                         ln -s Versions/${Pyverpath}/Python . ; \
    186                                                                                                         ln -s Versions/${Pyverpath}/Resources . ; \
    187                                                                                                         touch /private/tmp/qgis_pypatch"
     164                system  "cd ${Python_FRM} ; \
     165                        ln -s Versions/${Pyverpath}/include/python${Pyverpath} Headers ; \
     166                        ln -s Versions/${Pyverpath}/Python . ; \
     167                        ln -s Versions/${Pyverpath}/Resources . ; \
     168                        touch /private/tmp/qgis_pypatch"
    188169        } else {
    189170                # Checks for inconsistencies and set dependencies accordingly
    190171       
    191                 if {${Pyver} !=                 [exec cat ${Python_FRM}/Headers/patchlevel.h | \
    192                                                                                                  grep "PY_VERSION " | awk "{print \$3}" | \
    193                                                                                                  sed "s/\\\"//g"]} {   
    194                         ui_error                                        "Inconsistent Python framework installation."
     172                if {${Pyver} != [exec cat ${Python_FRM}/Headers/patchlevel.h | \
     173                                                grep "PY_VERSION " | awk "{print \$3}" | \
     174                                                sed "s/\\\"//g"]} {     
     175                        ui_error        "Inconsistent Python framework installation."
    195176                }
    196177        }
    197        
    198178}
    199179
    200180use_parallel_build                      yes
    201 build.dir                                                               ${worksrcpath}/build
     181build.dir                                       ${worksrcpath}/build
    202182
    203183post-destroot {
    204184        if {[file exists /private/tmp/qgis_pypatch]} {
    205                 ui_msg                                                  "Removing patched Framework"
    206                 system                                                  "cd ${Python_FRM} ; \
    207                                                                                                         rm -f Headers Python Resources ; \
    208                                                                                                         rm -f /private/tmp/qgis_pypatch"
     185                ui_msg                          "Removing patched Framework"
     186                system                          "cd ${Python_FRM} ; \
     187                                                        rm -f Headers Python Resources ; \
     188                                                        rm -f /private/tmp/qgis_pypatch"
    209189        }
    210190}
    211191
    212 destroot.target                                 install
     192destroot.target                         install
Note: See TracChangeset for help on using the changeset viewer.