[arch-haskell] Haskell Platform 2009.2.0.2
Magnus Therning
magnus at therning.org
Sat Oct 12 07:35:12 UTC 2013
Xyne wrote:
> Don Stewart <dons at galois.com> wrote:
>> Ah, I remember,
>>
>> Tue Jul 14 17:01:31 PDT 2009 Adam Vogt <vogt.adam at gmail.com>
>> * Makedepends should not duplicate depends array in PKGBUILD
>>
>> This stops yaourt from trying to build dependencies twice when
>> building from
>> AUR.
>>
>> Duplicated one of Magnus' patches.
>>
>> Teasing those apart now.
>>
>> -- Don
>
> Thanks for working on this. A thread was just posted on the Arch forum about
> this and other issues with Haskell packages in the AUR:
>
> http://bbs.archlinux.org/viewtopic.php?pid=593543
>
> Perhaps you could join the discussion there. If not, I can relay relevant
> issues.
Personally I prefer mailing lists, so I'll comment on things here.
The situation with the depends and makedepends lines being the same is weird
at best. The dependency chain already doesn't follow the Arch packaging
guidelines and throwing in the duplicates is extra messy. Also, all yaourt
users having problems with this setup. The dependencies are listed twice in
one PKGBUILD, then all of the other packages that depend on those
dependencies also list twice, and so on. yaourt wants to build the same
packages over and over again.
I'm not saying the cabal2haskell-generated PKGBUILDs aren't wrong, but
arguably yaourt's insistence on building packages twice is a bug in yaourt :-)
I would highly recommend that all of these packages get put into a group. If
the scripts are edited to follow the arch-haskell packaging guidelines and
the dependencies all become makedepends, then there's no convenient way to
un-install any of these files. It's unclear to me whether all of these
packages are compatible with other Haskell compilers, so I'm not sure how to
propagate this up all the way to the Arch repos. Maybe a ghc
provides=('haskell') line? That's a different deal, but I would like to hear
opinions.
As Don already pointed out, the more correct behaviour is for libraries to
have
makedepends=()
depends=('its' 'dependencies')
And binary-only packages to have
makedepends=('its' 'dependencies')
depends=()
AFAIU there are no guarantees that binary packages compiled by GHC will be
compatible with other haskell compilers. I'm not really sure what he would
like to achieve with a group and GHC having provides=('haskell').
I feel that the license files should be put in
/usr/share/licenses/haskell/$pkgname. I also think that it would be useful to
include documentation with these files, maybe somewhere like
/usr/share/doc/haskell/$pkgname. Document files are generally in html now, so
they take up almost no space.
I agree with this, I'd also like to suggest that libraries be collected into
one sub-directory under /usr/lib. Maybe do what xmonad-contrib does, it lives
in /usr/lib/ghc-6.10.3/site-local/xmonad-contrib-0.8.1.
/M
--
Magnus Therning (OpenPGP: 0xAB4DFBA4)
magnus@therning.org Jabber: magnus@therning.org
http://therning.org/magnus identi.ca|twitter: magthe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://www.haskell.org/pipermail/arch-haskell/attachments/20131012/4dbf7b6b/attachment.sig>
More information about the arch-haskell
mailing list