summaryrefslogtreecommitdiff
path: root/app-emacs/slime/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/slime/files')
-rw-r--r--app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el15
-rw-r--r--app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch16
-rw-r--r--app-emacs/slime/files/2.0_p20110617/swank.asd98
-rw-r--r--app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch84
-rw-r--r--app-emacs/slime/files/2.11/dont-load-sbcl-pprint.patch13
-rw-r--r--app-emacs/slime/files/2.11/gentoo-changelog-date.patch20
-rw-r--r--app-emacs/slime/files/70slime-gentoo.el13
-rw-r--r--app-emacs/slime/files/swank-loader.lisp4
8 files changed, 263 insertions, 0 deletions
diff --git a/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el b/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el
new file mode 100644
index 00000000000..358af67d918
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el
@@ -0,0 +1,15 @@
+;;; site-lisp configuration for SLIME
+
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@SITELISP@/contrib")
+(autoload 'slime-highlight-edits-mode "slime-highlight-edits")
+
+(require 'slime-autoloads)
+(slime-setup '(slime-fancy slime-asdf slime-banner))
+
+;; this allows us not to require dev-lisp/hyperspec
+;; (which is non-free) as a hard dependency
+(setq common-lisp-hyperspec-root
+ (if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec")
+ "file:///usr/share/doc/hyperspec/HyperSpec/"
+ "http://www.lispworks.com/reference/HyperSpec/"))
diff --git a/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch b/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch
new file mode 100644
index 00000000000..410c3913a2a
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch
@@ -0,0 +1,16 @@
+Author: Stelian Ionescu <sionescu@cddr.org>
+Date: 2010-05-14
+Status: Gentoo-only
+Description: Dont' call SWANK-LOADER:INIT on startup since we don't use
+ the upstream swank-loader.lisp
+
+--- a/slime.el
++++ b/slime.el
+@@ -1323,7 +1323,6 @@ See `slime-start'."
+ `(progn
+ (load ,(slime-to-lisp-filename (expand-file-name loader))
+ :verbose t)
+- (funcall (read-from-string "swank-loader:init"))
+ (funcall (read-from-string "swank:start-server")
+ ,(slime-to-lisp-filename port-filename)
+ :coding-system ,encoding)))))
diff --git a/app-emacs/slime/files/2.0_p20110617/swank.asd b/app-emacs/slime/files/2.0_p20110617/swank.asd
new file mode 100644
index 00000000000..b33ca6e67cb
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20110617/swank.asd
@@ -0,0 +1,98 @@
+;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
+
+(defpackage #:swank-system
+ (:use #:common-lisp #:asdf))
+
+(in-package #:swank-system)
+
+(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 ()
+ (load (make-pathname :name "site-init" :type "lisp"
+ :defaults (truename
+ (asdf:system-definition-pathname
+ (asdf:find-system :swank))))
+ :if-does-not-exist nil))
+
+(defclass no-load-file (cl-source-file) ())
+
+(defmethod perform ((op load-op) (c no-load-file)) nil)
+
+(defmacro define-swank-system (sysdep-files)
+ `(defsystem :swank
+ :description "Swank is the Common Lisp back-end to SLIME"
+ :serial t
+ :components ((:file "swank-backend")
+ (:file "nregex")
+ ,@(mapcar #'(lambda (component)
+ (if (atom component)
+ (list :file component)
+ component))
+ sysdep-files)
+ (:file "swank-match")
+ (:file "swank-rpc")
+ (:file "swank")
+ (:module "contrib"
+ :components ((:no-load-file "swank-c-p-c")
+ (:no-load-file "swank-arglists"
+ :depends-on ("swank-c-p-c"))
+ (:no-load-file "swank-asdf")
+ (:no-load-file "swank-clipboard")
+ (:no-load-file "swank-fancy-inspector")
+ (:no-load-file "swank-fuzzy"
+ :depends-on ("swank-c-p-c"))
+ (:no-load-file "swank-hyperdoc")
+ (:no-load-file "swank-indentation")
+ (:no-load-file "swank-listener-hooks")
+ (:no-load-file "swank-media")
+ (:no-load-file "swank-motd")
+ (:no-load-file "swank-package-fu")
+ (:no-load-file "swank-presentations")
+ (:no-load-file "swank-presentation-streams"
+ :depends-on ("swank-presentations"))
+ (:no-load-file "swank-sbcl-exts"
+ :depends-on ("swank-arglists"))
+ (:no-load-file "swank-snapshot")
+ (:no-load-file "swank-sprof"))))
+ :depends-on (#+sbcl sb-bsd-sockets)
+ :perform (load-op :after (op swank)
+ (load-site-init-file)
+ (load-user-init-file))))
+
+#+(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl)
+(define-swank-system
+ #+cmu (swank-source-path-parser swank-source-file-cache swank-cmucl)
+ #+scl (swank-source-path-parser swank-source-file-cache swank-scl)
+ #+sbcl (swank-source-path-parser swank-source-file-cache swank-sbcl swank-gray)
+ #+(or openmcl clozurecl) (metering
+ #.(if (and (find-package "CCL")
+ (fboundp (intern "COMPUTE-APPLICABLE-METHODS-USING-CLASSES" "CCL")))
+ 'swank-ccl
+ 'swank-openmcl)
+ swank-gray)
+ #+lispworks (swank-lispworks swank-gray)
+ #+allegro (swank-allegro swank-gray)
+ #+clisp (xref metering swank-clisp swank-gray)
+ #+armedbear (swank-abcl)
+ #+cormanlisp (swank-corman swank-gray)
+ #+ecl (swank-source-path-parser swank-source-file-cache swank-ecl swank-gray))
+
+#-(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl)
+(error "Your CL implementation is not supported !")
+
+(defpackage #:swank-loader
+ (:use #:common-lisp)
+ (:export #:*source-directory*))
+
+(in-package #:swank-loader)
+
+(defparameter *source-directory*
+ (asdf:component-pathname (asdf:find-system :swank)))
+
+;; (funcall (intern (string :warn-unimplemented-interfaces) :swank-backend))
+
+;; swank.asd ends here
diff --git a/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch b/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch
new file mode 100644
index 00000000000..c25a248d04a
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch
@@ -0,0 +1,84 @@
+--- slime-9999-orig/contrib/swank-arglists.lisp 2012-08-14 06:50:34.000000000 +1000
++++ slime-9999/contrib/swank-arglists.lisp 2013-02-14 21:33:26.879124163 +1100
+@@ -9,8 +9,7 @@
+
+ (in-package :swank)
+
+-(eval-when (:compile-toplevel :load-toplevel :execute)
+- (swank-require :swank-c-p-c))
++(swank-require :swank-c-p-c)
+
+ ;;;; Utilities
+
+--- slime-9999-orig/contrib/swank-fuzzy.lisp 2013-02-02 20:48:51.000000000 +1100
++++ slime-9999/contrib/swank-fuzzy.lisp 2013-02-14 21:35:32.059873714 +1100
+@@ -10,9 +10,8 @@
+
+ (in-package :swank)
+
+-(eval-when (:compile-toplevel :load-toplevel :execute)
+- (swank-require :swank-util)
+- (swank-require :swank-c-p-c))
++(swank-require :swank-util)
++(swank-require :swank-c-p-c)
+
+ ;;; For nomenclature of the fuzzy completion section, please read
+ ;;; through the following docstring.
+--- slime-9999-orig/contrib/swank-sbcl-exts.lisp 2009-09-25 16:43:33.000000000 +1000
++++ slime-9999/contrib/swank-sbcl-exts.lisp 2013-02-14 21:33:26.880124185 +1100
+@@ -7,8 +7,7 @@
+
+ (in-package :swank)
+
+-(eval-when (:compile-toplevel :load-toplevel :execute)
+- (swank-require :swank-arglists))
++(swank-require :swank-arglists)
+
+ ;; We need to do this so users can place `slime-sbcl-exts' into their
+ ;; ~/.emacs, and still use any implementation they want.
+--- slime-9999-orig/swank.lisp 2013-01-11 20:00:30.000000000 +1100
++++ slime-9999/swank.lisp 2013-02-14 22:15:39.624982175 +1100
+@@ -2535,14 +2535,17 @@
+ "Load the module MODULE."
+ (dolist (module (ensure-list modules))
+ (unless (member (string module) *modules* :test #'string=)
+- (require module (if filename
+- (filename-to-pathname filename)
+- (module-filename module)))
++ (let ((*load-print* nil)
++ (*load-verbose* nil)
++ #+cmu (ext:*gc-verbose* nil))
++ (require module (if filename
++ (filename-to-pathname filename)
++ (module-filename module))))
+ (assert (member (string module) *modules* :test #'string=)
+ () "Required module ~s was not provided" module)))
+ *modules*)
+
+-(defvar *find-module* 'find-module
++(defvar *find-module* 'find-module-gentoo
+ "Pluggable function to locate modules.
+ The function receives a module name as argument and should return
+ the filename of the module (or nil if the file doesn't exist).")
+@@ -2572,6 +2575,21 @@
+ (some (lambda (dir) (some #'probe-file (module-canditates name dir)))
+ *load-path*)))
+
++(defun swank-fasl-pathname ()
++ (make-pathname :name nil :type nil
++ :defaults (car (asdf:output-files
++ (make-instance 'asdf:compile-op)
++ (car (asdf:module-components
++ (asdf:find-system :swank)))))))
++
++(defun append-dir (pathname dir)
++ (make-pathname :directory (append (pathname-directory pathname) dir)))
++
++(defun find-module-gentoo (module)
++ (or (let ((*load-path* (list (append-dir (swank-fasl-pathname) '("contrib"))
++ (append-dir swank-loader:*source-directory* '("contrib")))))
++ (find-module module))
++ (find-module module)))
+
+ ;;;; Macroexpansion
+
diff --git a/app-emacs/slime/files/2.11/dont-load-sbcl-pprint.patch b/app-emacs/slime/files/2.11/dont-load-sbcl-pprint.patch
new file mode 100644
index 00000000000..c7dafb6cb91
--- /dev/null
+++ b/app-emacs/slime/files/2.11/dont-load-sbcl-pprint.patch
@@ -0,0 +1,13 @@
+diff --git a/contrib/swank-presentation-streams.lisp b/contrib/swank-presentation-streams.lisp
+index 0c24bda..bd5a990 100644
+--- a/contrib/swank-presentation-streams.lisp
++++ b/contrib/swank-presentation-streams.lisp
+@@ -65,7 +65,7 @@ be sensitive and remember what object it is in the repl if predicate is true"
+ (funcall ,continue)))))
+
+ ;;; Get pretty printer patches for SBCL at load (not compile) time.
+-#+sbcl
++#+#:disable-dangerous-patching ; #+sbcl
+ (eval-when (:load-toplevel)
+ (handler-bind ((simple-error
+ (lambda (c)
diff --git a/app-emacs/slime/files/2.11/gentoo-changelog-date.patch b/app-emacs/slime/files/2.11/gentoo-changelog-date.patch
new file mode 100644
index 00000000000..4d7669a34d2
--- /dev/null
+++ b/app-emacs/slime/files/2.11/gentoo-changelog-date.patch
@@ -0,0 +1,20 @@
+--- slime-2.11-orig/slime.el 2014-12-01 21:05:54.000000000 +1100
++++ slime-2.11/slime.el 2014-12-19 11:57:45.455393436 +1100
+@@ -134,16 +134,7 @@
+ "Return the datestring of the latest entry in the ChangeLog file.
+ Return nil if the ChangeLog file cannot be found."
+ (interactive "p")
+- (let ((changelog (expand-file-name "ChangeLog" slime-path))
+- (date nil))
+- (when (file-exists-p changelog)
+- (with-temp-buffer
+- (insert-file-contents-literally changelog nil 0 100)
+- (goto-char (point-min))
+- (setq date (symbol-name (read (current-buffer))))))
+- (when interactivep
+- (message "Slime ChangeLog dates %s." date))
+- date)))
++ "@SLIME-CHANGELOG-DATE@"))
+
+ (defvar slime-protocol-version nil)
+ (setq slime-protocol-version
diff --git a/app-emacs/slime/files/70slime-gentoo.el b/app-emacs/slime/files/70slime-gentoo.el
new file mode 100644
index 00000000000..6dfd505133e
--- /dev/null
+++ b/app-emacs/slime/files/70slime-gentoo.el
@@ -0,0 +1,13 @@
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@SITELISP@/contrib")
+(autoload 'slime-highlight-edits-mode "slime-highlight-edits" nil t)
+
+(require 'slime-autoloads)
+(slime-setup '(slime-fancy slime-asdf slime-banner))
+
+;; this allows us not to require dev-lisp/hyperspec
+;; (which is non-free) as a hard dependency
+(setq common-lisp-hyperspec-root
+ (if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec")
+ "file:///usr/share/doc/hyperspec/HyperSpec/"
+ "http://www.lispworks.com/reference/HyperSpec/"))
diff --git a/app-emacs/slime/files/swank-loader.lisp b/app-emacs/slime/files/swank-loader.lisp
new file mode 100644
index 00000000000..4d9b157312e
--- /dev/null
+++ b/app-emacs/slime/files/swank-loader.lisp
@@ -0,0 +1,4 @@
+
+;; This file is NOT part of SLIME
+
+(asdf:oos 'asdf:load-op :swank)