paritytech / parity-db

Experimental blockchain database
Apache License 2.0
263 stars 59 forks source link

feat: implement compatibility with nixos and musl via features and lz… #217

Closed ghost closed 8 months ago

ghost commented 11 months ago

This enhancement aims to broaden the reach of the project by ensuring seamless integration with NixOS and Musl-based systems while maintaining performance and reliability.

ghost commented 10 months ago

I have submitted this PR with the aim of enhancing the portability of parity-db across various architectures. Your review and feedback on this improvement would be greatly appreciated.

arkpar commented 10 months ago

Thank you for the PR. We need to be sure sure that lz4_flex and lz are 100% compatible. lz4_flex should be able to decompress existing data at least. I'm going to check that on a large enough real world database sometime soon.

ghost commented 10 months ago

I appreciate your feedback. To ensure widespread compatibility with stable Rust and various architectures, including NixOS, while maintaining the reliability of the original production-ready codebase, I have implemented the required modifications, all of which are now incorporated in this commit. I kindly request your review and input on these improvements. Your perspectives are truly invaluable.

arkpar commented 9 months ago

Finally go to testing this, at the compatibility seems to be in order.

However I think adding all these features is an overkill and a maintenance burden. It would be enough to simply replace lz with lz4_flex and disable jemallocator for the msvc target.

arkpar commented 9 months ago

Let us know if you still interested in doing this. Otherwise we'll just patch it on our own.

ghost commented 8 months ago

Feel free to make any necessary changes. My goal was to make the library as simple and portable as possible by removing C/C++ language dependencies.