[emacs-slime] Fix bug #675850. new file: changelog.patch modified: emacs-slime.spec new file: fix_paths.p
narasim
narasim at fedoraproject.org
Mon Jul 23 16:22:17 UTC 2012
commit 6f829f8f2f4c8b2480bbd0a5f878461fe2b683c5
Author: Lakshmi Narasimhan T V <lakshminaras2002 at gmail.com>
Date: Mon Jul 23 21:50:38 2012 +0530
Fix bug #675850.
new file: changelog.patch
modified: emacs-slime.spec
new file: fix_paths.patch
new file: known_implementations.patch
modified: slime-current.tgz
changelog.patch | 14 ++++++++
emacs-slime.spec | 76 ++++++++++++++++++++++++++++++------------
fix_paths.patch | 53 ++++++++++++++++++++++++++++++
known_implementations.patch | 29 ++++++++++++++++
slime-current.tgz | Bin 906729 -> 922941 bytes
5 files changed, 150 insertions(+), 22 deletions(-)
---
diff --git a/changelog.patch b/changelog.patch
new file mode 100644
index 0000000..4ad4311
--- /dev/null
+++ b/changelog.patch
@@ -0,0 +1,14 @@
+Index: slime/slime.el
+===================================================================
+--- slime.orig/slime.el 2012-04-21 21:41:50.000000001 +0200
++++ slime/slime.el 2012-04-21 21:46:55.000000001 +0200
+@@ -131,8 +131,7 @@
+ date)))
+
+ (defvar slime-protocol-version nil)
+-(setq slime-protocol-version
+- (eval-when-compile (slime-changelog-date)))
++(setq slime-protocol-version (slime-changelog-date))
+
+
+ ;;;; Customize groups
diff --git a/emacs-slime.spec b/emacs-slime.spec
index c5ed83d..f4fecca 100644
--- a/emacs-slime.spec
+++ b/emacs-slime.spec
@@ -1,10 +1,10 @@
%global pkg slime
%global pkgname Slime
-%global alphatag 20101113cvs
+%global alphatag 20120525cvs
Name: emacs-%{pkg}
Version: 3.0
-Release: 0.4.%{alphatag}%{?dist}
+Release: 0.6.%{alphatag}%{?dist}
Summary: The superior lisp interaction mode for emacs
Group: Applications/Editors
@@ -23,12 +23,14 @@ Requires: emacs(bin) >= %{_emacs_version} common-lisp-controller
Requires(post): info common-lisp-controller
Requires(preun): info common-lisp-controller
-BuildArch: noarch
+BuildArch: noarch
+Patch1: changelog.patch
+Patch2: fix_paths.patch
+Patch3: known_implementations.patch
%description
SLIME is a Emacs mode for common Lisp development.
-
%package el
Summary: Elisp source files for %{name}
Group: Applications/Editors
@@ -39,7 +41,11 @@ This package contains the Elisp source files for %{name}. You do not need
to install this package to use %{name}.
%prep
-%setup -q -n %{pkg}-2010-11-13
+%setup -q -n %{pkg}-2012-05-25
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+
iconv --from=ISO-8859-1 --to=UTF-8 ChangeLog > ChangeLog.conv && mv ChangeLog.conv ChangeLog
%build
@@ -47,23 +53,31 @@ iconv --from=ISO-8859-1 --to=UTF-8 ChangeLog > ChangeLog.conv && mv ChangeLog.co
cd doc/
make slime.info
-
%install
rm -rf %{buildroot}
-install -pm 755 -d %{buildroot}%{_emacs_sitelispdir}/%{pkg}/
-install -pm 644 *.el* %{buildroot}%{_emacs_sitelispdir}/%{pkg}/
+
install -pm 755 -d %{buildroot}%{_emacs_sitestartdir}
+install -pm 644 *.elc %{buildroot}%{_emacs_sitestartdir}
+
install -pm 755 -d %{buildroot}%{_infodir}
install -pm 644 doc/%{pkg}.info %{buildroot}%{_infodir}/
-install -pm 755 -d %{buildroot}%{_datadir}/common-lisp/source/swank
-install -pm 755 -d %{buildroot}%{_datadir}/common-lisp/systems
-install -pm 644 *.lisp %{buildroot}%{_datadir}/common-lisp/source/swank
-install -pm 644 *.asd %{buildroot}%{_datadir}/common-lisp/source/swank/
-cd %{buildroot}%{_datadir}/common-lisp/source/swank/
-for asd in *.asd; do
- ln -s %{_datadir}/common-lisp/source/swank/$asd ../../systems;
-done
+install -pm 755 -d %{buildroot}%{_emacs_sitelispdir}/%{pkg}
+install -pm 755 -d %{buildroot}%{_emacs_sitelispdir}/%{pkg}/contrib
+install -pm 644 *.el* %{buildroot}%{_emacs_sitelispdir}/%{pkg}/
+
+
+install -pm 755 -d %{buildroot}%{_datadir}/common-lisp/source/slime
+install -pm 755 -d %{buildroot}%{_datadir}/common-lisp/source/slime/contrib
+install -pm 644 *.lisp %{buildroot}%{_datadir}/common-lisp/source/slime
+install -pm 644 contrib/*.lisp %{buildroot}%{_datadir}/common-lisp/source/slime/contrib
+install -pm 644 contrib/*.el %{buildroot}%{_datadir}/common-lisp/source/slime/contrib
+install -pm 644 contrib/README %{buildroot}%{_datadir}/common-lisp/source/slime/contrib
+install -pm 644 contrib/ChangeLog %{buildroot}%{_datadir}/common-lisp/source/slime/contrib
+install -pm 644 *.asd %{buildroot}%{_datadir}/common-lisp/source/slime
+
+mv contrib/README contrib/contrib-README
+mv contrib/ChangeLog contrib/contrib-ChangeLog
%clean
rm -rf %{buildroot}
@@ -80,22 +94,40 @@ fi
%files
%defattr(-,root,root,-)
-%doc ChangeLog NEWS PROBLEMS README doc/slime-small.pdf doc/slime-refcard.pdf
+%doc ChangeLog NEWS PROBLEMS README doc/slime-small.pdf doc/slime-refcard.pdf contrib/contrib-README contrib/contrib-ChangeLog
+
+%dir %{_emacs_sitestartdir}
+%{_emacs_sitestartdir}/*.elc
+
%dir %{_emacs_sitelispdir}/%{pkg}
+%dir %{_emacs_sitelispdir}/%{pkg}/contrib
%{_emacs_sitelispdir}/%{pkg}/*.elc
-%dir %{_datadir}/common-lisp/source/swank
-%{_datadir}/common-lisp/source/swank/*
-%{_datadir}/common-lisp/systems/swank.asd
+
+%dir %{_datadir}/common-lisp/source/slime
+%dir %{_datadir}/common-lisp/source/slime/contrib
+%{_datadir}/common-lisp/source/slime/*.lisp
+%{_datadir}/common-lisp/source/slime/contrib/*.lisp
+%{_datadir}/common-lisp/source/slime/contrib/*.el
+%{_datadir}/common-lisp/source/slime/contrib/README
+%{_datadir}/common-lisp/source/slime/contrib/ChangeLog
+%{_datadir}/common-lisp/source/slime/*.asd
%{_infodir}/%{pkg}.info.gz
%files el
%defattr(-,root,root,-)
%doc HACKING
%{_emacs_sitelispdir}/%{pkg}/*.el
-%dir %{_emacs_sitelispdir}/%{pkg}
-
%changelog
+* Mon Jul 23 2012 Lakshmi Narasimhan T V <lakshminaras2002 at gmail.com> - 3.0-0.6.20120525cvs
+- All .el files go into -el package except for those under contrib. They go into common-lisp/source/slime
+- Copy readme and changelog into contrib folder. Gives an idea of how to load the definitions into emacs.
+- Rename readme and changelog under contrib and put them into doc folder as well.
+
+* Mon Jul 23 2012 Lakshmi Narasimhan T V <lakshminaras2002 at gmail.com> - 3.0-0.5.20120525cvs
+- Apply patches to fix slime load error.
+- Copy contrib directory in both base and el packages.
+
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.0-0.4.20101113cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/fix_paths.patch b/fix_paths.patch
new file mode 100644
index 0000000..ea0e0fd
--- /dev/null
+++ b/fix_paths.patch
@@ -0,0 +1,53 @@
+Index: slime/slime.el
+===================================================================
+--- slime.orig/slime.el 2012-04-21 21:47:22.000000001 +0200
++++ slime/slime.el 2012-04-21 21:47:36.000000001 +0200
+@@ -119,7 +119,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 (concat slime-path "ChangeLog"))
++ (let ((changelog "/usr/share/doc/emacs-slime-3.0/Changelog")
+ (date nil))
+ (when (file-exists-p changelog)
+ (with-temp-buffer
+Index: slime/swank-loader.lisp
+===================================================================
+--- slime.orig/swank-loader.lisp 2012-04-21 21:47:09.000000001 +0200
++++ slime/swank-loader.lisp 2012-04-21 21:47:36.000000001 +0200
+@@ -17,6 +17,10 @@
+ ;; (setq swank-loader::*fasl-directory* "/tmp/fasl/")
+ ;; (swank-loader:init)
+
++
++(handler-case (require :asdf)
++ (error () (load "/usr/share/common-lisp/source/cl-asdf/asdf.lisp")))
++
+ (cl:defpackage :swank-loader
+ (:use :cl)
+ (:export :init
+@@ -122,7 +126,7 @@
+ (defun slime-version-string ()
+ "Return a string identifying the SLIME version.
+ Return nil if nothing appropriate is available."
+- (with-open-file (s (merge-pathnames "ChangeLog" *source-directory*)
++ (with-open-file (s "/usr/share/doc/emacs-slime-3.0/Changelog"
+ :if-does-not-exist nil)
+ (and s (symbol-name (read s)))))
+
+@@ -139,10 +143,11 @@
+
+ (defun binary-pathname (src-pathname binary-dir)
+ "Return the pathname where SRC-PATHNAME's binary should be compiled."
+- (let ((cfp (compile-file-pathname src-pathname)))
+- (merge-pathnames (make-pathname :name (pathname-name cfp)
+- :type (pathname-type cfp))
+- binary-dir)))
++ (declare (ignore binary-dir))
++ (let ((cfp (compile-file-pathname src-pathname)))
++ (merge-pathnames (make-pathname
++ :directory `(:relative "swank" "fasl" ,(unique-dir-name)))
++ (asdf:apply-output-translations cfp))))
+
+ (defun handle-swank-load-error (condition context pathname)
+ (fresh-line *error-output*)
diff --git a/known_implementations.patch b/known_implementations.patch
new file mode 100644
index 0000000..87556f9
--- /dev/null
+++ b/known_implementations.patch
@@ -0,0 +1,29 @@
+Index: slime/slime.el
+===================================================================
+--- slime.orig/slime.el 2012-04-21 21:46:55.000000001 +0200
++++ slime/slime.el 2012-04-21 21:47:22.000000001 +0200
+@@ -133,6 +133,15 @@
+ (defvar slime-protocol-version nil)
+ (setq slime-protocol-version (slime-changelog-date))
+
++(defun slime-gather-lisp-implementations ()
++ "Compute sane default value for slime-lisp-implementations."
++ (let ((known-lisps '("sbcl" "clisp" "ecl" "cmucl")))
++ (remove-if
++ 'null
++ (mapcar
++ (lambda (l) (if (executable-find l) (list l (list l))))
++ known-lisps))))
++
+
+ ;;;; Customize groups
+ ;;
+@@ -1055,7 +1064,7 @@
+ (defvar inferior-lisp-program "lisp"
+ "*Program name for invoking an inferior Lisp with for Inferior Lisp mode.")
+
+-(defvar slime-lisp-implementations nil
++(defvar slime-lisp-implementations (slime-gather-lisp-implementations)
+ "*A list of known Lisp implementations.
+ The list should have the form:
+ ((NAME (PROGRAM PROGRAM-ARGS...) &key KEYWORD-ARGS) ...)
diff --git a/slime-current.tgz b/slime-current.tgz
index 686a74d..d85fde0 100644
Binary files a/slime-current.tgz and b/slime-current.tgz differ
More information about the scm-commits
mailing list