4th: new package

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
[Thomas:
 - fix the license information, it's GPLv3+, LGPLv3+.
 - add a comment about the COPYING file containing only the LGPLv3 text,
   even though there is some GPLv3+ code.
 - minor tweaks in the .mk file
 - rewrap Config.in help text.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016.08.x
Francois Perrad 2016-07-05 21:05:20 +02:00 committed by Thomas Petazzoni
parent d55c6b132e
commit ac4471d09f
5 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,17 @@
avoid regen during install
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
--- a/sources/Makefile
+++ b/sources/Makefile
@@ -120,7 +120,7 @@
ln -sf $(SHARED_LIB) $(LIBRARIES)/lib4th.so
endif
-mostlyinstall: libinstall all
+mostlyinstall: libinstall
cp 4th 4tsh pp4th $(BINARIES)
install: mostlyinstall
--

View File

@ -0,0 +1,2 @@
# Locally computed:
sha256 1c7adbb1a56dad4c4c781e6e023d77ac862842560c05246b691d07e9a4460ab2 4th-3.62.4-unix.tar.gz

63
package/4th/4th.mk 100644
View File

@ -0,0 +1,63 @@
################################################################################
#
# 4th
#
################################################################################
4TH_VERSION = 3.62.4
4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
4TH_LICENSE = GPLv3+, LGPLv3+
# The COPYING file only contains the text of the LGPLv3, but the
# source code really contains parts under GPLv3+.
4TH_LICENSE_FILES = COPYING
4TH_DEPENDENCIES = host-4th
4TH_INSTALL_STAGING = YES
ifeq ($(BR2_STATIC_LIBS),y)
4TH_MAKE_ENV = STATIC=1
else
4TH_MAKE_ENV = SHARED=1
endif
define 4TH_BUILD_CMDS
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources all \
CROSS="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS) -DUNIX -fsigned-char" \
FOURTH=$(HOST_DIR)/usr/bin/4th
endef
define 4TH_INSTALL_STAGING_CMDS
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources libinstall \
LIBRARIES=$(STAGING_DIR)/usr/lib
$(INSTALL) -D -m 0644 $(@D)/sources/4th.h \
$(STAGING_DIR)/usr/include/4th.h
endef
define 4TH_INSTALL_TARGET_CMDS
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources mostlyinstall \
BINARIES=$(TARGET_DIR)/usr/bin \
LIBRARIES=$(TARGET_DIR)/usr/lib
mkdir -p $(TARGET_DIR)/usr/share/4th/lib
cp -dpf $(@D)/4th/*.4th $(TARGET_DIR)/usr/share/4th
cp -dpf $(@D)/4th/lib/*.4th $(TARGET_DIR)/usr/share/4th/lib
mkdir -p $(TARGET_DIR)/usr/share/4th/demo
cp -dpf $(@D)/4th/demo/*.4th $(TARGET_DIR)/usr/share/4th/demo
mkdir -p $(TARGET_DIR)/usr/share/4th/4pp/lib
cp -dpf $(@D)/4th/4pp/*.4pp $(TARGET_DIR)/usr/share/4th/4pp
cp -dpf $(@D)/4th/4pp/lib/*.4pp $(TARGET_DIR)/usr/share/4th/4pp/lib
endef
define HOST_4TH_BUILD_CMDS
$(MAKE) -C $(@D)/sources all \
CFLAGS="$(HOST_CFLAGS) -DUNIX -fsigned-char"
endef
define HOST_4TH_INSTALL_CMDS
$(MAKE) -C $(@D)/sources mostlyinstall \
BINARIES=$(HOST_DIR)/usr/bin \
LIBRARIES=$(HOST_DIR)/usr/lib
endef
$(eval $(generic-package))
$(eval $(host-generic-package))

View File

@ -0,0 +1,8 @@
config BR2_PACKAGE_4TH
bool "4th"
help
4tH is a Forth compiler that can create bytecode,
C-embeddable bytecode, standalone executables, but also
works fine as a scripting language
http://thebeez.home.xs4all.nl/4tH/

View File

@ -469,6 +469,7 @@ endmenu
endmenu
menu "Interpreter languages and scripting"
source "package/4th/Config.in"
source "package/enscript/Config.in"
source "package/erlang/Config.in"
if BR2_PACKAGE_ERLANG