upgrade to 2.4.0

assign maintainer (was ports@FreeBSD.org0

PR:		32548
Submitted by:	Tim Pierce <twp@unchi.org>
This commit is contained in:
Ying-Chieh Liao 2001-12-08 06:22:03 +00:00
parent dacbe15085
commit 04ba4d96ca
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=51208
14 changed files with 162 additions and 273 deletions

View file

@ -6,32 +6,29 @@
#
PORTNAME= gcl
PORTVERSION= 2.3
CATEGORIES= lang tk82
PORTVERSION= 2.4.0
CATEGORIES= lang
MASTER_SITES= ftp://ftp.ma.utexas.edu/pub/gcl/
EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
LIB_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82
.include <bsd.port.pre.mk>
.if ${OSVERSION} >= 400011
BROKEN= "GCL isn't compatible with the new signals."
.endif
MAKEFILE= makefile
MAINTAINER= twp@unchi.org
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-machine=FreeBSD
MAKEFILE= makefile
PLIST_SUB= GCL_VER=2.3
PLIST_SUB= GCL_VER=${PORTVERSION}
pre-configure:
@${LN} -sf unexelf.c ${WRKSRC}/o/unexec.c
pre-build:
${RM} -rf ${WRKSRC}/info/gcl-si.info*
${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
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View file

@ -1 +1 @@
MD5 (gcl-2.3.tgz) = c4e0ca62a33fd2801069df80a78285ac
MD5 (gcl-2.4.0.tgz) = 86da3b0368e3cafd44d6ed809263c96b

View file

@ -1,6 +1,6 @@
--- makefile.orig Tue Nov 9 17:03:29 1999
+++ makefile Mon Nov 15 17:14:36 1999
@@ -175,21 +175,22 @@
--- 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
@ -10,17 +10,31 @@
- 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 | \
sed -e "s:GCL_TK_DIR=.*:GCL_TK_DIR=${INSTALL_LIB_DIR}/gcl-tk:g" \
-e "s:TK_LIBRARY=.*:TK_LIBRARY=${TK_LIBRARY}:g" > \
${INSTALL_LIB_DIR}/gcl-tk/gcltksrv
-if [ "${TK_CONFIG_PREFIX}" != "unknown" ] ; then \
chmod a+x ${INSTALL_LIB_DIR}/gcl-tk/gcltksrv ; fi
-if [ "${TK_CONFIG_PREFIX}" != "unknown" ] ; then \
(cd ${INSTALL_LIB_DIR}/gcl-tk/demos ; \
echo '(load "../tkl.o")(TK::GET-AUTOLOADS (directory "*.lisp"))' | ${prefix}/bin/gcl) ; fi
(cd info ; make ; make install)
--- 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@
clean:
# 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.

View file

@ -1,32 +1,15 @@
--- info/makefile.orig Wed Nov 10 18:47:19 1999
+++ info/makefile Tue Nov 16 11:16:48 1999
@@ -16,10 +16,11 @@
# root for the installation, eg /usr/local
# This would cause make install to create /usr/local/bin/gcl and
# /usr/local/lib/gcl-2-??/* with some basic files.
-prefix=/usr/local
+prefix=${PREFIX}
+prefix?=/usr/local
--- 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.3/site-lisp
@@ -49,9 +50,9 @@
-GCLDIR=/home/wfs/gcl-2.3
+GCLDIR=/tmp/FreeBSD/gcl-2.3
SHELL=/bin/sh
-MACHINE=386-linux
+MACHINE=FreeBSD
# notes for redhat 6.0
# the configure should select the compiler GCC=/usr/bin/i386-glibc20-linux-gcc
@@ -62,7 +63,7 @@
EMACS_SITE_LISP=/usr/share/emacs/20.7/site-lisp
@@ -63,7 +63,7 @@
# Machine dependent makefile definitions for intel 386,486 running linux
@ -35,7 +18,7 @@
OFLAG = -O
LIBS = -lm
@@ -109,8 +110,8 @@
@@ -115,8 +115,8 @@
.texi.info:
rm -f $*.*gz
@ -46,8 +29,17 @@
GCL_SI= number.texi sequence.texi character.texi list.texi io.texi \
form.texi compile.texi symbol.texi system.texi structure.texi \
@@ -124,14 +125,6 @@
@@ -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
@ -57,7 +49,6 @@
- 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
-if [ -d "${INFO_DIR}" ] ; then cp *.info* ${INFO_DIR} ; fi

View file

@ -1,34 +1,11 @@
--- h/FreeBSD.defs.orig Wed May 3 10:02:24 1995
+++ h/FreeBSD.defs Thu Nov 25 11:59:14 1999
@@ -1,11 +1,12 @@
# Machine dependent makefile definitions for intel 386,486 running 386bsd
--- 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
+# Adapted for gcl-2.3/FreeBSD 4.0 by Justin Seger (jseger@FreeBSD.org)
-LBINDIR=/usr/local/bin
+LBINDIR=${PREFIX}/bin
+LBINDIR=${prefix}/bin
-OFLAG = -O2 -pipe
-LIBS = -lm
+OFLAG = -O
+LIBS = -lm -lcompat
ODIR_DEBUG=
NULLFILE=../h/twelve_null
@@ -13,12 +14,13 @@
# and also in the compiler::*cc* variable for later compilation of
# lisp files.
-CC = gcc -pipe -O -fwritable-strings -fomit-frame-pointer -DVOL=volatile -I$(GCLDIR)/o -I/usr/local/lib/gcl-2.0/h -fsigned-char
+CC = gcc -fwritable-strings -fomit-frame-pointer -DVOL=volatile -I$(GCLDIR)/o \
+ -fsigned-char
LDCC = $(CC) -static
# Use the mp.s file on 68k machine
-MPFILES= $(MPDIR)/mpi-386.o $(MPDIR)/libmport.a
+#MPFILES= $(MPDIR)/mpi-386.o $(MPDIR)/libmport.a
GNULIB1=/usr/lib/libgcc.a
# Enable the fastloading mechanism which does not use ld -A
OFLAG = -O2 -pipe
LIBS = -lm

View file

@ -1,22 +0,0 @@
--- configure.orig Thu Nov 11 11:19:54 1999
+++ configure Thu Nov 25 13:04:20 1999
@@ -1956,7 +1956,8 @@
old)
use=dos-go32;;
- *86*-freebsd)
+ *86*-freebsd*)
+ MPI_FILE=mpi-386_no_under.o
use=FreeBSD;;
hp3*-*hpux*)
@@ -2340,6 +2341,9 @@
TK_CONFIG_PREFIX=`tclsh8.0 conftest.tcl`
if test -d "${TK_CONFIG_PREFIX}" ; then true; else
TK_CONFIG_PREFIX=`tclsh conftest.tcl`
+if test -d "${TK_CONFIG_PREFIX}" ; then true; else
+TK_CONFIG_PREFIX="unknown"
+fi
fi
fi
#AC_MSG_CHECKING(TK_CONFIG_PREFIX=${TK_CONFIG_PREFIX})

