Tcl Meetup 2022-07-12
Topics
- TIP 430 / zipfs - spec/design issues, implementation vs spec, impl. issues, ...
- zipfs use cases
- Tcl and Tk initialisation
- applications code and data in a single file (i.e. starkits)
- stand-alone application executables (i.e. starkit + tcl = starpack)
- extensions / packages (e.g. a tcllib starkit)
- starlib (tcl/tk in a library for use by other languages and apps)
- discussion on role of zipfs in Tcl library initialisation vs application initialisation?
- should we be considering xvfs for Tcl library initialisation and zipkits for applications?
- problems with implementation
- "zipfs tcl_library" doesn't appear to be implemented
- adding a main.tcl seems leads to a message "application-specific initialization failed: Can't find a usable init.tcl in the following directories: ..."
- problems with documentation
- where is it documented that "configure --disable-shared" creates a single file executable?
- need better instructions and examples for creating zipkits
- zipfs commands for supporting zipkit generation e.g. Jan's suggested "zipfs mkimg" adaption such that if the exe already has a zip-file attached, it will just add the new entries with the existing ones.
- tcllib - how can we make it more visible?
- reference range command discussion vs tcllib generator
- lots of good stuff, often invisible
- distribute with core or via core download page - zipkit?
- all or curated modules? not everything is generally useful but much is - e.g. math, set, etc
- tcc4tcl upgrade [L1 ]
current status of 430
- mostly works (except for running a zipfile)
- Brian's makeapp.tcl shows how it can be used
- documentation could be improved
- user docs vs TIP .. need to reconcile
- need more "howto" and examples
- at least command not implement - tcl_library
- clarify
- is zipfs command available when tclsh built with --enable-zipfs disabled
- can non-zipfs tclsh run application zip
- state of Tk support
follow up TIP(s) to address application support
- commands to build "starpack"
- running a zipfile containing an application vfs
- add library folder to auto_path (and tm support)
- source a zipfile adds a /library folder as well
- look for main.tcl and source
- what can we do about virus scanners and binary extensions?
- if and how we can sign these (Authenticode / Apple)
- build test command into tclsh to facilitate testing
Scott G how does a newbie get started?
- single file Batteries Included distribution
- need a way to identify commonly useful extensions? Arjen's wiki page ... can we add voting?
- the general parts of tcllib + tk + tklib + other stuff from existing distributions
- what about ttk themes?
- all available via a single-file executable via the single downloads page
- equivalent of "pip install" built in to the BI executable?
- built-in command to expand into folder?
- is there a way to profile application code to find out the extensions being used? (perhaps via "tclsh -test" mechanism)
Friction points
- single point of responsibility for many areas
- knowledge is silod
- how to share load?
- e.g. how to get TDBC into nightly build status (Kevin)
- testing
- how to test tcl/tk? (e.g. built in test command)
- how to test my code with latest release?
- automate error reporting?
- how is the error submitted - via a fossil ticket or better still via a fossil forum?
- error workflow - submit, review, generate ticket, triggers / confirmation ?
- route notifications to appropriate people - e.g. how could e.g. Kevin register for TDBC error reportsvia slack or ?
- ticket yes/no ... feedback/reason?
- dashboard built on top (to avoid the noise)? revisit Steve's Kanban for Fossil ?