[26266] trunk/base/src/port1.0/resources/group/gnustep-1.0.tcl

Kevin Ballard eridius at macports.org
Tue Jun 19 01:05:16 PDT 2007


Why'd you change the copyright line to use @opendarwin.org instead of  
@macports.org?

On Jun 17, 2007, at 3:13 PM, source_changes at macosforge.org wrote:

> Revision
> 26266
> Author
> yves at macports.org
> Date
> 2007-06-17 15:13:54 -0700 (Sun, 17 Jun 2007)
> Log Message
>
> gnustep portgroup for gnustep-make-2.0
> Modified Paths
>
> trunk/base/src/port1.0/resources/group/gnustep-1.0.tcl
> Diff
>
> Modified: trunk/base/src/port1.0/resources/group/gnustep-1.0.tcl  
> (26265 => 26266)
>
> --- trunk/base/src/port1.0/resources/group/gnustep-1.0.tcl	 
> 2007-06-17 22:08:24 UTC (rev 26265)
> +++ trunk/base/src/port1.0/resources/group/gnustep-1.0.tcl	 
> 2007-06-17 22:13:54 UTC (rev 26266)
> @@ -3,7 +3,7 @@
>  #
>  # $Id$
>  #
> -# Copyright (c) 2006 Yves de Champlain <yves at macports.org>,
> +# Copyright (c) 2006 Yves de Champlain <yves at opendarwin.org>,
>  # All rights reserved.
>  #
>  # Redistribution and use in source and binary forms, with or without
> @@ -32,14 +32,19 @@
>  # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  
> DAMAGE.
>  #
>
> +#
>  # Group code for GNUstep ports.
> +#
>
>  #
> -# Overview of gnustep 1.0 PortGroup
> +# Overview of gnustep 1.0 PortGroup :
>  #
> +
> +#
>  # default categories            gnustep
>  # default homepage              http://www.gnustep.org/
>  # default master_sites          gnustep:core
> +# default depends_lib           port:gnustep-core
>  #
>  # array set gnustep.post_flags  Apple CC two-level namespaces  
> requires all
>  #                               symbols to be resolved at link time,
> @@ -52,140 +57,181 @@
>  #                                       BundleSubDir  "-lfoo -lbar"
>  #                                   }
>  #                               }
> -#
> +#
> +#
> +# proc set_gnustep_make         Sets GNUSTEP_MAKEFILES
> +#                               according to the FilesystemLayout
> +#
> +# proc set_gnustep_env          Sets DYLD_LIBRARY_PATH and PATH
> +#                               for the gnustep FilesystemLayout
> +#
> +#
> +# default gnustep.cc            CC=gcc-dp-4.2
> +#
>  # default use_configure         no
> -# default configure.args        CC=gcc-mp-4.1
> +# default configure.env         Sets the environment for the  
> gnustep FilesystemLayout
> +# configure.pre_args-append     ${gnustep.cc} [set_gnustep_make]"
>  #
> +# default build.env             {[set_gnustep_env]}
>  # default build.type            gnu
> -# default build.args            messages=yes
> +# build.pre_args-append         "messages=yes [set_gnustep_make]"
>  #
> -# default gnustep.domain        As provided by the current package  
> or Local
> -# default destroot.args         messages=yes
> -# default destroot.destdir      GNUSTEP_INSTALLATION_DIR=$ 
> {destroot}${prefix}/GNUstep/$gnustep.domain
> -# variant with_docs             GNUstep programs providing  
> documentation should
> -#                               all follow the same pattern
> +# default destroot.env          {[set_gnustep_env]}
> +# destroot.pre_args-append      "messages=yes [set_gnustep_make]  
> [set_gnustep_domain]"
>  #
> +# variant with_docs             Most GNUstep programs providing  
> documentation
> +#                               follow the same pattern
> +#
>
> +#
> +# GNUstep utilities
> +#
>
> -# Options this group provides :
> +#
> +# Adds SHARED_LD_POSTFLAGS for Darwin's linker
> +#
> +# Sets GNUSTEP_INSTALLATION_DOMAIN for ports using the
> +# deprecated GNUSTEP_SYSTEM_ROOT variable
> +#
>
> -options gnustep.domain
> -default gnustep.domain      ""
> +array set gnustep.post_flags {}
>
> -# Default values for this group :
> -
> -default categories			gnustep
> -default homepage            http://www.gnustep.org/
> -
> -default master_sites        gnustep:core
> -default depends_build       port:gnustep-make
> -default depends_lib         port:gnustep-back
> -
> -default use_configure		no
> -default configure.args      CC=gcc-mp-4.1
> -
> -default build.type          gnu
> -default build.args          messages=yes
> -
> -default destroot.args       messages=yes
> -
> -
> -# for Darwin's linker
> -
> -array set gnustep.post_flags {}
>  post-patch {
>      foreach {src_subdir post_libs} [array get gnustep.post_flags] {
>          set fl [ open ${worksrcpath}/$src_subdir/ 
> GNUmakefile.preamble a ]
>          puts $fl "\nSHARED_LD_POSTFLAGS += $post_libs"
>          close $fl
>      }
> +    foreach gmf [glob -nocomplain -directory ${worksrcpath}  
> GNUmakefile*] {
> +        reinplace \
> +            "s|GNUSTEP_INSTALLATION_DIR = \$\(GNUSTEP_SYSTEM_ROOT 
> \)|GNUSTEP_INSTALLATION_DOMAIN=SYSTEM|g" \
> +                $gmf
> +    }
>  }
>
> -# try to guess installation directory if not specified in the  
> Portfile
> -# defaults to Local
> +#
> +# Returns true (1) if current file layout is gnustep
> +# Returns false (0) otherwise
> +#
>
> -proc set_gnustep_domain {} {
> -    global gnustep.domain worksrcpath
> +proc gnustep_layout {} {
> +    global prefix
>
> -    if {${gnustep.domain} == ""} {
> -        set gnustep.domain Local
> -        ui_debug "No gnustep.domain provided"
> -        if {[file exists $worksrcpath/GNUmakefile]} {
> -            set root_makefile "GNUmakefile"
> -        } elseif {[file exists $worksrcpath/GNUmakefile.in]} {
> -            set root_makefile "GNUmakefile.in"
> -        } else {
> -            ui_debug "no GNUmakefile ? ... hum !"
> -            return 1
> -        }
> -        ui_debug "Checking installation directory in $worksrcpath/ 
> $root_makefile"
> -        set fl [open "| grep \"^GNUSTEP_INSTALLATION_DIR = \"  
> $worksrcpath/$root_makefile"]
> -        set data [read $fl]
> -        if {! [catch {close $fl} err] && [regexp SYSTEM $data]} {
> -            ui_debug "Data read : $data"
> -            set gnustep.domain System
> -        } else {
> -            ui_debug "$err"
> -        }
> +    if {[file exists ${prefix}/GNUstep/System/Library/Makefiles]} {
> +        return 1
>      }
> -    ui_debug "Using ${gnustep.domain}"
> +    return 0
>  }
>
> +#
> +# Sets GNUSTEP_SYSTEM_LIBRARY according to the FilesystemLayout
> +#
>
> -# GNUstep stages commands
> +proc set_system_library {} {
> +    global prefix
> +
> +    if {[gnustep_layout]} {
> +        return "${prefix}/GNUstep/System/Library"
> +    }
> +    return "${prefix}/lib/GNUstep"
> +}
>
> -configure {
> -    if { ${use_configure} == "yes" } {
> -        cd ${worksrcpath}
> -        ui_debug "./configure ${configure.pre_args} $ 
> {configure.args}"
> -        system "\
> -            . ${prefix}/GNUstep/System/Library/Makefiles/GNUstep.sh \
> -            && \
> -            ./configure ${configure.pre_args} ${configure.args}"
> +#
> +# Sets GNUSTEP_LOCAL_LIBRARY according to the FilesystemLayout
> +#
> +
> +proc set_local_library {} {
> +    global prefix
> +
> +    if {[gnustep_layout]} {
> +        return "${prefix}/GNUstep/Local/Library"
>      }
> +    return "${prefix}/lib/GNUstep"
>  }
> +
> +#
> +# Sets GNUSTEP_MAKEFILES according to the FilesystemLayout
> +#
> +
> +proc set_gnustep_make {} {
> +    global prefix
>
> -build {
> -    cd ${worksrcpath}
> -    ui_debug "${build.cmd} ${build.target} ${build.args}"
> -    system "\
> -        . ${prefix}/GNUstep/System/Library/Makefiles/GNUstep.sh \
> -        && \
> -        ${build.cmd} ${build.target} ${build.args}"
> +    if {[gnustep_layout]} {
> +        return "GNUSTEP_MAKEFILES=${prefix}/GNUstep/System/Library/ 
> Makefiles"
> +    }
> +    return "GNUSTEP_MAKEFILES=${prefix}/share/GNUstep/Makefiles"
>  }
>
> -destroot {
> -    set_gnustep_domain
> -    set destroot.destdir \
> -        GNUSTEP_INSTALLATION_DIR=${destroot}${prefix}/GNUstep/$ 
> {gnustep.domain}
> -    cd ${worksrcpath}
> -    ui_debug "${destroot.cmd} ${destroot.target} \
> -            ${destroot.args} ${destroot.destdir}"
> -    system "\
> -        . ${prefix}/GNUstep/System/Library/Makefiles/GNUstep.sh \
> -        && \
> -        ${destroot.cmd} ${destroot.target} \
> -            ${destroot.args} ${destroot.destdir}"
> +#
> +# Sets DYLD_LIBRARY_PATH and PATH for the gnustep FilesystemLayout
> +#
> +
> +proc set_gnustep_env {} {
> +    global env prefix
> +
> +    if {[gnustep_layout]} {
> +        return "\
> +            DYLD_LIBRARY_PATH=${prefix}/GNUstep/Local/Library/ 
> Libraries:${prefix}/GNUstep/System/Library/Libraries \
> +            PATH=${prefix}/GNUstep/Local/Tools:${prefix}/GNUstep/ 
> System/Tools:$env(PATH) \
> +        "
> +    }
> +    return
>  }
>
> +#
> +# Options this group provides :
> +#
> +
> +options gnustep.cc
> +default gnustep.cc          CC=gcc-mp-4.2
> +
> +options system_library
> +options local_library
> +default system_library      [set_system_library]
> +default local_library       [set_local_library]
> +
> +#
> +# Default values for this group :
> +#
> +
> +default categories          gnustep
> +default homepage            http://www.gnustep.org/
> +
> +default master_sites        gnustep:core
> +default depends_lib         port:gnustep-core
> +
> +default use_configure       no
> +default configure.env       {[set_gnustep_env]}
> +configure.pre_args-append   "${gnustep.cc} [set_gnustep_make]"
> +
> +default build.env           {[set_gnustep_env]}
> +default build.type          gnu
> +build.pre_args-append       "messages=yes [set_gnustep_make]"
> +
> +default destroot.env        {[set_gnustep_env]}
> +destroot.pre_args-append    "messages=yes [set_gnustep_make]"
> +
> +#
>  # To build and install documentation provided by the port
> +#
>
>  variant with_docs {
> -    depends_build-append \
> -       bin:latex2html:latex2html \
> -        bin:texi2pdf:texinfo \
> -        bin:texi2html:texi2html \
> -        bin:pdftex:teTeX \
> -        port:gnustep-base
> +    depends_build-append    bin:latex2html:latex2html \
> +                            bin:texi2pdf:texinfo \
> +                            bin:texi2html:texi2html \
> +                            bin:pdftex:teTeX \
> +                            port:gnustep-base
> +
>      post-destroot {
> +
>          if {[file exists ${worksrcpath}/Documentation/GNUmakefile]} {
> +
>              ui_msg "--->  Making Documentation for ${name}"
> +
>              cd ${worksrcpath}/Documentation
> -            system "\
> -                . ${prefix}/GNUstep/System/Library/Makefiles/ 
> GNUstep.sh \
> -                && \
> -                ${destroot.cmd} ${destroot.target} \
> -                    ${destroot.args} ${destroot.destdir}"
> +            system "${destroot.env} ${destroot.cmd} \
> +                    ${destroot.pre_args} ${destroot.destdir}"
> +
>              set info_dir \
>                  ${destroot}${prefix}/GNUstep/System/Library/ 
> Documentation/info
>              if {[file exists ${info_dir}/manual.info]} {
> _______________________________________________
> macports-changes mailing list
> macports-changes at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-changes

-- 
Kevin Ballard
http://kevin.sb.org
kevin at sb.org
http://www.tildesoft.com


-- 
Kevin Ballard
http://kevin.sb.org
eridius at macports.org
http://www.tildesoft.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-dev/attachments/20070619/f769ed91/attachment.html


More information about the macports-dev mailing list