neophenix / Redis-hiredis

Perl wrapper around hiredis client
BSD 3-Clause "New" or "Revised" License
11 stars 8 forks source link

Use Alien::hiredis? #11

Open Grinnz opened 4 years ago

Grinnz commented 4 years ago

I have a distribution called Alien::hiredis which could be used by this module. See Alien for an overview of the Alien ecosystem, but the basic advantages are that the task of building and updating the hiredis library is outsourced to that module, and it can even allow you to build against a system version of hiredis if it is appropriate.

All you would need to do is use it like described here (I can provide a PR if you wish). Right now it requires hiredis 0.11.0 or newer, with an exception to disallow a system version of 0.13.0 which is a broken version. In other cases it will install a custom version of the library for Perl to use. This is configured by the alienfile.

You would not be able to affect what criteria it uses to determine whether to use the system version or install a new one, but it could be adjusted if needed, and you can conditionally fail to install based on the alien library version.

Just presenting this option in case you want to let something else worry about installing or updating the library, and allow usage of system hiredis. Thanks for your consideration.

neophenix commented 4 years ago

Hey thanks for the idea. I think doing that would make this module largely pointless then as its already a basic wrapper over hiredis, I don't think adding another layer there would make a lot of sense for what my module tries to accomplish.

The building, etc of hiredis was always pretty simple, right now its just the fact I no longer use Perl or Redis day to day so its finding time and motivation to do any updates.

Grinnz commented 4 years ago

I don't think it would make this module pointless at all, since the Alien does not provide any Perl interface to the library, but instead an interface for XS (like this module) or FFI to use it. But no pressure to use it unless you think it would be beneficial.