Jim is an opensource small-footprint implementation of the Tcl
programming language.
This package is intended to replace Tcl (which is in staging
already) as it fits PTXdist more due to its small size.

Signed-off-by: Ladislav Michl <[email protected]>
---
 Changes:
 -v2: use http url to help poor firewalled developers in corporate
 -v3: bootstrap using host-jimtcl. If no tclsh is found inside host-jimtcl
      package just compiles its own bootsrap shell. Add config support
      for build options.
 -v4: set CCACHE=none to prevent jimtcl to discover ccache on its own
      (squashed patch by Roland Hieber)
 -v5: fix trailing space, add !TCL dependency for jim shell

 rules/host-jimtcl.in   |  6 +++
 rules/host-jimtcl.make | 40 +++++++++++++++++++
 rules/jimtcl.in        | 51 +++++++++++++++++++++++
 rules/jimtcl.make      | 91 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 188 insertions(+)
 create mode 100644 rules/host-jimtcl.in
 create mode 100644 rules/host-jimtcl.make
 create mode 100644 rules/jimtcl.in
 create mode 100644 rules/jimtcl.make

diff --git a/rules/host-jimtcl.in b/rules/host-jimtcl.in
new file mode 100644
index 000000000..ccd2d23bd
--- /dev/null
+++ b/rules/host-jimtcl.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+## SECTION=hosttools_platform
+
+config HOST_JIMTCL
+       tristate
+       default ALLYES
diff --git a/rules/host-jimtcl.make b/rules/host-jimtcl.make
new file mode 100644
index 000000000..60738f752
--- /dev/null
+++ b/rules/host-jimtcl.make
@@ -0,0 +1,40 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <[email protected]>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_JIMTCL) += host-jimtcl
+
+#
+# Paths and names
+#
+HOST_JIMTCL    := $(JIMTCL)
+HOST_JIMTCL_DIR        := $(HOST_BUILDDIR)/$(HOST_JIMTCL)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# Package is not using autoconf but autosetup which is enough compatible...
+#
+HOST_JIMTCL_CONF_TOOL  := autoconf
+# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
+# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
+HOST_JIMTCL_CONF_ENV   := \
+       $(HOST_ENV) \
+       CCACHE=none
+HOST_JIMTCL_CONF_OPT   := \
+       --prefix=/usr \
+       --disable-lineedit \
+       --disable-docs
+
+# vim: syntax=make
diff --git a/rules/jimtcl.in b/rules/jimtcl.in
new file mode 100644
index 000000000..ce9e4993c
--- /dev/null
+++ b/rules/jimtcl.in
@@ -0,0 +1,51 @@
+## SECTION=scripting_languages
+
+menuconfig JIMTCL
+       tristate
+       prompt "jimtcl                        "
+       select HOST_JIMTCL
+       select LIBC_M           if JIMTCL_MATH
+       select OPENSSL          if JIMTCL_SSL
+       help
+         Jim provides a powerful Tcl language implemented in roughly
+         10k lines of code making it suitable for deployment on
+         Embedded Systems.
+
+if JIMTCL
+
+config JIMTCL_SHELL
+       bool "install jimsh"
+       help
+         Install Tcl shell on the target
+
+config JIMTCL_SYMLINK
+       bool "install tclsh symlink"
+       depends on JIMTCL_SHELL
+       depends on !TCL
+       help
+         Make tclsh symlink to jimsh
+
+config JIMTCL_UTF8
+       bool "support utf8"
+
+config JIMTCL_LINEEDIT
+       bool "line editing"
+       default y
+
+config JIMTCL_REFERENCES
+       bool "support references"
+       default y
+
+config JIMTCL_MATH
+       bool "support math functions"
+
+config JIMTCL_SSL
+       bool "ssl/tls support in the aio extension"
+
+config JIMTCL_POSIX_REGEX
+       bool "use POSIX regex instead the built-in (Tcl-compatible) regex"
+
+config JIMTCL_RANDOM_HASH
+       bool "randomise hash tables"
+
+endif
diff --git a/rules/jimtcl.make b/rules/jimtcl.make
new file mode 100644
index 000000000..ad8b3608b
--- /dev/null
+++ b/rules/jimtcl.make
@@ -0,0 +1,91 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <[email protected]>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_JIMTCL) += jimtcl
+
+#
+# Paths and names
+#
+JIMTCL_VERSION := 0.78
+JIMTCL_MD5     := bde9021d78a77fe28e1bbc423142ab23
+JIMTCL         := jimtcl-$(JIMTCL_VERSION)
+JIMTCL_SUFFIX  := tar.xz
+JIMTCL_URL     := http://repo.or.cz/jimtcl.git;tag=$(JIMTCL_VERSION)
+JIMTCL_SOURCE  := $(SRCDIR)/$(JIMTCL).$(JIMTCL_SUFFIX)
+JIMTCL_DIR     := $(BUILDDIR)/$(JIMTCL)
+JIMTCL_LICENSE := BSD-2-Clause
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# Package is not using autoconf but autosetup which is enough compatible...
+#
+JIMTCL_CONF_TOOL       := autoconf
+# autosetup/cc.tcl tries to discover ccache on its own, so use 'CCACHE=none'
+# to prevent that and leave PTXCONF_SETUP_CCACHE in charge.
+JIMTCL_CONF_ENV                := \
+       $(CROSS_ENV) \
+       CCACHE=none \
+       autosetup_tclsh=$(PTXCONF_SYSROOT_HOST)/usr/bin/jimsh
+JIMTCL_CONF_OPT                := \
+       $(CROSS_AUTOCONF_USR) \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_UTF8,--utf8,) \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_LINEEDIT,,--disable-lineedit) \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_REFERENCES,,--disable-references) \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_MATH,--math,) \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_SSL,--ssl,) \
+       $(call ptx/ifdef, PTXCONF_GLOBAL_IPV6,--ipv6,) \
+       --shared \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_POSIX_REGEX,--disable-jim-regexp,) \
+       --disable-docs \
+       $(call ptx/ifdef, PTXCONF_JIMTCL_RANDOM_HASH,--random-hash,)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/jimtcl.install:
+       @$(call targetinfo)
+       @$(call world/install, JIMTCL)
+       @ln -sf libjim.so.$(JIMTCL_VERSION) $(JIMTCL_PKGDIR)/usr/lib/libjim.so
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/jimtcl.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, jimtcl)
+       @$(call install_fixup, jimtcl, PRIORITY, optional)
+       @$(call install_fixup, jimtcl, SECTION, base)
+       @$(call install_fixup, jimtcl, AUTHOR, "Ladislav Michl 
<[email protected]>")
+       @$(call install_fixup, jimtcl, DESCRIPTION, \
+               "A small footprint implementation of the Tcl programming 
language")
+
+ifdef PTXCONF_JIMTCL_SHELL
+       @$(call install_copy, jimtcl, 0, 0, 0755, -, /usr/bin/jimsh)
+ifdef PTXCONF_JIMTCL_SYMLINK
+       @$(call install_link, jimtcl, jimsh, /usr/bin/tclsh)
+endif
+endif
+       @$(call install_lib, jimtcl, 0, 0, 0644, libjim)
+
+       @$(call install_finish, jimtcl)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.19.1


_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to