From an@atrn.org  Wed Mar 17 02:35:14 2004
Return-Path: <an@atrn.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5D17516A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 17 Mar 2004 02:35:14 -0800 (PST)
Received: from mail014.syd.optusnet.com.au (mail014.syd.optusnet.com.au [211.29.132.160])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 46D7E43D3F
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 17 Mar 2004 02:35:11 -0800 (PST)
	(envelope-from an@atrn.org)
Received: from juju.bsn (c211-30-122-33.carlnfd2.nsw.optusnet.com.au [211.30.122.33])
	by mail014.syd.optusnet.com.au (8.11.6p2/8.11.6) with ESMTP id i2HAZ3F06875
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 17 Mar 2004 21:35:04 +1100
Received: by juju.bsn (Postfix, from userid 1000)
	id EB2C45D8F; Wed, 17 Mar 2004 21:34:57 +1100 (EST)
Message-Id: <20040317103457.EB2C45D8F@juju.bsn>
Date: Wed, 17 Mar 2004 21:34:57 +1100 (EST)
From: Andy Newman <atrn@zeta.org.au>
Reply-To: Andy Newman <an@atrn.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Update port: lang/ici to version 4 of ici
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         64368
>Category:       ports
>Synopsis:       Update port: lang/ici to version 4 of ici
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 17 02:40:14 PST 2004
>Closed-Date:    Sat Apr 10 07:45:56 PDT 2004
>Last-Modified:  Sat Apr 10 07:45:56 PDT 2004
>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:
	This is an update to the lang/ici port to bring it up to
	the most recent release of ICI and to form a basis for
	correct port issues on non-x86 architectures.  The existing
	lang/ici port uses a rather old version of the ici interpreter
	and was seriously out of date.  The newer version of the
	language includes numerous extra features and provides for
	a simpler port (e.g. fewer installed files) as well as making
	issue fixing somewhat more beneficial and simpler.

	Note that as I currently have no access to a CURRENT machine
	this port may have issues.  Mail to freebsd-ports asking
	for testers will be forth coming however I felt it was
	necessary to at least get this submitted as a PR to show
	the port has some life in it.

>How-To-Repeat:
	
>Fix:

	The "replacement" port files are included in the shell archive below.

