-
Notifications
You must be signed in to change notification settings - Fork 70
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
Allow using system libraries. #184
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Looks like the right approach although I’m currently traveling and unable to test this readily. May take a few days to merge but looks good so far in terms of approach. |
@cculianu hey! sorry for bothering just pinging in case you forgot about this |
Yeah sorry I still need to review this. I feel a bit like "who the hell installs robin_hood in the system and why does it matter".. same for simdjson. These are all basically... header-only and who cares. |
Probably nobody installs robin-hood-hashing but at Guix there's package for it which builds with CMake and installs the configuration files needed to search for it so that other projects don't bundle it. Guix also distributes the sources of a program (required by Fulcrum GPL) so in the end most projects that contain bundled libraries will end up with duplicated files. For example p2pool also bundles robin-hood-hashing and p2pool is also present on Guix, I've yet have to modify it to use the system's robin-hood-hashing library. For the simdjson case, it can be built as a shared library too and other programs could load it too. I mean this patch doesn't have to be accepted as this is applied when downloading sources at Guix anyway (see https://issues.guix.gnu.org/66120) but would reduce maintenance of the package to just pass the command line options instead of patching and doing that too. |
Ah ok.. I wasn't aware anybody needed this. Ok will review this soon. I was a bit off-put by switching |
I don't think it'd affect much since |
Fixes #152.
For example, when the dependencies are available on the system one could do:
And it would choose the system libraries, some distributions (like Guix, Debian, etc.) may remove the bundled code, so, means to use system libraries are needed.