svn commit: r568549 - in head/editors: . sly sly/files

Li-Wen Hsu lwhsu at FreeBSD.org
Tue Mar 16 10:35:11 UTC 2021


Author: lwhsu
Date: Tue Mar 16 10:35:08 2021
New Revision: 568549
URL: https://svnweb.freebsd.org/changeset/ports/568549

Log:
  Add editors/sly, Common Lisp IDE for Emacs
  
  PR:		253991
  Submitted by:	Olivier Certner <olivier.freebsd at free.fr>

Added:
  head/editors/sly/
  head/editors/sly/Makefile   (contents, props changed)
  head/editors/sly/distinfo   (contents, props changed)
  head/editors/sly/files/
  head/editors/sly/files/patch-doc_Makefile   (contents, props changed)
  head/editors/sly/files/patch-doc_sly.texi   (contents, props changed)
  head/editors/sly/files/patch-sly.el   (contents, props changed)
  head/editors/sly/pkg-descr   (contents, props changed)
  head/editors/sly/pkg-message   (contents, props changed)
  head/editors/sly/pkg-plist   (contents, props changed)
Modified:
  head/editors/Makefile

Modified: head/editors/Makefile
==============================================================================
--- head/editors/Makefile	Tue Mar 16 09:36:07 2021	(r568548)
+++ head/editors/Makefile	Tue Mar 16 10:35:08 2021	(r568549)
@@ -231,6 +231,7 @@
     SUBDIR += setzer
     SUBDIR += shed
     SUBDIR += slime
+    SUBDIR += sly
     SUBDIR += ssed
     SUBDIR += sted
     SUBDIR += tamago

Added: head/editors/sly/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/Makefile	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,67 @@
+# $FreeBSD$
+
+PORTNAME=	sly
+DISTVERSION=	1.0.43
+CATEGORIES=	editors elisp
+PKGNAMESUFFIX=	${EMACS_PKGNAMESUFFIX}
+
+MAINTAINER=	olce.freebsd.ports at certner.fr
+COMMENT=	Sylvester the Cat's Common Lisp IDE for Emacs
+
+LICENSE=	PD
+
+USES=		emacs gmake
+USE_GITHUB=	yes
+GH_ACCOUNT=	joaotavora
+
+NO_ARCH=	yes
+
+INFO=		sly
+
+ALL_TARGET=	all doc-sly.info
+
+PLIST_THIS_LISPDIR=	${EMACS_VERSION_SITE_LISPDIR}/sly
+THIS_LISPDIR=		${PREFIX}/${PLIST_THIS_LISPDIR}
+PLIST_SUB+=		THIS_LISPDIR=${PLIST_THIS_LISPDIR}
+
+OPTIONS_DEFINE=	DOCS DOCS_PDF
+OPTIONS_DEFAULT=DOCS DOCS_PDF
+
+DOCS_PDF_DESC=	Build PDF documentation (requires DOCS)
+
+ROOT_DOCS_FILES=	CONTRIBUTING.md NEWS.md PROBLEMS.md README.md
+GENERATED_DOCS_FILES=	sly.html
+DOCS_BUILD_DEPENDS=	texinfo>=5.2:print/texinfo
+
+DOCS_PDF_IMPLIES=	DOCS
+DOCS_PDF_USE=	tex=latex:build tex=pdftex:build tex=dvipsk:build
+
+.include <bsd.port.options.mk>
+
+.if !empty(PORT_OPTIONS:MDOCS_PDF)
+GENERATED_DOCS_FILES+=	sly.pdf sly-refcard.pdf
+.endif
+
+ALL_TARGET+=	${GENERATED_DOCS_FILES:%=doc-%}
+
+PORTDOCS:=	CONTRIBUTING.md NEWS.md PROBLEMS.md README.md \
+		${GENERATED_DOCS_FILES}
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${THIS_LISPDIR}
+	(cd ${WRKSRC} && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${THIS_LISPDIR} \
+		"! ( -depth 1 ( -name Makefile -o -name *\.md -o \
+				-name \.[^.]* ) -o \
+			-path \./doc* )")
+	${INSTALL_DATA} ${WRKSRC}/doc/${INFO}.info \
+		${STAGEDIR}${PREFIX}/${INFO_PATH}
+
+# DOCS_PDF depends on DOCS
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${ROOT_DOCS_FILES:%=${WRKSRC}/%} \
+		${GENERATED_DOCS_FILES:%=${WRKSRC}/doc/%} \
+		${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>

Added: head/editors/sly/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/distinfo	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1613556780
+SHA256 (joaotavora-sly-1.0.43_GH0.tar.gz) = 84b2d8326a429dcc621022d2ebbde7ed4813594d7445f264cb6ff5bf5f3bf9e9
+SIZE (joaotavora-sly-1.0.43_GH0.tar.gz) = 1835404

Added: head/editors/sly/files/patch-doc_Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/files/patch-doc_Makefile	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,20 @@
+--- doc/Makefile.orig	2021-01-14 09:12:56 UTC
++++ doc/Makefile
+@@ -14,7 +14,7 @@ INSTALL_CMD=install -m 644
+ # Info files generated here.
+ infofiles=sly.info
+ 
+-TEXI = sly.texi contributors.texi
++TEXI = sly.texi
+ 
+ help:
+ 	@echo -e "\
+@@ -38,7 +38,7 @@ sly.info: $(TEXI)
+ 	makeinfo $<
+ 
+ sly.html: $(TEXI)
+-	texi2html --css-include=sly.css $<
++	makeinfo -o $@ --css-include=sly.css --html --no-split $<
+ 
+ html/index.html: $(TEXI)
+ 	makeinfo -o html --css-include=sly.css --html $<

Added: head/editors/sly/files/patch-doc_sly.texi
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/files/patch-doc_sly.texi	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,25 @@
+--- doc/sly.texi.orig	2021-01-14 09:12:56 UTC
++++ doc/sly.texi
+@@ -3157,17 +3157,13 @@ buffer you can enter Lisp expressions and evaluate the
+ @unnumberedsec Hackers of the good hack
+ 
+ @SLY{} is a fork of SLIME which is itself an Extension
+-of @acronym{SLIM} by Eric Marsden. At the time of writing, the authors
+-and code-contributors of @SLY{} are:
++of @acronym{SLIM} by Eric Marsden. Please consult the Git repository
++for a list of authors and code-contributors of @SLY{}, as well as the
++bundled code from @file{hyperspec.el}, @cite{CLOCC}, and the @cite{CMU
++AI Repository}.
+ 
+- at include contributors.texi
+-
+-... not counting the bundled code from @file{hyperspec.el},
+- at cite{CLOCC}, and the @cite{CMU AI Repository}.
+-
+ Many people on the @code{sly-devel} mailing list have made non-code
+-contributions to @SLY{}. Life is hard though: you gotta send code to
+-get your name in the manual. @code{:-)}
++contributions to @SLY{}.
+ 
+ @unnumberedsec Thanks!
+ 

