[MacPorts] #19971: haskell-mode.el Development version from cvs + support for emacs-app-devel

MacPorts noreply at macports.org
Tue Jun 16 11:13:50 PDT 2009


#19971: haskell-mode.el Development version from cvs + support for emacs-app-devel
---------------------------------------+------------------------------------
 Reporter:  marcin.zalewski@…          |       Owner:  macports-tickets@…                   
     Type:  enhancement                |      Status:  new                                  
 Priority:  Normal                     |   Milestone:                                       
Component:  ports                      |     Version:  1.7.1                                
 Keywords:  emacs haskell mode         |        Port:  haskell-mode.el                      
---------------------------------------+------------------------------------
 I wanted the haskell-mode version from CVS, and I wanted to have a variant
 for emacs-app-devel. Here is the resulting portfile:

 {{{
 PortSystem 1.0
 name            haskell-mode.el
 version         latest
 categories      lang editors
 maintainers     nomaintainer
 platforms       darwin

 description     An emacs major mode for editing haskell programs.
 long_description        \
                 Haskell-mode is a major Emacs mode for editing          \
                 Haskell source code. It provides syntax highlighting    \
                 and automatic indentation and comes with inf-haskell    \
                 which allows interaction with an inferior Haskell       \
                 interactive loop such as the one of Hugs  or GHCi.

 distname        haskell-mode

 homepage        //http://www-perso.iro.umontreal.ca/~monnier/elisp/
 master_sites    ${homepage}

 fetch.type      cvs
 cvs.root        :pserver:anoncvs at cvs.haskell.org:/cvs
 cvs.password    cvs
 cvs.module      fptools/CONTRIB/haskell-modes/emacs
 worksrcdir      fptools/CONTRIB/haskell-modes/emacs

 # checksums     md5 de5ff32478154a39bea3adb3b7ce0e94

 depends_lib     port:emacs
 depends_run     port:ghc

 post-patch      { reinplace s|ghci-program-path|${prefix}/bin/ghci|g
 ${worksrcpath}/inf-haskell.el }

 variant emacs_devel     { depends_lib-delete port:emacs
                   depends_lib-append port:emacs-devel
                 }

 variant emacs_app_devel {
         depends_lib-append      port:emacs-app-devel
         depends_lib-delete      port:emacs
 }

 use_configure   no
 build           {}
 destroot        {
                 if {[variant_isset emacs_app_devel]} {
                   file mkdir
 ${destroot}${applications_dir}/Emacs.app/Contents/Resources/site-lisp
                   file copy  ${workpath}/${worksrcdir}  \
 ${destroot}${applications_dir}/Emacs.app/Contents/Resources/site-
 lisp/$distname
                 } else {
                   file mkdir ${destroot}${prefix}/share/emacs/site-lisp
                   file copy  ${workpath}/${worksrcdir}  \
                              ${destroot}${prefix}/share/emacs/site-
 lisp/$distname
                 }
                 }

 post-activate   {
                 if {[variant_isset emacs_app_devel]} {
                   ui_msg "To use this, put the following into your
 ~/.emacs:"
                   ui_msg "(load
 \"${applications_dir}/Emacs.app/Contents/Resources/site-lisp/${distname
 }/haskell-site-file\")"
                   ui_msg "(add-hook 'haskell-mode-hook 'turn-on-haskell-
 doc-mode)"
                   ui_msg "(add-hook 'haskell-mode-hook 'turn-on-haskell-
 indent)"
                   ui_msg "(add-hook 'haskell-mode-hook 'font-lock-mode)"
                   ui_msg "(add-hook 'haskell-mode-hook 'imenu-add-menubar-
 index)"
                   ui_msg " "
                 } else {
                   ui_msg "To use this, put the following into your
 ~/.emacs:"
                   ui_msg "(load \"${prefix}/share/emacs/site-
 lisp/${distname}/haskell-site-file\")"
                   ui_msg "(add-hook 'haskell-mode-hook 'turn-on-haskell-
 doc-mode)"
                   ui_msg "(add-hook 'haskell-mode-hook 'turn-on-haskell-
 indent)"
                   ui_msg "(add-hook 'haskell-mode-hook 'font-lock-mode)"
                   ui_msg "(add-hook 'haskell-mode-hook 'imenu-add-menubar-
 index)"
                   ui_msg " "
                 }

 }
 }}}

 I am not a portfile wizard, so maybe it can be done better. Also, it
 should be no problem at all to add a variant for emacs-app.

-- 
Ticket URL: <http://trac.macports.org/ticket/19971>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list