svn commit: r568598 - in head/lang: . mecrisp-stellaris

Neel Chauhan nc at FreeBSD.org
Tue Mar 16 18:26:33 UTC 2021


Author: nc
Date: Tue Mar 16 18:26:31 2021
New Revision: 568598
URL: https://svnweb.freebsd.org/changeset/ports/568598

Log:
  New port: lang/mecrisp-stellaris: native code Forth for ARM
  
  Mecrisp Stellaris is an implementation of a standalone native code Forth for
  ARM. It fits into 16 kb of flash and runs with at least 1 kb of RAM. You can    choose to compile to flash or to RAM, and it generates native code with
  folding, inlining of short words and it opcodes common instructions. Note that  it doesn't need to save any pointers, so it compiles directly into flash memory
  without the need for erase cycles. Although it is in spirit of ANS, there are a few differences: Be careful!
  
  PR:             253938
  Submitted by:   Robert Clausecker <fuz AT fuz DOT su>

Added:
  head/lang/mecrisp-stellaris/
  head/lang/mecrisp-stellaris/Makefile   (contents, props changed)
  head/lang/mecrisp-stellaris/distinfo   (contents, props changed)
  head/lang/mecrisp-stellaris/pkg-descr   (contents, props changed)
  head/lang/mecrisp-stellaris/pkg-plist   (contents, props changed)
Modified:
  head/lang/Makefile

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Tue Mar 16 18:16:43 2021	(r568597)
+++ head/lang/Makefile	Tue Mar 16 18:26:31 2021	(r568598)
@@ -177,6 +177,7 @@
     SUBDIR += maude
     SUBDIR += mawk
     SUBDIR += mdk
+    SUBDIR += mecrisp-stellaris
     SUBDIR += micropython
     SUBDIR += mit-scheme
     SUBDIR += mixal

Added: head/lang/mecrisp-stellaris/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/mecrisp-stellaris/Makefile	Tue Mar 16 18:26:31 2021	(r568598)
@@ -0,0 +1,47 @@
+# $FreeBSD$
+
+PORTNAME=	mecrisp-stellaris
+DISTVERSION=	2.5.6
+CATEGORIES=	lang
+MASTER_SITES=	SF/mecrisp
+
+MAINTAINER=	fuz at fuz.su
+COMMENT=	Native code Forth system for ARM
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS=	armv7
+ONLY_FOR_ARCHS_REASON=	written in ARM Thumb2 assembly
+
+# stripping eats our hand-crafted ELF binaries, so don't do that
+# the binaries are free of symbols or stuff like that anyway
+STRIP=
+# definitions assuming we build on ARM
+BINARY_ALIAS=	arm-none-eabi-as=${AS} \
+		arm-none-eabi-ld=${LD} \
+		arm-none-eabi-objcopy=${OBJCOPY}
+
+OPTIONS_DEFINE=		EXTRAS
+OPTIONS_DEFAULT=	EXTRAS
+EXTRAS_DESC=		Add disassembler and math library to Forth core
+EXTRAS_VARS=		PROGRAM=mecrisp-stellaris-freebsd-with-disassembler-and-math
+EXTRAS_VARS_OFF=	PROGRAM=mecrisp-stellaris-freebsd
+
+.include <bsd.port.options.mk>
+
+# Can't use the release script as it tries to build a bunch of stuff
+# that won't build correctly.  This does the relevant parts manually.
+do-build:
+	cd ${WRKSRC}/mecrisp-stellaris-source/freebsd-ra && ${SETENV} ${MAKE_ENV} ${SH} assemble
+	${CP} ${WRKSRC}/mecrisp-stellaris-source/freebsd-ra/mecrisp-stellaris-freebsd ${WRKSRC}/freebsd-ra/
+	cd ${WRKSRC}/freebsd-ra && ${SETENV} ${MAKE_ENV} ${SH} buildcore-freebsd
+
+do-install:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${WRKSRC}/KNOWN-ISSUES ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}/common; ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
+	${INSTALL_PROGRAM} ${WRKSRC}/freebsd-ra/${PROGRAM} ${STAGEDIR}${PREFIX}/bin/mecrisp-stellaris
+
+.include <bsd.port.mk>

Added: head/lang/mecrisp-stellaris/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/mecrisp-stellaris/distinfo	Tue Mar 16 18:26:31 2021	(r568598)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1614603481
+SHA256 (mecrisp-stellaris-2.5.6.tar.gz) = 59459eb6d9b3a6bb02d6c9c09e48bafb6ba633938ff419c0bdc447315cae6e86
+SIZE (mecrisp-stellaris-2.5.6.tar.gz) = 5628263

