public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/lisp:master commit in: app-emacs/slime/files/2.11/, app-emacs/slime/
@ 2014-12-19  5:51 Mark Wright
  0 siblings, 0 replies; only message in thread
From: Mark Wright @ 2014-12-19  5:51 UTC (permalink / raw
  To: gentoo-commits

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
 }


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2014-12-19  5:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-19  5:51 [gentoo-commits] proj/lisp:master commit in: app-emacs/slime/files/2.11/, app-emacs/slime/ Mark Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox