Ignore:
Timestamp:
Mar 4, 2012, 9:33:15 PM (8 years ago)
Author:
ryandesign@…
Message:

php-1.0.tcl: Begin work on unified PHP portgroup by copying php5extension portgroup and renaming the options/defaults

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/dports/_resources/port1.0/group/php-1.0.tcl

    r90392 r90404  
    22# $Id$
    33#
    4 # Copyright (c) 2009 The MacPorts Project
     4# Copyright (c) 2009-2012 The MacPorts Project
    55# All rights reserved.
    66#
     
    3636# Usage:
    3737#
    38 #   PortGroup               php5extension 1.0
    39 #   php5extension.setup     extension version source
     38#   PortGroup           php 1.0
     39#   php.setup           extension version source
    4040#
    4141# where extension is the name of the extension (e.g. APC), version is its
     
    4545# If this is a Zend extension, use
    4646#
    47 #   php5extension.type      zend
    48 
    49 
    50 default build.dir                   {[lindex ${php5extension.build_dirs} 0]}
    51 default configure.dir               {[lindex ${php5extension.build_dirs} 0]}
    52 default destroot.dir                {[lindex ${php5extension.build_dirs} 0]}
    53 options php5extension.build_dirs
    54 default php5extension.build_dirs    {[php5extension.build_dirs_proc]}
    55 options php5extension.extensions
    56 options php5extension.extension_dir
    57 default php5extension.extension_dir {[exec ${prefix}/bin/php-config --extension-dir 2>/dev/null]}
    58 options php5extension.ini
    59 default php5extension.ini           {[lindex ${php5extension.extensions} 0].ini}
    60 options php5extension.inidir
    61 default php5extension.inidir        {${prefix}/var/db/php5}
    62 options php5extension.php_ini
    63 default php5extension.php_ini       {${prefix}/etc/php5/php.ini}
    64 options php5extension.phpize
    65 default php5extension.phpize        {${prefix}/bin/phpize}
    66 options php5extension.type
    67 default php5extension.type      php
    68 options php5extension.source
    69 default php5extension.source        standalone
    70 
    71 proc php5extension.setup {extensions version {source ""}} {
    72     global php5extension.build_dirs php5extension.extensions php5extension.ini php5extension.inidir php5extension.source
     47#   php.type            zend
     48
     49### This portgroup is not ready to be used yet ###
     50
     51
     52default build.dir               {[lindex ${php.build_dirs} 0]}
     53default configure.dir           {[lindex ${php.build_dirs} 0]}
     54default destroot.dir            {[lindex ${php.build_dirs} 0]}
     55options php.build_dirs
     56default php.build_dirs          {[php.build_dirs_proc]}
     57options php.extensions
     58options php.extension_dir
     59default php.extension_dir       {[exec ${prefix}/bin/php-config --extension-dir 2>/dev/null]}
     60options php.ini
     61default php.ini                 {[lindex ${php.extensions} 0].ini}
     62options php.inidir
     63default php.inidir              {${prefix}/var/db/php5}
     64options php.php_ini
     65default php.php_ini             {${prefix}/etc/php5/php.ini}
     66options php.phpize
     67default php.phpize              {${prefix}/bin/phpize}
     68options php.type
     69default php.type                php
     70options php.source
     71default php.source              standalone
     72
     73proc php.setup {extensions version {source ""}} {
     74    global php.build_dirs php.extensions php.ini php.inidir php.source
    7375    global destroot
    7476   
    7577    # Use "set" to preserve the list structure.
    76     set php5extension.extensions ${extensions}
    77    
    78     php5extension.source        ${source}
    79    
    80     name                        php5-[lindex ${php5extension.extensions} 0]
     78    set php.extensions ${extensions}
     79   
     80    php.source                  ${source}
     81   
     82    name                        php5-[lindex ${php.extensions} 0]
    8183    version                     ${version}
    8284    categories                  php
    83     distname                    [lindex ${php5extension.extensions} 0]-${version}
     85    distname                    [lindex ${php.extensions} 0]-${version}
    8486   
    8587    depends_lib                 path:bin/php:php5
     
    9092   
    9193    pre-configure {
    92         set php_debug_variant [regexp {/debug-[^/]+$} ${php5extension.extension_dir}]
     94        set php_debug_variant [regexp {/debug-[^/]+$} ${php.extension_dir}]
    9395        if {${php_debug_variant} && ![variant_isset debug]} {
    9496            ui_error "${name} cannot be installed without the debug variant because PHP is installed with the debug variant."
     
    98100            return -code error "incompatible variant selection"
    99101        }
    100         foreach dir ${php5extension.build_dirs} {
     102        foreach dir ${php.build_dirs} {
    101103            ui_debug "Generating configure script in [file tail ${dir}]"
    102             system "cd ${dir} && ${php5extension.phpize}"
     104            system "cd ${dir} && ${php.phpize}"
    103105        }
    104106    }
    105107   
    106108    configure {
    107         foreach configure.dir ${php5extension.build_dirs} {
     109        foreach configure.dir ${php.build_dirs} {
    108110            ui_debug "Configuring in [file tail ${configure.dir}]"
    109111            portconfigure::configure_main
     
    112114   
    113115    build {
    114         foreach build.dir ${php5extension.build_dirs} {
     116        foreach build.dir ${php.build_dirs} {
    115117            ui_debug "Building in [file tail ${build.dir}]"
    116118            portbuild::build_main
     
    121123   
    122124    destroot {
    123         foreach destroot.dir ${php5extension.build_dirs} {
     125        foreach destroot.dir ${php.build_dirs} {
    124126            ui_debug "Staging in [file tail ${destroot.dir}]"
    125127            portdestroot::destroot_main
    126128        }
    127         xinstall -m 755 -d ${destroot}${php5extension.inidir}
    128         if {"zend" == ${php5extension.type}} {
    129             set extension_prefix "zend_extension=${php5extension.extension_dir}/"
     129        xinstall -m 755 -d ${destroot}${php.inidir}
     130        if {"zend" == ${php.type}} {
     131            set extension_prefix "zend_extension=${php.extension_dir}/"
    130132        } else {
    131133            set extension_prefix "extension="
    132134        }
    133         set fp [open ${destroot}${php5extension.inidir}/${php5extension.ini} w]
     135        set fp [open ${destroot}${php.inidir}/${php.ini} w]
    134136        puts $fp "; Do not edit this file; it is automatically generated by MacPorts."
    135137        puts $fp "; Any changes you make will be lost if you upgrade or uninstall ${name}."
    136         puts $fp "; To configure PHP, edit ${php5extension.php_ini}."
    137         foreach extension ${php5extension.extensions} {
     138        puts $fp "; To configure PHP, edit ${php.php_ini}."
     139        foreach extension ${php.extensions} {
    138140            puts $fp "${extension_prefix}${extension}.so"
    139141        }
     
    142144   
    143145    post-install {
    144         if {[file exists ${php5extension.php_ini}]} {
     146        if {[file exists ${php.php_ini}]} {
    145147            set count 0
    146             set fp [open ${php5extension.php_ini} r]
     148            set fp [open ${php.php_ini} r]
    147149            while {![eof $fp]} {
    148150                set line [gets $fp]
    149151                regexp {^extension_dir *= *"?([^\"]*)"?} $line -> phpiniextensiondir
    150152                if {[info exists phpiniextensiondir]} {
    151                     ui_debug "Found extension_dir ${phpiniextensiondir} in ${php5extension.php_ini}"
    152                     if {${phpiniextensiondir} != ${php5extension.extension_dir}} {
     153                    ui_debug "Found extension_dir ${phpiniextensiondir} in ${php.php_ini}"
     154                    if {${phpiniextensiondir} != ${php.extension_dir}} {
    153155                        if {0 == ${count}} {
    154156                            ui_msg "Your php.ini contains a line that will prevent ${name}"
    155157                            ui_msg "and other PHP extensions from working. To fix this,"
    156                             ui_msg "edit ${php5extension.php_ini} and delete this line:"
     158                            ui_msg "edit ${php.php_ini} and delete this line:"
    157159                            ui_msg ""
    158160                        }
     
    168170   
    169171    if {"pecl" == ${source}} {
    170         global php5extension.homepage
    171         set php5extension.homepage  http://pecl.php.net/package/[lindex ${php5extension.extensions} 0]/
    172        
    173         homepage                    ${php5extension.homepage}
     172        global php.homepage
     173        set php.homepage            http://pecl.php.net/package/[lindex ${php.extensions} 0]/
     174       
     175        homepage                    ${php.homepage}
    174176        master_sites                http://pecl.php.net/get/
    175177        extract.suffix              .tgz
    176178       
    177179        livecheck.type              regexm
    178         livecheck.url               ${php5extension.homepage}
     180        livecheck.url               ${php.homepage}
    179181        livecheck.regex             {>([0-9.]+)</a></th>\s*<[^>]+>stable<}
    180182    } elseif {"bundled" == ${source}} {
    181         homepage                    http://www.php.net/[lindex ${php5extension.extensions} 0]
     183        homepage                    http://www.php.net/[lindex ${php.extensions} 0]
    182184        master_sites                php
    183185       
     
    187189       
    188190        pre-extract {
    189             foreach extension ${php5extension.extensions} {
     191            foreach extension ${php.extensions} {
    190192                extract.post_args-append ${worksrcdir}/ext/${extension}
    191193            }
     
    208210}
    209211
    210 proc php5extension.build_dirs_proc {} {
    211     global php5extension.extensions php5extension.source worksrcpath
    212     if {"bundled" == ${php5extension.source}} {
     212proc php.build_dirs_proc {} {
     213    global php.extensions php.source worksrcpath
     214    if {"bundled" == ${php.source}} {
    213215        set dirs {}
    214         foreach extension ${php5extension.extensions} {
     216        foreach extension ${php.extensions} {
    215217            lappend dirs ${worksrcpath}/ext/${extension}
    216218        }
Note: See TracChangeset for help on using the changeset viewer.