--- sharfile begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	Makefile
#	distinfo
#	pkg-descr
#	pkg-plist
#
echo x - Makefile
sed 's/^X//' >Makefile << 'END-of-Makefile'
X# New ports collection makefile for:   ici
X# Date created:        11 March 2002
X# Whom:                andy
X#
X# $FreeBSD: ports/lang/ici/Makefile,v 1.7 2000/04/16 11:16:50 knu Exp $
X#
X
XPORTNAME=	ici
XPORTVERSION=	4.1.1
XCATEGORIES=	lang
XMASTER_SITES=	http://www.zeta.org.au/~atrn/ici/distfiles/
X
XMAINTAINER=	atrn@zeta.org.au
XCOMMENT=	An interpretive language with C's feel and high level data types
X
XMAKEFILE=	Makefile.bsd
X
XMAN1=		ici.1 icifuncs.1 icioo.1 iciops.1 icire.1\
X		icistmt.1 icitypes.1
X
XMANCOMPRESSED=	yes
X
XALL_TARGET=	all ici.h
X
XICIHDRS=	ici.h icistr-setup.h
X
XICIDOCS=	doc/ici.pdf
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/ici ${PREFIX}/bin
X	${INSTALL_DATA} ${WRKSRC}/libici4.a ${PREFIX}/lib
X.for f in ${MAN1}
X	${INSTALL_MAN} ${WRKSRC}/${f}.gz ${PREFIX}/man/man1
X.endfor
X	${MKDIR} ${PREFIX}/lib/ici4
X	${INSTALL_DATA} ${WRKSRC}/ici4core.ici ${PREFIX}/lib/ici4
X	${INSTALL_DATA} ${WRKSRC}/ici4core1.ici ${PREFIX}/lib/ici4
X	${INSTALL_DATA} ${WRKSRC}/ici4core2.ici ${PREFIX}/lib/ici4
X	${INSTALL_DATA} ${WRKSRC}/ici4core3.ici ${PREFIX}/lib/ici4
X	${MKDIR} ${PREFIX}/include
X.for f in ${ICIHDRS}
X	${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/include
X.endfor
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/doc/ici4
X.for f in ${ICIDOCS}
X	${INSTALL_MAN} ${WRKSRC}/$f ${PREFIX}/share/doc/ici4
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-Makefile
echo x - distinfo
sed 's/^X//' >distinfo << 'END-of-distinfo'
XMD5 (ici-4.1.1.tar.gz) = 4511baa2731ed327b5730f414b3623ba
END-of-distinfo
echo x - pkg-descr
sed 's/^X//' >pkg-descr << 'END-of-pkg-descr'
XICI is a C-like, high level language originally developed by Tim Long
Xand placed into the public domain. ICI marries C's expression syntax,
Xcontrol structures and overall feel, with a dynamic, garbage
Xcollected, object-based, data model. Version 4 incorporates numerous
Xperformance enhancements, refinements to existing features and new
Xfeatures including native support for threads, a cleaner, more well
Xdefined API for extension module authors and those embedding ICI
Xwithin other programs, and new documentation that is superior to
Xthat provided in previous releases.
X
XICI is typically used as a scripting-like language in the fashion of
XPerl, Python, Ruby, Lua, TCL and other such languages.  ICI can be
Xcalled from C and the language itself can be extended allowing
Xapplications to provide domain specific functions, types and
Xoperators for use in their ICI programs. Embedding within applications
Xallows application authors to make use of ICI's efficient object
Xsystem which provides many useful facilities.
X
XICI is in the public domain, there is no copyright on it.
X
XWWW:	http://www.zeta.org.au/~atrn/ici/
END-of-pkg-descr
echo x - pkg-plist
sed 's/^X//' >pkg-plist << 'END-of-pkg-plist'
Xbin/ici
Xinclude/ici.h
Xinclude/icistr-setup.h
Xlib/libici4.a
Xlib/ici4/ici4core.ici
Xlib/ici4/ici4core1.ici
Xlib/ici4/ici4core2.ici
Xlib/ici4/ici4core3.ici
Xman/man1/ici.1.gz
Xman/man1/icifuncs.1.gz
Xman/man1/icioo.1.gz
Xman/man1/iciops.1.gz
Xman/man1/icire.1.gz
Xman/man1/icistmt.1.gz
Xman/man1/icitypes.1.gz
X%%DOCSDIR%%/ici4/ici.pdf
X@unexec rmdir %D/lib/ici4 2>/dev/null || true
END-of-pkg-plist
exit
--- sharfile ends here ---


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: krion 
State-Changed-When: Wed Mar 17 12:28:32 PST 2004 
State-Changed-Why:  
Please submit diff in unified format. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=64368 

From: Andy Newman <an@atrn.org>
To: freebsd-gnats-submit@FreeBSD.org
Cc: an@atrn.org
Subject: Re: ports/64368: Update port: lang/ici to version 4 of ici
Date: Thu, 18 Mar 2004 10:16:58 +1100

 As requsted here's a unidiff between the current ports entry
 and the new one.  Note that the patches get trunacted as they
 are either no longer valid or have been incorporated into the
 mainline sources.
 
 
 diff -rNu /usr/ports/lang/ici/Makefile ./Makefile
 --- /usr/ports/lang/ici/Makefile	Sat Feb 14 22:01:40 2004
 +++ ./Makefile	Thu Mar 18 07:58:43 2004
 @@ -6,7 +6,7 @@
  #
  
  PORTNAME=	ici
 -PORTVERSION=	3.0.1
 +PORTVERSION=	4.1.1
  CATEGORIES=	lang
  MASTER_SITES=	http://www.zeta.org.au/~atrn/ici/distfiles/
  
 @@ -14,53 +14,38 @@
  COMMENT=	An interpretive language with C's feel and high level data types
  
  MAKEFILE=	Makefile.bsd
 -MAN1=		ici3.1
 -MANCOMPRESSED=	yes
 -
 -USE_REINPLACE=	yes
 -USE_BZIP2=	yes
  
 -ICIHDRS=	alloc.h array.h buf.h catch.h cfunc.h conf-bsd.h exec.h file.h \
 -		float.h forall.h func.h fwd.h ici.h int.h mark.h mem.h \
 -		method.h null.h object.h op.h parse.h pc.h primes.h ptr.h re.h \
 -		set.h skt.h src.h str.h struct.h trace.h win.h wrap.h
 +MAN1=		ici.1 icifuncs.1 icioo.1 iciops.1 icire.1\
 +		icistmt.1 icitypes.1
  
 -ICIPCREHDRS=	pcre/internal.h pcre/pcre.h
 +MANCOMPRESSED=	yes
  
 -ICIDOCS=	doc/ici-a4.ps doc/ici-ltr.ps doc/ici.txt doc/ici.pdf
 +ALL_TARGET=	all ici.h
  
 -.include <bsd.port.pre.mk>
 +ICIHDRS=	ici.h icistr-setup.h
  
 -.if ${OSVERSION} >= 502000
 -BROKEN=		"Does not compile"
 -.endif
 -
 -post-patch:
 -	${REINPLACE_CMD} -e 's/float_t/floats_t/g' ${WRKSRC}/*.[ch]
 +ICIDOCS=	doc/ici.pdf
  
  do-install:
 -	cd ${WRKSRC} && ${MAKE} -f ${MAKEFILE} libici3.a
 -	${INSTALL_PROGRAM} ${WRKSRC}/ici3 ${PREFIX}/bin
 -	${INSTALL_DATA} ${WRKSRC}/libici3.a ${PREFIX}/lib
 -	${INSTALL_MAN} ${WRKSRC}/ici3.1.gz ${PREFIX}/man/man1
 -	${MKDIR} ${PREFIX}/lib/ici3
 -	${INSTALL_DATA} ${WRKSRC}/ici3core.ici ${PREFIX}/lib/ici3
 -	${INSTALL_DATA} ${WRKSRC}/ici3core1.ici ${PREFIX}/lib/ici3
 -	${INSTALL_DATA} ${WRKSRC}/ici3core2.ici ${PREFIX}/lib/ici3
 -	${INSTALL_DATA} ${WRKSRC}/ici3core3.ici ${PREFIX}/lib/ici3
 -	${MKDIR} ${PREFIX}/include/ici3
 -	${MKDIR} ${PREFIX}/include/ici3/pcre
 -.for f in ${ICIHDRS}
 -	${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/include/ici3
 +	${INSTALL_PROGRAM} ${WRKSRC}/ici ${PREFIX}/bin
 +	${INSTALL_DATA} ${WRKSRC}/libici4.a ${PREFIX}/lib
 +.for f in ${MAN1}
 +	${INSTALL_MAN} ${WRKSRC}/${f}.gz ${PREFIX}/man/man1
  .endfor
 -.for f in ${ICIPCREHDRS}
 -	${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/include/ici3/pcre
 +	${MKDIR} ${PREFIX}/lib/ici4
 +	${INSTALL_DATA} ${WRKSRC}/ici4core.ici ${PREFIX}/lib/ici4
 +	${INSTALL_DATA} ${WRKSRC}/ici4core1.ici ${PREFIX}/lib/ici4
 +	${INSTALL_DATA} ${WRKSRC}/ici4core2.ici ${PREFIX}/lib/ici4
 +	${INSTALL_DATA} ${WRKSRC}/ici4core3.ici ${PREFIX}/lib/ici4
 +	${MKDIR} ${PREFIX}/include
 +.for f in ${ICIHDRS}
 +	${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/include
  .endfor
  .if !defined(NOPORTDOCS)
 -	${MKDIR} ${PREFIX}/share/doc/ici3
 +	${MKDIR} ${PREFIX}/share/doc/ici4
  .for f in ${ICIDOCS}
 -	${INSTALL_MAN} ${WRKSRC}/$f ${PREFIX}/share/doc/ici3
 +	${INSTALL_MAN} ${WRKSRC}/$f ${PREFIX}/share/doc/ici4
  .endfor
  .endif
  
 -.include <bsd.port.post.mk>
 +.include <bsd.port.mk>
 diff -rNu /usr/ports/lang/ici/distinfo ./distinfo
 --- /usr/ports/lang/ici/distinfo	Fri Apr  5 07:08:27 2002
 +++ ./distinfo	Wed Mar 17 20:47:39 2004
 @@ -1 +1 @@
 -MD5 (ici-3.0.1.tar.bz2) = 6750eb9c8efc6a4d11cfb7554df7f10c
 +MD5 (ici-4.1.1.tar.gz) = 4511baa2731ed327b5730f414b3623ba
 diff -rNu /usr/ports/lang/ici/files/patch-Makefile.bsd ./files/patch-Makefile.bsd
 --- /usr/ports/lang/ici/files/patch-Makefile.bsd	Fri Feb 13 15:17:05 2004
 +++ ./files/patch-Makefile.bsd	Thu Jan  1 10:00:00 1970
 @@ -1,29 +0,0 @@
 ---- 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	Fri Feb 13 15:17:05 2004
 +++ ./files/patch-cfunc.c	Thu Jan  1 10:00:00 1970
 @@ -1,20 +0,0 @@
 ---- 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	Fri Feb 13 15:17:05 2004
 +++ ./files/patch-syscall.c	Thu Jan  1 10:00:00 1970
 @@ -1,17 +0,0 @@
 ---- 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));
 - }
 diff -rNu /usr/ports/lang/ici/pkg-descr ./pkg-descr
 --- /usr/ports/lang/ici/pkg-descr	Thu Feb 15 20:55:01 2001
 +++ ./pkg-descr	Sun Jan 26 22:27:04 2003
 @@ -1,16 +1,20 @@
  ICI is a C-like, high level language originally developed by Tim Long
  and placed into the public domain. ICI marries C's expression syntax,
  control structures and overall feel, with a dynamic, garbage
 -collected, object-based, data model. Version introduces a cleaner
 -class system for OO programming and refines the language.
 +collected, object-based, data model. Version 4 incorporates numerous
 +performance enhancements, refinements to existing features and new
 +features including native support for threads, a cleaner, more well
 +defined API for extension module authors and those embedding ICI
 +within other programs, and new documentation that is superior to
 +that provided in previous releases.
  
  ICI is typically used as a scripting-like language in the fashion of
 -Perl, Python, TCL and other such languages.  ICI can be called from C
 -and the language itself can be extended allowing applications to
 -provide domain specific functions, types and operators for use in
 -their ICI programs. Embedding in an application also allows the
 -application to make use of ICI's efficient object system which
 -provides many useful facilities.
 +Perl, Python, Ruby, Lua, TCL and other such languages.  ICI can be
 +called from C and the language itself can be extended allowing
 +applications to provide domain specific functions, types and
 +operators for use in their ICI programs. Embedding within applications
 +allows application authors to make use of ICI's efficient object
 +system which provides many useful facilities.
  
  ICI is in the public domain, there is no copyright on it.
  
 diff -rNu /usr/ports/lang/ici/pkg-plist ./pkg-plist
 --- /usr/ports/lang/ici/pkg-plist	Fri Apr  5 07:08:27 2002
 +++ ./pkg-plist	Wed Mar 17 21:05:50 2004
 @@ -1,49 +1,17 @@
 -bin/ici3
 -include/ici3/pcre/internal.h
 -include/ici3/pcre/pcre.h
 -include/ici3/alloc.h
 -include/ici3/array.h
 -include/ici3/buf.h
 -include/ici3/catch.h
 -include/ici3/cfunc.h
 -include/ici3/conf-bsd.h
 -include/ici3/exec.h
 -include/ici3/file.h
 -include/ici3/float.h
 -include/ici3/forall.h
 -include/ici3/func.h
 -include/ici3/fwd.h
 -include/ici3/ici.h
 -include/ici3/int.h
 -include/ici3/mark.h
 -include/ici3/mem.h
 -include/ici3/method.h
 -include/ici3/null.h
 -include/ici3/object.h
 -include/ici3/op.h
 -include/ici3/parse.h
 -include/ici3/pc.h
 -include/ici3/primes.h
 -include/ici3/ptr.h
 -include/ici3/re.h
 -include/ici3/set.h
 -include/ici3/skt.h
 -include/ici3/src.h
 -include/ici3/str.h
 -include/ici3/struct.h
 -include/ici3/trace.h
 -include/ici3/win.h
 -include/ici3/wrap.h
 -lib/ici3/ici3core.ici
 -lib/ici3/ici3core1.ici
 -lib/ici3/ici3core2.ici
 -lib/ici3/ici3core3.ici
 -lib/libici3.a
 -%%PORTDOCS%%share/doc/ici3/ici-a4.ps
 -%%PORTDOCS%%share/doc/ici3/ici-ltr.ps
 -%%PORTDOCS%%share/doc/ici3/ici.txt
 -%%PORTDOCS%%share/doc/ici3/ici.pdf
 -%%PORTDOCS%%@dirrm share/doc/ici3
 -@dirrm include/ici3/pcre
 -@dirrm include/ici3
 -@unexec rmdir %D/lib/ici3 2>/dev/null || true
 +bin/ici
 +include/ici.h
 +include/icistr-setup.h
 +lib/libici4.a
 +lib/ici4/ici4core.ici
 +lib/ici4/ici4core1.ici
 +lib/ici4/ici4core2.ici
 +lib/ici4/ici4core3.ici
 +man/man1/ici.1.gz
 +man/man1/icifuncs.1.gz
 +man/man1/icioo.1.gz
 +man/man1/iciops.1.gz
 +man/man1/icire.1.gz
 +man/man1/icistmt.1.gz
 +man/man1/icitypes.1.gz
 +%%DOCSDIR%%/ici4/ici.pdf
 +@unexec rmdir %D/lib/ici4 2>/dev/null || true
State-Changed-From-To: feedback->closed 
State-Changed-By: pav 
State-Changed-When: Sat Apr 10 07:45:50 PDT 2004 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=64368 
>Unformatted:
