summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Grozin <grozin@gentoo.org>2009-04-19 19:29:09 +0000
committerAndrey Grozin <grozin@gentoo.org>2009-04-19 19:29:09 +0000
commit1af292b2642769e7ba9181fc29a4575828e0b40b (patch)
tree95ca73b2281fd96e57c9fcd6d2c733f19635964a /dev-lisp/gcl
parentFix collision on perllocal.pod; bug #247407 (diff)
downloadgentoo-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/ChangeLog12
-rw-r--r--dev-lisp/gcl/files/bootstrap-gcl7
-rw-r--r--dev-lisp/gcl/files/gcl-2.6.8_pre20090419-configure.patch33
-rw-r--r--dev-lisp/gcl/gcl-2.6.8_pre20090419.ebuild139
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
+}