[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