diff options
author | markm <markm@FreeBSD.org> | 2003-09-14 23:10:02 +0800 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2003-09-14 23:10:02 +0800 |
commit | 72f44748729dac4d3266fab6dee3d98a7e0d99f7 (patch) | |
tree | 0b549062c8fbfdc3a6cfa5eaa03c7de5c8969896 /lang/gcl | |
parent | f81723e56f232d4ef8c5dd98629266bc3ded6075 (diff) | |
download | freebsd-ports-gnome-72f44748729dac4d3266fab6dee3d98a7e0d99f7.tar.gz freebsd-ports-gnome-72f44748729dac4d3266fab6dee3d98a7e0d99f7.tar.zst freebsd-ports-gnome-72f44748729dac4d3266fab6dee3d98a7e0d99f7.zip |
Rescue a hosed port from death row. GCL is now healthy enough to
compile and run Maxima (see math/). Make portlint-clean as well.
Claim maintainership in case it breaks again.
Diffstat (limited to 'lang/gcl')
-rw-r--r-- | lang/gcl/Makefile | 51 | ||||
-rw-r--r-- | lang/gcl/distinfo | 2 | ||||
-rw-r--r-- | lang/gcl/files/patch-aa | 21 | ||||
-rw-r--r-- | lang/gcl/files/patch-ab | 40 | ||||
-rw-r--r-- | lang/gcl/files/patch-ac | 54 | ||||
-rw-r--r-- | lang/gcl/files/patch-ad | 11 | ||||
-rw-r--r-- | lang/gcl/files/patch-configure.in | 52 | ||||
-rw-r--r-- | lang/gcl/files/patch-h_FreeBSD.defs | 33 | ||||
-rw-r--r-- | lang/gcl/files/patch-h_FreeBSD.h | 90 | ||||
-rw-r--r-- | lang/gcl/files/patch-info::gcl-tk.texi | 42 | ||||
-rw-r--r-- | lang/gcl/files/patch-info_gcl-si.texi | 13 | ||||
-rw-r--r-- | lang/gcl/files/patch-info_makefile | 71 | ||||
-rw-r--r-- | lang/gcl/files/patch-makedefc.in | 24 | ||||
-rw-r--r-- | lang/gcl/files/patch-makefile | 15 | ||||
-rw-r--r-- | lang/gcl/files/patch-o_readline.d | 11 | ||||
-rw-r--r-- | lang/gcl/files/patch-o_sfaslelf.c | 136 | ||||
-rw-r--r-- | lang/gcl/files/patch-o_unixfasl.c | 11 | ||||
-rw-r--r-- | lang/gcl/files/patch-unixport::makefile | 11 | ||||
-rw-r--r-- | lang/gcl/files/patch-unixport::rsym_elf.c | 13 | ||||
-rw-r--r-- | lang/gcl/files/patch-unixport_rsym_elf.c | 20 | ||||
-rw-r--r-- | lang/gcl/pkg-descr | 4 | ||||
-rw-r--r-- | lang/gcl/pkg-plist | 64 |
22 files changed, 537 insertions, 252 deletions
diff --git a/lang/gcl/Makefile b/lang/gcl/Makefile index 09a1fa204e25..08e0c2610e37 100644 --- a/lang/gcl/Makefile +++ b/lang/gcl/Makefile @@ -1,37 +1,48 @@ -# New ports collection makefile for: gcl -# Date created: Feb 8 1995 -# Whom: hsu +# New ports collection makefile for: gcl +# Date created: Feb 8 1995 +# Whom: hsu # # $FreeBSD$ # PORTNAME= gcl -PORTVERSION= 2.4.0 -CATEGORIES= lang -MASTER_SITES= ftp://ftp.ma.utexas.edu/pub/gcl/ -EXTRACT_SUFX= .tgz +PORTVERSION= 2.5.3 +CATEGORIES= lang tcl84 tk84 +MASTER_SITES= ${MASTER_SITE_GNU} +MASTER_SITE_SUBDIR= gcl -MAINTAINER= twp@unchi.org +MAINTAINER= markm@freebsd.org COMMENT= GNU Common Lisp -BROKEN= "Dies with sig11 during build" +LIB_DEPENDS= tk84.1:${PORTSDIR}/x11-toolkits/tk84 GNU_CONFIGURE= yes -CONFIGURE_ARGS= --enable-machine=FreeBSD +USE_AUTOCONF= yes +USE_GMAKE= yes +USE_XLIB= yes +CONFIGURE_ARGS=--prefix=${PREFIX} \ + --enable-machine=FreeBSD \ + --enable-ansi \ + --infodir=${PREFIX}/info \ + --enable-info=${PREFIX}/info \ + --enable-tkconfig=${LOCALBASE}/lib/tk8.4 \ + --enable-tclconfig=${LOCALBASE}/lib/tcl8.4 \ + --with-x \ + --x-includes=${X11BASE}/include \ + --x-libraries=${X11BASE}/lib \ + --disable-dlopen \ + --disable-dynsysbfd \ + --disable-statsysbfd \ + --disable-locbfd \ + --enable-custreloc MAKEFILE= makefile +INFO= gcl gcl-si gcl-tk + PLIST_SUB= GCL_VER=${PORTVERSION} pre-configure: - @${LN} -sf unexelf.c ${WRKSRC}/o/unexec.c - -pre-build: - ${RM} -rf ${WRKSRC}/info/gcl-si.info* ${WRKSRC}/info/gcl-tk.info* - -post-install: - ${INSTALL_DATA} ${WRKSRC}/info/gcl-si.info ${PREFIX}/info - ${INSTALL_DATA} ${WRKSRC}/info/gcl-tk.info ${PREFIX}/info - @install-info ${PREFIX}/info/gcl-si.info ${PREFIX}/info/dir - @install-info ${PREFIX}/info/gcl-tk.info ${PREFIX}/info/dir + ${RM} -f ${WRKSRC}/configure + ${SED} -i '.PRE-SED' -e 's|@@CFLAGS@@|${CFLAGS}|' ${WRKSRC}/h/FreeBSD.defs .include <bsd.port.mk> diff --git a/lang/gcl/distinfo b/lang/gcl/distinfo index 6487886a0ce2..afcc6414eba7 100644 --- a/lang/gcl/distinfo +++ b/lang/gcl/distinfo @@ -1 +1 @@ -MD5 (gcl-2.4.0.tgz) = 86da3b0368e3cafd44d6ed809263c96b +MD5 (gcl-2.5.3.tar.gz) = 42c24f9a8d4f823c7c411cbf77edb36f diff --git a/lang/gcl/files/patch-aa b/lang/gcl/files/patch-aa deleted file mode 100644 index 68bf2a1cafc6..000000000000 --- a/lang/gcl/files/patch-aa +++ /dev/null @@ -1,21 +0,0 @@ ---- info/gcl-si.texi.orig Wed Mar 8 18:08:53 1995 -+++ info/gcl-si.texi Sun Oct 12 17:14:04 1997 -@@ -9,7 +9,6 @@ - @c ! unbalanced parens in @def arguments. - @c ignore these by using 's' to scroll error messages in tex. - -- - @c @smallbook - @setfilename gcl-si.info - @synindex vr fn -@@ -21,6 +20,10 @@ - - @setchapternewpage odd - @ifinfo -+@dircategory GNU Common Lisp -+@direntry -+* GCL Systems Internals: (gcl-si). GCL SYSTEM INTERNALS Manual -+@end direntry - This is a Texinfo GCL SYSTEM INTERNALS Manual - - Copyright 1994 William F. Schelter diff --git a/lang/gcl/files/patch-ab b/lang/gcl/files/patch-ab deleted file mode 100644 index 5905f5a4f4c9..000000000000 --- a/lang/gcl/files/patch-ab +++ /dev/null @@ -1,40 +0,0 @@ ---- makefile.orig Sun May 6 02:18:49 2001 -+++ makefile Mon Dec 3 22:20:13 2001 -@@ -198,10 +198,12 @@ - -if [ -d "${prefix}/lib" ] ;then true; else mkdir ${prefix}/lib ; fi - -if [ -d "${prefix}/bin" ] ;then true; else mkdir ${prefix}/bin ; fi - -if [ -d "${INSTALL_LIB_DIR}" ] ; then true; else mkdir ${INSTALL_LIB_DIR} ;fi -+ -if [ -d "${prefix}/info" ];then true; else mkdir ${prefix}/info ; fi - make install-command "INSTALL_LIB_DIR=${INSTALL_LIB_DIR}" "prefix=${prefix}" - rm -f ${prefix}/bin/gcl.exe -- tar cvf - unixport/saved_gcl info/*info* doc/*.el ${LISP_LIB} \ -+ tar cvf - unixport/saved_gcl doc/*.el ${LISP_LIB} \ - gcl-tk/gcl.tcl gcl-tk/gcltkaux | (cd ${INSTALL_LIB_DIR} ;tar xvf -) -+ strip ${INSTALL_LIB_DIR}/unixport/saved_gcl - ln ${SYMB} ${INSTALL_LIB_DIR}/unixport/saved_gcl \ - ${prefix}/bin/gcl.exe - -cat gcl-tk/gcltksrv | \ ---- makedefc.in.orig Tue Dec 4 01:39:21 2001 -+++ makedefc.in Tue Dec 4 02:25:46 2001 -@@ -16,13 +16,18 @@ - prefix=@prefix@ - - # where to place the info files --INFO_DIR=@INFO_DIR@ -+INFO_DIR=@prefix@/info -+ -+# configure has a clever process for figuring out where Emacs -+# really expects to find site-lisp and default.el. We use -+# these values instead to ensure that building with --prefix=PREFIX -+# will not make changes outside the specified tree. -twp - - # where to put emacs lisp files. --EMACS_SITE_LISP=@EMACS_SITE_LISP@ -+EMACS_SITE_LISP=@prefix@/share/emacs/site-lisp - - # the default.el file --EMACS_DEFAULT_EL=@EMACS_DEFAULT_EL@ -+EMACS_DEFAULT_EL=@prefix@/share/emacs/site-lisp/default.el - - # numerous TCL/TK variables culled from the tkConfig.sh and tclConfig.sh - # if these are found. diff --git a/lang/gcl/files/patch-ac b/lang/gcl/files/patch-ac deleted file mode 100644 index 24c618037afb..000000000000 --- a/lang/gcl/files/patch-ac +++ /dev/null @@ -1,54 +0,0 @@ ---- info/makefile.orig Sun May 6 02:18:49 2001 -+++ info/makefile Tue Dec 4 01:00:35 2001 -@@ -19,7 +19,7 @@ - prefix=/usr/local - - # where to place the info files --INFO_DIR=/usr/local/info/ -+INFO_DIR=${prefix}/info/ - - # where to put emacs lisp files. - EMACS_SITE_LISP=/usr/share/emacs/20.7/site-lisp -@@ -63,7 +63,7 @@ - - # Machine dependent makefile definitions for intel 386,486 running linux - --LBINDIR=/usr/local/bin -+LBINDIR=${prefix}/bin - - OFLAG = -O - LIBS = -lm -@@ -115,8 +115,8 @@ - - .texi.info: - rm -f $*.*gz -- makeinfo $*.texi -- - gzip $*.info-* -+ makeinfo --no-split $*.texi -+# - gzip $*.info - - GCL_SI= number.texi sequence.texi character.texi list.texi io.texi \ - form.texi compile.texi symbol.texi system.texi structure.texi \ -@@ -128,7 +128,7 @@ - gcl-si.dvi: ${GCL_SI} gcl-si.texi - tex gcl-si.texi - --gcl-si.info: -+gcl-si.info: gcl-si.texi - makeinfo gcl-si.texi - - gcl-tk.dvi: ${GCL_TK} gcl-tk.texi -@@ -147,13 +147,6 @@ - cp *.html /d/www/gcl - - install: -- if [ -d "${INFO_DIR}" ] ; then true ; else exit 0; fi -- -if fgrep gcl-si ${INFO_DIR}/dir > /dev/null ; then true ; else \ -- echo "* GCL Doc: (gcl-si.info). GNU Common Lisp specific Documentation." >> ${INFO_DIR}/dir ; fi -- -if fgrep gcl-tk ${INFO_DIR}/dir > /dev/null ; then true ; else \ -- echo "* GCL TK Doc: (gcl-tk.info). TK window GCL interface." >> ${INFO_DIR}/dir ; fi -- -if fgrep gcl.info ${INFO_DIR}/dir > /dev/null ; then true ; else \ -- echo "* GCL Ansi Doc: (gcl.info). Ansi Common Lisp Specification." >> ${INFO_DIR}/dir ; fi - -if [ -d "${INFO_DIR}" ] ; then cp *.info* ${INFO_DIR} ; fi - - diff --git a/lang/gcl/files/patch-ad b/lang/gcl/files/patch-ad deleted file mode 100644 index df0e4db6e8ca..000000000000 --- a/lang/gcl/files/patch-ad +++ /dev/null @@ -1,11 +0,0 @@ ---- h/FreeBSD.defs.orig Mon Dec 6 17:44:02 1999 -+++ h/FreeBSD.defs Mon Dec 3 22:58:46 2001 -@@ -2,7 +2,7 @@ - # Ported to FreeBSD 2.0 by Jeffrey Hsu (hsu@freebsd.org). - # Hacked September-93 by Paul F. Werkowski for 386BSD 0.1 + Patchkit 0.2.4 - --LBINDIR=/usr/local/bin -+LBINDIR=${prefix}/bin - - OFLAG = -O2 -pipe - LIBS = -lm diff --git a/lang/gcl/files/patch-configure.in b/lang/gcl/files/patch-configure.in new file mode 100644 index 000000000000..e5d452bded13 --- /dev/null +++ b/lang/gcl/files/patch-configure.in @@ -0,0 +1,52 @@ +--- ./configure.in.orig Sun Mar 2 15:23:17 2003 ++++ ./configure.in Sat Sep 13 23:52:23 2003 +@@ -361,8 +361,8 @@ + # for subconfigurations + CFLAGS=-g + else +- TO3FLAGS="-O6 -fomit-frame-pointer" +- TO2FLAGS="-O" ++ TO3FLAGS="-fomit-frame-pointer" ++ TO2FLAGS="" + fi + + AC_CHECK_PROGS(AWK,gawk nawk awk,"") +@@ -1266,30 +1266,30 @@ + + if test -d ${TK_CONFIG_PREFIX}/tk${TK_VERSION} ; then + TK_LIBRARY=${TK_CONFIG_PREFIX}/tk${TK_VERSION} +- else ++else + if test -d ${TK_CONFIG_PREFIX}/../tk${TK_VERSION} ; then + TK_LIBRARY=${TK_CONFIG_PREFIX}/../tk${TK_VERSION} + fi + fi + if test -d ${TK_CONFIG_PREFIX}/tcl${TCL_VERSION} ; then + TCL_LIBRARY=${TK_CONFIG_PREFIX}/tcl${TCL_VERSION} +- else ++else + if test -d ${TK_CONFIG_PREFIX}/../tcl${TCL_VERSION} ; then + TCL_LIBRARY=${TK_CONFIG_PREFIX}/../tcl${TCL_VERSION} + fi + fi + if test -f ${TK_CONFIG_PREFIX}/../include/tk.h ; then + TK_INCLUDE=-I${TK_CONFIG_PREFIX}/../include +- else +- if test -f /usr/include/tcl${TCL_VERSION}/tk.h ; then +- TK_INCLUDE=-I/usr/include/tcl${TCL_VERSION} ++else ++ if test -f ${TK_CONFIG_PREFIX}/../../include/tk${TK_VERSION}/tk.h ; then ++ TK_INCLUDE=-I${TK_CONFIG_PREFIX}/../../include/tk${TK_VERSION} + fi + fi + if test -f ${TCL_CONFIG_PREFIX}/../include/tcl.h ; then + TCL_INCLUDE=-I${TCL_CONFIG_PREFIX}/../include +- else +- if test -f /usr/include/tcl${TCL_VERSION}/tcl.h ; then +- TCL_INCLUDE=-I/usr/include/tcl${TCL_VERSION} ++else ++ if test -f ${TCL_CONFIG_PREFIX}/../../include/tcl${TCL_VERSION}/tcl.h ; then ++ TCL_INCLUDE=-I${TCL_CONFIG_PREFIX}/../../include/tcl${TCL_VERSION} + fi + fi + AC_CHECK_LIB(lieee,main,have_ieee=1,have_ieee=0) diff --git a/lang/gcl/files/patch-h_FreeBSD.defs b/lang/gcl/files/patch-h_FreeBSD.defs new file mode 100644 index 000000000000..0830e8a13ae6 --- /dev/null +++ b/lang/gcl/files/patch-h_FreeBSD.defs @@ -0,0 +1,33 @@ +--- ./h/FreeBSD.defs.orig Fri Nov 1 04:09:34 2002 ++++ ./h/FreeBSD.defs Sun Sep 14 01:49:46 2003 +@@ -1,26 +1,16 @@ +-# Machine dependent makefile definitions for intel 386,486 running 386bsd ++# Machine dependent makefile definitions for 386bsd + # Ported to FreeBSD 2.0 by Jeffrey Hsu (hsu@freebsd.org). + # Hacked September-93 by Paul F. Werkowski for 386BSD 0.1 + Patchkit 0.2.4 ++# Hacked September-2003 by Juergen Weiss, Mark Murray for FreeBSD-5 CURRENT + +-LBINDIR=/usr/local/bin +- +-OFLAG = -pipe -O2 +-CFLAGS = -fwritable-strings -fomit-frame-pointer -DVOL=volatile -I$(GCLDIR)/o -I/usr/local/lib/gcl-2.0/h -fsigned-char -I/usr/local/lib +-LIBS = -lm -L/usr/local/lib +-ODIR_DEBUG= +-NULLFILE=../h/twelve_null ++LBINDIR=${prefix}/bin + + # This CC string will be used for compilation of the system, + # and also in the compiler::*cc* variable for later compilation of + # lisp files. +- +-CC = gcc ++CC = gcc @@CFLAGS@@ + + LDCC = $(CC) -static +- +-# Use the mp.s file on 68k machine +-MPFILES= $(MPDIR)/mpi-386.o $(MPDIR)/libmport.a +-GNULIB1=/usr/lib/libgcc.a + + # Enable the fastloading mechanism which does not use ld -A + # requires c/rel_.. machine dependent code. diff --git a/lang/gcl/files/patch-h_FreeBSD.h b/lang/gcl/files/patch-h_FreeBSD.h new file mode 100644 index 000000000000..f64c9edfa10b --- /dev/null +++ b/lang/gcl/files/patch-h_FreeBSD.h @@ -0,0 +1,90 @@ +--- ./h/FreeBSD.h.orig Fri Nov 1 04:09:34 2002 ++++ ./h/FreeBSD.h Sun Sep 14 01:51:55 2003 +@@ -1,5 +1,5 @@ + /* +- * FreeBSD.h for gcl 1.1 ++ * FreeBSD.h for gcl + * + * Ported by Jeffrey Hsu (hsu@freebsd.org). + * Looked at previous versions by Hsu, Werkowsksi, Tobin, and Mogart. +@@ -8,6 +8,50 @@ + + #include "bsd.h" + ++#ifndef __ELF__ ++#error FreeBSD systems use ELF ++#endif ++ ++#undef HAVE_AOUT ++#define HAVE_AOUT <elf.h> ++#define HAVE_ELF ++ ++#if defined(__i386__) ++#define __ELF_NATIVE_CLASS 32 ++#endif ++#if defined(__alpha__) || defined(__sparc64__) || defined(__ia64__) ++#define __ELF_NATIVE_CLASS 64 ++#endif ++#define mjoin(a,b) a ## b ++#define Mjoin(a,b) mjoin(a,b) ++#if !defined(ElfW) ++#define ElfW(a) Mjoin(Elf,Mjoin(__ELF_NATIVE_CLASS,Mjoin(_,a))) ++#endif ++#define ELFW(a) Mjoin(ELF,Mjoin(__ELF_NATIVE_CLASS,Mjoin(_,a))) ++ ++/* Seeking to the end of ELF data is a little messy... */ ++#include <link.h> ++#define SEEK_TO_END_OFILE(fp)\ ++ do { \ ++ long offset = 0, endofelf; int j; \ ++ ElfW(Ehdr) eheader; ElfW(Shdr) shdr; \ ++ fseek(fp, 0, SEEK_SET); \ ++ fread(&eheader, sizeof(eheader), 1, fp); \ ++ /* in case the headers themselves come AFTER the actual sections */ \ ++ endofelf=offset = eheader.e_shoff+ eheader.e_shentsize *eheader.e_shnum;\ ++ fseek(fp, eheader.e_shoff, SEEK_SET); \ ++ if ( eheader.e_shentsize != sizeof(ElfW(Shdr)) ) \ ++ { FEerror("Bad ELF section header size",0); } \ ++ for ( j = 0; j < eheader.e_shnum; j++ ) \ ++ { fread(&shdr,eheader.e_shentsize,1,fp); \ ++ if ( (shdr.sh_offset > offset) && (shdr.sh_type != SHT_NOBITS) ) \ ++ { offset = shdr.sh_offset; endofelf = offset+shdr.sh_size; } \ ++ } \ ++ if ( fseek(fp, endofelf, SEEK_SET) ) \ ++ FEerror("Bad ELF file",0); \ ++ } while(0) ++ ++ + #undef LD_COMMAND + #define LD_COMMAND(command,main,start,input,ldarg,output) \ + sprintf(command, "ld -dc -N -x -A %s -T %x %s %s -o %s", \ +@@ -39,17 +83,9 @@ + #endif + + #define DATA_BEGIN (char *) N_DATADDR(header); +-#define A_TEXT_OFFSET(x) (sizeof (struct exec)) +-#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr)) +-#define start_of_data() &etext +-#define start_of_text() ((char *)(sizeof(struct exec) + getpagesize())) + +-#define UNIXSAVE "unexec.c" +-#ifdef UNIXSAVE +- extern char etext; +-#endif +- +-#define RELOC_FILE "rel_sun3.c" /* for SFASL - enabled in bsd.h */ ++/*#define UNEXEC_USE_MAP_PRIVATE*/ ++#define UNIXSAVE "unexelf.c" + + #ifdef CLOCKS_PER_SEC + #define HZ CLOCKS_PER_SEC +@@ -67,7 +103,8 @@ + #define SETUP_SIG_STACK \ + { \ + static struct sigaltstack estack; \ +- if ((estack.ss_sp = malloc(SIGSTKSZ)) == NULL) \ ++ if (estack.ss_sp == NULL && \ ++ (estack.ss_sp = malloc(SIGSTKSZ)) == NULL) \ + perror("malloc"); \ + estack.ss_size = SIGSTKSZ; \ + estack.ss_flags = 0; \ diff --git a/lang/gcl/files/patch-info::gcl-tk.texi b/lang/gcl/files/patch-info::gcl-tk.texi deleted file mode 100644 index 03b516a1c171..000000000000 --- a/lang/gcl/files/patch-info::gcl-tk.texi +++ /dev/null @@ -1,42 +0,0 @@ ---- info/gcl-tk.texi.orig Mon Dec 6 17:44:04 1999 -+++ info/gcl-tk.texi Mon Dec 3 18:57:22 2001 -@@ -2,6 +2,10 @@ - @c -*-texinfo-*- - @c @smallbook - @setfilename gcl-tk.info -+@dircategory GNU Common Lisp -+@direntry -+* GCL TK: (gcl-tk). Tk bindings for GCL. -+@end direntry - - @c to update the menus do: - @c (texinfo-multiple-files-update "gcl-tk.texi" t t) ---- info/control.texi.orig Mon Dec 3 19:12:25 2001 -+++ info/control.texi Mon Dec 3 19:14:06 2001 -@@ -78,12 +78,10 @@ - The command will be executed at global level (outside the context - of any Tcl procedure). - If an error occurs while executing the delayed command then the --@b{tkerror} mechanism is used to report the error. -+@b{tkerror} mechanism (@pxref{tkerror}) is used to report the error. - - The @b{after} command always returns an empty string. - --@xref{tkerror} -- - @unnumberedsubsec Keywords - delay, sleep, time - @node bind, destroy, after, Control -@@ -472,11 +470,9 @@ - - - If an error occurs in executing the command for a binding then the --@b{tkerror} mechanism is used to report the error. -+@b{tkerror} mechanism (@pxref{tkerror}) is used to report the error. - The command will be executed at global level (outside the context - of any Tcl procedure). -- --@xref{tkerror} - - @unnumberedsubsec Keywords - form, manual diff --git a/lang/gcl/files/patch-info_gcl-si.texi b/lang/gcl/files/patch-info_gcl-si.texi new file mode 100644 index 000000000000..bc28e65a4bb5 --- /dev/null +++ b/lang/gcl/files/patch-info_gcl-si.texi @@ -0,0 +1,13 @@ +--- info/gcl-si.texi.orig Sun Sep 14 12:13:24 2003 ++++ info/gcl-si.texi Sun Sep 14 12:14:28 2003 +@@ -19,6 +19,10 @@ + + @setchapternewpage odd + @ifinfo ++@dircategory GNU Common Lisp ++@direntry ++* GCL Systems Internals: (gcl-si). GCL SYSTEM INTERNALS Manual ++@end direntry + This is a Texinfo GCL SYSTEM INTERNALS Manual + + Copyright 1994 William F. Schelter diff --git a/lang/gcl/files/patch-info_makefile b/lang/gcl/files/patch-info_makefile new file mode 100644 index 000000000000..7adb8892f8a0 --- /dev/null +++ b/lang/gcl/files/patch-info_makefile @@ -0,0 +1,71 @@ +--- info/makefile.orig Fri Jan 24 18:55:23 2003 ++++ info/makefile Sun Sep 14 14:30:50 2003 +@@ -1,19 +1,18 @@ + .SUFFIXES: + .SUFFIXES: .info .dvi .texi + +-INFO_DIR=/usr/local/lib/info ++INFO_DIR=${prefix}/info/ + + GCL_DVI=gcl-tk.dvi gcl-si.dvi gcl.dvi + GCL_HTML=gcl-si_toc.html gcl-tk_toc.html gcl_toc.html + + -include ../makedefs + +-all: gcl-tk.info gcl-si.info gcl.info $(GCL_DVI) $(GCL_HTML) ++all: gcl-tk.info gcl-si.info gcl.info + + .texi.info: + rm -f $*.*gz +- -$(MAKEINFO) $*.texi +- - gzip $*.info-* ++ -$(MAKEINFO) --no-split $*.texi + + GCL_SI= number.texi sequence.texi character.texi list.texi io.texi \ + form.texi compile.texi symbol.texi system.texi structure.texi \ +@@ -31,19 +30,19 @@ + TEXINPUTS=.:$$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true + + gcl-si.info: +- -$(MAKEINFO) gcl-si.texi ++ -$(MAKEINFO) --no-split gcl-si.texi + + gcl-tk.dvi: ${GCL_TK} gcl-tk.texi + TEXINPUTS=.:$$TEXINPUTS tex --interaction nonstopmode gcl-tk.texi || true + + gcl-tk.info: ${GCL_TK} gcl-tk.texi +- -$(MAKEINFO) gcl-tk.texi ++ -$(MAKEINFO) --no-split gcl-tk.texi + + gcl.dvi: ${GCL_MAN} gcl.texi + TEXINPUTS=.:$$TEXINPUTS tex --interaction nonstopmode gcl.texi || true + + gcl.info: ${GCL_MAN} gcl.texi +- -$(MAKEINFO) gcl.texi ++ -$(MAKEINFO) --no-split gcl.texi + + gcl-si_toc.html: + texi2html -split_chapter gcl-si.texi +@@ -58,22 +57,7 @@ + cp *.html /d/www/gcl + + install: +- mkdir -p $(DESTDIR)${INFO_DIR} +- [ -f $(DESTDIR)$(INFO_DIR)dir ] || touch $(DESTDIR)$(INFO_DIR)dir +- ! grep -q gcl-si $(DESTDIR)${INFO_DIR}dir || \ +- echo "* GCL Doc: (gcl-si.info). GNU Common Lisp specific Documentation." >> $(DESTDIR)${INFO_DIR}dir +- ! grep -q gcl-tk $(DESTDIR)${INFO_DIR}dir || \ +- echo "* GCL TK Doc: (gcl-tk.info). TK window GCL interface." >> $(DESTDIR)${INFO_DIR}dir +- ! grep -q gcl.info $(DESTDIR)${INFO_DIR}dir || \ +- echo "* GCL Ansi Doc: (gcl.info). Ansi Common Lisp Specification." >> $(DESTDIR)${INFO_DIR}dir + cp *.info* $(DESTDIR)${INFO_DIR} +- mkdir -p $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl.html +- mkdir -p $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl-si.html +- mkdir -p $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl-tk.html +- cp gcl_*html $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl.html +- cp gcl-si_*html $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl-si.html +- cp gcl-tk_*html $(DESTDIR)$(INFO_DIR)../doc/gcl-doc/gcl-tk.html +- cp *dvi $(DESTDIR)$(INFO_DIR)../doc/gcl-doc + + FILE=gcl-si.texi + srcs: diff --git a/lang/gcl/files/patch-makedefc.in b/lang/gcl/files/patch-makedefc.in new file mode 100644 index 000000000000..f62f1d8ce58d --- /dev/null +++ b/lang/gcl/files/patch-makedefc.in @@ -0,0 +1,24 @@ +--- makedefc.in.orig Sun Sep 14 12:02:18 2003 ++++ makedefc.in Sun Sep 14 12:10:34 2003 +@@ -16,13 +16,18 @@ + prefix=@prefix@ + + # where to place the info files +-INFO_DIR=@INFO_DIR@ ++INFO_DIR=@prefix@/info ++ ++# configure has a clever process for figuring out where Emacs ++# really expects to find site-lisp and default.el. We use ++# these values instead to ensure that building with --prefix=PREFIX ++# will not make changes outside the specified tree. -twp + + # where to put emacs lisp files. +-EMACS_SITE_LISP=@EMACS_SITE_LISP@ ++EMACS_SITE_LISP=@prefix@/share/emacs/site-lisp + + # the default.el file +-EMACS_DEFAULT_EL=@EMACS_DEFAULT_EL@ ++EMACS_DEFAULT_EL=@prefix@/share/emacs/site-lisp/default.el + + # numerous TCL/TK variables culled from the tkConfig.sh and tclConfig.sh + # if these are found. diff --git a/lang/gcl/files/patch-makefile b/lang/gcl/files/patch-makefile new file mode 100644 index 000000000000..42cf0d489ebe --- /dev/null +++ b/lang/gcl/files/patch-makefile @@ -0,0 +1,15 @@ +--- makefile.orig Sun Sep 14 13:48:53 2003 ++++ makefile Sun Sep 14 13:50:15 2003 +@@ -162,10 +162,11 @@ + mkdir -p $(DESTDIR)$(prefix)/lib + mkdir -p $(DESTDIR)$(prefix)/bin + mkdir -p $(DESTDIR)$(INSTALL_LIB_DIR) ++ mkdir -p $(DESTDIR)$(prefix)/info + MINSTALL_LIB_DIR=`echo $(INSTALL_LIB_DIR) | sed -e 'sX^\([a-z]\):X/\1Xg'` ; \ + $(MAKE) install-command "INSTALL_LIB_DIR=$(INSTALL_LIB_DIR)" "prefix=$(prefix)" "DESTDIR=$(DESTDIR)" "BINDIR=$$MINSTALL_LIB_DIR/unixport" + rm -f $(DESTDIR)$(prefix)/bin/gcl.exe +- tar cf - $(PORTDIR)/$(FLISP)$(EXE) info/*.info* $(LISP_LIB) \ ++ tar cf - $(PORTDIR)/$(FLISP)$(EXE) $(LISP_LIB) \ + $(TCL_EXES) | (cd $(DESTDIR)$(INSTALL_LIB_DIR) ;tar xf -) + if [ -e "unixport/rsym$(EXE)" ] ; then cp unixport/rsym$(EXE) $(DESTDIR)$(INSTALL_LIB_DIR)/unixport/ ; fi + # ln $(SYMB) $(INSTALL_LIB_DIR)/$(PORTDIR)/$(FLISP)$(EXE) \ diff --git a/lang/gcl/files/patch-o_readline.d b/lang/gcl/files/patch-o_readline.d new file mode 100644 index 000000000000..e6c3ccbd4a23 --- /dev/null +++ b/lang/gcl/files/patch-o_readline.d @@ -0,0 +1,11 @@ +--- ./o/readline.d.orig Sat Jul 20 08:10:56 2002 ++++ ./o/readline.d Sat Sep 13 23:52:24 2003 +@@ -94,7 +94,7 @@ + the word to complete. We can use the entire contents of rl_line_buffer + in case we want to do some simple parsing. Return the array of matches, + or NULL if there aren't any. */ +-extern char **completion_matches(char *,char *(*)(char *,int)); ++/*extern char **completion_matches(char *,char *(*)(char *,int));*/ + static char **rl_completion(char *text, int start, int end) { + return completion_matches(text, rl_completion_words); + } diff --git a/lang/gcl/files/patch-o_sfaslelf.c b/lang/gcl/files/patch-o_sfaslelf.c new file mode 100644 index 000000000000..68c5844333ac --- /dev/null +++ b/lang/gcl/files/patch-o_sfaslelf.c @@ -0,0 +1,136 @@ +--- ./o/sfaslelf.c.orig Wed Jul 24 20:05:53 2002 ++++ ./o/sfaslelf.c Sat Sep 13 23:52:25 2003 +@@ -23,7 +23,7 @@ + */ + + +-#ifndef __linux__ ++#if !defined(__linux__) && !defined(__FreeBSD__) + #define ELF_TARGET_SPARC 1 + #endif + +@@ -83,7 +83,7 @@ + if (!(symin=fopen(symfile,"r"))) + {perror(symfile);exit(1);}; + if(!fread((char *)&tab,sizeof(tab),1,symin)) +- FEerror("No header",0,0); ++ FEerror("No header",0); + symbols=malloc(tab.tot_leng); + c_table.alloc_length=( (PTABLE_EXTRA+ tab.n_symbols)); + (c_table.ptable) = (TABL *) malloc(sizeof(struct node) * c_table.alloc_length); +@@ -196,7 +196,7 @@ + file = fileno(fp); + + if (fstat (file, &stat_buf) == -1) +- FEerror ("Can't fstat(~a): errno %d\n", 1,faslfile); ++ FEerror ("Can't fstat(~a): errno %d\n", 2,faslfile,0); + + + if (use_mmap) { +@@ -303,7 +303,7 @@ + + relocate_symbols(symbol_table,nsyms,file_h->e_shnum,&init_address); + if (init_address < 0) +- { FEerror(0,"Init address not found "); ++ { FEerror("Init address not found ",0); + } + + { +@@ -317,7 +317,7 @@ + { + int index_to_relocate = shp->sh_info; + if (symtab_index != shp->sh_link) +- FEerror("unexpected symbol table used"); ++ FEerror("unexpected symbol table used",0); + the_start = start_address + section[index_to_relocate].start; + } + /* else if (shp->sh_type == SHT_REL */ +@@ -332,7 +332,7 @@ + else if ( (shp->sh_type == SHT_REL) || (shp->sh_type == SHT_RELA) ) + { if (get_section_number(".rel.stab") == j) + continue; +- FEerror("unknown rel type"); ++ FEerror("unknown rel type",0); + } + else + continue; +@@ -520,7 +520,7 @@ + else if (sh_type == SHT_REL) + a = 0; + else { +- FEerror("relocate() error: unknown sh_type in ELF object"); ++ FEerror("relocate() error: unknown sh_type in ELF object",0); + a=0; + } + b = (unsigned int) the_start; +@@ -540,9 +540,9 @@ + /* do_bfd_reloc(ELF32_R_TYPE(reloc_info->r_info),s+a,(unsigned int *)where); */ + /* #else */ + switch(ELF32_R_TYPE(reloc_info->r_info)){ +-#if (defined(__svr4__) || defined(__linux__)) && defined(__i386__) ++#if (defined(__svr4__) || defined(__linux__) || defined(__FreeBSD__)) && defined(__i386__) + case R_386_NONE: +- FEerror("Unsupported ELF type R_386_NONE"); ++ FEerror("Unsupported ELF type R_386_NONE",0); + break; + + case R_386_32: +@@ -556,40 +556,40 @@ + break; + + case R_386_GOT32: +- FEerror("Unsupported ELF type R_386_GOY32"); ++ FEerror("Unsupported ELF type R_386_GOY32",0); + break; + + case R_386_PLT32: +- FEerror("Unsupported ELF type R_386_PLT32"); ++ FEerror("Unsupported ELF type R_386_PLT32",0); + break; + + case R_386_COPY: +- FEerror("Unsupported ELF type R_386_COPY"); ++ FEerror("Unsupported ELF type R_386_COPY",0); + break; + + case R_386_GLOB_DAT: +- FEerror("Unsupported ELF type R_386_GLOB_DAT"); ++ FEerror("Unsupported ELF type R_386_GLOB_DAT",0); + break; + + case R_386_JMP_SLOT: +- FEerror("Unsupported ELF type R_386_JMP_SLOT"); ++ FEerror("Unsupported ELF type R_386_JMP_SLOT",0); + break; + + case R_386_RELATIVE: +- FEerror("Unsupported ELF type R_386_RELATIVE"); ++ FEerror("Unsupported ELF type R_386_RELATIVE",0); + break; + + case R_386_GOTOFF: +- FEerror("Unsupported ELF type R_386_GOTOFF"); ++ FEerror("Unsupported ELF type R_386_GOTOFF",0); + break; + + case R_386_GOTPC: +- FEerror("Unsupported ELF type R_386_GOTPC"); ++ FEerror("Unsupported ELF type R_386_GOTPC",0); + break; + + #ifdef R_386_NUM + case R_386_NUM: +- FEerror("Unsupported ELF type R_386_NUM"); ++ FEerror("Unsupported ELF type R_386_NUM",0); + break; + #endif + +@@ -657,7 +657,7 @@ + fflush(stdout); + } + } +- else{FEerror("symbol table not loaded",0,0);} ++ else{FEerror("symbol table not loaded",0);} + } + + static void diff --git a/lang/gcl/files/patch-o_unixfasl.c b/lang/gcl/files/patch-o_unixfasl.c new file mode 100644 index 000000000000..7f731f935872 --- /dev/null +++ b/lang/gcl/files/patch-o_unixfasl.c @@ -0,0 +1,11 @@ +--- ./o/unixfasl.c.orig Sat Feb 15 00:38:28 2003 ++++ ./o/unixfasl.c Sat Sep 13 23:52:25 2003 +@@ -282,7 +282,7 @@ + static int + faslink(object faslfile, object ldargstring) + { +-#if defined(__linux__) && defined(__ELF__) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__) + FEerror("faslink() not supported for ELF yet",0); + return 0; + #else diff --git a/lang/gcl/files/patch-unixport::makefile b/lang/gcl/files/patch-unixport::makefile deleted file mode 100644 index 7d8162543588..000000000000 --- a/lang/gcl/files/patch-unixport::makefile +++ /dev/null @@ -1,11 +0,0 @@ ---- unixport/makefile.orig Sun May 6 02:18:49 2001 -+++ unixport/makefile Mon Dec 3 19:36:08 2001 -@@ -16,7 +16,7 @@ - MPFILES= $(MPDIR)/mpi.o $(MPDIR)/mp2.o $(MPDIR)/libmport.a - MPFILES= $(MPDIR)/mpi.o $(MPDIR)/mp2.o $(MPDIR)/libmport.a - INIT_SYSTEM_LSP=init_$(SYSTEM).lsp --SPECIAL_RSYM = rsym.c -+SPECIAL_RSYM = rsym_elf.c - - # begin makedefs - diff --git a/lang/gcl/files/patch-unixport::rsym_elf.c b/lang/gcl/files/patch-unixport::rsym_elf.c deleted file mode 100644 index c809d6478b32..000000000000 --- a/lang/gcl/files/patch-unixport::rsym_elf.c +++ /dev/null @@ -1,13 +0,0 @@ ---- unixport/rsym_elf.c.orig Sat May 13 19:40:14 2000 -+++ unixport/rsym_elf.c Mon Dec 3 22:49:54 2001 -@@ -11,8 +11,9 @@ - */ - - #include "string.h" --#ifdef __linux__ -+#if defined(__linux__) || defined(__ELF__) - /* Needed these to get it working with Linux. Bill Metzenthen 23 May 95 */ -+/* Also with FreeBSD 4.3. Tim Pierce, 1 December 2001 */ - #define IN_RSYM 1 - #include <stdio.h> - diff --git a/lang/gcl/files/patch-unixport_rsym_elf.c b/lang/gcl/files/patch-unixport_rsym_elf.c new file mode 100644 index 000000000000..3a715eaafde5 --- /dev/null +++ b/lang/gcl/files/patch-unixport_rsym_elf.c @@ -0,0 +1,20 @@ +--- ./unixport/rsym_elf.c.orig Thu Jul 25 22:49:47 2002 ++++ ./unixport/rsym_elf.c Sat Sep 13 23:52:25 2003 +@@ -34,9 +34,6 @@ + int text_index,data_index,bss_index,sbss_index; + #undef SYM_NAME + #undef EXT_and_TEXT_BSS_DAT +-#define mjoin(a,b) a ## b +-#define Mjoin(a,b) mjoin(a,b) +-#define ELFW(a) Mjoin(ELF,Mjoin(__ELF_NATIVE_CLASS,Mjoin(_,a))) + + int nsyms; + char *my_string_table; +@@ -136,7 +133,6 @@ + unsigned int i; + FILE *fp; + int symsize; +- extern char *malloc(); + + + fp = fopen(filename, RDONLY); diff --git a/lang/gcl/pkg-descr b/lang/gcl/pkg-descr index 09ba9dfc2234..82b7e2199c26 100644 --- a/lang/gcl/pkg-descr +++ b/lang/gcl/pkg-descr @@ -7,8 +7,6 @@ license. WWW: http://www.gnu.org/software/gcl/ -NOTE: GCL 2.4.0 supports Tk bindings with Tcl 8.0 and Tk 8.0. This -port of GCL does not insist on Tcl/Tk, but will attempt to build with -Tcl/Tk support if the libraries are found at build time. +NOTE: GCL supports Tk bindings with Tcl 8 and Tk 8. Tim Pierce <twp@unchi.org> diff --git a/lang/gcl/pkg-plist b/lang/gcl/pkg-plist index a1b1d855cb7f..deebce9c622c 100644 --- a/lang/gcl/pkg-plist +++ b/lang/gcl/pkg-plist @@ -1,32 +1,12 @@ bin/gcl -bin/gcl.exe -@unexec install-info --delete %D/info/gcl-si.info %D/info/dir -@unexec install-info --delete %D/info/gcl-tk.info %D/info/dir -info/gcl-tk.info -info/gcl-tk.info-1 -info/gcl-tk.info-2 -info/gcl-tk.info-3 -info/gcl-tk.info-4 -info/gcl-tk.info-5 -info/gcl-tk.info-6 -info/gcl-tk.info-7 -info/gcl-tk.info-8 -info/gcl-si.info -info/gcl-si.info-1 -info/gcl-si.info-2 -info/gcl-si.info-3 -info/gcl-si.info-4 -info/gcl-si.info-5 -@exec install-info %D/info/gcl-si.info %D/info/dir -@exec install-info %D/info/gcl-tk.info %D/info/dir -lib/gcl-%%GCL_VER%%/unixport/saved_gcl +lib/gcl-%%GCL_VER%%/cmpnew/cmpmain.lsp +lib/gcl-%%GCL_VER%%/cmpnew/cmpopt.lsp lib/gcl-%%GCL_VER%%/cmpnew/collectfn.o -lib/gcl-%%GCL_VER%%/lsp/gprof.lsp -lib/gcl-%%GCL_VER%%/lsp/info.o -lib/gcl-%%GCL_VER%%/lsp/profile.lsp +lib/gcl-%%GCL_VER%%/cmpnew/lfun_list.lsp lib/gcl-%%GCL_VER%%/gcl-tk/decode.tcl -lib/gcl-%%GCL_VER%%/gcl-tk/demos/index.lsp lib/gcl-%%GCL_VER%%/gcl-tk/demos/gc-monitor.lisp +lib/gcl-%%GCL_VER%%/gcl-tk/demos/gc-monitor.o +lib/gcl-%%GCL_VER%%/gcl-tk/demos/index.lsp lib/gcl-%%GCL_VER%%/gcl-tk/demos/mkBasic.lisp lib/gcl-%%GCL_VER%%/gcl-tk/demos/mkCanvText.lisp lib/gcl-%%GCL_VER%%/gcl-tk/demos/mkEntry.lisp @@ -48,18 +28,30 @@ lib/gcl-%%GCL_VER%%/gcl-tk/demos/nqthm-stack.lisp lib/gcl-%%GCL_VER%%/gcl-tk/demos/showVars.lisp lib/gcl-%%GCL_VER%%/gcl-tk/demos/widget.lisp lib/gcl-%%GCL_VER%%/gcl-tk/gcl.tcl +lib/gcl-%%GCL_VER%%/gcl-tk/gcltkaux lib/gcl-%%GCL_VER%%/gcl-tk/gcltksrv -share/emacs/site-lisp/add-default.el -share/emacs/site-lisp/smart-complete.el -share/emacs/site-lisp/man1-to-texi.el -share/emacs/site-lisp/gcl.el -share/emacs/site-lisp/doc-to-texi.el -share/emacs/site-lisp/dbl.el -share/emacs/site-lisp/ansi-doc.el -share/emacs/site-lisp/sshell.el -@dirrm lib/gcl-%%GCL_VER%%/unixport -@dirrm lib/gcl-%%GCL_VER%%/lsp +lib/gcl-%%GCL_VER%%/gcl-tk/tinfo.o +lib/gcl-%%GCL_VER%%/gcl-tk/tk-package.lsp +lib/gcl-%%GCL_VER%%/gcl-tk/tkl.o +lib/gcl-%%GCL_VER%%/h/cmpinclude.h +lib/gcl-%%GCL_VER%%/lsp/auto_new.lsp +lib/gcl-%%GCL_VER%%/lsp/autoload.lsp +lib/gcl-%%GCL_VER%%/lsp/export.lsp +lib/gcl-%%GCL_VER%%/lsp/gprof.lsp +lib/gcl-%%GCL_VER%%/lsp/info.o +lib/gcl-%%GCL_VER%%/lsp/profile.lsp +lib/gcl-%%GCL_VER%%/lsp/readline.o +lib/gcl-%%GCL_VER%%/unixport/init_ansi_gcl.lsp +lib/gcl-%%GCL_VER%%/unixport/libansi_gcl.a +lib/gcl-%%GCL_VER%%/unixport/libgclp.a +lib/gcl-%%GCL_VER%%/unixport/rsym +lib/gcl-%%GCL_VER%%/unixport/saved_ansi_gcl +@dirrm lib/gcl-%%GCL_VER%%/cmpnew @dirrm lib/gcl-%%GCL_VER%%/gcl-tk/demos @dirrm lib/gcl-%%GCL_VER%%/gcl-tk -@dirrm lib/gcl-%%GCL_VER%%/cmpnew +@dirrm lib/gcl-%%GCL_VER%%/h +@dirrm lib/gcl-%%GCL_VER%%/lsp +@dirrm lib/gcl-%%GCL_VER%%/unixport @dirrm lib/gcl-%%GCL_VER%% +share/nls/POSIX +share/nls/en_US.US-ASCII |