DEV Community

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

Posted on

3 1

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!

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more