prawnpdf / prawn

Fast, Nimble PDF Writer for Ruby
https://prawnpdf.org
Other
4.65k stars 687 forks source link

Use default version of matrix #1304

Closed waghanza closed 1 year ago

waghanza commented 1 year ago

Hi,

In ruby < 3.1, we do not need this gems (it is bundled by default).

Regards,


Related to https://github.com/prawnpdf/prawn/issues/1303

gettalong commented 1 year ago

This doesn't make sense since the released gem will have a list of static dependencies. Your change would compare the version of Ruby that the person releasing the gem is using and selecting the matrix dependency based on this information. This would change nothing for the end user.

pointlessone commented 1 year ago

I see how this can be confusing. I didn't dig too deep so I can be mistaken but the way I see it is older Rubies will still resolve it as a gem even though it's pre-installed. So no issue there.

One benefit of the explicit dependency is that older Rubies might fetch a newer version of matrix from RubyGems, potentially with more bugfixes than new bugs. :)

Either way, the fix is not quite correct. As @gettalong mentioned, the spec is executed during packaging. So it will check what version, for example, I'm using at that particular moment rather than what version someone uses when they install the gem. RubyGems (and other registries) do not execute specs. They use packaged serialised resolved specs. So do bundler and gem command.

waghanza commented 1 year ago

You say that matrix will be installed depending on which ruby version has the releaser @gettalong ? It is not my intention, and sorry for that.

The biggest problem here is that prawn is not usable (at least the last version) with ruby >3.1.

pointlessone commented 1 year ago

@waghanza Try master (or the current HEAD). Otherwise, it's a known issue. See #1195 .

waghanza commented 1 year ago

I've subscribe to this issue :-)