Issue #8539 has been updated by jonforums (Jon Forums).


naruse (Yui NARUSE) wrote:
> jonforums (Jon Forums) wrote:
> > A good idea if the new maintainer appreciates (and understands why great multi-platform support is strategic to Ruby the language) the fine cross-platform work Kou and the other Ruby-GNOME2 members do for the gtk2 gem by providing a self-contained mingw binary gem for MRI Windows users.
> > 
> > But, how embarrassing for MRI if it's Tk GUI toolkit gem was kinda-sorta-not-really-multi-platform and only supported, say, Linux and OS X.
> 
> As far as I understand, people can also use Ruby/Tk on Windows if they install Tcl/Tk for Windows.
> And on OS X (and Linux) people also need to install Tcl/Tk and X11.

Yes, and the Tcl/Tk folks have made it easy to automate downloading and building the Tcl/Tk libraries on Windows (using MSYS/mingw environment)for use by ext/tk. For example:

  https://github.com/jonforums/buildlets/blob/master/build_tcltk.ps1

The remaining issue on Windows is to ensure the built Tcl/Tk goodies are moved (install time) to correct filesystem locations and patch up for library dirs like we do with RubyInstaller:

  https://github.com/oneclick/rubyinstaller/blob/master/resources/patches/tk/0002-Use-Tcl-Tk-from-different-directory.diff

As background, RubyInstaller users wanting Tk support select the feature during install time. I placed a checkbox in the installer GUI that controls whether pre-built Tcl/Tk artifacts (integrated in the installer) are installed into a `lib/tcltk` subdir of the user's Ruby install dir. None of this matters for Linux or OS X, but this ease-of-install capability is critical to ensure Windows users have a good experience with Ruby Tk, and we're not flooded with support/maintenance issues.


> > Is the key issue bit rot (Tcl/Tk 8.6.0 released in 12/2012) in core, or something more strategic like continued interest in pushing as many extensions from core into gems?
> 
> Once we had an idea that Ruby distribution should be all-in-one package for every basic use caeses as rosenfeld says in [ruby-core:55533].
> But now we have rubygems and it is good for libraries which is on different timeline.
> Therefore we have such reactions.

I very much support extracting ext/tk into a gem as long as (a) no user loses access to cross-platform Tk GUI functionality, and (b) the gem install for Windows users is as easy as it is with the gtk2 mingw binary gem.
----------------------------------------
Feature #8539: Unbundle ext/tk
https://bugs.ruby-lang.org/issues/8539#change-40022

Author: naruse (Yui NARUSE)
Status: Open
Priority: Normal
Assignee: 
Category: ext
Target version: current: 2.1.0


How about unbundling ext/tk from Ruby repository?

ext/tk is a bundled extension library for GUI programming with tk.
It is introduced in 1999 and long maintained with CRuby itself.

But nowadays its maintenance is not so active.
Moreover ext/tk is not the de facto standard over Ruby GUI though it is bundled for 14 years.
(maybe because tk is not de facto of GUI toolkit)
GUI libraries for Ruby should compete in the wilds.

So I propose unbundling ext/tk.
It should be another repository for example on github and people should install it as gem.

How do you think?


-- 
http://bugs.ruby-lang.org/