Multi-library/package support for cabal
Bardur Arantsson
spam at scientician.net
Fri Jun 19 18:14:23 UTC 2015
Hi all,
Given that I'm often quite annoyed by the almost-total lack of support
for developing a set of coherent libraries together in a convenient
fashion[1] using Cabal, I'd like to ask
a) are there any current plans or GitHub issues on implementing any
support for this workflow that I should be aware of?
b) are there any wiki pages (or similar) detailing any requirements that
people might have for this type of workflow?
c) would there be *interest* in somebody (e.g. me) implementing support
for such a workflow?
d) if "yes" to c), how should one go about it? What kind of consensus
needs to gathered and whom do I need to convince of the brilliance of
this idea?
I should note that I have *very* little experience with
Cabal/cabal-install's code (a couple of pretty trivial patches, I
think), but it's Haskell, so how bad could it be, right?
I have a week's vacation coming up next week (and probably a few more a
little later in the summer), and I think I may be able to dedicate quite
a bit of time to getting this done, *but*... if I'm going to spend that
time, I want something that can be integrated into cabal-install *and* I
want something that has a reasonable chance of actually getting merged.
(Of course, I don't expect bad code to be merged, but I'm quite happy to
fix bad code whenever it's pointed out to me.)
Otherwise, I'll just keep using cobbled-together one-off Python scripts
(and terribly inefficient workflows)... and complaining constantly about
it :).
So... how can get this ball rolling?
Regards,
[1] E.g. I have a set of cqrs-* libraries + demo executable packages in
a single git repository, each with their own subdirectory and .cabal
file. These libraries may depend on each other in arbitrary non-circular
ways and I want to be able to conveniently build all of it in the
appropriate order and with a consistent set of dependencies in a single
sandbox.
More information about the cabal-devel
mailing list