[Freebsd-haskell] What's the point of the cabal freebsd ports?

Gabor PALI pgj at FreeBSD.org
Sun Mar 28 12:06:15 EDT 2010


Hello Tim,

You may find an answer to your question in a recent blog entry (that I
have posted earlier to this list [1]).

For a longer (and more FreeBSD-oriented) explanation:


On 03/28/10 16:30, Tim Matthews wrote:
> Some of the cabal ports have there own freebsd ports but not many and
> the ones that are there are usually old anyway.

Yes, it is a known problem, but I am working on a new framework that
will make porting and updating hackages trivial, and it is planned to be
committed in a week (after the huge update commits).  I am also
mentoring new FreeBSD ports commiter who is actually dedicated to
Haskell ports.

Well, I do not see your PRs... :P

At the moment 5% of all hackages is ported and 32% of them is outdated
(more or less).  And count a ports freeze in :D


> Luckily the cabal packages on hackage work just fine and I was
> installing manually [..]

Great!  Yesterday I was not so lucky when I wanted to install gitit via
cabal-install (and I needed to patch strict-concurreny-0.2.3 and
SMTPClient-1.0.1 a bit to make the things work).


> because I was assuming that there was some reason why cabal-install
> could not be used on freebsd. Eventually I realized that this was not
> true and installing the packages that have lots of dependencies
> actually became more worthwhile as it was very tedious before.

Of course, cabal-install can be used on FreeBSD without any problems (if
one does not count the problems of the hackages themselves...). 


> I was then using cabal with the exception of choosing the port
> versions if they existed as if there would be some advantage in doing
> so. It wasn't long before I ran into a port that didn't build (maybe
> because it was old) so I tried letting cabal just pull the later one
> from hackage.

Some people might prefer using binary packages since they do not have
enough resources to (re)compile everything like when using
cabal-install.  Others might prefer the possibility to be able to remove
these packages as well.  And a few ones prefer when everything just
works out-of-the-box (i.e. well-tested), without further hacking.


> This built just fine. I shall probably remove the other freebsd
> haskell ports from my system and replace with updated hackage ones.

You are free to do it, no hard feelings :)


> What's the point of all this? I think if freebsd only had ports for
> the basic stuff like haskell platform and other compilers then it
> could potentially make it easier for the devs/testers to finally get
> the updated ghc 6.12.1 version in the main tree.

Your proposal sounds reasonable.  My plans regarding addressing these
problems are as follows:

- Introduce a new framework for hackage ports (enables faster updating).

- Introduce an automatic hackage to port converter using the new
framework (enables faster porting).

- Add a port for Haskell Platform that conflicts with lang/ghc and all
hs-* ports, so everybody may use cabal-install instead of FreeBSD
ports.  Yay!

- Update lang/ghc to GHC 6.12.x, if all the (sup)ported hackages build
with it correctly.

- Introduce a lang/ghc-devel port for upcoming (but not yet completely
supported) GHC releases, so developers and testers may work with it.


> Sorry if this sounds harsh but it seems like the current setup is
> stale, messy and inconsistent which could be trimmed down, maintained
> + cabal is a package that really does need to be in the ports but
> currently isn't so.

Thank you for your comments.


Cheers,
:g

[1] http://www.haskell.org/pipermail/freebsd-haskell/2010-March/000172.html



More information about the FreeBSD-haskell mailing list