dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

slynk.asd (3230B)


      1 ;;; -*- lisp -*-
      2 (in-package :asdf)
      3 
      4 ;; ASDF system definition for loading the Slynk server independently
      5 ;; of Emacs.
      6 ;;
      7 ;; Usage:
      8 ;;
      9 ;;   (push #p"/path/to/this/file/" asdf:*central-registry*)
     10 ;;   (asdf:load-system :slynk)
     11 ;;   (slynk:create-server :port PORT) => ACTUAL-PORT
     12 ;;
     13 ;; (PORT can be zero to mean "any available port".)
     14 ;; Then the Slynk server is running on localhost:ACTUAL-PORT. You can
     15 ;; use `M-x sly-connect' to connect Emacs to it.
     16 ;;
     17 ;; This code has been placed in the Public Domain.  All warranties
     18 ;; are disclaimed.
     19 
     20 (defsystem :slynk
     21   :serial t
     22   :components
     23   ((:file "slynk-backend")
     24    ;; If/when we require ASDF3, we shall use :if-feature instead
     25    #+(or cmu sbcl scl)
     26    (:file "slynk-source-path-parser")
     27    #+(or cmu ecl sbcl scl)
     28    (:file "slynk-source-file-cache")
     29    #+clisp
     30    (:file "xref")
     31    #+(or clisp clozure clasp)
     32    (:file "metering")
     33    (:module "backend"
     34     :serial t
     35     :components (#+allegro
     36                  (:file "allegro")
     37                  #+armedbear
     38                  (:file "abcl")
     39                  #+clisp
     40                  (:file "clisp")
     41                  #+clozure
     42                  (:file "ccl")
     43                  #+cmu
     44                  (:file "cmucl")
     45                  #+cormanlisp
     46                  (:file "corman")
     47                  #+ecl
     48                  (:file "ecl")
     49                  #+lispworks
     50                  (:file "lispworks")
     51                  #+sbcl
     52                  (:file "sbcl")
     53                  #+clasp
     54                  (:file "clasp")
     55                  #+scl
     56                  (:file "scl")
     57                  #+mkcl
     58                  (:file "mkcl")))
     59    #-armedbear
     60    (:file "slynk-gray")
     61    (:file "slynk-match")
     62    (:file "slynk-rpc")
     63    (:file "slynk")
     64    (:file "slynk-completion")
     65    (:file "slynk-apropos")))
     66 
     67 (defmethod perform :after ((o load-op) (c (eql (find-system :slynk))))
     68   (format *debug-io* "~&SLYNK's ASDF loader finished.")
     69   (funcall (read-from-string "slynk::init")))
     70 
     71 #+sbcl
     72 (defmethod operate :around ((o load-op) (c (eql (find-system :slynk))) &key &allow-other-keys)
     73   (let ((asdf:*compile-file-failure-behaviour* :warn)
     74         (sb-ext:*on-package-variance* '(:warn t)))
     75     (call-next-method)))
     76 
     77 
     78 ;;; Contrib systems (should probably go into their own file one day)
     79 ;;;
     80 (defsystem :slynk/arglists
     81   :depends-on (:slynk)
     82   :components ((:file "../contrib/slynk-arglists")))
     83 
     84 (defsystem :slynk/fancy-inspector
     85   :depends-on (:slynk)
     86   :components ((:file "../contrib/slynk-fancy-inspector")))
     87 
     88 (defsystem :slynk/package-fu
     89   :depends-on (:slynk)
     90   :components ((:file "../contrib/slynk-package-fu")))
     91 
     92 (defsystem :slynk/mrepl
     93   :depends-on (:slynk)
     94   :components ((:file "../contrib/slynk-mrepl")))
     95 
     96 (defsystem :slynk/trace-dialog
     97   :depends-on (:slynk)
     98   :components ((:file "../contrib/slynk-trace-dialog")))
     99 
    100 (defsystem :slynk/profiler
    101   :depends-on (:slynk)
    102   :components ((:file "../contrib/slynk-profiler")))
    103 
    104 (defsystem :slynk/stickers
    105   :depends-on (:slynk)
    106   :components ((:file "../contrib/slynk-stickers")))
    107 
    108 (defsystem :slynk/indentation
    109   :depends-on (:slynk)
    110   :components ((:file "../contrib/slynk-indentation")))
    111 
    112 (defsystem :slynk/retro
    113   :depends-on (:slynk)
    114   :components ((:file "../contrib/slynk-retro")))
    115