1 | # $Id: Portfile,v 1.3 2006/01/24 15:55:54 gwright Exp $ |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | |
---|
5 | name slime |
---|
6 | version 20060419 |
---|
7 | revision 0 |
---|
8 | categories lang |
---|
9 | maintainers evenson@panix.com |
---|
10 | |
---|
11 | description An Emacs mode for unifying Common Lisp development |
---|
12 | |
---|
13 | long_description \ |
---|
14 | SLIME extends Emacs with new support for interactive \ |
---|
15 | programming in Common Lisp. The features are \ |
---|
16 | centred around `slime-mode', an Emacs minor-mode \ |
---|
17 | that complements the standard `lisp-mode'. While \ |
---|
18 | `lisp-mode' supports editing Lisp source files, \ |
---|
19 | `slime-mode' adds support for interacting with a \ |
---|
20 | running Common Lisp process for compilation,\ |
---|
21 | debugging, documentation lookup, and so on. |
---|
22 | |
---|
23 | homepage http://common-lisp.net/project/slime/ |
---|
24 | master_sites ${homepage} |
---|
25 | fetch.type cvs |
---|
26 | cvs.root :pserver:anonymous@common-lisp.net:/project/slime/cvsroot |
---|
27 | cvs.module slime |
---|
28 | cvs.password anonymous |
---|
29 | cvs.date 20060419 |
---|
30 | worksrcdir slime |
---|
31 | |
---|
32 | use_configure no |
---|
33 | depends_lib port:emacs |
---|
34 | depends_run port:openmcl |
---|
35 | |
---|
36 | variant devel { depends_lib-delete port:emacs |
---|
37 | depends_lib-append port:emacs-devel |
---|
38 | } |
---|
39 | |
---|
40 | post-patch { reinplace "s|/usr/local|${prefix}/share|g" \ |
---|
41 | ${worksrcpath}/doc/makefile |
---|
42 | } |
---|
43 | |
---|
44 | pre-build { global emacs_binary |
---|
45 | if {[ variant_isset devel ]} { |
---|
46 | set emacs_binary [ glob ${prefix}/bin/emacs\-* ] |
---|
47 | ui_msg "emacs binary name is ${emacs_binary}" |
---|
48 | } else { |
---|
49 | set emacs_binary ${prefix}/bin/emacs |
---|
50 | } |
---|
51 | } |
---|
52 | |
---|
53 | build { cd ${worksrcpath} |
---|
54 | upvar #0 emacs_binary emacs_bin |
---|
55 | system "${emacs_bin} \ |
---|
56 | --batch \ |
---|
57 | --directory . \ |
---|
58 | --funcall batch-byte-compile \ |
---|
59 | slime.el \ |
---|
60 | hyperspec.el \ |
---|
61 | tree-widget.el" |
---|
62 | |
---|
63 | cd ${worksrcpath}/doc |
---|
64 | system "make slime.info" |
---|
65 | } |
---|
66 | |
---|
67 | destroot { cd ${worksrcpath} |
---|
68 | set site_lisp_dest ${destroot}${prefix}/share/emacs/site-lisp/slime |
---|
69 | xinstall -m 755 -d ${site_lisp_dest} |
---|
70 | |
---|
71 | foreach file [glob *.el *.elc *.lisp ChangeLog] { |
---|
72 | xinstall -m 644 ${file} ${site_lisp_dest} |
---|
73 | } |
---|
74 | |
---|
75 | xinstall -m 644 ${worksrcpath}/doc/slime.info ${destroot}${prefix}/share/info |
---|
76 | } |
---|
77 | |
---|
78 | post-activate { ui_msg "To use SLIME, you need to have a Common Lisp installed with which" |
---|
79 | ui_msg "you wish to interact. At the moment, 'openmcl', 'sbcl', and |
---|
80 | ui_msg "'clisp' all work." |
---|
81 | ui_msg "" |
---|
82 | ui_msg "DarwinPorts also has 'gcl' (broken on OS X)." |
---|
83 | ui_msg "" |
---|
84 | ui_msg "Then put the following in your ~/.emacs:" |
---|
85 | ui_msg " (require 'slime)" |
---|
86 | ui_msg " (slime-setup)" |
---|
87 | ui_msg " (setq inferior-lisp-program \"openmcl\")" |
---|
88 | ui_msg "" |
---|
89 | ui_msg "Replace 'openmcl with the name of the Common Lisp exectuable" |
---|
90 | ui_msg "if you wish to use a different lisp." |
---|
91 | ui_msg "" |
---|
92 | ui_msg "Then, 'M-x slime' from Emacs should connect you to your chosen" |
---|
93 | ui_msg "Lisp environment." |
---|
94 | } |
---|
95 | |
---|