[arch-haskell] Haskell Platform 2009.2.0.2

Magnus Therning magnus at therning.org
Sat Aug 1 03:12:00 EDT 2009


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/20090801/4dbf7b6b/signature.bin


More information about the arch-haskell mailing list