# $Id: Portfile 48326 2009-03-19 09:31:11Z raimue@macports.org $

PortSystem          1.0

name                vim-app
set realname        vim
set vim_version     7.2
set vim_patchlevel  147
version             ${vim_version}.${vim_patchlevel}
revision			2
categories          editors
maintainers         nomaintainer
description         Vim.app is a GUI version of the famous editor vim.
long_description    This port provides Vim.app, a GUI version of the famous editor vim. \
                        Vim is a highly configurable text editor built to enable efficient text editing.
homepage            http://www.vim.org/
platforms           darwin

use_bzip2           yes

distfiles \
    [suffix ${realname}-${vim_version}]:vim \
    ${realname}-${vim_version}-extra.tar.gz:extra \
    ${realname}-${vim_version}-lang.tar.gz:extra \
    app-bm.tar.gz:app_aqua \
    doc.tar.gz:doc_aqua

checksums \
  [suffix ${realname}-${vim_version}] \
    md5     f0901284b338e448bfd79ccca0041254 \
    sha1    a4b6641ca528fada71ea77c998a441495ed4984c \
    rmd160  eaff64d0fec09d725addf8de569f508b80a5766e \
  ${realname}-${vim_version}-extra.tar.gz \
    md5     35e04482f07c57221c9a751aaa3b8dac \
    sha1    6a17629093e59958bff336b6c122dea1b8b1b649 \
    rmd160  05976466c8a6c1bd2fb2b1d58eb4613947de07df \
  ${realname}-${vim_version}-lang.tar.gz \
    md5     d8884786979e0e520c112faf2e176f05 \
    sha1    970e0dda7e5b2308cf33488be1ea33d593d951cb \
    rmd160  946bd64fbf030b341cc13bee7101f2c0acb26ce2 \
  app-bm.tar.gz \
    md5 418b9e615a34ae5aad918f5c5a694a44 \
  doc.tar.gz \
    md5 692f7874fc617162d0fe110daf39a98a

patchfiles          patch-src_auto_configure.diff

distname            ${realname}[strsed ${vim_version} {g/\.//}]
dist_subdir         ${distname}

master_sites-append \
    http://www.douglas.stebila.ca/files/code/vim/app/:app_aqua \
    http://www.douglas.stebila.ca/files/code/vim/doc/:doc_aqua

depends_build       bin:gnutar:gnutar \
                    bin:grep:grep
depends_lib         port:ncurses \
                    port:gettext \
                    port:libiconv \
                    port:ctags

configure.pre_args  --prefix=${applications_dir}
configure.args      --without-x \
                    --disable-gpm \
                    --mandir=${prefix}/share/man \
                    --with-tlib=ncurses \
                    --enable-multibyte \
                    --with-features=huge
configure.cppflags  -I${prefix}/include
configure.ldflags   -L${prefix}/lib

extract.only        [suffix ${realname}-${vim_version}]
post-extract {
    system "gnutar xvfz ${distpath}/${realname}-${vim_version}-extra.tar.gz -C \
      ${workpath}"
    system "gnutar xvfz ${distpath}/${realname}-${vim_version}-lang.tar.gz -C \
      ${workpath}"
    system "gnutar xvfz ${distpath}/app-bm.tar.gz -C ${workpath}"
    system "gnutar xvfz ${distpath}/doc.tar.gz -C ${workpath}"
}

use_parallel_build  yes

test.run            yes

pre-destroot {
    xinstall -d ${destroot}${applications_dir}
}

destroot {
    # copy Vim.app
    file copy ${worksrcpath}/src/Vim.app ${destroot}${applications_dir}
    xinstall -m 644 ${workpath}/doc-txt.icns \
      ${destroot}${applications_dir}/Vim.app/Contents/Resources
    xinstall -m 644 ${workpath}/app.icns \
      ${destroot}${applications_dir}/Vim.app/Contents/Resources/gui_mac.icns
    # remove the broken link to 'runtime', copy the folder instead
    set runtimePath \
      "${destroot}${applications_dir}/Vim.app/Contents/Resources/vim/runtime"
    file delete ${runtimePath}
    file copy ${worksrcpath}/runtime ${runtimePath}
    # fix permissions
    foreach f [glob ${runtimePath}/autoload/*.vim] {
            file attributes ${f} -permissions 0644
    }
    # install launchscript
    xinstall -m 755 ${filespath}/gvim.sh ${destroot}/${prefix}/bin/gvim
    reinplace "s|@APPPATH@|${applications_dir}|g" ${destroot}/${prefix}/bin/gvim

    # allow for Vim.App to open .nfo, .vim, .latex, .tex, .diff files
    system "patch -d ${destroot}${applications_dir}/Vim.app/Contents/ -p0 < ${filespath}/patch-Info.plist"
}

# general vim variants

variant xim description {Build with support for X Input Method} {
    configure.args-append --with-xim
}

variant perl description {Enable Perl scripting} {
    configure.args-append   --enable-perlinterp
    depends_lib-append      path:bin/perl:perl5
}
variant python description {Enable Python scripting} {
    configure.args-append   --enable-pythoninterp
    depends_lib-append      bin:python:python25
}
variant ruby description {Enable Ruby scripting} {
    configure.args-append   --enable-rubyinterp
    configure.env-append    ARCHFLAGS="-L${prefix}/lib"
    depends_lib-append      bin:ruby:ruby
}
variant tcl description {Enable Tcl scripting} {
    configure.args-append   --enable-tclinterp
    depends_lib-append      port:tcl
}

variant cscope description {Enable source code browsing with cscope} {
    configure.args-append   --enable-cscope
}

platform darwin ppc {
    post-destroot {
        system "gnutar xvfz ${filespath}/GVim_app.tar.gz -C ${destroot}${applications_dir}/"
        xinstall -m 644 ${workpath}/app.icns ${destroot}${applications_dir}/Vim.app/Contents/Resources/appIcon.icns
    }
}

include serverlist
include patchlist

livecheck.check regex
livecheck.url   http://ftp.vim.org/pub/${realname}/patches/${vim_version}/?O=D
livecheck.regex (${vim_version}\.\\d+)

include gdb
include kaoriya
