3 ms·
This is great! I really, really hope it takes off! C is in dire need of a package manager that can handle dependencies well. OS package managers do not allow mu
by pathsjs 11y ago
This is great! I really, really hope it takes off! C is in dire need of a package manager that can handle dependencies well. OS package managers do not allow multiple versions, and it is extremely difficult to get reproducible builds, because every project has available whatever is installed globally on your machine.
I have used sbt, nimble, leiningen, maven, npm, cargo, conda, and while each of those has its own issues, I would take any of them when working with C.
I have tried biicode, that was showing some promise, but it seems it is not gaining traction...
- ross-harrison 11y agoThis looks a lot like biicode. Lasote was big contributor to that as well. It's not clear from their docs, but if it requires a seperate repo like biicode then I think it is also doomed. A package manager can't be intrusive, ideally including a single file in the root of a project (see bower, npm, rubygems). Their example project uses a couple special made repos, which is concerning. I'd rather see the main project repos, with configuration added.
- drodri 11y agoNot really. Already hosted packages like Boost, Zlib, OpenSSL, ZMQ, Protobuf are packaged and hosted without changing a single line of their respective build, and with just a single conanfile.py to define the packaging. The build systems of those libraries are heterogenous: Cmake, B2, perl+nmake... The build system is just wrapped by the conanfile.py. Those conanfiles can be also in a separate repository and retrieve sources from any origin as github, so not intrusive at all.