1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

New port: lang/retro12: Clean, elegant, and pragmatic dialect of Forth

See details in https://forthworks.com/retro

PR:		225320
Submitted by:	Mateusz Piotrowski <mpp302@gmail.com>
Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D14102
This commit is contained in:
Yuri Victorovich 2018-01-29 19:12:29 +00:00
parent 8d26fd53bd
commit 92d8728873
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=460323
5 changed files with 120 additions and 0 deletions

View File

@ -293,6 +293,7 @@
SUBDIR += racket-minimal
SUBDIR += ratfor
SUBDIR += referenceassemblies-pcl
SUBDIR += retro12
SUBDIR += rexx-imc
SUBDIR += rexx-regina
SUBDIR += rexx-regutil

52
lang/retro12/Makefile Normal file
View File

@ -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 <bsd.port.mk>

3
lang/retro12/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1517182308
SHA256 (RETRO12-2018.1.tar.gz) = 00d2ecdf586ea183ff58a7586f66fa9b1906c25fff0d70fa8591ac7c50508937
SIZE (RETRO12-2018.1.tar.gz) = 177247

View File

@ -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

16
lang/retro12/pkg-descr Normal file
View File

@ -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