commit:     0dbb584dc9d588660a059e3c5e0e8d30e4344809
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 19 05:51:07 2014 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Fri Dec 19 05:51:07 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=0dbb584d

Bump slime to 2.11. Rename old cvs slime-9999.ebuild to 
slime-2.0_p20130930.ebuild, remove the cvs stuff, change to EAPI=5. symlink 
slime-2.0_p20130214.ebuild -> slime-2.0_p20130930.ebuild. New slime-9999.ebuild 
uses git-r3.

---
 .../slime/files/2.11/dont-load-sbcl-pprint.patch   | 13 +++
 .../slime/files/2.11/gentoo-changelog-date.patch   | 20 +++++
 app-emacs/slime/slime-2.0_p20130214.ebuild         |  2 +-
 app-emacs/slime/slime-2.0_p20130930.ebuild         | 97 +++++++++++++++++++++-
 ...lime-2.0_p20130214.ebuild => slime-2.11.ebuild} |  0
 app-emacs/slime/slime-9999.ebuild                  | 64 +++++++-------
 6 files changed, 164 insertions(+), 32 deletions(-)

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 0000000..c7dafb6
--- /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 0000000..4d7669a
--- /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/slime-2.0_p20130214.ebuild 
b/app-emacs/slime/slime-2.0_p20130214.ebuild
index acf114b..f61696a 120000
--- a/app-emacs/slime/slime-2.0_p20130214.ebuild
+++ b/app-emacs/slime/slime-2.0_p20130214.ebuild
@@ -1 +1 @@
-slime-9999.ebuild
\ No newline at end of file
+slime-2.0_p20130930.ebuild
\ No newline at end of file

diff --git a/app-emacs/slime/slime-2.0_p20130930.ebuild 
b/app-emacs/slime/slime-2.0_p20130930.ebuild
deleted file mode 120000
index acf114b..0000000
--- a/app-emacs/slime/slime-2.0_p20130930.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-slime-9999.ebuild
\ No newline at end of file

