Forgot to send this to group:
On 10/20/2011 01:30 PM, Magnus Therning wrote:
On Thu, Oct 20, 2011 at 13:03, Peter Hercek<[email protected]> wrote:
Hi,
This is a call to create pacman group with name haskell (or ghc or
something
similar). All packages which depend on ghc would belong to the group.
The
reason why I would like to see this is to allow disabling update of
any ghc
dependency easily in pacman.conf. It would be cool if something like
"IgnoreGroup = haskell" in /etc/pacman.conf would postpone update of
any ghc
dependency. Normally non-haskell packages do not need this but since
haskell
has no backward binary compatibility it can be really useful sometimes.
This situation is the reason for having specific versions in all
dependencies. Is there a scenario where this wouldn't be enough?
Yes, I like the fact we have specific versions in dependencies ...
including pkgrel which is not there always. If I understand Simon Marlow
correctly here
http://permalink.gmane.org/gmane.comp.lang.haskell.glasgow.user/20002
then it is not sure that we will have the same ABI even when compiling
exactly the same code (with the same compiler). My practical experience
is that when one compiles the same code with the same compiler then the
result is almost always the same. Anyway, pkgrel change can also mean
different compiling options which definitely can change ABI. So I think
pkgrel should be in all dependencies too. In fact pacman dependencies
are dependencies between binary packages so they should be exact
(contrary to source code dependencies in cabal).
AFAIK, exact pacman dependencies will detect all the problems when
installing a binary package. But detection and ease of you is a bit
different. I typically have a bit modified ghc itself (mostly to get
collored stderr which interleaves with stdout correctly and some other
details). So it is not uncommon I want to postpone ghc update and that
means all haskell related update. For such a case I want to ignore
everything haskell related during updates. I could put in pacman.conf
only "IngnorePkg=ghc" but then pacman will spit a ton of warnings about
what other packages cannot be updated too and whether I'm aware of it. I
happened to have sometimes my own changes to gtk2hs too. This would be
another case when I would like to postpone any haskell related update.
For this e.g. "IgnoreGroup=haskell" would be really useful. So who can
use this group? AFAIK only people who sometimes have modified haskell
packages on their systems or because of their own development want to
postpone haskell updates a bit. Well and possibly people who want to
install everything haskell related as I mentioned below.
If somebody installs everything from haskell, then this would also allow
installing everything at once (using the group name). Although for
this to
work we might need first to make sure there are no duplicates between
extra/community/haskell repositories. Not sure how trying to install
whole
group would behave when it hits duplicates (like e.g. gtk2hs-gtk in
community and haskell-gtk2hs-gtk in haskell (well, the one in haskell is
more useful since it provides glade bindings too)).
The goal is to have no such overlap. The problem is to recognise when
such an overlap occurs. There are two situations that ArchHaskell
needs to notice:
1. A Haskell package in core/extra/community is updated to a new version
2. A Haskell package is added to core/extra/community
Is there some way of (semi-)automating this already?
I do not have any tool for this. It would need to follow history in
core/extra/community which (in the worst case) can be obtained from the
web interface or the git of package definitions. I hope there is a
better way since this will not catch binary recompiles. But maybe there
is a different way around it. We could just ignore e.g. community (if we
have all comunity packages in habs), name packages the same (or maybe
putting the community package names in provides is enough?) and put
[haskell] source before [community] source in pacman.conf. There should
be coordination between extra/community/haskell package sources. Who
maintains extra and community? They should know more.
Anyway my call to create haskell (or ghc) group was not only for
[haskell] but also for community/extra.
Thanks for your arch-haskell work,
Peter.
_______________________________________________
arch-haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/arch-haskell