View file

@ -1,120 +0,0 @@
--- h/FreeBSD.h.orig Tue Nov 17 18:51:53 1998
+++ h/FreeBSD.h Thu Nov 25 01:17:34 1999
@@ -1,92 +1,41 @@
/*
- * FreeBSD.h for gcl 1.1
+ * FreeBSD.h for gcl 2.3
*
- * Ported by Jeffrey Hsu (hsu@freebsd.org).
+ * Ported by Jeffrey Hsu (hsu@freebsd.org) for gcl 1.1
* Looked at previous versions by Hsu, Werkowsksi, Tobin, and Mogart.
*
+ * Updated to work with gcl 2.3 and FreeBSD 4.0/ELF by
+ * Justin Seger (jseger@FreeBSD.org).
+ *
*/
-#include "bsd.h"
-
-#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", \
- main,start,input,ldarg,output)
-
-#define ADDITIONAL_FEATURES \
- ADD_FEATURE("386BSD");\
- ADD_FEATURE("FreeBSD");
-
-
-#define I386
-#define IEEEFLOAT
-
-/* we don't need to worry about zeroing fp->_base, to prevent what??? */
-#define FCLOSE_SETBUF_OK
-
-#undef HAVE_XDR
-
-#define USE_ATT_TIME
-
-#undef LISTEN_FOR_INPUT
-#define LISTEN_FOR_INPUT(fp) \
- if ((fp)->_r <=0 && (c=0, ioctl((fp)->_file, FIONREAD, &c), c<=0)) \
- return(FALSE)
-
-#ifdef IN_GBC
#include <sys/types.h>
-#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;
+#ifdef IN_UNIXSAVE
+ #undef IN_UNIXSAVE
+ #define WAS_IN_UNIXSAVE
#endif
-#define RELOC_FILE "rel_sun3.c" /* for SFASL - enabled in bsd.h */
+#include "386-linux.h"
-#ifdef CLOCKS_PER_SEC
-#define HZ CLOCKS_PER_SEC
-#else
-#define HZ 128
+#ifdef WAS_IN_UNIXSAVE
+ #define IN_UNIXSAVE
#endif
-#define ss_base ss_sp
-/* begin for GC */
-#define PAGEWIDTH 12 /* i386 sees 4096 byte pages */
-/* end for GC */
-
-#define SIG_STACK_SIZE (SIGSTKSZ/sizeof(double))
-#define SETUP_SIG_STACK \
-{ \
- static struct sigaltstack estack; \
- estack.ss_sp = estack_buf; \
- estack.ss_size = SIGSTKSZ; \
- estack.ss_flags = 0; \
- if (sigaltstack(&estack, 0) < 0) \
- perror("sigaltstack"); \
-}
-
-#define INSTALL_SEGMENTATION_CATCHER \
- (void) gcl_signal(SIGSEGV, segmentation_catcher); \
- (void) gcl_signal(SIGBUS, segmentation_catcher)
-
-/*
- * The next two defines are for SGC,
- * one of which needs to go in cmpinclude.h.
- */
-#define SIGPROTV SIGBUS
-
-/* Begin for cmpinclude */
-#define SGC /* can mprotect pages and so selective gc will work */
+#undef INSTALL_MPROTECT_HANDLER
+#undef GET_FAULT_ADDR
+#undef LISTEN_FOR_INPUT
-/* End for cmpinclude */
+#define LISTEN_FOR_INPUT(fp) \
+ if ((fp)->_r <=0 && (c=0, ioctl((fp)->_file, FIONREAD, &c), c<=0)) \
+ return(FALSE)
-#if defined(IN_UNIXTIME)
-# include <time.h>
+#if 0
+{\
+ int fd = (fp)->_file;\
+ static struct timeval tv = {0,0};\
+ static fd_set rmask; FD_ZERO(&rmask); FD_SET(fd,&rmask);\
+ select(fd+1,&rmask,NULL,NULL,&tv);\
+ return (FD_ISSET(fd,&rmask));\
+}
#endif

