mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v3] jimtcl: new package
@ 2018-09-19  8:38 Ladislav Michl
  2018-10-04 10:00 ` Ladislav Michl
  0 siblings, 1 reply; 4+ messages in thread
From: Ladislav Michl @ 2018-09-19  8:38 UTC (permalink / raw)
  To: ptxdist

Jim is an opensource small-footprint implementation of the Tcl
programming language. So far only default extensions are
compiled - lets see what users really need.
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 <ladis@linux-mips.org>
---
 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.

 rules/host-jimtcl.in   |  6 +++
 rules/host-jimtcl.make | 36 +++++++++++++++++
 rules/jimtcl.in        | 50 ++++++++++++++++++++++++
 rules/jimtcl.make      | 88 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 180 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..86483f394
--- /dev/null
+++ b/rules/host-jimtcl.make
@@ -0,0 +1,36 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
+#
+# 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_ENV	:= $(HOST_ENV)
+HOST_JIMTCL_CONF_TOOL	:= autoconf
+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..1e052d3e4
--- /dev/null
+++ b/rules/jimtcl.in
@@ -0,0 +1,50 @@
+## 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
+	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..b7d0217ea
--- /dev/null
+++ b/rules/jimtcl.make
@@ -0,0 +1,88 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <ladis@linux-mips.org>
+#
+# 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
+JIMTCL_CONF_ENV		:= \
+	$(CROSS_ENV) \
+	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 <ladis@linux-mips.org>")
+	@$(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.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH v3] jimtcl: new package
  2018-09-19  8:38 [ptxdist] [PATCH v3] jimtcl: new package Ladislav Michl
@ 2018-10-04 10:00 ` Ladislav Michl
  2018-10-04 10:54   ` [ptxdist] [PATCH] fixup! " Roland Hieber
  0 siblings, 1 reply; 4+ messages in thread
From: Ladislav Michl @ 2018-10-04 10:00 UTC (permalink / raw)
  To: ptxdist

Michael, Roland,

any more comments on this package? I do not want pushing too much,
but this is prerequisite for usb_modeswitch fix...

Thank you,
	ladis

On Wed, Sep 19, 2018 at 10:38:11AM +0200, Ladislav Michl wrote:
> Jim is an opensource small-footprint implementation of the Tcl
> programming language. So far only default extensions are
> compiled - lets see what users really need.
> This package is intended to replace Tcl (which is in staging
> already) as it fits PTXdist more due to its small size.

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH] fixup! jimtcl: new package
  2018-10-04 10:00 ` Ladislav Michl
@ 2018-10-04 10:54   ` Roland Hieber
  2018-10-04 18:15     ` Ladislav Michl
  0 siblings, 1 reply; 4+ messages in thread
From: Roland Hieber @ 2018-10-04 10:54 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Hi ladis,

Sorry for the delay on my side.  The ccache issue was still bugging me,
but it turned out we just have to set CCACHE=none to prevent autosetup
from using it even when it is disabled in ptxdist setup.

With this patch the other errors I reported in PATCH v1 series are gone
too. Feel free to squash it into your series :-)

 - Roland


---
 rules/host-jimtcl.make | 5 ++++-
 rules/jimtcl.make      | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/rules/host-jimtcl.make b/rules/host-jimtcl.make
index 86483f394..b12943fc2 100644
--- a/rules/host-jimtcl.make
+++ b/rules/host-jimtcl.make
@@ -25,8 +25,11 @@ HOST_JIMTCL_DIR	:= $(HOST_BUILDDIR)/$(HOST_JIMTCL)
 
 #
 # Package is not using autoconf but autosetup which is enough compatible...
+# We set CCACHE=none because ptxdist injects ccache into $(CC) etc. when enabled
 #
-HOST_JIMTCL_CONF_ENV	:= $(HOST_ENV)
+HOST_JIMTCL_CONF_ENV	:= \
+	$(HOST_ENV) \
+	CCACHE=none
 HOST_JIMTCL_CONF_TOOL	:= autoconf
 HOST_JIMTCL_CONF_OPT	:= \
 	--prefix=/usr \
diff --git a/rules/jimtcl.make b/rules/jimtcl.make
index b7d0217ea..cabfede4a 100644
--- a/rules/jimtcl.make
+++ b/rules/jimtcl.make
@@ -31,10 +31,12 @@ JIMTCL_LICENSE	:= BSD-2-Clause
 
 #
 # Package is not using autoconf but autosetup which is enough compatible...
+# We set CCACHE=none because ptxdist injects ccache into $(CC) etc. when enabled
 #
 JIMTCL_CONF_TOOL	:= autoconf
 JIMTCL_CONF_ENV		:= \
 	$(CROSS_ENV) \
+	CCACHE=none \
 	autosetup_tclsh=$(PTXCONF_SYSROOT_HOST)/usr/bin/jimsh
 JIMTCL_CONF_OPT		:= \
 	$(CROSS_AUTOCONF_USR) \
-- 
2.19.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH] fixup! jimtcl: new package
  2018-10-04 10:54   ` [ptxdist] [PATCH] fixup! " Roland Hieber
@ 2018-10-04 18:15     ` Ladislav Michl
  0 siblings, 0 replies; 4+ messages in thread
From: Ladislav Michl @ 2018-10-04 18:15 UTC (permalink / raw)
  To: ptxdist

On Thu, Oct 04, 2018 at 12:54:38PM +0200, Roland Hieber wrote:
> Hi ladis,
> 
> Sorry for the delay on my side.  The ccache issue was still bugging me,
> but it turned out we just have to set CCACHE=none to prevent autosetup
> from using it even when it is disabled in ptxdist setup.
> 
> With this patch the other errors I reported in PATCH v1 series are gone
> too. Feel free to squash it into your series :-)

Thank you, done as v4. Once package gets accepted, there are two patches
waiting for it:
[PATCH v3 2/3] usb_modeswitch: version bump 2.5.1 -> 2.5.2
[PATCH v3 3/3] usb_modeswitch: link dispatcher against JimTcl
Eventually I can resend whole serie when needed.

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-10-04 18:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-19  8:38 [ptxdist] [PATCH v3] jimtcl: new package Ladislav Michl
2018-10-04 10:00 ` Ladislav Michl
2018-10-04 10:54   ` [ptxdist] [PATCH] fixup! " Roland Hieber
2018-10-04 18:15     ` Ladislav Michl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox