diff options
author | Mikhail Teterin <mi@FreeBSD.org> | 2009-12-07 22:00:26 +0000 |
---|---|---|
committer | Mikhail Teterin <mi@FreeBSD.org> | 2009-12-07 22:00:26 +0000 |
commit | 59b74c075b55a2b3185c2ed3b88b778244a31f6c (patch) | |
tree | 18ac5ba557bb409b702752965b4a74f604d505dd | |
parent | Add libltdl dependency, that somehow missed in the previous commit (diff) |
Let the healing begin by unbreaking. The main thing was to set DBEGIN to
0 as seems to happen with the upcoming version 2.6.8 (not released yet).
Add minor patches to ensure clean build with `-Wall -Werror',
proper definition of HZ, etc.
Instead of explicitly specifying LIB_DEPENDS, convert to USE_TK. Leave the
TCL_VER at 8.4 for now.
Gentoo builds theirs for various platforms -- not just i386 -- so that would
be the next step.
Notes
Notes:
svn path=/head/; revision=245353
-rw-r--r-- | lang/gcl/Makefile | 18 | ||||
-rw-r--r-- | lang/gcl/files/patch-h_FreeBSD.defs | 5 | ||||
-rw-r--r-- | lang/gcl/files/patch-h_FreeBSD.h | 22 | ||||
-rw-r--r-- | lang/gcl/files/patch-h_gclincl.h.in | 17 | ||||
-rw-r--r-- | lang/gcl/files/patch-unixport_makefile | 9 | ||||
-rw-r--r-- | lang/gcl/files/patch-warnings | 63 |
6 files changed, 113 insertions, 21 deletions
diff --git a/lang/gcl/Makefile b/lang/gcl/Makefile index 89ee3f65b2e9..3281bde05bdc 100644 --- a/lang/gcl/Makefile +++ b/lang/gcl/Makefile @@ -15,23 +15,21 @@ MASTER_SITE_SUBDIR= gcl MAINTAINER= ports@FreeBSD.org COMMENT= GNU Common Lisp -LIB_DEPENDS= tk84.1:${PORTSDIR}/x11-toolkits/tk84 \ - gmp.8:${PORTSDIR}/math/libgmp4 +LIB_DEPENDS= gmp:${PORTSDIR}/math/libgmp4 ONLY_FOR_ARCHS= i386 -DEPRECATED= fails to build on FreeBSD 7.x -EXPIRATION_DATE= 2010-01-12 - +USE_TK= 84 GNU_CONFIGURE= yes USE_GMAKE= yes USE_XORG= x11 CONFIGURE_ARGS=--prefix=${PREFIX} \ --enable-ansi \ + --enable-debug \ --enable-machine=FreeBSD \ --enable-info=${PREFIX}/info \ - --enable-tkconfig=${LOCALBASE}/lib/tk8.4 \ - --enable-tclconfig=${LOCALBASE}/lib/tcl8.4 \ + --enable-tkconfig=${LOCALBASE}/lib/tk${TCL_VER} \ + --enable-tclconfig=${LOCALBASE}/lib/tcl${TCL_VER} \ --with-x \ --disable-dlopen \ --disable-dynsysbfd \ @@ -47,14 +45,10 @@ PLIST_SUB= GCL_VER=${PORTVERSION} .include <bsd.port.pre.mk> -.if ${OSVERSION} >= 700042 -BROKEN= Gcl compiled with gcc42 dumps core -.endif - pre-configure: ${SED} -i '' \ -e 's|@@CFLAGS@@|${CFLAGS} -I${LOCALBASE}/include|' \ - -e 's|@@LOCALLIBS@@|-L${LOCALBASE}/lib -lgmp -lm -lreadline|' \ + -e 's|@@LOCALLIBS@@|-lreadline -lm -L${LOCALBASE}/lib -lgmp|' \ ${WRKSRC}/h/FreeBSD.defs .include <bsd.port.post.mk> diff --git a/lang/gcl/files/patch-h_FreeBSD.defs b/lang/gcl/files/patch-h_FreeBSD.defs index e70cc2fe1098..a16a64c61534 100644 --- a/lang/gcl/files/patch-h_FreeBSD.defs +++ b/lang/gcl/files/patch-h_FreeBSD.defs @@ -5,7 +5,7 @@ retrieving revision 1.2.6.1.4.1 diff -u -d -r1.2.6.1.4.1 FreeBSD.defs --- h/FreeBSD.defs 15 Jul 2004 16:28:43 -0000 1.2.6.1.4.1 +++ h/FreeBSD.defs 18 Aug 2004 16:29:43 -0000 -@@ -1,12 +1,16 @@ +@@ -1,12 +1,17 @@ -# 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). @@ -20,7 +20,8 @@ diff -u -d -r1.2.6.1.4.1 FreeBSD.defs -#LIBS = -lm -L/usr/local/lib +#CFLAGS = @@.CFLAGS@@ +CFLAGS = @@CFLAGS@@ -+CFLAGS += -fomit-frame-pointer -fsigned-char -DVOL=volatile -I$(GCLDIR)/o -I${prefix}/include ++CFLAGS += -fomit-frame-pointer -fsigned-char -DVOL=volatile -I$(GCLDIR)/o -I${prefix}/include -Wall -Werror ++CFLAGS += -UDBEGIN -DDBEGIN=0 +#LIBS = @@.LOCALLIBS@@ +LIBS = @@LOCALLIBS@@ #ODIR_DEBUG= diff --git a/lang/gcl/files/patch-h_FreeBSD.h b/lang/gcl/files/patch-h_FreeBSD.h index cd19f8d4630c..3c3ab6388e6f 100644 --- a/lang/gcl/files/patch-h_FreeBSD.h +++ b/lang/gcl/files/patch-h_FreeBSD.h @@ -1,10 +1,5 @@ -Index: h/FreeBSD.h -=================================================================== -RCS file: /cvsroot/gcl/gcl/h/FreeBSD.h,v -retrieving revision 1.2.6.2.2.2 -diff -u -d -r1.2.6.2.2.2 FreeBSD.h ---- h/FreeBSD.h 12 Jun 2004 16:28:15 -0000 1.2.6.2.2.2 -+++ h/FreeBSD.h 18 Aug 2004 16:29:43 -0000 +--- h/FreeBSD.h 2004-06-12 12:28:15.000000000 -0400 ++++ h/FreeBSD.h 2009-12-07 12:07:37.000000000 -0500 @@ -32,6 +32,11 @@ #endif #include "linux.h" @@ -17,3 +12,16 @@ diff -u -d -r1.2.6.2.2.2 FreeBSD.h #if defined(__i386__) #define I386 #endif +@@ -68,7 +73,11 @@ + #ifdef CLOCKS_PER_SEC + #define HZ CLOCKS_PER_SEC + #else +-#define HZ 128 ++# ifdef _SC_CLK_TCK /* Define HZ properly: */ ++# define HZ sysconf(_SC_CLK_TCK) ++# elif !defined(HZ) ++# define HZ 128 ++# endif + #endif + /* #define ss_base ss_sp */ + diff --git a/lang/gcl/files/patch-h_gclincl.h.in b/lang/gcl/files/patch-h_gclincl.h.in new file mode 100644 index 000000000000..f8a437a42ae0 --- /dev/null +++ b/lang/gcl/files/patch-h_gclincl.h.in @@ -0,0 +1,17 @@ +--- h/gclincl.h.in 2005-01-15 14:17:18.000000000 -0500 ++++ h/gclincl.h.in 2009-12-07 12:11:34.000000000 -0500 +@@ -10,7 +10,5 @@ + #undef X_DISPLAY_MISSING + +-#define DBEGIN 0 +- +-#define MAXPAGE 128*1024 ++#define MAXPAGE (128*1024*(SIZEOF_LONG>>2)/(1<<(PAGEWIDTH-12))) + #define VSSIZE 128*1024 + #define BDSSIZE 2*1024 +@@ -205,5 +203,4 @@ + #undef HOST_SYSTEM + #undef GCL_GPROF_START +-#undef HZ + + /* The number of bytes in a long. */ diff --git a/lang/gcl/files/patch-unixport_makefile b/lang/gcl/files/patch-unixport_makefile new file mode 100644 index 000000000000..6c610d31f55b --- /dev/null +++ b/lang/gcl/files/patch-unixport_makefile @@ -0,0 +1,9 @@ +--- unixport/makefile 2005-01-15 11:34:45.000000000 -0500 ++++ unixport/makefile 2009-12-07 12:35:23.000000000 -0500 +@@ -15,5 +15,5 @@ + + LD_LIBS_PRE=$(FIRST_FILE) $(addprefix -u ,$(PATCHED_SYMBOLS)) +-LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp $(LAST_FILE) ++LD_LIBS_POST=-lgclp $(LIBS) $(LAST_FILE) + + ifeq ($(ARRS),) diff --git a/lang/gcl/files/patch-warnings b/lang/gcl/files/patch-warnings new file mode 100644 index 000000000000..2ad4d075a1ab --- /dev/null +++ b/lang/gcl/files/patch-warnings @@ -0,0 +1,63 @@ +--- o/plttest.c 2004-03-19 21:08:12.000000000 -0500 ++++ o/plttest.c 2009-12-07 11:55:41.000000000 -0500 +@@ -20,24 +20,24 @@ + setjmp(env); + +- cos(d); +- sin(d); +- tan(d); +- +- acos(d); +- asin(d); +- atan(d); +- +- cosh(d); +- sinh(d); +- tanh(d); ++ (void)cos(d); ++ (void)sin(d); ++ (void)tan(d); ++ ++ (void)acos(d); ++ (void)asin(d); ++ (void)atan(d); ++ ++ (void)cosh(d); ++ (void)sinh(d); ++ (void)tanh(d); + + #ifndef _WIN32 +- acosh(d); +- asinh(d); +- atanh(d); ++ (void)acosh(d); ++ (void)asinh(d); ++ (void)atanh(d); + #endif + +- exp(d); +- log(d); ++ (void)exp(d); ++ (void)log(d); + + return 0; +--- o/run_process.c 2005-07-18 13:07:24.000000000 -0400 ++++ o/run_process.c 2009-12-07 12:18:25.000000000 -0500 +@@ -453,5 +453,5 @@ + check_arg(2); + vs_base[0] = make_socket_stream(vs_base[0], vs_base[1]); +- vs_pop; ++ (void)vs_pop; + } + +--- gcl-tk/tkMain.c 2003-09-26 09:46:54.000000000 -0400 ++++ gcl-tk/tkMain.c 2009-12-07 15:04:38.000000000 -0500 +@@ -496,6 +496,6 @@ + || code) + { +- unsigned char buf[4]; +- unsigned char *p = buf; ++ char buf[4]; ++ char *p = buf; + /*header */ + *p++ = (code ? '1' : '0'); |