Added: head/lang/mecrisp-stellaris/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/mecrisp-stellaris/pkg-descr	Tue Mar 16 18:26:31 2021	(r568598)
@@ -0,0 +1,10 @@
+Mecrisp Stellaris is an implementation of a standalone native code Forth
+for ARM.  It fits into 16 kb of flash and runs with at least 1 kb of
+RAM.  You can choose to compile to flash or to RAM, and it generates
+native code with folding, inlining of short words and it opcodes common
+instructions.  Note that it doesn't need to save any pointers, so it
+compiles directly into flash memory without the need for erase cycles.
+Although it is in spirit of ANS, there are a few differences: Be
+careful!
+
+WWW: http://mecrisp.sourceforge.net

Added: head/lang/mecrisp-stellaris/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/mecrisp-stellaris/pkg-plist	Tue Mar 16 18:26:31 2021	(r568598)
@@ -0,0 +1,168 @@
+bin/mecrisp-stellaris
+%%DOCSDIR%%/KNOWN-ISSUES
+%%DOCSDIR%%/README
+%%DATADIR%%/VIS/VIS-README
+%%DATADIR%%/VIS/vis-0.8.4-disassembler-m3.fs
+%%DATADIR%%/VIS/vis-0.8.4-mecrisp-stellaris.fs
+%%DATADIR%%/VIS/vis-conditional-200x.txt
+%%DATADIR%%/accept-replacement.txt
+%%DATADIR%%/ansification-tester.txt
+%%DATADIR%%/ansification.txt
+%%DATADIR%%/assembler-m0-examples.txt
+%%DATADIR%%/assembler-m0.txt
+%%DATADIR%%/bitflip.txt
+%%DATADIR%%/bitlog.txt
+%%DATADIR%%/blocks.txt
+%%DATADIR%%/calltrace.txt
+%%DATADIR%%/catchthrow.txt
+%%DATADIR%%/charcomma.txt
+%%DATADIR%%/circles.txt
+%%DATADIR%%/conditional-200x.txt
+%%DATADIR%%/conditional.txt
+%%DATADIR%%/cordic-tests.txt
+%%DATADIR%%/cordic.txt
+%%DATADIR%%/cycles.txt
+%%DATADIR%%/date-time-tests.fs
+%%DATADIR%%/date-time.fs
+%%DATADIR%%/defcount.txt
+%%DATADIR%%/disassembler-m0.txt
+%%DATADIR%%/disassembler-m3.txt
+%%DATADIR%%/dump.txt
+%%DATADIR%%/editor.txt
+%%DATADIR%%/examples.txt
+%%DATADIR%%/experimental/bignum.txt
+%%DATADIR%%/experimental/definitioncount.txt
+%%DATADIR%%/experimental/float.txt
+%%DATADIR%%/experimental/forget-stellaris.txt
+%%DATADIR%%/experimental/vocs-0.7.0/README
+%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Classes-1.log
+%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Classes-2.log
+%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-DataTypes.log.
+%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Registers.log
+%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/GPIO.txt
+%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/Pendulum
+%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/RGB-LED.txt
+%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/SysTick
+%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/das.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Classes-1.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Classes-2.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-DataTypes.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Registers.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/abort
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/classes.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/search-order.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/struct.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/vocs.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/wordlists.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FRV/classes.txt
+%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FRV/vocs.txt
+%%DATADIR%%/fixpt-math-lib-tests.fs
+%%DATADIR%%/fixpt-math-lib.fs
+%%DATADIR%%/floored-divide.txt
+%%DATADIR%%/fonts/8859-1.TXT
+%%DATADIR%%/fonts/8859-15.TXT
+%%DATADIR%%/fonts/AWARD_ATARI_PC_BIOS_3.08.img
+%%DATADIR%%/fonts/Atari-Font.txt
+%%DATADIR%%/fonts/CP437.TXT
+%%DATADIR%%/fonts/Commodore-C64-Chargen.img
+%%DATADIR%%/fonts/Commodore-C64-Chargen.txt
+%%DATADIR%%/fonts/Commodore-Font.txt
+%%DATADIR%%/fonts/convertfonts
+%%DATADIR%%/fonts/forthfont-8x16-drawing.pas
+%%DATADIR%%/fonts/forthfont-8x16.pas
+%%DATADIR%%/fonts/forthfont-8x8-drawing.pas
+%%DATADIR%%/fonts/forthfont-8x8.pas
+%%DATADIR%%/fonts/iso-8x16
+%%DATADIR%%/fonts/iso-8x16.fs
+%%DATADIR%%/fonts/iso-8x16.txt
+%%DATADIR%%/fonts/iso-8x8
+%%DATADIR%%/fonts/iso-8x8.fs
+%%DATADIR%%/fonts/iso-8x8.txt
+%%DATADIR%%/fonts/iso15-8x16
+%%DATADIR%%/fonts/iso15-8x16.fs
+%%DATADIR%%/fonts/iso15-8x16.txt
+%%DATADIR%%/fonts/iso15-8x8
+%%DATADIR%%/fonts/iso15-8x8.fs
+%%DATADIR%%/fonts/iso15-8x8.txt
+%%DATADIR%%/fonts/scanbinary.pas
+%%DATADIR%%/fonts/tiny/bdf2forth.pas
+%%DATADIR%%/fonts/tiny/tom-thumb-b.txt
+%%DATADIR%%/fonts/tiny/tom-thumb.bdf
+%%DATADIR%%/forget-stellaris.txt
+%%DATADIR%%/graphics-unicode-3x3.txt
+%%DATADIR%%/graphics-unicode-4x6.txt
+%%DATADIR%%/graphics-unicode-8x16.txt
+%%DATADIR%%/graphics-unicode-8x8.txt
+%%DATADIR%%/graphics.txt
+%%DATADIR%%/graycode.txt
+%%DATADIR%%/longcomment.txt
+%%DATADIR%%/multitask-debug.txt
+%%DATADIR%%/multitask-examples.txt
+%%DATADIR%%/multitask.txt
+%%DATADIR%%/nvic.txt
+%%DATADIR%%/profiler.txt
+%%DATADIR%%/prompt.txt
+%%DATADIR%%/pseudorandom.txt
+%%DATADIR%%/quotations.txt
+%%DATADIR%%/romans.txt
+%%DATADIR%%/router.txt
+%%DATADIR%%/sine.txt
+%%DATADIR%%/sqrt.txt
+%%DATADIR%%/sunrise-sunset.fs
+%%DATADIR%%/svd2forth-v1/COPYING
+%%DATADIR%%/svd2forth-v1/Makefile
+%%DATADIR%%/svd2forth-v1/README.txt
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/COPYING
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/README.txt
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_make.sh
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_memmap.xsl
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_print.xsl
+%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_set.xsl
+%%DATADIR%%/svd2forth-v1/ancient/registergenerator/README
+%%DATADIR%%/svd2forth-v1/ancient/registergenerator/convert-with-bitfields.sh
+%%DATADIR%%/svd2forth-v1/ancient/registergenerator/convert.sh
+%%DATADIR%%/svd2forth-v1/ancient/registergenerator/extract-mecrisp.xsl
+%%DATADIR%%/svd2forth-v1/ancient/registergenerator/extract-with-bitfields.xsl
+%%DATADIR%%/svd2forth-v1/mk.template.xsl
+%%DATADIR%%/svd2forth-v1/process.sh
+%%DATADIR%%/svd2forth-v1/register-reference.xsl
+%%DATADIR%%/svd2forth-v1/svdcutter.xsl
+%%DATADIR%%/svd2forth-v1/svduf.xsl
+%%DATADIR%%/svd2forth-v2/Makefile
+%%DATADIR%%/svd2forth-v2/README.txt
+%%DATADIR%%/svd2forth-v2/ancient/Makefile
+%%DATADIR%%/svd2forth-v2/ancient/README.txt
+%%DATADIR%%/svd2forth-v2/ancient/STM32F0xx.svd
+%%DATADIR%%/svd2forth-v2/ancient/mk.template.xsl
+%%DATADIR%%/svd2forth-v2/ancient/registers.xsl
+%%DATADIR%%/svd2forth-v2/ancient/svdcutter.xsl
+%%DATADIR%%/svd2forth-v2/ancient/svduf.xsl
+%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB0.sh
+%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB1.sh
+%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB2.sh
+%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB3.sh
+%%DATADIR%%/svd2forth-v2/mk.template.xsl
+%%DATADIR%%/svd2forth-v2/registers.xsl
+%%DATADIR%%/svd2forth-v2/svdcutter.xsl
+%%DATADIR%%/svd2forth-v2/svduf.xsl
+%%DATADIR%%/svd2forth-v3/1b.fs
+%%DATADIR%%/svd2forth-v3/Makefile
+%%DATADIR%%/svd2forth-v3/README.txt
+%%DATADIR%%/svd2forth-v3/STM32L07x.svd
+%%DATADIR%%/svd2forth-v3/bitfields-rcc-screenshot.txt
+%%DATADIR%%/svd2forth-v3/bitfields.xsl
+%%DATADIR%%/svd2forth-v3/equates-rcc-sample.txt
+%%DATADIR%%/svd2forth-v3/mk.template.xsl
+%%DATADIR%%/svd2forth-v3/raw-svd-clean.sh
+%%DATADIR%%/svd2forth-v3/register-print-screenshot.txt
+%%DATADIR%%/svd2forth-v3/svd2gas-equates.xsl
+%%DATADIR%%/svd2forth-v3/svdcutter.xsl
+%%DATADIR%%/svd2forth-v3/svduf.xsl
+%%DATADIR%%/svd2gas/Makefile
+%%DATADIR%%/svd2gas/README.txt
+%%DATADIR%%/svd2gas/mk.template.xsl
+%%DATADIR%%/svd2gas/svd2gas.xsl
+%%DATADIR%%/svd2gas/svduf.xsl
+%%DATADIR%%/trace.txt
+%%DATADIR%%/value-classic.txt
+%%DATADIR%%/value-ra.txt


More information about the svn-ports-head mailing list