Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Ruby on cygwin 2025-11

Avatar for fd0 fd0
November 29, 2025

Ruby on cygwin 2025-11

Avatar for fd0

fd0

November 29, 2025
Tweet

More Decks by fd0

Other Decks in Programming

Transcript

  1. 2 • fd0 (Daisuke Fujimura) • 仕事では 1 ミリも Ruby

    を書いていません • 表参道.rb に時折出没 誰?
  2. 3 • (初めてのコミュニティの LT で) 連載をするという暴挙 • Cygwin というプラットフォーム向けの Ruby

    について喋った • インストーラから簡単にインストールできるパッケージをつくる仕組み • Ruby 3.3.x あたりから発 生 してた SEGV の調査が難航してた • ChatGPT のおかげで SEGV の原因がわかった • libssl 内の NULL 参照 • ついに Ruby 3.4 系にアップデートできるのか!? • 詳しく知りたい 人 は表参道.rb #111 の資料を参照してください 前回まであらすじ
  3. 4 • https://www.cygwin.com/ • WindowsOS 上に UNIX ライクな環境 (ファイルシステムや API)

    を提供する互換層 (Wikipedia より) • ここ数年は WSL などの普及で段々と使われなくなってきている… • 懇親会で「学 生 の頃に授業で使ってました」などの励みになる声も 😆 Cygwin is 何?
  4. 5 $ gcc -v Target: x86_64-pc-cyg wi n gcc version

    13.4. 0 (GCC) $ uname -ms CYG WI N_NT- 10 . 0 -26200-ARM64 x86_64 $ ruby -v ruby 3.4.7 (2025- 10 -08 revision 7a5688e2a2) +PRI S M [x86_64-cyg wi n] Cygwin プラットフォーム向けとは? • Cygwin のセルフコンパイラツールでビルドすること
  5. 7 • (2025/11/08) Updated: ruby 3.4.7 🎉 • [cygwin-announce:012589] •

    前 月 に事前にテスト版をアップロードしてた • インストーラからはテスト版としてインストールできる • 手 元でいろいろ Ruby プログラムを動かしてみて SEGV にならない からたぶん 大 丈夫だろうということで発 車 • テスト版フラグをオフ 進捗どうですか?
  6. 8 • 今まで最新版としてインストールされていた Ruby 3.2.2 はもうすぐ EOL • セキュリティ的になるはやが良さそう •

    Ruby 4.0 に向けての予 行 • Ruby 3.2.2 の作業をしたのが 2 年半以上前 (2023/04) • [cygwin-announce:011053] • いろいろなノウハウが忘却の彼 方 → 頑張って思い出す • マイナーバージョンアップもそこそこ 手 間 • Default/Bundled gem の増減や他 distribution による patch 追加などで構成や設定 が変わってることの調査 & 対応 もうすぐ 4.0 が出るのに何故に今?
  7. 9 • native extension がある gem のパッケージも対応が必要 • 再ビルドが必要だったパッケージ数 :

    30+ 🤮 • 対応しないとインストーラが依存を満たせないと判断 • 古いパッケージ (3.2 系依存) が残っていると依存チェックでバージョンアップ を 止 めようとする • 利 用 者にパッケージ精査という作業をしてもらうことになる 😢 • ひとつひとつ粛々と version bump & commit & push & release • patch が必要なものもあったり [https://github.com/ruby/curses/pull/120] とはいえ億劫 (1)
  8. 10 • 🤔「みんなどうせ gem コマンドで 自 前でインストールするか ら gem ベースのバイナリパッケージは不要では?」

    • ミラー経由での配布のため、実際のパッケージのダウンロー ド数がわからない • どれくらい需要があるかわからないのもやる気が出ない 一 因 • 未対応パッケージリストの存在がメンテナに圧をかけてくる とはいえ億劫 (2)
  9. 11 • Cygwin のインストーラからほぼ最新の Ruby をインス トールできるようにした • 開発フローをもっといい感じにできそうという気付き •

    4.0 はなるはやで対応したいなあ… • 利 用 者のとても少ない環境ではあるがメンテを頑張ってい きたい まとめ & 今後