source: trunk/dports/lang/slime/Portfile

Last change on this file was 151395, checked in by easieste@…, 11 months ago

lang/slime: update to slime-2.18

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1# -*- 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
2# $Id: Portfile 151395 2016-08-15 07:03:51Z ryandesign@macports.org $
3
4PortSystem      1.0
5PortGroup       github 1.0
6
7epoch           2016081500
8github.setup    slime slime 2.18 v
9revision        0
10categories      lang
11platforms       darwin
12license         Permissive
13supported_archs noarch
14
15# If you want to update SLIME, go ahead, but please first test with
16# all the currently working Lisps 'abcl', 'ccl', 'clisp', 'ecl' and 'sbcl'.
17maintainers easieste openmaintainer
18
19description An Emacs mode for unifying Common Lisp development
20
21long_description    \
22    SLIME extends Emacs with new support for interactive programming \
23    in Common Lisp. The features are centred around `slime-mode', an \
24    Emacs minor-mode that complements the standard `lisp-mode'. While \
25    `lisp-mode' supports editing Lisp source files, `slime-mode' adds \
26    support for interacting with a running Common Lisp process for \
27    compilation, debugging, documentation lookup, and so on.
28
29homepage        http://common-lisp.net/project/slime/
30
31checksums       \
32    rmd160  514c7db1184a1fb31aff31eafbfe5541ccfb58f7 \
33    sha256  a0a260387fe690b6e5d101b4895fddba4de237a37cade3ca096692711ad33ce1
34
35
36use_configure   no
37depends_lib     port:emacs
38
39set slime_emacs_binary "${prefix}/bin/emacs"
40
41variant app description "Build SLIME against editors/emacs-app" {
42    depends_run-append port:emacs-app
43    depends_run-delete port:emacs
44    depends_lib-append port:emacs-app
45    depends_lib-delete port:emacs
46
47    set slime_emacs_binary "${applications_dir}/Emacs.app/Contents/MacOS/Emacs"
48}
49
50variant sbcl description "Require lang/sbcl for SLIME" {
51    depends_run-append port:sbcl
52}
53
54variant clisp description "Require lang/clisp for SLIME" {
55    depends_run-append port:clisp
56}
57
58variant abcl description "Require lang/abcl for SLIME" {
59    depends_run-append port:abcl
60}
61
62variant ccl description "Require lang/ccl for SLIME" {
63    depends_run-append port:ccl
64}
65
66variant ecl description "Require lang/ecl for SLIME" {
67    depends_run-append port:ecl
68}
69
70post-patch {
71    reinplace "s|/usr/local|${prefix}/share|g" \
72        ${worksrcpath}/doc/Makefile
73}
74
75set slime_site_dir "${destroot}${prefix}/share/emacs/site-lisp/slime"
76set slime_site_source "${slime_site_dir}/swank"
77set slime_site_contrib "${slime_site_dir}/contrib"
78
79build {
80    system "cd ${worksrcpath} && make compile EMACS=\"$slime_emacs_binary\""
81    system "cd ${worksrcpath}/doc && make slime.info"
82}
83
84destroot    {
85    file mkdir ${destroot}${prefix}/share/emacs/site-lisp
86    file copy  ${workpath}/${worksrcdir}  \
87        ${destroot}${prefix}/share/emacs/site-lisp
88}
89
90notes "
91
92To use SLIME, you need to have a Common Lisp installed with which you
93wish to interact.  At the moment, 'sbcl', 'abcl', 'ccl', 'ecl' and
94'clisp' all work.  As a convenience, port variants for SLIME exist
95which require the installation of these Lisps.
96
97Then put the following in your ~/.emacs:
98
99(add-to-list 'load-path \"${prefix}/share/emacs/site-lisp/slime\")
100(require 'slime-autoloads)
101(setq slime-lisp-implementations
102     \`((sbcl (\"${prefix}/bin/sbcl\"))
103       (abcl (\"${prefix}/bin/abcl\"))
104       (clisp (\"${prefix}/bin/clisp\"))))
105(slime-setup  '(slime-repl slime-asdf slime-fancy slime-banner))
106
107Populate the initialization list in SLIME-LISP-IMPLEMENTATIONS with
108the correct paths to the Common Lisp exectuables you wish to use.
109
110Then, 'M-x slime' from Emacs should connect you to the first Common
111Lisp implementation in the list. 'C-- M-x slime' will present an
112interactive chooser for additional implementations in the list.
113
114"
115
116
117
Note: See TracBrowser for help on using the repository browser.