Date: Mon, 26 Jan 2004 11:41:57 +1100 (EST) From: Andy Newman <atrn@zeta.org.au> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/61912: Repair ici port issues noticed on Sparc64 Message-ID: <20040126004157.2936A5DA9@juju.bsn> Resent-Message-ID: <200401260050.i0Q0oFUR003096@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 61912 >Category: ports >Synopsis: Repair ici port issues noticed on Sparc64 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sun Jan 25 16:50:15 PST 2004 >Closed-Date: >Last-Modified: >Originator: Andy Newman >Release: FreeBSD 4.8-RELEASE-p3 i386 >Organization: >Environment: System: FreeBSD juju.bsn 4.8-RELEASE-p3 FreeBSD 4.8-RELEASE-p3 #4: Sat Sep 13 10:22:47 EST 2003 toor@juju.bsn:/data/obj/usr/src/sys/juju i386 >Description: The ici port has a number of problems that were picked up via the Sparc64 bent build. The enclosed patch fixes those problems - original Makefile issue and two 32-bit'isms in the source. >How-To-Repeat: >Fix: Apply following patch to port to add required source and makefile patches and rebuild. diff -rNu /usr/ports/lang/ici/Makefile ./Makefile --- /usr/ports/lang/ici/Makefile Fri Dec 5 08:05:53 2003 +++ ./Makefile Mon Jan 26 11:27:42 2004 @@ -11,7 +11,7 @@ MASTER_SITES= http://www.zeta.org.au/~atrn/ici/distfiles/ MAINTAINER= atrn@zeta.org.au -COMMENT= An interpretive language with C's overall feel combined with high level data types +COMMENT= An interpretive language with C's feel and high level data types MAKEFILE= Makefile.bsd MAN1= ici3.1 diff -rNu /usr/ports/lang/ici/files/patch-Makefile.bsd ./files/patch-Makefile.bsd --- /usr/ports/lang/ici/files/patch-Makefile.bsd Thu Jan 1 10:00:00 1970 +++ ./files/patch-Makefile.bsd Mon Jan 26 10:46:01 2004 @@ -0,0 +1,29 @@ +--- Makefile.bsd Thu Apr 19 19:31:12 2001 ++++ Makefile.bsd Mon Jan 26 10:39:43 2004 +@@ -21,7 +21,7 @@ + findpath.c float.c forall.c\ + func.c icimain.c init.c int.c lex.c load.c main.c mark.c mem.c\ + method.c mkvar.c nptrs.c null.c object.c oofuncs.c op.c parse.c pc.c\ +- ptr.c refuncs.o regexp.c set.c\ ++ ptr.c refuncs.c regexp.c set.c\ + sfile.c signals.c skt.c smash.c src.c sstring.c string.c\ + struct.c syscall.c syserr.c ti.c trace.c unary.c uninit.c win.c\ + wrap.c buf.c strtol.c idb.c idb2.c profile.c win32err.c +@@ -59,16 +59,13 @@ + DOCS=\ + doc/ici-a4.ps doc/ici-ltr.ps doc/ici.txt + +-beforeinstall: ici3.1.gz ++beforeinstall: + @echo '==========================================' + @echo 'Installing ici interpreter and manual page' + @echo '==========================================' + + ici3.1: $(MAN1) + ln -sf $(MAN1) $@ +- +-ici3.1.gz: ici3.1 +- gzip -c ici3.1 > $@ + + libici3.a: $(OBJS) + $(AR) r libici3.a $(OBJS) diff -rNu /usr/ports/lang/ici/files/patch-cfunc.c ./files/patch-cfunc.c --- /usr/ports/lang/ici/files/patch-cfunc.c Thu Jan 1 10:00:00 1970 +++ ./files/patch-cfunc.c Mon Jan 26 10:46:12 2004 @@ -0,0 +1,20 @@ +--- cfunc.c Mon Jan 26 10:37:06 2004 ++++ cfunc.c Mon Jan 26 10:41:23 2004 +@@ -1378,7 +1378,7 @@ + register char *p; + register int i; /* Where we are up to in buf. */ + register int j; +- int which; ++ long which; + int nargs; + char subfmt[40]; /* %...? portion of string. */ + int stars[2]; /* Precision and field widths. */ +@@ -1395,7 +1395,7 @@ + #define IPLUSEQ i += + #endif + +- which = (int)CF_ARG1(); /* sprintf, printf, fprintf */ ++ which = (long)CF_ARG1(); /* sprintf, printf, fprintf */ + if (which != 0 && NARGS() > 0 && isfile(ARG(0))) + { + which = 2; diff -rNu /usr/ports/lang/ici/files/patch-syscall.c ./files/patch-syscall.c --- /usr/ports/lang/ici/files/patch-syscall.c Thu Jan 1 10:00:00 1970 +++ ./files/patch-syscall.c Mon Jan 26 10:46:22 2004 @@ -0,0 +1,17 @@ +--- syscall.c Mon Jan 26 10:37:06 2004 ++++ syscall.c Mon Jan 26 10:40:55 2004 +@@ -510,9 +510,13 @@ + f_ctime(void) + { + long timev; ++ time_t timet; + string_t *s; + +- if (ici_typecheck("i", &timev) || (s = new_cname(ctime(&timev))) == NULL) ++ if (ici_typecheck("i", &timev)) ++ return 1; ++ timet = timev; ++ if ((s = new_cname(ctime(&timet))) == NULL) + return 1; + return ici_ret_with_decref(objof(s)); + } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040126004157.2936A5DA9>