diff --git a/lang/mecrisp-stellaris/Makefile b/lang/mecrisp-stellaris/Makefile index fb5383be14b9..3a4ce5c5fe0d 100644 --- a/lang/mecrisp-stellaris/Makefile +++ b/lang/mecrisp-stellaris/Makefile @@ -1,51 +1,57 @@ PORTNAME= mecrisp-stellaris -DISTVERSION= 2.5.8 -PORTREVISION= 1 +DISTVERSION= 2.5.9 CATEGORIES= lang MASTER_SITES= SF/mecrisp MAINTAINER= fuz@fuz.su COMMENT= Native code Forth system for ARM LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING +BUILD_DEPENDS= arm-none-eabi-binutils>2.25:devel/binutils@arm_none_eabi + 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 .if ${OSVERSION} < 1300000 ONLY_FOR_ARCHS= armv6 armv7 .else -ONLY_FOR_ARCHS= armv6 armv7 aarch64 +ONLY_FOR_ARCHS= aarch64 armv6 armv7 .endif ONLY_FOR_ARCHS_REASON= written in ARM assembly -BUILD_DEPENDS= arm-none-eabi-binutils>2.25:devel/binutils@arm_none_eabi +.if ${ARCH} == "aarch64" && defined(QEMU_EMULATING) +IGNORE= fails to build with qemu-user-static: \ + qemu-aarch64-static cannot execute armv7 binaries +.endif + +PKGMESSAGE= pkg-message-${ARCH} AFLAGS.armv6= -march=armv6 --defsym m0core=1 MAKE_ENV+= AFLAGS="${AFLAGS.${ARCH}}" # stripping eats our hand-crafted ELF binaries, so don't do that # the binaries are free of symbols or stuff like that anyway STRIP= # 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} -v assemble ${CP} ${WRKSRC}/mecrisp-stellaris-source/freebsd-ra/mecrisp-stellaris-freebsd ${WRKSRC}/freebsd-ra/ cd ${WRKSRC}/freebsd-ra && ${SETENV} ${MAKE_ENV} ${SH} -v 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 diff --git a/lang/mecrisp-stellaris/distinfo b/lang/mecrisp-stellaris/distinfo index 9d248bc91bfd..2a640d0a6126 100644 --- a/lang/mecrisp-stellaris/distinfo +++ b/lang/mecrisp-stellaris/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1616415161 -SHA256 (mecrisp-stellaris-2.5.8.tar.gz) = 52d82dc938b4b4b15bba6e77d20112525789e23ac982e464f9ae9274d404784e -SIZE (mecrisp-stellaris-2.5.8.tar.gz) = 5809418 +TIMESTAMP = 1621882899 +SHA256 (mecrisp-stellaris-2.5.9.tar.gz) = 56539aeb2ff8f7d36f2149410255ec683b8279feb7dbadbda4e14a96528e598a +SIZE (mecrisp-stellaris-2.5.9.tar.gz) = 5835193 diff --git a/lang/mecrisp-stellaris/files/patch-mecrisp-stellaris-source_freebsd-ra_terminal.s b/lang/mecrisp-stellaris/files/patch-mecrisp-stellaris-source_freebsd-ra_terminal.s deleted file mode 100644 index 9aecba07f8bb..000000000000 --- a/lang/mecrisp-stellaris/files/patch-mecrisp-stellaris-source_freebsd-ra_terminal.s +++ /dev/null @@ -1,25 +0,0 @@ ---- mecrisp-stellaris-source/freebsd-ra/terminal.s.orig 2021-04-10 12:49:15 UTC -+++ mecrisp-stellaris-source/freebsd-ra/terminal.s -@@ -167,7 +167,6 @@ serial_key: @ ( -- c ) Receive one character - cacheflush: - @ ----------------------------------------------------------------------------- - --.ifdef m0core - @ ARMv6 hat keine Speicherbarrieren. Das muss über einen syscall realisiert werden - push {r4-r7, lr} - movs r0, #0 @ ARM_SYNC_ICACHE -@@ -180,14 +179,6 @@ cacheflush: - @ Datenstruktur arm_sync_icache_args für den sysarch-Aufruf - 0:.word incipit - .word totalsize -- --.else -- @ auf ARMv7 und später nehmen wir einfach die Barrien-Befehle -- dmb -- dsb -- isb -- bx lr --.endif - - @ ----------------------------------------------------------------------------- - Wortbirne Flag_foldable_0, "arguments" @ ( -- a-addr )