Haskell Platform 2009.2.0.2

Hey all,
Looks like we're almost set for Haskell Platform 2009.2.0.2
Need to check things like network though, against what is shipped with GHC 6.10.4
Here's a PKGBUILD,
# Contributor: Arch Haskell Team

On Wed, 29 Jul 2009 10:44:34 -0700
Don Stewart
Hey all,
Here's a PKGBUILD,
# Contributor: Arch Haskell Team
# Package generated by cabal2arch 0.5.3 <snip /> build() { cd $startdir/src/haskell-platform-2009.2.0.2 runhaskell Setup configure --prefix=/usr || return 1 runhaskell Setup build || return 1 runhaskell Setup register --gen-script || return 1 runhaskell Setup unregister --gen-script || return 1 install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh runhaskell Setup copy --destdir=$startdir/pkg || return 1 install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1 }
Hi Don, This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR: Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively? It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution. Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can). Cheers, Xyne

On Thu, Jul 30, 2009 at 7:39 AM, Xyne
On Wed, 29 Jul 2009 10:44:34 -0700 Don Stewart
wrote: Hey all,
Here's a PKGBUILD,
# Contributor: Arch Haskell Team
# Package generated by cabal2arch 0.5.3 <snip /> build() { cd $startdir/src/haskell-platform-2009.2.0.2 runhaskell Setup configure --prefix=/usr || return 1 runhaskell Setup build || return 1 runhaskell Setup register --gen-script || return 1 runhaskell Setup unregister --gen-script || return 1 install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh runhaskell Setup copy --destdir=$startdir/pkg || return 1 install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1 } Hi Don,
This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR:
Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively?
It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution.
Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can).
I have already sent Don a patch for that, but it doesn't seem to have made it into cabal2arch yet. Maybe it would have been better to send those patches to this list instead of directly to Don... /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On Thu, Jul 30, 2009 at 9:45 AM, Magnus Therning
On Thu, Jul 30, 2009 at 7:39 AM, Xyne
wrote: [..] Hi Don,
This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR:
Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively?
It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution.
Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can).
I have already sent Don a patch for that, but it doesn't seem to have made it into cabal2arch yet. Maybe it would have been better to send those patches to this list instead of directly to Don...
Digging through my mail archive I found the patch bundle I sent him. Enjoy! /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

magnus:
On Thu, Jul 30, 2009 at 9:45 AM, Magnus Therning
wrote: On Thu, Jul 30, 2009 at 7:39 AM, Xyne
wrote: [..] Hi Don,
This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR:
Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively?
It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution.
Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can).
I have already sent Don a patch for that, but it doesn't seem to have made it into cabal2arch yet. Maybe it would have been better to send those patches to this list instead of directly to Don...
Digging through my mail archive I found the patch bundle I sent him. Enjoy!
Thanks!

magnus:
On Thu, Jul 30, 2009 at 7:39 AM, Xyne
wrote: On Wed, 29 Jul 2009 10:44:34 -0700 Don Stewart
wrote: Hey all,
Here's a PKGBUILD,
# Contributor: Arch Haskell Team
# Package generated by cabal2arch 0.5.3 <snip /> build() { cd $startdir/src/haskell-platform-2009.2.0.2 runhaskell Setup configure --prefix=/usr || return 1 runhaskell Setup build || return 1 runhaskell Setup register --gen-script || return 1 runhaskell Setup unregister --gen-script || return 1 install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh runhaskell Setup copy --destdir=$startdir/pkg || return 1 install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1 } Hi Don,
This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR:
Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively?
It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution.
Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can).
I have already sent Don a patch for that, but it doesn't seem to have made it into cabal2arch yet. Maybe it would have been better to send those patches to this list instead of directly to Don...
Hmm. Didn't I apply that patch?? Ah, no! -- Don