diff --git a/app-emacs/slime/slime-2.0_p20130930.ebuild 
b/app-emacs/slime/slime-2.0_p20130930.ebuild
new file mode 100644
index 0000000..c86f8c6
--- /dev/null
+++ b/app-emacs/slime/slime-2.0_p20130930.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit common-lisp-3 elisp eutils
+
+DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
+HOMEPAGE="http://common-lisp.net/project/slime/";
+SRC_URI="http://dev.gentoo.org/~gienah/snapshots/${P}.tgz";
+S="${WORKDIR}/slime-${PV:5:4}-${PV:9:2}-${PV:11:2}"
+
+LICENSE="GPL-2 xref? ( xref.lisp )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="doc xref"
+
+RDEPEND="virtual/commonlisp
+               dev-lisp/asdf"
+DEPEND="${RDEPEND}
+               sys-apps/texinfo
+               doc? ( virtual/texi2dvi )"
+
+CLPACKAGE=swank
+CLSYSTEMS=swank
+SITEFILE=70${PN}-gentoo.el
+
+src_prepare() {
+       epatch "${FILESDIR}"/2.0_p20110617/fix-inspect-presentations.patch
+       epatch "${FILESDIR}"/2.0_p20130214/gentoo-module-load.patch
+       epatch "${FILESDIR}"/2.0_p20110617/gentoo-dont-call-init.patch
+
+       # Eliminate Debian-specific rule
+       sed -i '/^section :=/d' doc/Makefile || die "sed doc/Makefile failed"
+
+       # 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"
+
+       # 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.0_p20130930/gentoo-changelog-date.patch
+       if [[ "${PV}" != "2.0_p20130214" ]]; then
+               # lately upstream have not updated ChangeLog, so hard code it 
to a later date.
+               SLIME_CHANGELOG_DATE="2013-09-30"
+       fi
+       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 || 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 "${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,scm,goo} \
+               || die "Cannot install contribs"
+       common-lisp-install-sources contrib/*.lisp
+
+       ## install docs
+       dodoc README* ChangeLog HACKING NEWS PROBLEMS
+       newdoc contrib/README README.contrib
+       newdoc contrib/ChangeLog ChangeLog.contrib
+       doinfo doc/slime.info
+       use doc && dodoc doc/slime.pdf
+}

diff --git a/app-emacs/slime/slime-2.0_p20130214.ebuild 
b/app-emacs/slime/slime-2.11.ebuild
similarity index 100%
copy from app-emacs/slime/slime-2.0_p20130214.ebuild
copy to app-emacs/slime/slime-2.11.ebuild

diff --git a/app-emacs/slime/slime-9999.ebuild 
b/app-emacs/slime/slime-9999.ebuild
index 6d2adf8..de49121 100644
--- a/app-emacs/slime/slime-9999.ebuild
+++ b/app-emacs/slime/slime-9999.ebuild
@@ -1,18 +1,17 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-EAPI=4
+EAPI=5
 
-[[ ${PV} = *9999* ]] && CVS_ECLASS="cvs" || CVS_ECLASS=""
+[[ ${PV} = *9999* ]] && GIT_ECLASS="git-r3" || GIT_ECLASS=""
 
-inherit common-lisp-3 ${CVS_ECLASS} elisp eutils
+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="http://dev.gentoo.org/~gienah/snapshots/${P}.tgz";
-       S="${WORKDIR}/slime-${PV:5:4}-${PV:9:2}-${PV:11:2}"
+       SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
 fi
 
 LICENSE="GPL-2 xref? ( xref.lisp )"
@@ -23,11 +22,12 @@ else
        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
+               >=sys-apps/texinfo-5.1
                doc? ( virtual/texi2dvi )"
 
 CLPACKAGE=swank
@@ -36,25 +36,19 @@ SITEFILE=70${PN}-gentoo.el
 
 src_unpack() {
        if [[ ${PV} == *9999* ]]; then
-               ECVS_AUTH="pserver"
-               ECVS_SERVER="common-lisp.net:/project/slime/cvsroot"
-               ECVS_MODULE="slime"
-               ECVS_USER="anonymous"
-               ECVS_PASS="anonymous"
-               ECVS_CVS_OPTIONS="-d"
-               ECVS_LOCALNAME="${P}"
-               cvs_src_unpack
+               EGIT_REPO_URI="https://github.com/slime/slime.git";
+               ${GIT_ECLASS}_src_unpack
        fi
        elisp_src_unpack
 }
 
 src_prepare() {
-       epatch "${FILESDIR}"/2.0_p20110617/fix-inspect-presentations.patch
+       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
-
-       # Eliminate Debian-specific rule
-       sed -i '/^section :=/d' doc/Makefile || die "sed doc/Makefile failed"
+       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)
@@ -63,11 +57,17 @@ src_prepare() {
        # 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.0_p20130930/gentoo-changelog-date.patch
-       if [[ "${PV}" != "2.0_p20130214" ]]; then
-               # lately upstream have not updated ChangeLog, so hard code it 
to a later date.
-               SLIME_CHANGELOG_DATE="2013-09-30"
-       fi
+       epatch "${FILESDIR}"/2.11/gentoo-changelog-date.patch
+
+       # 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 \
@@ -82,7 +82,7 @@ src_prepare() {
 src_compile() {
        elisp-compile *.el || die
        BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
-               elisp-compile contrib/*.el || die
+               elisp-compile contrib/*.el lib/*.el || die
        emake -j1 -C doc slime.info || die "Cannot build info docs"
 
        if use doc; then
@@ -93,7 +93,7 @@ src_compile() {
 
 src_install() {
        ## install core
-       elisp-install ${PN} *.el "${FILESDIR}"/swank-loader.lisp \
+       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"
@@ -105,14 +105,18 @@ src_install() {
        common-lisp-install-asdf swank.asd
 
        ## install contribs
-       elisp-install ${PN}/contrib/ contrib/*.{el,scm,goo} \
+       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* ChangeLog HACKING NEWS PROBLEMS
-       newdoc contrib/README README.contrib
+       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/slime.pdf
+       use doc && dodoc doc/*.pdf
 }

Reply via email to