Bug 64368 - Update port: lang/ici to version 4 of ici
Summary: Update port: lang/ici to version 4 of ici
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-17 10:40 UTC by Andy Newman
Modified: 2004-04-10 15:45 UTC (History)
0 users

See Also:


Attachments
sharfile (3.51 KB, text/plain)
2004-03-17 10:40 UTC, Andy Newman
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Newman 2004-03-17 10:40:14 UTC
	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.

Fix: The "replacement" port files are included in the shell archive below.
Comment 1 Kirill Ponomarev freebsd_committer freebsd_triage 2004-03-17 20:28:32 UTC
State Changed
From-To: open->feedback

Please submit diff in unified format.
Comment 2 Andy Newman 2004-03-17 23:16:58 UTC
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
Comment 3 Pav Lucistnik freebsd_committer freebsd_triage 2004-04-10 15:45:50 UTC
State Changed
From-To: feedback->closed

Committed, thanks!