dons:
magnus:
On Thu, Jul 30, 2009 at 7:39 AM, Xyne
wrote: On Wed, 29 Jul 2009 10:44:34 -0700 Don Stewart
wrote: Hey all,
Here's a PKGBUILD,
# Contributor: Arch Haskell Team
# Package generated by cabal2arch 0.5.3 <snip /> build() { cd $startdir/src/haskell-platform-2009.2.0.2 runhaskell Setup configure --prefix=/usr || return 1 runhaskell Setup build || return 1 runhaskell Setup register --gen-script || return 1 runhaskell Setup unregister --gen-script || return 1 install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh runhaskell Setup copy --destdir=$startdir/pkg || return 1 install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1 } Hi Don,
This reminded me of a question that came to mind today when I was browsing Haskell packages in the AUR:
Would it be difficult to update cabal2arch to use "$srcdir" and "$pkgdir" instead of "$startdir/src" and "$startdir/pkg", respectively?
It works fine the way it is right now, but the other way is recommended to ensure future compatability. You can confirm this by checking "man PKGBUILD". It seems that it would be better to change it now than wait for issues to arise. I'm hoping that it would only require a simple substitution.
Also, thanks for this tool and all the other Haskell packages. I'm slowly learning Haskell and I hope to take full advantage of them in due time (and maybe even contribute some tools if I can).
I have already sent Don a patch for that, but it doesn't seem to have made it into cabal2arch yet. Maybe it would have been better to send those patches to this list instead of directly to Don...
Hmm. Didn't I apply that patch?? Ah, no!
Ah, I remember,
Tue Jul 14 17:01:31 PDT 2009 Adam Vogt

Don Stewart wrote:
dons: [..]
Hmm. Didn't I apply that patch?? Ah, no!
Ah, I remember,
Tue Jul 14 17:01:31 PDT 2009 Adam Vogt
* 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.
Yes, I saw that one and realised it duplicated what I did. It probably achieved the same effect much more elegantly though :-) I saw the new version of pacman (3.3) supports "split packages". AFAIU that means it'd be possible to have one PKGBUILD result in more than one package. It sounds to me like that'd be a good way to build documentation packages (good for users of vim-haskell) and profiling packages. Any thoughts/plans on this? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

Don Stewart
Ah, I remember,
Tue Jul 14 17:01:31 PDT 2009 Adam Vogt
* 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. Xyne

xyne:
Don Stewart
wrote: Ah, I remember,
Tue Jul 14 17:01:31 PDT 2009 Adam Vogt
* 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.
Thanks. cabal2arch now produces results like this for libraries: makedepends=() depends=('ghc' 'haskell-cabal') for applications: makedepends=('ghc' 'haskell-cabal') depends=('gmp') The issue was fixed at the start of the month, packages in AUR are being incrementally updated. -- Don

Xyne wrote:
Don Stewart
wrote: Ah, I remember,
Tue Jul 14 17:01:31 PDT 2009 Adam Vogt
* 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

2009/8/1 Magnus Therning
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
I think packages should install documentation in /usr/share/doc/$pkgname and licenses in /usr/share/licenses/$pkgname This is how most packages in Arch install documentation and how all packages install licenses (also referred to in the Arch Packaging Guidelines). There's no need to create a separate haskell subdirectory. -- Abhishek

abhidg:
2009/8/1 Magnus Therning
: [snip] 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
I think packages should install documentation in /usr/share/doc/$pkgname and licenses in /usr/share/licenses/$pkgname
Great! cabal2arch (and thus all haskell packages in AUR) install licenses into /usr/share/licenses/$pkgname and currently don't install documentation. This isn't a mistake : I followed the packaging guide :) -- Don

Abhishek Dasgupta wrote:
2009/8/1 Magnus Therning
: [snip] 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
I think packages should install documentation in /usr/share/doc/$pkgname and licenses in /usr/share/licenses/$pkgname
This is how most packages in Arch install documentation and how all packages install licenses (also referred to in the Arch Packaging Guidelines). There's no need to create a separate haskell subdirectory.
Yes, following guidelines is always good, except when it isn't :-) One useful side effect of having a dedicated location for libraries compiled with GHC would be that it'd be trivial to get a list of libraries that need recompilation after a GHC update. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe
participants (4)
-
Abhishek Dasgupta
-
Don Stewart
-
Magnus Therning
-
Xyne