Index: lang/Makefile =================================================================== --- lang/Makefile +++ lang/Makefile @@ -295,6 +295,7 @@ SUBDIR += racket-minimal SUBDIR += ratfor SUBDIR += referenceassemblies-pcl + SUBDIR += retro12 SUBDIR += rexx-imc SUBDIR += rexx-regina SUBDIR += rexx-regutil Index: lang/retro12/Makefile =================================================================== --- /dev/null +++ lang/retro12/Makefile @@ -0,0 +1,52 @@ +# $FreeBSD$ + +PORTNAME= retro12 +DISTVERSION= 2018.1 +CATEGORIES= lang +MASTER_SITES= https://forthworks.com/retro/r/ +DISTNAME= ${PORTNAME:tu}-${DISTVERSION} + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Clean, elegant, and pragmatic dialect of Forth + +LICENSE= ISCL +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +PLIST_FILES= bin/embedimage \ + bin/extend \ + bin/listener \ + bin/muri \ + bin/repl \ + bin/rre \ + bin/unu +PORTDATA= glossary.forth \ + ngaImage \ + words.tsv + +OPTIONS_DEFINE= DOCS EXAMPLES + +PORTDOCS= doc \ + literate \ + README.md \ + RELEASE_NOTES.md + +PORTEXAMPLES= example + +do-build: + @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./build.sh + +do-install: +.for f in embedimage extend muri repl rre unu + ${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f} +.endfor + ${INSTALL_SCRIPT} ${WRKSRC}/bin/listener ${STAGEDIR}${PREFIX}/bin/listener + cd ${WRKSRC} && \ + ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR} + +do-install-DOCS-on: + cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDOCS}" ${STAGEDIR}${DOCSDIR} + +do-install-EXAMPLES-on: + cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTEXAMPLES}" ${STAGEDIR}${EXAMPLESDIR} + +.include Index: lang/retro12/distinfo =================================================================== --- /dev/null +++ lang/retro12/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1517182308 +SHA256 (RETRO12-2018.1.tar.gz) = 00d2ecdf586ea183ff58a7586f66fa9b1906c25fff0d70fa8591ac7c50508937 +SIZE (RETRO12-2018.1.tar.gz) = 177247 Index: lang/retro12/files/patch-build.sh =================================================================== --- /dev/null +++ lang/retro12/files/patch-build.sh @@ -0,0 +1,48 @@ +--- build.sh.orig 2018-01-17 13:10:18 UTC ++++ build.sh +@@ -7,14 +7,14 @@ rm -f bin/extend + rm -f bin/muri + + cd tools +-cc -O3 -c embedimage.c -o embedimage.o +-cc -O3 -c extend.c -o extend.o +-cc -O3 -c unu.c -o unu.o +-cc -O3 -c muri.c -o muri.o +-cc unu.o -lm -o unu +-cc muri.o -lm -o muri +-cc embedimage.o -lm -o embedimage +-cc extend.o -lm -o extend ++$CC $CFLAGS -c embedimage.c -o embedimage.o ++$CC $CFLAGS -c extend.c -o extend.o ++$CC $CFLAGS -c unu.c -o unu.o ++$CC $CFLAGS -c muri.c -o muri.o ++$CC $LDFLAGS unu.o -lm -o unu ++$CC $LDFLAGS muri.o -lm -o muri ++$CC $LDFLAGS embedimage.o -lm -o embedimage ++$CC $LDFLAGS extend.o -lm -o extend + mv embedimage ../bin + mv extend ../bin + mv unu ../bin +@@ -45,16 +45,16 @@ cd interfaces + ../bin/extend rre.forth + ../bin/embedimage >image.c + rm ngaImage +-cc -O3 -c rre.c -o rre.o +-cc -O3 -c repl.c -o repl.o +-cc rre.o -lm -o rre +-cc repl.o -o repl ++$CC $CFLAGS -c rre.c -o rre.o ++$CC $CFLAGS -c repl.c -o repl.o ++$CC $LDFLAGS rre.o -lm -o rre ++$CC $LDFLAGS repl.o -o repl + mv rre ../bin + mv repl ../bin + rm *.o + cd .. + + echo "Update Glossary" +-cat words.tsv | sort >/tmp/words +-mv /tmp/words words.tsv ++cat words.tsv | sort >words.tmp ++mv words.tmp words.tsv + ./bin/rre glossary.forth export glossary >doc/Glossary.txt Index: lang/retro12/pkg-descr =================================================================== --- /dev/null +++ lang/retro12/pkg-descr @@ -0,0 +1,16 @@ +RETRO is a clean, elegant, and pragmatic dialect of Forth. It provides +a simple alternative for those willing to make a break from legacy +systems. + +The language draws influences from many sources including traditional +Forth systems, cmForth, colorForth, Factor, and Parable. It was +designed to be easy to grasp and adapt to specific uses. + +The basic language is very portable. It runs on a tiny virtual +machine (Nga), which is written in C. There are multiple interface +options, the main one (rre) is buildable with just the standard C +compiler and libraries on most systems (tested at various points +on Linux, NetBSD, macOS, and Windows, on x86, x86-64, PPC [emulated], +and various ARM processors). + +WWW: https://forthworks.com/retro