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-all
mailing list