From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- app-emacs/slime/Manifest | 18 +++ .../slime/files/2.0_p20110617/70slime-gentoo.el | 15 +++ .../2.0_p20110617/gentoo-dont-call-init.patch | 16 +++ app-emacs/slime/files/2.0_p20110617/swank.asd | 98 ++++++++++++++++ .../files/2.0_p20130214/gentoo-module-load.patch | 84 ++++++++++++++ .../slime/files/2.11/dont-load-sbcl-pprint.patch | 13 +++ .../slime/files/2.11/gentoo-changelog-date.patch | 20 ++++ .../slime/files/2.15/gentoo-changelog-date.patch | 20 ++++ app-emacs/slime/files/70slime-gentoo.el | 13 +++ .../slime/files/slime-2.20-fix-doc-build.patch | 94 ++++++++++++++++ app-emacs/slime/files/swank-loader.lisp | 4 + app-emacs/slime/metadata.xml | 44 ++++++++ app-emacs/slime/slime-2.15.ebuild | 123 +++++++++++++++++++++ app-emacs/slime/slime-2.20-r1.ebuild | 74 +++++++++++++ app-emacs/slime/slime-2.20.ebuild | 71 ++++++++++++ app-emacs/slime/slime-2.21.ebuild | 69 ++++++++++++ 16 files changed, 776 insertions(+) create mode 100644 app-emacs/slime/Manifest create mode 100644 app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el create mode 100644 app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch create mode 100644 app-emacs/slime/files/2.0_p20110617/swank.asd create mode 100644 app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch create mode 100644 app-emacs/slime/files/2.11/dont-load-sbcl-pprint.patch create mode 100644 app-emacs/slime/files/2.11/gentoo-changelog-date.patch create mode 100644 app-emacs/slime/files/2.15/gentoo-changelog-date.patch create mode 100644 app-emacs/slime/files/70slime-gentoo.el create mode 100644 app-emacs/slime/files/slime-2.20-fix-doc-build.patch create mode 100644 app-emacs/slime/files/swank-loader.lisp create mode 100644 app-emacs/slime/metadata.xml create mode 100644 app-emacs/slime/slime-2.15.ebuild create mode 100644 app-emacs/slime/slime-2.20-r1.ebuild create mode 100644 app-emacs/slime/slime-2.20.ebuild create mode 100644 app-emacs/slime/slime-2.21.ebuild (limited to 'app-emacs/slime') diff --git a/app-emacs/slime/Manifest b/app-emacs/slime/Manifest new file mode 100644 index 000000000000..912e6615e228 --- /dev/null +++ b/app-emacs/slime/Manifest @@ -0,0 +1,18 @@ +AUX 2.0_p20110617/70slime-gentoo.el 573 BLAKE2B 4d9908cfc43a18aad633eca7e9164c3d4506c7ed3af5551600b291ff8f781d19198b7a38125dc024f9c0a844ff0594868b416474eeb0bfe87f9e47c0ab9380ce SHA512 022e0934c8dcdf208bdfed9810200c8b925059b75e87697760b7e8cc926569da607dc3b723988e1ec49d584c92cdea96afd46642090743e4e593c860a058523f +AUX 2.0_p20110617/gentoo-dont-call-init.patch 638 BLAKE2B f844d294562f59cf72651929a1ff35ce90ca7097ff804c874b752f2c4a540f538078f7fc4545079bd72ed2d24e482a15edd5a6d8d95764c7da9b394a1ebfe4d3 SHA512 b99e0dc55e61fda9f21bca9661854b84166834b4330e5f46b10bfd2c3fb61f092046fe8553fdf2d7a7a6350adcd3827315ea681bb53a3ebfec3648b25ac72b84 +AUX 2.0_p20110617/swank.asd 4348 BLAKE2B eeebe2b694b42e2aa30dfd08d1e86f4164369b44676785e47f37a38be536188164ba67fd1345a4eda7f419f6fa45dda6d4fd9df48df58d752496cd6a3d3d9a9c SHA512 323461a64953c4bd1ca94d68f6a36103c518c69938a205870cd1dcbeb0e3bccc6221a58bf8079ae5c7d17afe06c6732838cc3b2e418ca5dc225603ad3d309479 +AUX 2.0_p20130214/gentoo-module-load.patch 3253 BLAKE2B 2b404f6bdbbd11a271fb8903312f6ac62cb60c3293fbd8f7732c5d965104414812e93995777b354db6a0f88f3390e1d7e3939131cded64d8e3fa7f5a7844a543 SHA512 6489627fad7ab80102b7127bc5e70f74856e0685fbbe4ae92a779f65425b30472ff554cce05e102d2fe652e8216ddcd0f51393651aa3818865a90a215417fcad +AUX 2.11/dont-load-sbcl-pprint.patch 556 BLAKE2B feb05a884c8fa088efec7907405dfcf9abaf4c02d44bd35d1e4e319eda3186b2a2ab3bb04b828bf8a868ab922de3c1857134cf9f7ed2eba56b0ef7e86158e7ad SHA512 5c0e49aad96da70c74cfda79e8d0654d87ee4996245a22f914ad75902e4acb1315a0c455920a27ca11a15465f8ebbd389655afc5083b0212d16b8541db4f88f4 +AUX 2.11/gentoo-changelog-date.patch 803 BLAKE2B 0adbe6e88ef0470d27ffe8ae4e18d86ed5dcdb062026bdaec6966609d167530e21a439fc3465274cd5b578b29a2ac48e08ac314789cd060b7456a48fae443b72 SHA512 ae0f07c74988733a070bfd3ca4192ab3de7ebd5bab4705e6419f17986a833a35e0e4f84dad6c0e16cb051eb5ca612ae958a73f3cde327416eb4726a8139ac4b5 +AUX 2.15/gentoo-changelog-date.patch 790 BLAKE2B acb85ec980c299eef7bff5f766b0674a38695549f86af8df5d3e87b3fc62943a364fba5e1d87faec251ee9c11ba19ff1dac6ac790a1acd25338fb062ab68269f SHA512 f5dd64feccd905d92743135dec9158e258f3bbae06032ab2059878701d9c308416e355ef2a9d01113df8a4763f4d2ce3d15d42e6ed36470065de079c495ca057 +AUX 70slime-gentoo.el 526 BLAKE2B 6bfd25cf1ef661ac1510d6862d8eea832d1de11d173d7a4c1fc6f12c204c13b641382a23b196c21ad6a4825b620c69244764db65e94060e4b636c5b6702e871c SHA512 94c84b4a91cad91f553c22cc9d61cb6a77aa0dd723571770159237e7d3e6f2ec0e3dc0a3e139a99bd820da67d019891db1e84d384fb96614f086b54e9bd5769e +AUX slime-2.20-fix-doc-build.patch 3547 BLAKE2B 10c45bfe0c638080373071d3c357f9dbb1161804b172259a0763d69ce41ac3cf1c9d3156f6379ba542d23b977b9698fbb17d9f4ca4825549c6639927a568fbca SHA512 3c8b762a6512c9558743bac4fc1b3804472fe637e44bd255e5c69e2221cc053e1a9099e9ce829f4935911b91ecb1f6fe1e6629ebc9e389e8ddbbd9b1366b1354 +AUX swank-loader.lisp 68 BLAKE2B 6cc412c9e0d5357835741486c7c26dd58edaef9d8a4544bf9f3cb416973e76a2e5456d86bf930a66ae60ddbf637523537914fe43a7d5c3793877b194df63ad90 SHA512 2d4c86b5ed9e19268356e6cc97a3693b005f20e40d16a94f4df99953108ce21ee46db6c951218bedb5ec34b086835476424af1ed863989bcd18a9123d03982a7 +DIST slime-2.15.tar.gz 1072190 BLAKE2B 7623d2d109486e35cb94a3bd8a6b72008c28fbc0bac5bdbcde5fcde19b2ebc74d488a6ff67f026922ea716e67ac732cc72f7b984cc4c2574f57323db93de300c SHA512 15f943981e35995b225b168a3d1c2099f7205c2ff359fa209f164464caf05f9fab4d24906442d94ddeb4222f7116d09a832c7377baf95fbe02d6a98a721fd611 +DIST slime-2.20.tar.gz 803127 BLAKE2B 9a6e50d50da4c9f8f2226ec919cf7f2068ae93a0bac0301233c2d75f12e94e3345998093880d7836fab07d8541da86de928308cfe571ee5811da6de9bfa11b31 SHA512 994dbffb54ee1ab4ca529771451724c83ff83992a6d495e06cdca5cd94f0c098e48d7914489278e3015f18ea094d58c469e57301492087a33087562f69506b46 +DIST slime-2.21.tar.gz 810610 BLAKE2B d5126e60fb04af2c712426dc9b701cfcabb04a16ab4df6ee138c9f77280fa892e608a04f1af1154b42f7063cc85464146e9a9b10f2a223b5d8015ed49eb1ee1c SHA512 6cc0d865bda2b1a4d806564e4e7d0c9cff739aba16d21ffd47c6a7353e45d332506014ba54f6a0fcfbc97d4c2d3d864f02c2d144cd4d8d06b9b19dafa8f8be3c +EBUILD slime-2.15.ebuild 3809 BLAKE2B 17727a8c2ed4f026ac4578d6bc3f7631c02108bb7c982da9b06d93033caf352153cd227637f52fbaba9e8093b55ae45b84dd60e0af1efc67cbafb3570f187fd9 SHA512 fc7afdef43a6815f4af457064e8fea8b8b2dc50791efd9956d5b5b2b281bbb8c6554bac454785dc5762f631cc427c0d23add2085c661803f9e8ef655bb6eee79 +EBUILD slime-2.20-r1.ebuild 1832 BLAKE2B 616eda3d92ec1710f26de61e05bbea0b88fd2c3b3e1587a1511ed9fba75b16b544728d018c789219d1ef8223f57aa4b1664b25a4a3502d2c3dae0640139e20d2 SHA512 26fdca6c0d661219ec94e112e21ca4688915da1a3f33d7ec2f8e8cb7fbc99766518b16021c6a0f1d5c305823ff94472c44b24a53dd8758b43aae3f4afce00245 +EBUILD slime-2.20.ebuild 1740 BLAKE2B d762c6475376871762197c2f2c3aa8a4800991cebc67467c6696b96f6bc6e370f9a5f65d1479dae0e522a97f62e3533a4a72228dd724c9e58f50278ed5906dcc SHA512 793859aa3874accd77810f27ec116a9e52c82d88d77c9b86212422b4084cc6a28cb7a99744a9fd0244519a8e2f60621afea059cbb2e1425ab5126a61cf9dcbf2 +EBUILD slime-2.21.ebuild 1728 BLAKE2B 932901636fe16f54486ba3b3e14b18eafcc8cdfd5b527acd2a3306a4e6e1dd6e9f83244348af3efa5b8d8b27aaa6a842503d64aa8c4666e902f9ef056ced2d90 SHA512 874e8b94c213d23446410b0c2e10f6d96a08a62baaf75dba01e30083c26f38b0cb54e6ca8221ac1e004830f10362072fe318f4ca44dba5e5d2e38cd42961e881 +MISC metadata.xml 1681 BLAKE2B b064702addc588a618896d83ab0e20a5b867972621473b97dc131a9b3f4c9305576323084130fc181c5f260cd46ae042f719e9956f414a3ba7c1c9d677f0f6b0 SHA512 0387efe8e517d3dab2a609bd63a914b264dfd922e1e985aabe958f4dbe45d7effdafd15b9ca1d2a63cd269f25d36b01524af542e9203b28e64044a47a9d7d5da 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 000000000000..358af67d918d --- /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 000000000000..410c3913a2a1 --- /dev/null +++ b/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch @@ -0,0 +1,16 @@ +Author: Stelian Ionescu +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 000000000000..b33ca6e67cb0 --- /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 000000000000..c25a248d04ab --- /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 000000000000..c7dafb6cb91a --- /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 000000000000..4d7669a34d29 --- /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/2.15/gentoo-changelog-date.patch b/app-emacs/slime/files/2.15/gentoo-changelog-date.patch new file mode 100644 index 000000000000..c7e815f00fe6 --- /dev/null +++ b/app-emacs/slime/files/2.15/gentoo-changelog-date.patch @@ -0,0 +1,20 @@ +--- slime-2.15-orig/slime.el 2015-08-31 07:46:47.000000000 +1000 ++++ slime-2.15/slime.el 2015-09-17 17:05:53.616659817 +1000 +@@ -138,16 +138,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 (slime--changelog-file-name)) +- (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 000000000000..6dfd505133e2 --- /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/slime-2.20-fix-doc-build.patch b/app-emacs/slime/files/slime-2.20-fix-doc-build.patch new file mode 100644 index 000000000000..c95608c7705a --- /dev/null +++ b/app-emacs/slime/files/slime-2.20-fix-doc-build.patch @@ -0,0 +1,94 @@ +diff -Nuar a/doc/slime.texi b/doc/slime.texi +--- a/doc/slime.texi 2017-08-28 13:51:57.000000000 +0200 ++++ b/doc/slime.texi 2018-04-08 17:21:16.004697168 +0200 +@@ -1219,7 +1219,8 @@ + Describe the slot at point. + + @kbditem{e, slime-inspector-eval} +-Evaluate an expression in the context of the inspected object. ++Evaluate an expression in the context of the inspected object. The ++variable @code{*} will be bound to the inspected object. + + @kbditem{v, slime-inspector-toggle-verbose} + Toggle between verbose and terse mode. Default is determined by +@@ -1250,8 +1251,7 @@ + Store the value under point in the variable `*'. This can + then be used to access the object in the REPL. + +-@kbditempair{TAB, S-TAB, slime-inspector-next-inspectable-object, +-slime-inspector-previous-inspectable-object} ++@kbditempair{TAB, S-TAB, slime-inspector-next-inspectable-object, slime-inspector-previous-inspectable-object} + + Jump to the next and previous inspectable object respectively. + +@@ -2016,7 +2016,7 @@ + On the emacs side you will use something like + @example + (setq slime-net-coding-system 'utf-8-unix) +-(slime-connect "127.0.0.1" 4005)) ++(slime-connect "localhost" 4005)) + @end example + to connect to this lisp image from the same machine. + +@@ -2028,7 +2028,7 @@ + remote machine. + + @example +-ssh -L4005:127.0.0.1:4005 username@@remote.example.com ++ssh -L4005:localhost:4005 username@@remote.example.com + @end example + + That ssh invocation creates an ssh tunnel between the port 4005 on our +@@ -2044,9 +2044,9 @@ + @end example + + The @kbd{RET RET} sequence just means that we want to use the default +-host (@code{127.0.0.1}) and the default port (@code{4005}). Even ++host (@code{localhost}) and the default port (@code{4005}). Even + though we're connecting to a remote machine the ssh tunnel fools Emacs +-into thinking it's actually @code{127.0.0.1}. ++into thinking it's actually @code{localhost}. + + @c ----------------------- + @node Setting up pathname translations +@@ -2323,8 +2323,7 @@ + + @table @kbd + +-@kbditempair{C-, C-, +- slime-repl-forward-input, slime-repl-backward-input} ++@kbditempair{C-, C-, slime-repl-forward-input, slime-repl-backward-input} + Go to the next/previous history item. + + @kbditempair{M-n, M-p, slime-repl-next-input, slime-repl-previous-input} +@@ -2333,16 +2332,14 @@ + a row, the second invocation uses the same search pattern (even if the + current input has changed). + +-@kbditempair{M-s, M-r, +-slime-repl-next-matching-input, slime-repl-previous-matching-input} ++@kbditempair{M-s, M-r, slime-repl-next-matching-input, slime-repl-previous-matching-input} + Search forward/reverse through command history with regex + + @c @code{slime-repl-@{next,previous@}-input}@* + @c @code{slime-repl-@{next,previous@}-matching-input}@* + @c @code{comint}-style input history commands. + +-@kbditempair{C-c C-n, C-c C-p, +-slime-repl-next-prompt, slime-repl-previous-prompt} ++@kbditempair{C-c C-n, C-c C-p, slime-repl-next-prompt, slime-repl-previous-prompt} + Move between the current and previous prompts in the @REPL{} buffer. + Pressing RET on a line with old input copies that line to the newest + prompt. +@@ -2655,6 +2652,11 @@ + If @code{slime-autodoc-use-multiline-p} is set to non-nil, + allow long autodoc messages to resize echo area display. + ++@vindex slime-autodoc-mode-string ++@code{slime-autodoc-mode-string} is a string that will be displayed in ++the mode line when autodoc-mode is enabled, or nil, if you prefer no ++indication. You can customize this variable. ++ + @node ASDF + @section ASDF + diff --git a/app-emacs/slime/files/swank-loader.lisp b/app-emacs/slime/files/swank-loader.lisp new file mode 100644 index 000000000000..4d9b157312e6 --- /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) diff --git a/app-emacs/slime/metadata.xml b/app-emacs/slime/metadata.xml new file mode 100644 index 000000000000..fdaa0a02bc79 --- /dev/null +++ b/app-emacs/slime/metadata.xml @@ -0,0 +1,44 @@ + + + + + gnu-emacs@gentoo.org + Gentoo GNU Emacs project + + + common-lisp@gentoo.org + Gentoo Common Lisp Project + + + SLIME: The Superior Lisp Interaction Mode for Emacs. SLIME is a + fresh, new Emacs mode for Common Lisp development inspired by existing + systems such Emacs Lisp and ILISP. Feature highlights include: + + * slime-mode: An Emacs minor-mode to enhance lisp-mode with: + o Code evaluation, compilation, and macroexpansion. + o Online documentation (describe, apropos, hyperspec). + o Definition finding (aka Meta-Point aka M-.). + o Symbol and package name completion. + o Automatic macro indentation based on &body. + o Cross-reference interface (WHO-CALLS, etc). + o ... and more. + + * SLDB: Common Lisp debugger with an Emacs-based user interface. + + * REPL: The Read-Eval-Print Loop ("top-level") is written in Emacs + Lisp for tighter integration with Emacs. The REPL also has builtin + "shortcut" commands similar those of the McCLIM Listener. + + * Compilation notes: SLIME is able to take compiler messages and + annotate them directly into source buffers. + + * Inspector: Interactive object-inspector in an Emacs buffer. + + + + Install xref.lisp cross-referencing tool + + + slime/slime + + diff --git a/app-emacs/slime/slime-2.15.ebuild b/app-emacs/slime/slime-2.15.ebuild new file mode 100644 index 000000000000..26d86bd44bde --- /dev/null +++ b/app-emacs/slime/slime-2.15.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +[[ ${PV} = *9999* ]] && GIT_ECLASS="git-r3" || GIT_ECLASS="" + +inherit common-lisp-3 ${GIT_ECLASS} elisp eutils + +DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)" +HOMEPAGE="http://common-lisp.net/project/slime/" +if [[ ${PV} != *9999* ]]; then + SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="GPL-2 xref? ( xref.lisp )" +SLOT="0" +if [[ ${PV} != *9999* ]]; then + KEYWORDS="amd64 ppc ~sparc x86" +fi +IUSE="doc xref" +RESTRICT=test # tests fail to contact sbcl + +RDEPEND="virtual/commonlisp + dev-lisp/asdf" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-5.1 + doc? ( virtual/texi2dvi )" + +CLPACKAGE=swank +CLSYSTEMS=swank +SITEFILE=70${PN}-gentoo.el + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/slime/slime.git" + ${GIT_ECLASS}_src_unpack + fi + elisp_src_unpack +} + +src_prepare() { + if [[ "${PV}" == "2.11" ]]; then + epatch "${FILESDIR}"/2.11/dont-load-sbcl-pprint.patch + fi + epatch "${FILESDIR}"/2.0_p20130214/gentoo-module-load.patch + epatch "${FILESDIR}"/2.0_p20110617/gentoo-dont-call-init.patch + has_version ">=app-editors/emacs-24" && rm -f lib/cl-lib.el + + # extract date of last update from ChangeLog, bug 233270 + SLIME_CHANGELOG_DATE=$(awk '/^[-0-9]+ / { print $1; exit; }' ChangeLog) + [ -n "${SLIME_CHANGELOG_DATE}" ] || die "cannot determine ChangeLog date" + + if [[ "${PV}" == "2.11" ]] || [[ "${PV}" == "2.12" ]]; then + # SLIME uses the changelog date to make sure that the emacs side and the CL side + # are in sync. We hardcode it instead of letting slime determine it at runtime + # because ChangeLog doesn't get installed to $EMACSDIR + epatch "${FILESDIR}"/2.11/gentoo-changelog-date.patch + else + epatch "${FILESDIR}"/2.15/gentoo-changelog-date.patch + fi + + # When starting slime in emacs, slime looks for ${S}/swank/backend.lisp as + # /usr/share/common-lisp/source/swank/swank-backend.lisp + pushd swank || die + for i in *.lisp + do + mv ${i} ../swank-${i} + done + popd + + sed -i "/(defvar \*swank-wire-protocol-version\*/s:nil:\"${SLIME_CHANGELOG_DATE}\":" swank.lisp \ + || die "sed swank.lisp failed" + sed -i "s:@SLIME-CHANGELOG-DATE@:${SLIME_CHANGELOG_DATE}:" slime.el \ + || die "sed slime.el failed" + sed -i "s/@itemx INIT-FUNCTION/@item INIT-FUNCTION/" doc/slime.texi \ + || die "sed doc/slime.texi failed" + + # Remove xref.lisp (which is non-free) unless USE flag is set + use xref || rm -f xref.lisp +} + +src_compile() { + elisp-compile *.el || die + BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \ + elisp-compile contrib/*.el lib/*.el || die + emake -j1 -C doc slime.info || die "Cannot build info docs" + + if use doc; then + VARTEXFONTS="${T}"/fonts \ + emake -j1 -C doc slime.pdf || die "emake doc failed" + fi +} + +src_install() { + ## install core + elisp-install ${PN} *.{el,elc} "${FILESDIR}"/swank-loader.lisp \ + || die "Cannot install SLIME core" + sed "s:/usr/:${EPREFIX}&:g" "${FILESDIR}"/2.0_p20110617/${SITEFILE} \ + >"${T}"/${SITEFILE} || die "sed failed" + elisp-site-file-install "${T}"/${SITEFILE} || die + cp "${FILESDIR}"/2.0_p20110617/swank.asd "${S}" + # remove upstream swank-loader, since it won't be used + rm "${S}"/swank-loader.lisp + common-lisp-install-sources *.lisp + common-lisp-install-asdf swank.asd + + ## install contribs + elisp-install ${PN}/contrib/ contrib/*.{el,elc,scm,goo} \ + || die "Cannot install contribs" + common-lisp-install-sources contrib/*.lisp + + ## install lib + elisp-install ${PN}/lib/ lib/*.{el,elc} \ + || die "Cannot install libs" + + ## install docs + dodoc README.md ChangeLog CONTRIBUTING.md NEWS PROBLEMS + newdoc contrib/README.md README-contrib.md + newdoc contrib/ChangeLog ChangeLog.contrib + doinfo doc/slime.info + use doc && dodoc doc/*.pdf +} diff --git a/app-emacs/slime/slime-2.20-r1.ebuild b/app-emacs/slime/slime-2.20-r1.ebuild new file mode 100644 index 000000000000..8c79ae0d45c3 --- /dev/null +++ b/app-emacs/slime/slime-2.20-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit elisp + +DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)" +HOMEPAGE="http://common-lisp.net/project/slime/" +SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 xref? ( xref.lisp )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="doc xref" +RESTRICT=test # tests fail to contact sbcl + +RDEPEND="virtual/commonlisp + dev-lisp/asdf" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-5.1 + doc? ( virtual/texi2dvi )" + +CLPACKAGE=swank +CLSYSTEMS=swank +SITEFILE=70${PN}-gentoo.el + +PATCHES=( + # Should be fixed in >=app-emacs/slime-2.20 + "${FILESDIR}/${PN}-2.20-fix-doc-build.patch" +) + +src_prepare() { + default + # Remove xref.lisp (which is non-free) unless USE flag is set + use xref || rm -f xref.lisp +} + +src_compile() { + elisp-compile *.el || die + BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \ + elisp-compile contrib/*.el lib/*.el || die + + emake -C doc slime.info || die + if use doc ; then + VARTEXFONTS="${T}"/fonts \ + emake -C doc all + fi +} + +src_install() { + # Install core + elisp-install ${PN} *.{el,elc,lisp} || die "Cannot install SLIME core" + + # Install contribs + elisp-install ${PN}/contrib/ contrib/*.{el,elc,lisp,scm,goo} \ + || die "Cannot install contribs" + + # Install lib + elisp-install ${PN}/lib/ lib/*.{el,elc} || die "Cannot install libs" + + # Install swank + elisp-install ${PN}/swank/ swank/*.lisp || die "Cannot install swank" + + elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die "Cannon install site file" + # Install docs + dodoc README.md CONTRIBUTING.md NEWS PROBLEMS + newdoc contrib/README.md README-contrib.md + doinfo doc/slime.info + use doc && dodoc doc/*.pdf + + # Bug #656760 + touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die +} diff --git a/app-emacs/slime/slime-2.20.ebuild b/app-emacs/slime/slime-2.20.ebuild new file mode 100644 index 000000000000..d03c14d9dbf8 --- /dev/null +++ b/app-emacs/slime/slime-2.20.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit elisp + +DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)" +HOMEPAGE="http://common-lisp.net/project/slime/" +SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 xref? ( xref.lisp )" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc ~x86" +IUSE="doc xref" +RESTRICT=test # tests fail to contact sbcl + +RDEPEND="virtual/commonlisp + dev-lisp/asdf" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-5.1 + doc? ( virtual/texi2dvi )" + +CLPACKAGE=swank +CLSYSTEMS=swank +SITEFILE=70${PN}-gentoo.el + +PATCHES=( + # Should be fixed in >=app-emacs/slime-2.20 + "${FILESDIR}/${PN}-2.20-fix-doc-build.patch" +) + +src_prepare() { + default + # Remove xref.lisp (which is non-free) unless USE flag is set + use xref || rm -f xref.lisp +} + +src_compile() { + elisp-compile *.el || die + BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \ + elisp-compile contrib/*.el lib/*.el || die + + emake -C doc slime.info || die + if use doc ; then + VARTEXFONTS="${T}"/fonts \ + emake -C doc all + fi +} + +src_install() { + ## install core + elisp-install ${PN} *.{el,elc,lisp} || die "Cannot install SLIME core" + + ## install contribs + elisp-install ${PN}/contrib/ contrib/*.{el,elc,lisp,scm,goo} \ + || die "Cannot install contribs" + + ## install lib + elisp-install ${PN}/lib/ lib/*.{el,elc} || die "Cannot install libs" + + ## install swank + elisp-install ${PN}/swank/ swank/*.lisp || die "Cannot install swank" + + elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die + ## install docs + dodoc README.md CONTRIBUTING.md NEWS PROBLEMS + newdoc contrib/README.md README-contrib.md + doinfo doc/slime.info + use doc && dodoc doc/*.pdf +} diff --git a/app-emacs/slime/slime-2.21.ebuild b/app-emacs/slime/slime-2.21.ebuild new file mode 100644 index 000000000000..aa82b5505f38 --- /dev/null +++ b/app-emacs/slime/slime-2.21.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit elisp + +DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)" +HOMEPAGE="http://common-lisp.net/project/slime/" +SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 xref? ( xref.lisp )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="doc xref" +RESTRICT=test # tests fail to contact sbcl + +RDEPEND="virtual/commonlisp + dev-lisp/asdf" +DEPEND="${RDEPEND} + >=sys-apps/texinfo-5.1 + doc? ( virtual/texi2dvi )" + +CLPACKAGE=swank +CLSYSTEMS=swank +SITEFILE=70${PN}-gentoo.el + +src_prepare() { + default + # Remove xref.lisp (which is non-free) unless USE flag is set + use xref || rm -f xref.lisp +} + +src_compile() { + elisp-compile *.el || die + BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \ + elisp-compile contrib/*.el lib/*.el || die + + emake -C doc slime.info || die + if use doc ; then + VARTEXFONTS="${T}"/fonts \ + emake -C doc all + fi +} + +src_install() { + # Install core + elisp-install ${PN} *.{el,elc,lisp} || die "Cannot install SLIME core" + + # Install contribs + elisp-install ${PN}/contrib/ contrib/*.{el,elc,lisp,scm,goo} \ + || die "Cannot install contribs" + + # Install lib + elisp-install ${PN}/lib/ lib/*.{el,elc} || die "Cannot install libs" + + # Install swank + elisp-install ${PN}/swank/ swank/*.lisp || die "Cannot install swank" + + elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die "Cannon install site file" + # Install docs + dodoc README.md CONTRIBUTING.md NEWS PROBLEMS + newdoc contrib/README.md README-contrib.md + doinfo doc/slime.info + use doc && dodoc doc/*.pdf + + # Bug #656760 + touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die +} -- cgit v1.2.3