# -*- 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
# $Id$

PortSystem 1.0
#PortGroup	muniversal 1.0

name		guile
version		2.0.11
revision        2
categories	lang
maintainers	nomaintainer
platforms	darwin
license     LGPL-2.1+

# Failed to destroot guile: /opt/local/lib/guile/2.0/ccache/ice-9/and-let-star.go differs in ... and cannot be merged
universal_variant no

description	GNU's Ubiquitous Intelligent Language for Extension (guile)
long_description	\
		Guile is an interpreter for the Scheme programming	\
		language, packaged for use in a wide variety of		\
		environments. Guile implements Scheme as described in	\
		the Revised^5 Report on the Algorithmic Language Scheme	\
		(usually known as R5RS), providing clean and general	\
		data and control structures.				\
									\
		Guile goes beyond the rather austere language presented	\
		in R5RS, extending it with a module system, full access	\
		to POSIX system calls, networking support, multiple	\
		threads, dynamic linking, a foreign function call	\
		interface, powerful string processing, and many other	\
		features needed for programming in the real world.

distname        guile-${version}
homepage	http://www.gnu.org/software/guile/guile.html
master_sites	gnu

checksums    rmd160  e375607a569cba8ebecd9a15d4c25abe10abfd85 \
             sha256  e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040

depends_lib	    port:readline \
                port:gettext \
                port:libiconv \
                port:libtool \
                port:gmp \
                port:libunistring \
                port:boehmgc \
                port:libffi

# guile-config is a wrapper around pkg-config
depends_lib-append   port:pkgconfig

configure.args	CPPFLAGS="-I${prefix}/include"		\
		LDFLAGS="-L${prefix}/lib"		\
		--infodir="${prefix}/share/info"	\
		--mandir="${prefix}/share/man"		\
		--enable-regex                          \
		--disable-error-on-warning

patchfiles clang-i386.patch

# Unable to cross compile, so we need to be able to run the built code
if {${os.arch} eq "i386" && ${os.major} >= 11} {
    supported_archs i386 x86_64
    set universal_archs_supported {i386 x86_64}
} elseif {${os.arch} eq "i386" && ${build_arch} eq "x86_64"} {
    supported_archs i386 x86_64 ppc
    set universal_archs_supported {i386 x86_64 ppc}
} elseif {${os.arch} eq "i386"} {
    supported_archs i386 ppc
    set universal_archs_supported {i386 ppc}
} elseif {${build_arch} eq "ppc64"} {
    supported_archs ppc ppc64
    set universal_archs_supported {ppc ppc64}
} else {
    supported_archs ${build_arch}
    set universal_archs_supported ${build_arch}
}

platform darwin {
#    if {[variant_isset universal]} {
#        set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
#        set merger_host(i386) i686-apple-${os.platform}${os.major}
#        set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
#        set merger_host(ppc) powerpc-apple-${os.platform}${os.major}
#        set merger_configure_args(x86_64) "--build=x86_64-apple-${os.platform}${os.major}"
#        set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major}"
#        set merger_configure_args(ppc) "--build=powerpc-apple-${os.platform}${os.major}"
#        set merger_configure_args(ppc64) "--build=powerpc64-apple-${os.platform}${os.major}"
#    } else
    if {${build_arch} eq "i386"} {
        configure.args-append \
            --host=i686-apple-${os.platform}${os.major} \
            --build=i686-apple-${os.platform}${os.major}
    } elseif {${build_arch} eq "x86_64"} {
        configure.args-append \
            --host=x86_64-apple-${os.platform}${os.major} \
            --build=x86_64-apple-${os.platform}${os.major}
    } elseif {${build_arch} eq "ppc"} {
        configure.args-append \
            --host=powerpc-apple-${os.platform}${os.major} \
            --build=powerpc-apple-${os.platform}${os.major}
    } elseif {${build_arch} eq "ppc64"} {
        configure.args-append \
            --host=powerpc64-apple-${os.platform}${os.major} \
            --build=powerpc64-apple-${os.platform}${os.major}
    }
}


livecheck.type  regex
livecheck.url   "http://ftp.gnu.org/pub/gnu/guile/?C=N;O=D"
livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"