diff --git a/_posts/2024-04-02-tebako-windows-release.adoc b/_posts/2024-04-02-tebako-windows-release.adoc new file mode 100644 index 0000000..45bb5bd --- /dev/null +++ b/_posts/2024-04-02-tebako-windows-release.adoc @@ -0,0 +1,96 @@ +--- +layout: post +title: "Tebako Windows support at v0.6.0!" +date: 2024-04-02 00:00:00 +0800 +categories: + - tebako + - packaging + - windows +author: + name: Maxim Samsonov + email: m.samsonov@computer.org + use_picture: assets + social_links: + - https://github.com/maxirmx +excerpt: >- + Tebako now officially supports Windows, including Windows 2019, Windows 2022 + targets using MinGW ucrt64, at version 0.6.0 released today. + Now Tebako supports packaging for most major platforms: Linux, macOS and + Windows. +--- + +== Background + +Tebako is an executable packager. + +It packages a https://www.ruby-lang.org/[Ruby] solution with the key idea: + +[quote] +____ +one Ruby application => one Tebako image +____ + +== Windows support at v0.6.0 + +Prior to v0.6.0, Tebako supported packaging for the platforms: + +* Linux platforms using https://www.gnu.org/software/libc/[`glibc`] (https://ubuntu.com[Ubuntu], etc) +* Linux platforms using https://www.musl-libc.org[`musl`] (https://www.alpinelinux.org[Alpine Linux]) +* macOS platforms + +From v0.6.0, Tebako now adds Windows 2019, Windows 2022 targets to the mix. + +As of today, Tebako officially supports the following platforms: + +* Linux platforms using https://www.gnu.org/software/libc/[`glibc`] (https://ubuntu.com[Ubuntu], etc) +* Linux platforms using https://www.musl-libc.org[`musl`] (https://www.alpinelinux.org[Alpine Linux]) +* macOS platforms +* Windows 2019, Windows 2022 targets using MinGW `ucrt64` toolchain + + +== Trying out Tebako on Windows + +The simplest approach to setup Tebako packaging environment on Windows is to use the Ruby development environment provided by https://rubyinstaller.org[RubyInstaller]. + +For example, https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.4-1/rubyinstaller-devkit-3.1.4-1-x64.exe[`Ruby+Devkit 3.1.4-1`]. + +Once it is installed, use the following commands to install additional packages +and Tebako in `cmd`: + +[source,cmd] +---- +ridk enable ucrt64 + +pacman -S git tar bison flex toolchain make cmake + boost diffutils libevent double-conversion + fmt glog dlfcn gtest autotools ncurses libyaml + +gem install tebako +---- + +== Current limitations + +There are several caveats with Windows support for now, and they will be +addressed in due time: + +* Only Ruby 3.1.4 is supported on Windows. +* Gem with native extensions that use advanced or non-standard build systems are not supported yet. + +Unsupported gems we know of include (not a complete list of course): + +* https://github.com/davispuh/ruby-libmspack[libmspack] +* https://github.com/masamitsu-murase/seven_zip_ruby[seven_zip_ruby] + +NOTE: The list of unsupported gems will be updated as we encounter them. + +The Tebako team plans to address these limitations in the future releases. + +We will soon publish a blog post for +link:/blog/2023-08-25-introducing-aibika-and-ocra/[Akiba users] on how to +migrate from Akiba to Tebako for Windows. + +== Conclusion + +Tebako now supports single-binary packaging for Ruby on all major platforms! + +Pack away...