Workers Auto Approve
Bazelify the GMP Precision Arithmetic Library
A critical component of this library is the [GNU Multiple Precision Arithmetic Library](https://gmplib.org/) written in C used for most underlying cryptographic calculations that are part of BLS. A major problem with this is that most architectures do not ship with GMP installed globally, and therefore any user wishing to use go-bls in their project will need to pollute their global namespace with libgmp.
We have opted for using the [Bazel](https://build.bazel) build system created by Google for dependency management and packaging of this repository for use in other projects. In particular, go-bls will be a critical component of the [Prysm](https://github.com/prysmaticlabs/prysm) client created by Prysmatic Labs for Ethereum 2.0. Prysm uses the Bazel build tool extensively and ideally we'd want to import go-bls via Bazel as well. The problem with this is that GMP is not included as a Bazel dependency of go-bls, and therefore the build will fail due not finding the library.
A solution to this would be to convert lib GMP into a Bazel project following the guidelines for C/C++ projects in the Bazel documentation [here](https://docs.bazel.build/versions/master/be/c-cpp.html#cc_library). This is fairly extensive effort as GMP is a very big library containing multiple pieces. Tackling this issue would allow Prysm and any other Bazel-enabled project to import go-bls without requiring users to have GMP installed on their machine.
We are requesting to bounty this project out for motivated individuals to make this happen. This is a high priority for us at Prysmatic Labs.
### Starting Point
This issue created by @prestonvanloon is a great starting point for someone tackling this: [unable to gen_rule as part of http_archive](https://github.com/bazelbuild/bazel/issues/6344).
Preston began by using http_archive to pull the libgmp official repo and begin creating a bazel BUILD file for the system directly.
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: