DEV Community

Cover image for Glimmer DSL for SWT Supports Linux DEB/RPM Packaging
Andy Maleh
Andy Maleh

Posted on

Glimmer DSL for SWT Supports Linux DEB/RPM Packaging

Glimmer DSL for SWT v4.21.2.0 just added support for Linux DEB/RPM native executable packaging (while still supporting the older GEM packaging alternative), rendering Linux a 1st class packaging citizen just like Mac, which has support for APP/DMG/PKG native executables/installers, and Windows, which has support for MSI/EXE native executables/installers. Native Executable Packaging is one of the features that separate Glimmer DSL for SWT from the pack (do not know any other Ruby desktop GUI up-to-date library with reliable fully-contained native executable packaging)

Here is the full list of changes:

  • Support Linux packaging of deb/rpm native executables (not just gems) through standard glimmer package call (e.g. glimmer package[deb] or glimmer package[rpm])
  • Update Glimmer::SWT::ImageProxy implementation of image loading from JAR to use JRuby.runtime.jruby_class_loader.get_resource_as_stream(file_path).to_io.to_input_stream
  • Remove scaffolding/packaging building/using of a generated Java Resource class
  • Force installing gem 'psych', '3.3.2' in scaffolded app as a temporary workaround to psych issues with the latest jruby (jruby-9.3.1.0)

To learn more about packaging with Glimmer DSL for SWT, check out the Glimmer Packaging and Distribution reference document.

Here is a screenshot of the generated RPM installer (on Red Hat Enterprise Linux) upon running:

glimmer package[rpm]
Enter fullscreen mode Exit fullscreen mode

rpm

Here is a screenshot of the generated DEB installer (on Linux Mint Cinnamon) upon running:

glimmer package[deb]
Enter fullscreen mode Exit fullscreen mode

deb

If you are curious about previous Mac and Windows support too, here are screenshots of the generated Mac DMG installer upon running:

glimmer "package[dmg]"
Enter fullscreen mode Exit fullscreen mode

dmg license

dmg

And, here is a screenshot of the generated Windows MSI installer upon running:

glimmer "package[msi]"
Enter fullscreen mode Exit fullscreen mode

msi

Happy Glimmering!

Top comments (0)