conda-forge / suitesparse-feedstock

A conda-smithy repository for suitesparse.
BSD 3-Clause "New" or "Revised" License
1 stars 16 forks source link

unbundle libraries? #55

Closed minrk closed 5 years ago

minrk commented 5 years ago

suitesparse really is a "suite" of libraries. Until recently, most if not all of these were not available elsewhere, so packaging it as one thing makes the most sense.

With 5.4 (#54), however, suitesparse adds two new packages GraphBLAS and Mongoose, which are themselves individually packaged, versioned, and released on their own cadence, more frequent than the rest of SuiteSparse. GraphBLAS, in particular, constitutes ~90% of the build time of SuiteSparse 5.4, increasing build times from 7 minutes to over an hour. I probably wouldn't bother bringing this up, otherwise.

Choices:

Issues:

jayfurmanek commented 5 years ago

I'd prefer if GraphBlas were done separately, if possible. Build time limits on the various CI vary, but I don't think I've seen any that allow up to 6 hour builds. It'd be nice to have all the other tools still available on all platforms.

minrk commented 5 years ago

Would you make it a dependency of suitesparse or fully separate?

jayfurmanek commented 5 years ago

My preference is that coded dependencies should be there for a real technical reason (ex: GraphBlas using some subset of suitesparse functions to complete its work), and if there is nothing that links them, then no deps get coded.

Maybe there are some other examples of packages with numerous independent submodules we can emulate. I'll look around a bit.

minrk commented 5 years ago

56 unbundled graphblas and mongoose. https://github.com/conda-forge/staged-recipes/pull/9791 submits graphblas and mongoose as their own packages

jayfurmanek commented 5 years ago

Amazingly fast work @minrk !