summaryrefslogtreecommitdiff
path: root/lang/ficl-devel
diff options
context:
space:
mode:
authorBruce M Simpson <bms@FreeBSD.org>2003-12-08 19:00:36 +0000
committerBruce M Simpson <bms@FreeBSD.org>2003-12-08 19:00:36 +0000
commite82a2596420f8c56a242ec37b9d4112392fcf99f (patch)
treeb6867e78f685078bb79e6248046521a3f7f37c2e /lang/ficl-devel
parent- Update to 1.0.1 (diff)
New port: Ficl is a programming language interpreter designed to be
embedded into other systems as a command, macro, and development prototyping language. FreeBSD uses ficl in its loader. So far we haven't done much more in this area, perhaps importing a port will encourage further fruitful exploitation of this valuable tool.
Diffstat (limited to 'lang/ficl-devel')
-rw-r--r--lang/ficl-devel/Makefile59
-rw-r--r--lang/ficl-devel/distinfo1
-rw-r--r--lang/ficl-devel/files/patch-Makefile59
-rw-r--r--lang/ficl-devel/files/patch-ficl.h11
-rw-r--r--lang/ficl-devel/pkg-descr10
-rw-r--r--lang/ficl-devel/pkg-plist43
6 files changed, 183 insertions, 0 deletions
diff --git a/lang/ficl-devel/Makefile b/lang/ficl-devel/Makefile
new file mode 100644
index 000000000000..f6d229f4e94f
--- /dev/null
+++ b/lang/ficl-devel/Makefile
@@ -0,0 +1,59 @@
+# New ports collection makefile for: ficl
+# Date created: 23 August 2002
+# Whom: Bruce M Simpson
+#
+# $FreeBSD$
+#
+
+PORTNAME= ficl
+PORTVERSION= 4.0.31
+CATEGORIES= lang devel
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+DISTNAME= ${PORTNAME}${PORTVERSION}
+
+MAINTAINER= bms@spc.org
+COMMENT= Forth Inspired Command Language
+
+NO_WRKSUBDIR= defined
+NOMAN= defined
+
+ONLY_FOR_ARCHS= i386
+
+USE_GMAKE= yes
+
+ALL_TARGET= everything
+
+DOCS= releases.html parsesteps.html oop.html locals.html links.html \
+ license.html index.html api.html ficl.html favicon.ico dpans.html \
+ debugger.html upgrading.html
+
+DOCS_ARTICLES= sigplan9906.doc oo_in_c.html jwsforml.pdf ficlddj.pdf
+DOCS_GRAPHICS= sourceforge.jpg ficl_top.jpg ficl_oop.jpg ficl.4.96.jpg \
+ ficl.4.64.jpg ficl.4.128.jpg 4ring.gif
+DOCS_SOURCE= upgrading.ht releases.ht parsesteps.ht oop.ht locals.ht \
+ links.ht license.ht index.ht generate.py ficl.ht dpans.ht \
+ debugger.ht api.ht
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/ficl ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/libficl.so.4 ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/libficl.a ${PREFIX}/lib
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${MKDIR} ${DOCSDIR}/source ${DOCSDIR}/articles ${DOCSDIR}/graphics
+.for doc in ${DOCS}
+ ${INSTALL_MAN} ${WRKSRC}/doc/${doc} ${DOCSDIR}
+.endfor
+.for doc in ${DOCS_ARTICLES}
+ ${INSTALL_MAN} ${WRKSRC}/doc/articles/${doc} ${DOCSDIR}/articles
+.endfor
+.for doc in ${DOCS_GRAPHICS}
+ ${INSTALL_MAN} ${WRKSRC}/doc/graphics/${doc} ${DOCSDIR}/graphics
+.endfor
+.for doc in ${DOCS_SOURCE}
+ ${INSTALL_MAN} ${WRKSRC}/doc/source/${doc} ${DOCSDIR}/source
+.endfor
+.endif
+
+.include <bsd.port.mk>
diff --git a/lang/ficl-devel/distinfo b/lang/ficl-devel/distinfo
new file mode 100644
index 000000000000..bd6198e1fbda
--- /dev/null
+++ b/lang/ficl-devel/distinfo
@@ -0,0 +1 @@
+MD5 (ficl4.0.31.tar.gz) = 7f9ca6093730554f5f66beaa46a652d4
diff --git a/lang/ficl-devel/files/patch-Makefile b/lang/ficl-devel/files/patch-Makefile
new file mode 100644
index 000000000000..3a5919282b9a
--- /dev/null
+++ b/lang/ficl-devel/files/patch-Makefile
@@ -0,0 +1,59 @@
+--- Makefile.orig Mon Dec 8 18:32:26 2003
++++ Makefile Mon Dec 8 18:46:08 2003
+@@ -0,0 +1,56 @@
++OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o softcore.o stack.o tools.o vm.o primitives.o bit.o lzuncompress.o unix.o utility.o hash.o callback.o word.o extras.o
++HEADERS= ficl.h ficlplatform/unix.h
++#
++# Flags for shared library
++TARGET= -DFREEBSD
++SHFLAGS = -fPIC
++CFLAGS= -O -c $(SHFLAGS) $(TARGET)
++CC=gcc
++LIB = ar cr
++RANLIB = ranlib
++
++MAJOR = 4
++
++everything: ficl lib
++
++ficl: main.o $(HEADERS) libficl.a
++ $(CC) main.o -o ficl -L. -lficl -lm
++
++lib: libficl.so.$(MAJOR)
++
++# static library build
++libficl.a: $(OBJECTS)
++ $(LIB) libficl.a $(OBJECTS)
++ $(RANLIB) libficl.a
++
++# shared library build
++libficl.so.$(MAJOR): $(OBJECTS)
++ $(CC) -shared -Wl,-soname,libficl.so.$(MAJOR) \
++ -o libficl.so.$(MAJOR) $(OBJECTS)
++ ln -sf libficl.so.$(MAJOR) libficl.so
++
++main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
++ $(CC) main.o -o main -L. -lficl -lm
++ ln -sf libficl.so.$(MAJOR) libficl.so
++
++unix.o: ficlplatform/unix.c $(HEADERS)
++ $(CC) $(CFLAGS) -c ficlplatform/unix.c
++
++#
++# generic object code
++#
++.SUFFIXES: .cxx .cc .c .o
++
++.c.o:
++ $(CC) $(CFLAGS) -c $*.c
++
++.cxx.o:
++ $(CPP) $(CPFLAGS) -c $*.cxx
++
++.cc.o:
++ $(CPP) $(CPFLAGS) -c $*.cc
++#
++# generic cleanup code
++#
++clean:
++ rm -f *.o *.a libficl.*
diff --git a/lang/ficl-devel/files/patch-ficl.h b/lang/ficl-devel/files/patch-ficl.h
new file mode 100644
index 000000000000..556f0ae5bf42
--- /dev/null
+++ b/lang/ficl-devel/files/patch-ficl.h
@@ -0,0 +1,11 @@
+--- ficl.h.orig Mon Dec 8 18:33:42 2003
++++ ficl.h Mon Dec 8 18:33:58 2003
+@@ -163,6 +163,8 @@
+ #include "ficlplatform/ansi.h"
+ #elif defined(_WIN32)
+ #include "ficlplatform/win32.h"
++#elif defined (FREEBSD)
++ #include "ficlplatform/unix.h"
+ #elif defined (FREEBSD_ALPHA)
+ #include "ficlplatform/alpha.h"
+ #elif defined(linux)
diff --git a/lang/ficl-devel/pkg-descr b/lang/ficl-devel/pkg-descr
new file mode 100644
index 000000000000..8f806fd1ebee
--- /dev/null
+++ b/lang/ficl-devel/pkg-descr
@@ -0,0 +1,10 @@
+FICL is an extremely lightweight, fast, portable implementation of FORTH
+which can be bound to C functions or even embedded within C/assembler
+programs. This is a port for the current version of FICL. Older versions
+can typically be found in /usr/src/sys/boot/ficl on FreeBSD with the
+bindings needed by the OS loader.
+
+WWW: http://ficl.sourceforge.net/
+
+Bruce
+bms@spc.org
diff --git a/lang/ficl-devel/pkg-plist b/lang/ficl-devel/pkg-plist
new file mode 100644
index 000000000000..e4c0b899e7ab
--- /dev/null
+++ b/lang/ficl-devel/pkg-plist
@@ -0,0 +1,43 @@
+lib/libficl.a
+lib/libficl.so.4
+bin/ficl
+%%PORTDOCS%%%%DOCSDIR%%/upgrading.html
+%%PORTDOCS%%%%DOCSDIR%%/source/upgrading.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/releases.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/parsesteps.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/oop.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/locals.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/links.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/license.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/index.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/generate.py
+%%PORTDOCS%%%%DOCSDIR%%/source/ficl.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/dpans.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/debugger.ht
+%%PORTDOCS%%%%DOCSDIR%%/source/api.ht
+@dirrm %%PORTDOCS%%%%DOCSDIR%%/source
+%%PORTDOCS%%%%DOCSDIR%%/releases.html
+%%PORTDOCS%%%%DOCSDIR%%/parsesteps.html
+%%PORTDOCS%%%%DOCSDIR%%/oop.html
+%%PORTDOCS%%%%DOCSDIR%%/locals.html
+%%PORTDOCS%%%%DOCSDIR%%/links.html
+%%PORTDOCS%%%%DOCSDIR%%/license.html
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/graphics/sourceforge.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/ficl_top.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/ficl_oop.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/ficl.4.96.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/ficl.4.64.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/ficl.4.128.jpg
+%%PORTDOCS%%%%DOCSDIR%%/graphics/4ring.gif
+@dirrm %%PORTDOCS%%%%DOCSDIR%%/graphics
+%%PORTDOCS%%%%DOCSDIR%%/ficl.html
+%%PORTDOCS%%%%DOCSDIR%%/favicon.ico
+%%PORTDOCS%%%%DOCSDIR%%/dpans.html
+%%PORTDOCS%%%%DOCSDIR%%/debugger.html
+%%PORTDOCS%%%%DOCSDIR%%/articles/sigplan9906.doc
+%%PORTDOCS%%%%DOCSDIR%%/articles/oo_in_c.html
+%%PORTDOCS%%%%DOCSDIR%%/articles/jwsforml.pdf
+%%PORTDOCS%%%%DOCSDIR%%/articles/ficlddj.pdf
+@dirrm %%PORTDOCS%%%%DOCSDIR%%/articles
+%%PORTDOCS%%%%DOCSDIR%%/api.html