diff options
author | Andrey Grozin <grozin@gentoo.org> | 2009-04-19 19:29:09 +0000 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2009-04-19 19:29:09 +0000 |
commit | 1af292b2642769e7ba9181fc29a4575828e0b40b (patch) | |
tree | 95ca73b2281fd96e57c9fcd6d2c733f19635964a /dev-lisp/gcl | |
parent | Fix collision on perllocal.pod; bug #247407 (diff) | |
download | gentoo-2-1af292b2642769e7ba9181fc29a4575828e0b40b.tar.gz gentoo-2-1af292b2642769e7ba9181fc29a4575828e0b40b.tar.bz2 gentoo-2-1af292b2642769e7ba9181fc29a4575828e0b40b.zip |
Snapshot of 2.6.8_pre, fixes bug #205803, based on the ebuild from the lisp overlay
(Portage version: 2.2_rc30/cvs/Linux i686)
Diffstat (limited to 'dev-lisp/gcl')
-rw-r--r-- | dev-lisp/gcl/ChangeLog | 12 | ||||
-rw-r--r-- | dev-lisp/gcl/files/bootstrap-gcl | 7 | ||||
-rw-r--r-- | dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch | 33 | ||||
-rw-r--r-- | dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild | 139 |
4 files changed, 189 insertions, 2 deletions
diff --git a/dev-lisp/gcl/ChangeLog b/dev-lisp/gcl/ChangeLog index 4dbc6281c538..228ef59b83a1 100644 --- a/dev-lisp/gcl/ChangeLog +++ b/dev-lisp/gcl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-lisp/gcl -# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/ChangeLog,v 1.53 2008/09/03 21:42:59 opfer Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/ChangeLog,v 1.54 2009/04/19 19:29:09 grozin Exp $ + +*gcl-2.6.8_pre20090419 (20 Apr 2009) + + 20 Apr 2009; Andrey Grozin <grozin@gentoo.org> + +files/gcl-2.6.8_pre20090419-configure.patch, +files/bootstrap-gcl, + +gcl-2.6.8_pre20090419.ebuild: + Snapshot of 2.6.8_pre, fixes bug #205803, based on the ebuild from + the lisp overlay 03 Sep 2008; Christian Faulhammer <opfer@gentoo.org> gcl-2.6.7.ebuild, gcl-2.6.7-r1.ebuild, gcl-2.6.7-r2.ebuild, gcl-2.6.7-r3.ebuild: diff --git a/dev-lisp/gcl/files/bootstrap-gcl b/dev-lisp/gcl/files/bootstrap-gcl new file mode 100644 index 000000000000..cf964c4b5bea --- /dev/null +++ b/dev-lisp/gcl/files/bootstrap-gcl @@ -0,0 +1,7 @@ +(compiler::emit-fn t) +(compiler::link nil "bootstrapped_ansi_gcl" + (format nil "(progn (let ((*load-path* (cons ~S *load-path*)) + (si::*load-types* ~S)) (compiler::emit-fn t)) (when (fboundp (quote + si::sgc-on)) (si::sgc-on t)) (setq compiler::*default-system-p* t))" + si::*system-directory* (quote (list ".lsp"))) + "-lutil") diff --git a/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch b/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch new file mode 100644 index 000000000000..f086500974bd --- /dev/null +++ b/dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch @@ -0,0 +1,33 @@ +diff -r -U2 gcl-2.6.8_pre20090419.orig/configure gcl-2.6.8_pre20090419/configure +--- gcl-2.6.8_pre20090419.orig/configure 2009-02-24 04:12:22.000000000 +0100 ++++ gcl-2.6.8_pre20090419/configure 2009-04-20 01:26:40.000000000 +0200 +@@ -118,4 +118,14 @@ + mandir='${prefix}/man' + ++# NLS nuisances. ++# Only set these to C if already set. These must not be set unconditionally ++# because not all systems understand e.g. LANG=C (notably SCO). ++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! ++# Non-C LC_CTYPE values break the ctype check. ++if test "${LANG+set}" = set; then LANG=C; export LANG; fi ++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi ++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi ++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi ++ + # Initialize some other variables. + subdirs= +@@ -506,14 +516,4 @@ + done + +-# NLS nuisances. +-# Only set these to C if already set. These must not be set unconditionally +-# because not all systems understand e.g. LANG=C (notably SCO). +-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +-# Non-C LC_CTYPE values break the ctype check. +-if test "${LANG+set}" = set; then LANG=C; export LANG; fi +-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi +- + # confdefs.h avoids OS command line length limits that DEFS can exceed. + rm -rf conftest* confdefs.h diff --git a/dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild b/dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild new file mode 100644 index 000000000000..636244a319b0 --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild,v 1.1 2009/04/19 19:29:09 grozin Exp $ + +EAPI=1 + +#removing flag-o-matic results in make install failing due to a segfault +inherit elisp-common flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="http://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="+ansi debug doc emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline ) + >=dev-libs/gmp-4.1 + tk? ( dev-lang/tk ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + doc? ( virtual/texi2dvi ) + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +src_unpack() { + unpack ${A} + cd "${S}" + + # The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in + # option parsing, it may break. + epatch "${FILESDIR}"/${P}-configure.patch +} + +src_compile() { + local myconfig="" + if use tk; then + myconfig="${myconfig} --enable-tkconfig=/usr/lib --enable-tclconfig=/usr/lib" + fi + myconfig="${myconfig} \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-dynsysgmp \ + --disable-xdr + $(use_enable readline) \ + $(use_with X x) \ + $(use_enable debug) \ + $(use_enable ansi)" + + einfo "Configuring with the following: +${myconfig}" + econf ${myconfig} + make || die "make failed" + sed -e 's,@EXT@,,g' debian/in.gcl.1 >gcl.1 +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o \ + *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + + else + + ewarn "Upstream provides tests only for ansi-gcl." + ewarn "Please emerge with ansi USE flag enabled" + ewarn "if you wnat to run the ansi tests." + + cat "${FILESDIR}/bootstrap-gcl" \ + | sed s/bootstrapped_ansi_gcl/bootstrapped_gcl/g \ + | unixport/saved_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + | sed s/bootstrapped_ansi_gcl/bootstrapped_r_gcl/g \ + | ./bootstrapped_gcl + + for x in "./bootstrapped_r_gcl" "unixport/saved_gcl" ; do + echo "(compiler::emit-fn t)" \ + | ${x} \ + || die "Phase 2, bootstraped compiler failed in tests" + done + fi +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + rm -rf "${D}"usr/share/doc/${PN}-si "${D}"usr/share/doc/${PN}-tk + + dosed /usr/bin/gcl + fperms 0755 /usr/bin/gcl + + dodoc readme* RELEASE* ChangeLog* doc/* + doman gcl.1 + doinfo info/*.info* + + if use emacs; then + mv "${D}"usr/share/emacs/site-lisp/${PN}/add-default.el "${T}"/50${PN}-gentoo.el + elisp-site-file-install "${T}"/50${PN}-gentoo.el + elisp-install ${PN} elisp/* + fperms 0644 /usr/share/emacs/site-lisp/gcl/* + else + rm -rf "${D}"usr/share/emacs + fi + + if use doc; then + mv "${D}"usr/share/doc/*.dvi "${D}"usr/share/doc/dwdoc* "${D}"usr/share/doc/${PF}/ + else + rm -rf "${D}"usr/share/doc/*.dvi "${D}"usr/share/doc/dwdoc* + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |