Hi. I'd like to upload SLIME to ELPA, the Emacs Lisp Package Archive. If you don't know about ELPA you can read more here:
This patch adds a "-elpa" flag to mkdist.sh, to make an ELPA-ish package. It is a bit of a hack, but I hope not too bad.
On the SLIME side, the long-term maintenance burden of ELPA support is pretty minimal:
* Some of it is "good Emacs mode" stuff, basically properly setting up autoloads
* If SLIME adds a non-standard dependency (meaning, on some piece of 3rd party Emacs Lisp that properly lives outside of SLIME), note it in the define-package. This will require coordination w/ ELPA before upload anyhow.
* Send a release .tar (with a new "dotted numeric" version number) made with "mkdist.sh -elpa" to the ELPA mailing address.
Let me know what you think. If you'd prefer I not upload it, or likewise if you think the burden is too high, that is fine -- just let me know.
Tom
ChangeLog: 2007-09-13 Tom Tromey elpa@tromey.com
* slime-pkg.in: New file. * mkdist.sh: Handle "-elpa" argument. * slime-autoloads.el (slime-setup): Add autoload comment.
Index: mkdist.sh =================================================================== RCS file: /project/slime/cvsroot/slime/mkdist.sh,v retrieving revision 1.7 diff -u -r1.7 mkdist.sh --- mkdist.sh 29 Aug 2005 20:02:58 -0000 1.7 +++ mkdist.sh 14 Sep 2007 18:59:04 -0000 @@ -11,7 +11,23 @@ mkdir $dist cp NEWS README HACKING PROBLEMS ChangeLog *.el *.lisp $dist/
-mkdir $dist/doc -cp doc/Makefile doc/slime.texi doc/texinfo-tabulate.awk $dist/doc +if [ "$1" = "-elpa" ]; then + # Comes in all modern Emacs. + rm -f $dist/tree-widget.el + # ELPA uses PKG-autoloads.el, but we still want this. + mv $dist/slime-autoloads.el $dist/slime-startup.el + # Add version info. + sed -e "s/VERSION/$version/" < slime-pkg.in > $dist/slime-pkg.el
-tar czf $dist.tar.gz $dist + cd doc + make infodir=../$dist/ install-info + cp *.texi ../$dist/ + cd .. + + tar cf $dist.tar $dist +else + mkdir $dist/doc + cp doc/Makefile doc/slime.texi doc/texinfo-tabulate.awk $dist/doc + + tar czf $dist.tar.gz $dist +fi Index: slime-autoloads.el =================================================================== RCS file: /project/slime/cvsroot/slime/slime-autoloads.el,v retrieving revision 1.1 diff -u -r1.1 slime-autoloads.el --- slime-autoloads.el 30 Jan 2007 22:22:25 -0000 1.1 +++ slime-autoloads.el 14 Sep 2007 18:59:04 -0000 @@ -28,6 +28,7 @@
(defvar slime-lisp-modes '(lisp-mode))
+;;;###autoload (defun slime-setup (&rest options) "Setup Emacs so that lisp-mode buffers always use SLIME. OPTIONS is a keyword list (&key AUTODOC TYPEOUT-FRAME HIGHLIGHT-EDITS): Index: slime-pkg.in =================================================================== RCS file: slime-pkg.in diff -N slime-pkg.in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ slime-pkg.in 14 Sep 2007 18:59:04 -0000 @@ -0,0 +1,16 @@ +;;; slime-pkg.el --- ELPA definition for SLIME + +;; This file is protected by the GNU GPLv2 (or later), as distributed +;; with GNU Emacs. + +;;; Commentary: + +;; Package definition for ELPA. For more information see: +;; http://tromey.com/elpa/ + +;;; Code: + +(define-package "slime" "VERSION" + "SLIME is the Superior Lisp Interaction Mode for Emacs.") + +;;; slime-pkg.el ends here
Tom Tromey elpa@tromey.com writes:
- Send a release .tar (with a new "dotted numeric" version number) made with "mkdist.sh -elpa" to the ELPA mailing address.
Let me know what you think. If you'd prefer I not upload it, or likewise if you think the burden is too high, that is fine -- just let me know.
I think the cited item is what Slime disqualifies. Slime is not under a real release management, instead people are just supposed to grab the latest copy from CVS.
-T.
* Tom Tromey [2007-09-14 21:44+0200] writes:
Let me know what you think. If you'd prefer I not upload it, or likewise if you think the burden is too high, that is fine -- just let me know.
There exist deb and rpm packages for Slime. I think, it is also included in Aquamacs. All that happened without our help. You could do the same and create the ELPA package yourself.
Slime somehow ended up in Debian's non-free section, so our licences probably don't satisfy DFSG. There might indeed be licensing issues, because Slime also supports proprietary systems (Allegro and Lispworks).
Helmut.
Hello!
On Sat, 15 Sep 2007 17:35:48 +0200, Helmut Eller wrote:
Slime somehow ended up in Debian's non-free section, so our licences probably don't satisfy DFSG.
This isn't anymore the case since: ===== slime (1:20061021-1) unstable; urgency=low
* added XS-Vcs-Svn field to control file * New upstream that is not DFSG free, so we move it to main
-- Peter Van Eynde pvaneynd@debian.org Tue, 24 Oct 2006 18:02:00 +0200 =====
Please see the discussion at [1] for more information.
Thx, bye, Gismo / Luca
Footnotes: [1] http://common-lisp.net/pipermail/slime-devel/2006-October/005263.html