kbs discussion

kbs means Tclkit Kitgen Build System, and refers to a script which can be used to download the source files necessary to build a tclkit-like single file tcl interpreter, which can then be used with sdx to create starkits and starpacks.

RZ under development:

  • get rid of dependency sources/kbskit*/kbskit.kbs

Solution is to include all data in kbs.tcl file

  • Include command to reuse existing definitions
Package a1 {
 Source {Link x}
 Make {Run make}
 Install {Run make install}
Package a2 {
 Include a1
 Source {Link y}
# a2 has also Make and Install commands
Package a {Include a2}
# a is default with currently a2 
  * Allow overwriting and splitting of definitions
Package a1 {Source {Link x}}
Package a1 {Make {Run make}}
Package a1 {Install {Run make install}}
Package a1 {Source {Link x1}}

Open issues

  • syntax of new "remove" (or "del" or whatever) command to remove previously defined package definitions.

Workaround is currently:

unset ::kbs::config::packages(<package>)
  • additional commands p.e. descripition, home, ..
  • allow use of unique abbreviations of commands

Remarks and suggestions?

JOB - 2014-11-18 11:34:49

I have one question so far:

Just downloaded kbs.tcl from sourceforge and tried to create a kbskit8.6 binary as usual with the following command:

kbs.tcl -vq install kbskit8.6

I was not successful, Tk 8.6.2 compilation fails with an error: garbage collection not supported. Tried different options such as --enable-aqua, --enable-framework. At the end of the day, no success at all. Looks like the package mechanism in kbs.tcl is not updated for various packages (kbskit0.4, kbskit8.6, ...).

The worst case for sure is that Tk compilation fails. Any clue of how to solve this issue?

RZ I tried building it myself. Had to copy zlib from an older version. I works. What puzzles me is the 8.6.2? Did you changed the package definition to 8.6.2?

I will try to get next week a new 8.6.3 version out. HTH