Added: head/editors/sly/files/patch-sly.el
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/files/patch-sly.el	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,46 @@
+--- sly.el.orig	2021-01-14 09:12:56 UTC
++++ sly.el
+@@ -7463,22 +7463,30 @@ can be found."
+ ;;;###autoload
+ (add-hook 'lisp-mode-hook 'sly-editing-mode)
+ 
+-(cond
+- ((or (not (memq 'slime-lisp-mode-hook lisp-mode-hook))
+-      noninteractive
+-      (prog1
+-          (y-or-n-p "[sly] SLIME detected in `lisp-mode-hook', causes keybinding conflicts.  Remove it for this Emacs session?")
+-        (warn "To restore SLIME in this session, customize `lisp-mode-hook'
+-and replace `sly-editing-mode' with `slime-lisp-mode-hook'.")))
+-  (remove-hook 'lisp-mode-hook 'slime-lisp-mode-hook)
++(let ((proceed-p
++       (if noninteractive
++           (lambda () t)
++         (let (asked resp)
++           (lambda ()
++             (unless asked
++               (setq resp
++                     (y-or-n-p
++                      (eval-when-compile
++                        (concat "[sly] SLIME detected. Try to disable it "
++                                "for this Emacs session?")))
++                     asked t))
++             resp)))))
++  (when (and (memq 'slime-lisp-mode-hook lisp-mode-hook)
++             (funcall proceed-p))
++    (warn "To restore SLIME in this session, customize `lisp-mode-hook' and
++replace `sly-editing-mode' with `slime-lisp-mode-hook'.")
++    (remove-hook 'lisp-mode-hook 'slime-lisp-mode-hook))
+   (dolist (buffer (buffer-list))
+     (with-current-buffer buffer
+       (when (eq major-mode 'lisp-mode)
+-        (sly-editing-mode 1)
+-        (ignore-errors (funcall 'slime-mode -1))))))
+- (t
+-  (warn
+-   "`sly.el' loaded OK. To use SLY, customize `lisp-mode-hook' and remove `slime-lisp-mode-hook'.")))
++        (when (and (boundp 'slime-mode) slime-mode (funcall proceed-p))
++          (ignore-errors (funcall 'slime-mode -1)))
++        (sly-editing-mode 1)))))
+ 
+ (provide 'sly)
+ 

Added: head/editors/sly/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/pkg-descr	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,19 @@
+SLY is a fork of SLIME. We track its bugfixes, particularly to the
+implementation backends. All SLIME's familiar features (debugger, inspector,
+xref, etc...) are still available, with improved overall UX.
+
+SLY's highlights are:
+- A full-featured REPL based on Emacs's comint.el. Everything can be copied to
+  the REPL.
+- Stickers, or live code annotations that record values as code traverses them.
+- Flex-style completion out-of-the-box, using Emacs's completion API. Company,
+  Helm, and other supported natively, no plugin required.
+- An interactive Trace Dialog.
+- Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box.
+- Multiple inspectors and multiple REPLs.
+- "Presentations" replaced by interactive backreferences which highlight the
+  object and remain stable throughout the REPL session.
+- Support for NAMED-READTABLES, macrostep.el and quicklisp.
+- A portable, annotation-based stepper in early but functional prototype stage.
+
+WWW: https://github.com/joaotavora/sly

Added: head/editors/sly/pkg-message
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/pkg-message	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,27 @@
+[
+{ type: install
+  message: <<EOM
+To enable autoloading of SLY, add this to some Emacs init file:
+(require 'sly-autoloads)
+
+You should specify some Lisp implementation. This works for both SLY and SLIME:
+(setq inferior-lisp-program "path_to_your_lisp_binary")
+SLY however has convenient specific variables for more complex
+configurations. E.g.:
+(setq sly-default-lisp 'sbcl
+      sly-lisp-implementations '((sbcl ("sbcl"))))
+Please see their documentation.
+
+Contribs in `sly-contribs' list are automatically loaded and enabled (and those
+not in it are disabled) each time a new session is launched, or `sly-setup' is
+called. If you define `sly-contribs' in some initialization file, be sure to
+include sly-fancy in it (instead, you can add to the list using `add-to-list',
+after the `require' above).
+
+If you just want to immediately enable a contrib, you can instead use
+`sly-enable-contrib', but be aware that the effect will be temporary. It will
+last up to the next connection established or `sly-setup' call, unless you add
+the contrib to `sly-contribs' in the meantime.
+EOM
+}
+]

Added: head/editors/sly/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/sly/pkg-plist	Tue Mar 16 10:35:08 2021	(r568549)
@@ -0,0 +1,91 @@
+%%THIS_LISPDIR%%/contrib/sly-autodoc.el
+%%THIS_LISPDIR%%/contrib/sly-autodoc.elc
+%%THIS_LISPDIR%%/contrib/sly-fancy-inspector.el
+%%THIS_LISPDIR%%/contrib/sly-fancy-inspector.elc
+%%THIS_LISPDIR%%/contrib/sly-fancy-trace.el
+%%THIS_LISPDIR%%/contrib/sly-fancy-trace.elc
+%%THIS_LISPDIR%%/contrib/sly-fancy.el
+%%THIS_LISPDIR%%/contrib/sly-fancy.elc
+%%THIS_LISPDIR%%/contrib/sly-fontifying-fu.el
+%%THIS_LISPDIR%%/contrib/sly-fontifying-fu.elc
+%%THIS_LISPDIR%%/contrib/sly-indentation.el
+%%THIS_LISPDIR%%/contrib/sly-indentation.elc
+%%THIS_LISPDIR%%/contrib/sly-mrepl.el
+%%THIS_LISPDIR%%/contrib/sly-mrepl.elc
+%%THIS_LISPDIR%%/contrib/sly-package-fu.el
+%%THIS_LISPDIR%%/contrib/sly-package-fu.elc
+%%THIS_LISPDIR%%/contrib/sly-profiler.el
+%%THIS_LISPDIR%%/contrib/sly-profiler.elc
+%%THIS_LISPDIR%%/contrib/sly-retro.el
+%%THIS_LISPDIR%%/contrib/sly-retro.elc
+%%THIS_LISPDIR%%/contrib/sly-scratch.el
+%%THIS_LISPDIR%%/contrib/sly-scratch.elc
+%%THIS_LISPDIR%%/contrib/sly-stickers.el
+%%THIS_LISPDIR%%/contrib/sly-stickers.elc
+%%THIS_LISPDIR%%/contrib/sly-trace-dialog.el
+%%THIS_LISPDIR%%/contrib/sly-trace-dialog.elc
+%%THIS_LISPDIR%%/contrib/sly-tramp.el
+%%THIS_LISPDIR%%/contrib/sly-tramp.elc
+%%THIS_LISPDIR%%/contrib/slynk-arglists.lisp
+%%THIS_LISPDIR%%/contrib/slynk-fancy-inspector.lisp
+%%THIS_LISPDIR%%/contrib/slynk-indentation.lisp
+%%THIS_LISPDIR%%/contrib/slynk-mrepl.lisp
+%%THIS_LISPDIR%%/contrib/slynk-package-fu.lisp
+%%THIS_LISPDIR%%/contrib/slynk-profiler.lisp
+%%THIS_LISPDIR%%/contrib/slynk-retro.lisp
+%%THIS_LISPDIR%%/contrib/slynk-stickers.lisp
+%%THIS_LISPDIR%%/contrib/slynk-trace-dialog.lisp
+%%THIS_LISPDIR%%/contrib/sylvesters.txt
+%%THIS_LISPDIR%%/lib/.nosearch
+%%THIS_LISPDIR%%/lib/hyperspec.el
+%%THIS_LISPDIR%%/lib/hyperspec.elc
+%%THIS_LISPDIR%%/lib/sly-buttons.el
+%%THIS_LISPDIR%%/lib/sly-buttons.elc
+%%THIS_LISPDIR%%/lib/sly-cl-indent.el
+%%THIS_LISPDIR%%/lib/sly-cl-indent.elc
+%%THIS_LISPDIR%%/lib/sly-common.el
+%%THIS_LISPDIR%%/lib/sly-common.elc
+%%THIS_LISPDIR%%/lib/sly-completion.el
+%%THIS_LISPDIR%%/lib/sly-completion.elc
+%%THIS_LISPDIR%%/lib/sly-messages.el
+%%THIS_LISPDIR%%/lib/sly-messages.elc
+%%THIS_LISPDIR%%/lib/sly-parse.el
+%%THIS_LISPDIR%%/lib/sly-parse.elc
+%%THIS_LISPDIR%%/lib/sly-tests.el
+%%THIS_LISPDIR%%/lib/sly-tests.elc
+%%THIS_LISPDIR%%/sly-autoloads.el
+%%THIS_LISPDIR%%/sly.el
+%%THIS_LISPDIR%%/sly.elc
+%%THIS_LISPDIR%%/slynk/backend/abcl.lisp
+%%THIS_LISPDIR%%/slynk/backend/allegro.lisp
+%%THIS_LISPDIR%%/slynk/backend/ccl.lisp
+%%THIS_LISPDIR%%/slynk/backend/clasp.lisp
+%%THIS_LISPDIR%%/slynk/backend/clisp.lisp
+%%THIS_LISPDIR%%/slynk/backend/cmucl.lisp
+%%THIS_LISPDIR%%/slynk/backend/corman.lisp
+%%THIS_LISPDIR%%/slynk/backend/ecl.lisp
+%%THIS_LISPDIR%%/slynk/backend/lispworks.lisp
+%%THIS_LISPDIR%%/slynk/backend/mkcl.lisp
+%%THIS_LISPDIR%%/slynk/backend/sbcl.lisp
+%%THIS_LISPDIR%%/slynk/backend/scl.lisp
+%%THIS_LISPDIR%%/slynk/metering.lisp
+%%THIS_LISPDIR%%/slynk/slynk-apropos.lisp
+%%THIS_LISPDIR%%/slynk/slynk-backend.lisp
+%%THIS_LISPDIR%%/slynk/slynk-completion.lisp
+%%THIS_LISPDIR%%/slynk/slynk-gray.lisp
+%%THIS_LISPDIR%%/slynk/slynk-loader.lisp
+%%THIS_LISPDIR%%/slynk/slynk-match.lisp
+%%THIS_LISPDIR%%/slynk/slynk-rpc.lisp
+%%THIS_LISPDIR%%/slynk/slynk-source-file-cache.lisp
+%%THIS_LISPDIR%%/slynk/slynk-source-path-parser.lisp
+%%THIS_LISPDIR%%/slynk/slynk.asd
+%%THIS_LISPDIR%%/slynk/slynk.lisp
+%%THIS_LISPDIR%%/slynk/start-slynk.lisp
+%%THIS_LISPDIR%%/slynk/xref.lisp
+%%THIS_LISPDIR%%/test/sly-autodoc-tests.el
+%%THIS_LISPDIR%%/test/sly-cl-indent-test.txt
+%%THIS_LISPDIR%%/test/sly-fontifying-fu-tests.el
+%%THIS_LISPDIR%%/test/sly-indentation-tests.el
+%%THIS_LISPDIR%%/test/sly-mrepl-tests.el
+%%THIS_LISPDIR%%/test/sly-parse-tests.el
+%%THIS_LISPDIR%%/test/sly-stickers-tests.el


More information about the svn-ports-head mailing list