Project

General

Profile

Actions

Bug #21855

closed

Bundle `win32-registry` or implement it without `fiddle`

Bug #21855: Bundle `win32-registry` or implement it without `fiddle`
1

Added by Earlopain (Earlopain _) 21 days ago. Updated about 11 hours ago.


Description

win32-registry (a default gem), is currently implemented via fiddle (a bundled gem). This makes it impossible to use under bundler without adding fiddle to the gemfile.

In the past it has lead to issues like https://bugs.ruby-lang.org/issues/21645. It was solved by simply not using win32-registry anymore in resolv and implementing it via C (https://github.com/ruby/resolv/pull/110), although the overarching issue is still present. There is also a report for this for rubygems https://github.com/ruby/rubygems/issues/9277. This should be solved by updating the vendored resolv version I think.

Still, the dependecy relation between win32-registry and fiddle is pretty incompatible. A default gem can't depend on a bundled gem without breaking dependency resolution.

To solve this it would have to be implemented without using fiddle, similar to how resolv did it. But now that resolv doesn't use win32-registry, I don't think anything in ruby uses it anymore. So moving it to a bundled gem could also be a solution without rewriting the whole thing.

Here is an issue about this in the win32-registry repo: https://github.com/ruby/win32-registry/issues/11


Related issues 3 (0 open3 closed)

Related to Ruby - Bug #21645: Can't `require "resolve"` on Windows under Bundler without warningsClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby - Feature #20775: Gemify win32-registry, win32-sspi and win32-resolvClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby - Feature #20309: Bundled gems for Ruby 3.5Closedhsbt (Hiroshi SHIBATA)Actions

Updated by Earlopain (Earlopain _) 21 days ago Actions #1

  • Related to Bug #21645: Can't `require "resolve"` on Windows under Bundler without warnings added

Updated by Earlopain (Earlopain _) 21 days ago Actions #2

  • Related to Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv added

Updated by Earlopain (Earlopain _) 21 days ago Actions #3

Updated by larskanis (Lars Kanis) 18 days ago Actions #4 [ruby-core:124658]

I recommended to make win32-registry a bundled gem in #20775, but maybe it was forgotten to that time. I still think this would be the best solution.

Updated by hsbt (Hiroshi SHIBATA) 7 days ago Actions #5 [ruby-core:124810]

  • Status changed from Open to Assigned

No one opposed it at devmeeting. I will ask usa and handle to extract that as bundled gems at Ruby 4.1.

Updated by hsbt (Hiroshi SHIBATA) about 11 hours ago Actions #7 [ruby-core:124853]

@usa (Usaku NAKAMURA) has no objection for that. I will merge https://bugs.ruby-lang.org/issues/21855#note-6 and handle related works.

Updated by larskanis (Lars Kanis) about 11 hours ago Actions #8

  • Status changed from Assigned to Closed

Applied in changeset git|f01f66ca249405ec125ba864e48e51944cc51c6f.


Move win32-registry from default to bundled gems

Because win32-registry needs fiddle and fiddle is a bundled gem.

[Bug #21855]

Updated by hsbt (Hiroshi SHIBATA) about 11 hours ago Actions #9

  • Assignee set to hsbt (Hiroshi SHIBATA)
Actions

Also available in: PDF Atom