summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/slime/files/2.0.0.20060805')
-rw-r--r--app-emacs/slime/files/2.0.0.20060805/70slime-gentoo.el13
-rw-r--r--app-emacs/slime/files/2.0.0.20060805/README.Gentoo12
-rw-r--r--app-emacs/slime/files/2.0.0.20060805/swank-loader.lisp4
-rw-r--r--app-emacs/slime/files/2.0.0.20060805/swank.asd92
4 files changed, 121 insertions, 0 deletions
diff --git a/app-emacs/slime/files/2.0.0.20060805/70slime-gentoo.el b/app-emacs/slime/files/2.0.0.20060805/70slime-gentoo.el
new file mode 100644
index 000000000000..2687bb5c4f14
--- /dev/null
+++ b/app-emacs/slime/files/2.0.0.20060805/70slime-gentoo.el
@@ -0,0 +1,13 @@
+
+;;; site-lisp configuration for slime-cvs
+
+(add-to-list 'load-path "@SITELISP@")
+(require 'slime)
+(slime-setup)
+
+;; this prevents us from requiring the user get dev-lisp/hyperspec
+;; (which is non-free) as a hard dependency
+
+(if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec")
+ (setq common-lisp-hyperspec-root "file:///usr/share/doc/hyperspec/HyperSpec/")
+ (setq common-lisp-hyperspec-root "http://www.lispworks.com/reference/HyperSpec/"))
diff --git a/app-emacs/slime/files/2.0.0.20060805/README.Gentoo b/app-emacs/slime/files/2.0.0.20060805/README.Gentoo
new file mode 100644
index 000000000000..99353ee7aa29
--- /dev/null
+++ b/app-emacs/slime/files/2.0.0.20060805/README.Gentoo
@@ -0,0 +1,12 @@
+SLIME notes for Gentoo
+----------------------
+
+If you're interested in hacking this ebuild, Gentoo uses its own
+swank.asd system definition file and swank-loader.lisp.
+
+As always with CVS ebuilds, DO NOT report problems to upstream.
+Always report problems to the Gentoo Bugzilla at
+http://bugs.gentoo.org/.
+
+Matthew Kennedy <mkennedy@gentoo.org>
+
diff --git a/app-emacs/slime/files/2.0.0.20060805/swank-loader.lisp b/app-emacs/slime/files/2.0.0.20060805/swank-loader.lisp
new file mode 100644
index 000000000000..4d9b157312e6
--- /dev/null
+++ b/app-emacs/slime/files/2.0.0.20060805/swank-loader.lisp
@@ -0,0 +1,4 @@
+
+;; This file is NOT part of SLIME
+
+(asdf:oos 'asdf:load-op :swank)
diff --git a/app-emacs/slime/files/2.0.0.20060805/swank.asd b/app-emacs/slime/files/2.0.0.20060805/swank.asd
new file mode 100644
index 000000000000..48b9335c5679
--- /dev/null
+++ b/app-emacs/slime/files/2.0.0.20060805/swank.asd
@@ -0,0 +1,92 @@
+;;; -*- mode: lisp; syntax: common-lisp; package: common-lisp -*-
+
+(defpackage #:swank-system
+ (:use #:common-lisp
+ #:asdf))
+
+(defpackage #:swank-loader
+ (:use #:common-lisp)
+ (:export #:*source-directory*
+ #:load-swank))
+
+(in-package #:swank-system)
+
+;; http://www.caddr.com/macho/archives/sbcl-devel/2004-3/3014.html
+
+(defclass unsafe-file (cl-source-file) ())
+
+(defmethod perform :around ((op compile-op) (c unsafe-file))
+ (setf (operation-on-warnings op) :ignore
+ (operation-on-failure op) :warn) ; adjust to taste
+ (call-next-method))
+
+(defmacro define-swank-system (&rest sysdep-components)
+ `(defsystem swank
+ :name "Swank is the Common Lips back-end to SLIME"
+ :serial t
+ :components ((:file "swank-backend")
+ (:file "nregex")
+ ,@(mapcar #'(lambda (component)
+ (if (atom component)
+ (list :file component)
+ component))
+ sysdep-components)
+ (:file "swank"))
+ :depends-on (#+sbcl sb-bsd-sockets)))
+
+#+sbcl (define-swank-system
+ "swank-sbcl"
+ "swank-source-path-parser"
+ "swank-source-file-cache"
+ "swank-gray")
+
+#+openmcl (define-swank-system
+ "metering"
+ "swank-openmcl"
+ "swank-gray")
+
+#+cmu (define-swank-system
+ "swank-source-path-parser"
+ "swank-source-file-cache"
+ "swank-cmucl")
+
+#+clisp (define-swank-system
+ "xref"
+ "metering"
+ "swank-clisp"
+ "swank-gray")
+
+#+armedbear (define-swank-system
+ "swank-abcl")
+
+#+ecl (define-swank-system
+ "swank-ecl" "swank-gray")
+
+(in-package #:swank-loader)
+
+(defvar *source-directory*
+ (make-pathname :name nil :type nil
+ :defaults (or *load-pathname* *default-pathname-defaults*))
+ "The directory where to look for the source.")
+
+
+(defun load-user-init-file ()
+ "Load the user init file, return NIL if it does not exist."
+ (load (merge-pathnames (user-homedir-pathname)
+ (make-pathname :name ".swank" :type "lisp"))
+ :if-does-not-exist nil))
+
+(defun load-site-init-file (directory)
+ (load (make-pathname :name "site-init" :type "lisp"
+ :defaults directory)
+ :if-does-not-exist nil))
+
+(defun load-swank (&key (source-directory *source-directory*))
+ (asdf:oos 'asdf:load-op :swank)
+ (funcall (intern (string :warn-unimplemented-interfaces) :swank-backend))
+ (load-site-init-file source-directory)
+ (load-user-init-file))
+
+(load-swank)
+
+;; swank.asd ends here