# -*- 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: Portfile 106177 2013-05-18 00:12:04Z hum@macports.org $

PortSystem          1.0
PortGroup           github 1.0

github.setup        railwaycat emacs-mac-port 4.2 v

name                emacs-mac-app
categories          aqua editors
maintainers         hum openmaintainer

description         Emacs Mac port

long_description    ${name} is "Mac port" addition to GNU Emacs 24. This provides a native \
                    GUI support for Mac OS X 10.4 - 10.8.

platforms           darwin
license             GPL-3+

set emacs_version   24.3

checksums           rmd160  9a34d9a34cb16dfa805da6f50edbc38ca217fda1 \
                    sha256  04a828714f158470c383c5346ffc36fea154fc2217a239a7e985b7d4e1d2a687

depends_lib         port:ncurses \
                    port:libxml2 \
                    port:gnutls

patchfiles          patch-src_emacs.c.diff

universal_variant   no

configure.args      --with-mac \
                    --enable-mac-app=${applications_dir} \
                    --without-rsvg \
                    --without-imagemagick

if {${os.major} >= 11 && ${os.platform} == "darwin"} {
    configure.cflags-append -fobjc-arc
}

post-destroot {
    # move files into the app bundle.
    # https://github.com/railwaycat/emacs-mac-port/blob/master/build-emacs.app.sh
    set app_dir ${destroot}${applications_dir}/Emacs.app/Contents/Resources
    foreach d [glob ${destroot}${prefix}/share/emacs/${emacs_version}/*] {
        move ${d} ${app_dir}
    }
    move ${destroot}${prefix}/share/info ${app_dir}
    move ${destroot}${prefix}/share/man  ${app_dir}
    move ${destroot}${prefix}/var        ${app_dir}
    move ${destroot}${prefix}/bin        ${app_dir}/../MacOS
    xinstall -d ${app_dir}/../MacOS/libexec
    foreach f [glob ${destroot}${prefix}/libexec/emacs/${emacs_version}/*/*] {
        move ${f} ${app_dir}/../MacOS/libexec
    }
    delete ${destroot}${prefix}

    # make the application binary a hard link.
    delete ${app_dir}/../MacOS/Emacs
    file link -hard ${app_dir}/../MacOS/Emacs ${app_dir}/../MacOS/bin/emacs

    # install site-start.el.
    set site_lisp ${destroot}${applications_dir}/Emacs.app/Contents/Resources/site-lisp
    xinstall -d ${site_lisp}
    file copy ${filespath}/site-start.el ${site_lisp}
    reinplace "s|__PREFIX__|${prefix}|g" ${site_lisp}/site-start.el

    # rename the app bundle to avoid a conflict with emacs-app.
    move ${destroot}${applications_dir}/Emacs.app \
         ${destroot}${applications_dir}/EmacsMac.app
}

variant rsvg description {Enable librsvg bindings} {
    depends_lib-append     port:librsvg
    configure.args-delete  --without-rsvg
    configure.args-append  --with-rsvg
}

variant imagemagick description {Enable ImageMagick bindings} {
    depends_lib-append     port:ImageMagick
    configure.args-delete  --without-imagemagick
    configure.args-append  --with-imagemagick
}
