Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Alien::hiredis? #88

Open
Grinnz opened this issue Jun 14, 2019 · 0 comments
Open

Use Alien::hiredis? #88

Grinnz opened this issue Jun 14, 2019 · 0 comments

Comments

@Grinnz
Copy link

Grinnz commented Jun 14, 2019

I created Alien::hiredis which is an Alien wrapper of the hiredis library for other modules to use. I wondered if you might consider using it as it confers a few advantages over the current build. It can use a system hiredis library if it's a sufficient version instead of building a new one; it can seamlessly handle things like making gmake available; and it separates those concerns of making the library available and keeping it up to date from this distribution (either via the system version or the version installed by Alien::hiredis).

The process of allowing or building versions of hiredis is controlled by the alienfile. Right now it allows any version 0.11.0 or newer and disallows 0.13.0 because of bugs in that version, but this can be adjusted. The only other consumer at present is Protocol::Redis::XS and I am open to suggestions for adjusting the system library versions allowed. Your usage of the Alien can also specify additional version restrictions, but you can only cause your Build.PL to abort, the decision to use the system version or build a new version occurs when installing Alien::hiredis.

The simple usage of the Alien is described in Alien::Build::Manual::AlienUser, Alien::Base::Wrapper and Alien::hiredis would be added as a configure dependency and then Alien::Base::Wrapper is used to provide the necessary Module::Build arguments to build against it.

There is also the option of dynamically requiring Alien::hiredis only in certain conditions which is more complex but affords more control to this distribution's build process.

Thanks for your consideration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant