summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Grozin <grozin@gentoo.org>2014-03-30 09:00:59 +0000
committerAndrey Grozin <grozin@gentoo.org>2014-03-30 09:00:59 +0000
commitd12bffa6bf0d22f275c968c8a7be45e69784d8fe (patch)
tree26ef7a9245c5d632fdf9b99ec91acd5acd9cb453 /dev-lisp
parentSupport rewriting symlinks in MULTILIB_CHOST_TOOLS, bug #506062. (diff)
downloadgentoo-2-d12bffa6bf0d22f275c968c8a7be45e69784d8fe.tar.gz
gentoo-2-d12bffa6bf0d22f275c968c8a7be45e69784d8fe.tar.bz2
gentoo-2-d12bffa6bf0d22f275c968c8a7be45e69784d8fe.zip
New patches to gcl-2.6.10 for compatibility with readline-6.3 and gmp-6
(Portage version: 2.2.10/cvs/Linux i686, signed Manifest commit with key 0x3AFFCE974D34BD8C!)
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/gcl/ChangeLog7
-rw-r--r--dev-lisp/gcl/files/gcl-gmp-6.patch8
-rw-r--r--dev-lisp/gcl/files/gcl-readline-6.3.patch18
-rw-r--r--dev-lisp/gcl/files/gcl-tcl-8.6.patch103
-rw-r--r--dev-lisp/gcl/files/tcl.patch68
-rw-r--r--dev-lisp/gcl/gcl-2.6.10.ebuild6
-rw-r--r--dev-lisp/gcl/gcl-2.6.8_pre20130314.ebuild132
7 files changed, 139 insertions, 203 deletions
diff --git a/dev-lisp/gcl/ChangeLog b/dev-lisp/gcl/ChangeLog
index d103ca1266b4..f295225a73f3 100644
--- a/dev-lisp/gcl/ChangeLog
+++ b/dev-lisp/gcl/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-lisp/gcl
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/ChangeLog,v 1.62 2014/02/04 16:24:08 grozin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/ChangeLog,v 1.63 2014/03/30 09:00:59 grozin Exp $
+
+ 30 Mar 2014; Andrey Grozin <grozin@gentoo.org> -gcl-2.6.8_pre20130314.ebuild,
+ gcl-2.6.10.ebuild, +files/gcl-readline-6.3.patch, +files/gcl-gmp-6.patch,
+ +files/gcl-tcl-8.6.patch, -files/tcl.patch:
+ New patches to gcl-2.6.10 for compatibility with readline-6.3 and gmp-6
*gcl-2.6.10 (04 Feb 2014)
diff --git a/dev-lisp/gcl/files/gcl-gmp-6.patch b/dev-lisp/gcl/files/gcl-gmp-6.patch
new file mode 100644
index 000000000000..f66638478af1
--- /dev/null
+++ b/dev-lisp/gcl/files/gcl-gmp-6.patch
@@ -0,0 +1,8 @@
+diff -r -U1 gcl.orig/configure gcl/configure
+--- gcl.orig/configure 2013-11-11 21:55:48.000000000 +0700
++++ gcl/configure 2014-03-30 17:25:04.874994142 +0700
+@@ -5027,3 +5027,3 @@
+ int main() {
+- #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5
++ #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5 || __GNU_MP_VERSION == 6
+ return 0;
diff --git a/dev-lisp/gcl/files/gcl-readline-6.3.patch b/dev-lisp/gcl/files/gcl-readline-6.3.patch
new file mode 100644
index 000000000000..063c772f1051
--- /dev/null
+++ b/dev-lisp/gcl/files/gcl-readline-6.3.patch
@@ -0,0 +1,18 @@
+diff -r -U1 gcl.orig/o/gcl_readline.d gcl/o/gcl_readline.d
+--- gcl.orig/o/gcl_readline.d 2013-11-11 21:55:48.000000000 +0700
++++ gcl/o/gcl_readline.d 2014-03-30 18:29:42.131967005 +0700
+@@ -53,2 +53,9 @@
+
++/* Deprecated CPPFunction disappeared in libreadline-6.3 */
++#if defined(_RL_FUNCTION_TYPEDEF)
++#define RL_COMPLETION_FUNC_T rl_completion_func_t
++#else
++#define RL_COMPLETION_FUNC_T CPPFunction
++#endif
++
+ int readline_on = 0; /* On (1) or off (0) */
+@@ -471,3 +478,3 @@
+ #ifdef RL_COMPLETION
+- rl_attempted_completion_function = (CPPFunction *)rl_completion;
++ rl_attempted_completion_function = (RL_COMPLETION_FUNC_T *)rl_completion;
+ #endif
diff --git a/dev-lisp/gcl/files/gcl-tcl-8.6.patch b/dev-lisp/gcl/files/gcl-tcl-8.6.patch
new file mode 100644
index 000000000000..cfbf82e32899
--- /dev/null
+++ b/dev-lisp/gcl/files/gcl-tcl-8.6.patch
@@ -0,0 +1,103 @@
+diff --git a/gcl/gcl-tk/tkMain.c b/gcl/gcl-tk/tkMain.c
+index 74475cc..21c6c59 100755
+--- a/gcl/gcl-tk/tkMain.c
++++ b/gcl/gcl-tk/tkMain.c
+@@ -42,6 +42,11 @@
+ #if (TK_MINOR_VERSION==0 && TK_MAJOR_VERSION==4)
+ #define TkCreateMainWindow Tk_CreateMainWindow
+ #endif
++#if TCL_MAJOR_VERSION >= 8
++#define INTERP_RESULT(interp) Tcl_GetStringResult(interp)
++#else
++#define INTERP_RESULT(interp) (interp)->result
++#endif
+
+
+ /*-------------------------------------------------------------------*/
+@@ -276,7 +281,7 @@ TkX_Wish (argc, argv)
+
+ if (Tk_ParseArgv(interp, (Tk_Window) NULL, &argc, (void *)argv, argTable, 0)
+ != TCL_OK) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
+ exit(1);
+ }
+ if (name == NULL) {
+@@ -309,7 +314,7 @@ TkX_Wish (argc, argv)
+
+ /* mainWindow = TkCreateMainWindow(interp, display, name/\* , "Tk" *\/); */
+ /* if (mainWindow == NULL) { */
+-/* fprintf(stderr, "%s\n", interp->result); */
++/* fprintf(stderr, "%s\n", INTERP_RESULT(interp)); */
+ /* exit(1); */
+ /* } */
+ /* #ifndef __MINGW32__ */
+@@ -362,7 +367,7 @@ TkX_Wish (argc, argv)
+ Tcl_FindExecutable ( argv[0] );
+ #else
+ if (Tcl_AppInit(interp) != TCL_OK) {
+- fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result);
++ fprintf(stderr, "Tcl_AppInit failed: %s\n", INTERP_RESULT(interp));
+ }
+ #endif
+ /*
+@@ -372,7 +377,7 @@ TkX_Wish (argc, argv)
+ if (geometry != NULL) {
+ code = Tcl_VarEval(interp, "wm geometry . ", geometry, (char *) NULL);
+ if (code != TCL_OK) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
+ }
+ }
+
+@@ -402,13 +407,13 @@ TkX_Wish (argc, argv)
+
+ fullName = Tcl_TildeSubst(interp, tcl_RcFileName, &buffer);
+ if (fullName == NULL) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
+ } else {
+ f = fopen(fullName, "r");
+ if (f != NULL) {
+ code = Tcl_EvalFile(interp, fullName);
+ if (code != TCL_OK) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
+ }
+ fclose(f);
+ }
+@@ -443,7 +448,7 @@ TkX_Wish (argc, argv)
+ error:
+ msg = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
+ if (msg == NULL) {
+- msg = interp->result;
++ msg = INTERP_RESULT(interp);
+ }
+ dfprintf(stderr, "%s\n", msg);
+ Tcl_Eval(interp, errorExitCmd);
+@@ -566,13 +571,13 @@ StdinProc(clientData, mask)
+ || code)
+ {
+ char buf[4];
+- char *p = buf;
++ char *p = buf, *string;
+ /*header */
+ *p++ = (code ? '1' : '0');
+ bcopy(msg->msg_id,p,3);
+ /* end header */
+- if(sock_write_str2(dsfd, m_reply, buf, 4 ,
+- interp->result, strlen(interp->result))
++ string = INTERP_RESULT(interp);
++ if(sock_write_str2(dsfd, m_reply, buf, 4, string, strlen(string))
+ < 0)
+ { /* what do we want to do if the write failed */}
+
+@@ -752,7 +757,7 @@ guiBindCallback(char *szNameCmdProc, char *szTclObject, char *szModifier,char* a
+ code = Tcl_Eval(interp, szCmd);
+ if (code != TCL_OK)
+ {
+- dfprintf(stderr, "TCL Error int bind : %s\n", interp->result);
++ dfprintf(stderr, "TCL Error int bind : %s\n", INTERP_RESULT(interp));
+
+ }
+ return code;
diff --git a/dev-lisp/gcl/files/tcl.patch b/dev-lisp/gcl/files/tcl.patch
deleted file mode 100644
index 1f3972500861..000000000000
--- a/dev-lisp/gcl/files/tcl.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -r -U2 gcl.orig/gcl-tk/tkMain.c gcl/gcl-tk/tkMain.c
---- gcl.orig/gcl-tk/tkMain.c 2013-11-11 21:55:48.000000000 +0700
-+++ gcl/gcl-tk/tkMain.c 2014-02-05 00:09:38.821981358 +0700
-@@ -122,5 +122,5 @@
- char *x;
- {char buf[300] ;
-- sprintf("error %s",x);
-+ snprintf(buf,300,"error %s",x);
- Tcl_Eval(interp,buf);
- dfprintf(stderr,x);
-@@ -207,5 +207,5 @@
- if (Tk_ParseArgv(interp, (Tk_Window) NULL, &argc, (const char **)argv, argTable, 0)
- != TCL_OK) {
-- fprintf(stderr, "%s\n", interp->result);
-+ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
- exit(1);
- }
-@@ -291,5 +291,5 @@
-
- if (Tcl_AppInit(interp) != TCL_OK) {
-- fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result);
-+ fprintf(stderr, "Tcl_AppInit failed: %s\n", Tcl_GetStringResult(interp));
- }
-
-@@ -301,5 +301,5 @@
- code = Tcl_VarEval(interp, "wm geometry . ", geometry, (char *) NULL);
- if (code != TCL_OK) {
-- fprintf(stderr, "%s\n", interp->result);
-+ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
- }
- }
-@@ -331,5 +331,5 @@
- fullName = Tcl_TildeSubst(interp, tcl_RcFileName, &buffer);
- if (fullName == NULL) {
-- fprintf(stderr, "%s\n", interp->result);
-+ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
- } else {
- f = fopen(fullName, "r");
-@@ -337,5 +337,5 @@
- code = Tcl_EvalFile(interp, fullName);
- if (code != TCL_OK) {
-- fprintf(stderr, "%s\n", interp->result);
-+ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
- }
- fclose(f);
-@@ -372,5 +372,5 @@
- msg = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
- if (msg == NULL) {
-- msg = interp->result;
-+ msg = Tcl_GetStringResult(interp);
- }
- dfprintf(stderr, "%s\n", msg);
-@@ -497,12 +497,11 @@
- {
- char buf[4];
-- char *p = buf;
-+ char *p = buf, *string;
- /*header */
- *p++ = (code ? '1' : '0');
- bcopy(msg->msg_id,p,3);
- /* end header */
-- if(sock_write_str2(dsfd, m_reply, buf, 4 ,
-- interp->result, strlen(interp->result))
-- < 0)
-+ string = Tcl_GetStringResult(interp);
-+ if(sock_write_str2(dsfd, m_reply, buf, 4, string, strlen(string)) < 0)
- { /* what do we want to do if the write failed */}
-
diff --git a/dev-lisp/gcl/gcl-2.6.10.ebuild b/dev-lisp/gcl/gcl-2.6.10.ebuild
index 44a48d9b8e09..2fc055c0e8c9 100644
--- a/dev-lisp/gcl/gcl-2.6.10.ebuild
+++ b/dev-lisp/gcl/gcl-2.6.10.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/gcl-2.6.10.ebuild,v 1.1 2014/02/04 16:24:08 grozin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/gcl/gcl-2.6.10.ebuild,v 1.2 2014/03/30 09:00:59 grozin Exp $
EAPI=5
inherit elisp-common eutils flag-o-matic
@@ -56,7 +56,9 @@ src_prepare() {
epatch "${WORKDIR}"/fedora/reloc-type.patch
epatch "${WORKDIR}"/fedora/largefile.patch
- epatch "${FILESDIR}"/tcl.patch
+ epatch "${FILESDIR}"/${PN}-tcl-8.6.patch
+ epatch "${FILESDIR}"/${PN}-gmp-6.patch
+ epatch "${FILESDIR}"/${PN}-readline-6.3.patch
sed -e 's|"-fomit-frame-pointer"|""|' -i configure
sed -e 's|@EXT@||g' debian/in.gcl.1 > gcl.1
diff --git a/dev-lisp/gcl/gcl-2.6.8_pre20130314.ebuild b/dev-lisp/gcl/gcl-2.6.8_pre20130314.ebuild
deleted file mode 100644
index 54c66b8dd6a9..000000000000
--- a/dev-lisp/gcl/gcl-2.6.8_pre20130314.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2013 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_pre20130314.ebuild,v 1.1 2013/03/14 12:06:29 grozin Exp $
-
-EAPI=5
-
-#removing flag-o-matic results in make install failing due to a segfault
-inherit elisp-common eutils flag-o-matic
-
-DESCRIPTION="GNU Common Lisp"
-HOMEPAGE="http://www.gnu.org/software/gcl/gcl.html"
-SRC_URI="http://dev.gentoo.org/~grozin/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~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_configure() {
- 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}
-}
-
-src_compile() {
- 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
-
- 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
-}