View file

@ -1,11 +0,0 @@
--- o/unixfasl.c.orig Thu Nov 25 01:11:50 1999
+++ o/unixfasl.c Thu Nov 25 01:12:20 1999
@@ -282,7 +282,7 @@
object faslfile, ldargstring;
{
-#if defined(__linux__) && defined(__ELF__)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__)
FEerror("faslink() not supported for ELF yet",0);
#else
struct exec header, faslheader;

View file

@ -1,32 +0,0 @@
--- o/sfaslelf.c.orig Thu Nov 25 01:28:03 1999
+++ o/sfaslelf.c Thu Nov 25 01:31:36 1999
@@ -15,7 +15,7 @@
*/
-#ifndef __linux__
+#if !(defined(__linux__) || defined(__FreeBSD__))
#define ELF_TARGET_SPARC 1
#endif
@@ -373,7 +373,7 @@
*(unsigned int *)where += ((val & mask) | ((*(unsigned int *)where) & ~mask))
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");
break;
@@ -420,9 +420,11 @@
FEerror("Unsupported ELF type R_386_GOTPC");
break;
+#ifdef R_386_NUM
case R_386_NUM:
FEerror("Unsupported ELF type R_386_NUM");
break;
+#endif
#else
case R_SPARC_WDISP30:

View file

@ -0,0 +1,42 @@
--- 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

View file

@ -0,0 +1,11 @@
--- 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

View file

@ -0,0 +1,13 @@
--- 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>

View file

@ -5,5 +5,10 @@ by William Schelter and continued through 1994. In 1994 AKCL was
released as GCL (GNU Common Lisp) under the GNU public library
license.
NOTE: The FreeBSD port has no tcl/tk support due do the fact that gcl-2.2.2 is
designed to use tcl7.3 and tk 3.6 which are no longer supported under FreeBSD.
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.
Tim Pierce <twp@unchi.org>

View file

@ -1,8 +1,24 @@
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/collectfn.o
lib/gcl-%%GCL_VER%%/lsp/gprof.lsp
@ -33,6 +49,14 @@ 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/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
@dirrm lib/gcl-%%GCL_VER%%/gcl-tk/demos