# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 55521 2009-08-12 16:33:23Z snc@macports.org $

PortSystem      1.0

name            cedet-devel
set my_name     cedet
version         1.0pre6
revision        1
categories      editors
platforms       darwin
maintainers     nox openmaintainer
description     Infrastructure for parser based text analysis in Emacs

long_description \
    Semantic is an infrastructure for parser based text analysis in Emacs. \
    It is a lexer, parser-generator, and parser. It is written in Emacs \
    Lisp and is customized to the way Emacs thinks about language files, \
    and is optimized to use Emacs' parsing capabilities.

homepage        http://cedet.sourceforge.net/
master_sites    sourceforge:$my_name
distname        $my_name-$version

checksums       md5     775c74493b146bd64352969c1590f96b \
                sha1    e8978695e0a552e1d9484721172ce0251658900c \
                rmd160  9c82cdb47d7141703825cdc976dd47984b5b4750

depends_build   port:emacs

depends_run     port:emacs

use_configure   no

use_parallel_build  yes

destroot {
    set lispdir $prefix/share/emacs/site-lisp

    set packages {
        common
        ede
        speedbar
        eieio
        semantic
        cogre
        contrib
        srecode
    }

    proc destroot_package package_dir {
        global  destroot worksrcpath
        upvar   lispdir lispdir

        xinstall -d $destroot$lispdir/$package_dir
        foreach f [glob -directory $worksrcpath/$package_dir *] {
            if {[file isdirectory $f]} {
                set p [file tail $f]

                if {$p ne "." && $p ne ".."} {
                    destroot_package $package_dir/$p
                }
            } else {
                set ext [file extension $f]

                if {$ext eq ".el" || $ext eq ".elc"} {
                    xinstall -m 644 $f $destroot$lispdir/$package_dir
                }
            }
        }
    }

    foreach p $packages {
        destroot_package $p
    }
}

universal_variant   no
