You are not logged in.

#1 2009-07-31 21:51:28

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,931

Has anyone addressed the AUR haskell depends/makedepends fiasco?

I've been searching around here, the web, and flyspray, and haven't found anything yet. Has anyone addressed the depends/makedepends fiasco with the Haskell PKGBUILD generated by the arch-haskell script?

haskell-hdbc-sqlite3 > grep -i depends PKGBUILD 
makedepends=('ghc' 'haskell-cabal' 'haskell-hdbc>=2.1.0' 'haskell-utf8-string' 'sqlite3')
depends=('ghc' 'haskell-cabal' 'haskell-hdbc>=2.1.0' 'haskell-utf8-string' 'sqlite3')

Do all 1000+ PKGBUILD have this problem? Surely someone's looking into this, right?

--EDIT--

There are incorrect dependencies. There are 31 packages that depend on haskell-time of which a newer version is in GHC. The licenses are in non-standard places. Etc.

*** I recommend that all packages created by arch-haskell get removed from the AUR. ***

Offline

#2 2009-07-31 23:32:47

Allan
Developer
From: Brisbane, AU
Registered: 2007-06-09
Posts: 10,428
Website

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

depends==makedepends is not that bad but it could fairly easily be improved. Same with the licenses...

It sounds like haskell-time should be provided/replaced by ghc.  If that is the case, a bug report should be filed.

Anyway, there are plenty of packages that are a bit wrong but not malicious in the AUR and they are not deleted. Also, arch-haskell involves a couple of devs so if there were real need to delete the packages, we would have bigger issues....

You should contact them (http://archhaskell.wordpress.com/) to try and get the packages improved.

Offline

#3 2009-07-31 23:42:48

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,931

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

Allan wrote:

depends==makedepends is not that bad but it could fairly easily be improved. Same with the licenses...

It sounds like haskell-time should be provided/replaced by ghc.  If that is the case, a bug report should be filed.

Anyway, there are plenty of packages that are a bit wrong but not malicious in the AUR and they are not deleted. Also, arch-haskell involves a couple of devs so if there were real need to delete the packages, we would have bigger issues....

You should contact them (http://archhaskell.wordpress.com/) to try and get the packages improved.

Yeah, removing the lot of them may be extreme, but having an automated process of putting sub-par PKGBUILDs in AUR (that goes against the Haskell packing guidelines no less) isn't a good idea either. I'll post at the link above and see what happens.

Offline

#4 2009-08-01 00:18:43

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 5,725
Website

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

The developer of cabal2arch (Don Stewart) is on the arch-haskell mailing list: http://www.haskell.org/mailman/listinfo/arch-haskell

I'll bring this thread to his attention. He appears to be in the process of applying patches to cabal2arch right now and one of them deals with the depends/makedepends issue.

Maybe you could explain any other problems in detail with less hostility before he replies. wink

Last edited by Xyne (2009-08-01 00:26:05)

Offline

#5 2009-08-01 00:57:07

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,931

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

Thanks Xyne. I appreciate it.

I just sent an e-mail that looks exactly like this:

me wrote:

I was looking some PKGBUILD files from the stuff in AUR and there are a few things that need to be handled.

The haskell-time package is no longer needed as there is a newer version integrated into GHC. There are currently 30 packages that depend on this one. This leads to a significant question: Is there any way to get the automation scripts to look to see if something is actually required?

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 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.

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 apologize for just jumping in and criticizing this. It is a very cool idea and I'd like to see it be brought up to a level that's consistent with Arch.

Thanks for your hard. I really do appreciate it.

Offline

#6 2009-08-01 01:12:59

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 5,725
Website

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

skottish wrote:

Thanks Xyne. I appreciate it.

I just sent an e-mail that looks exactly like this:

Skottish wrote:

Thanks for your hard. I really do appreciate it.

Thanks for his hard what? tongue


Anyway, you brought up some good points. If they are compatible, then a generic "haskell" depends would be a very good idea. I really hope that the compilers/interpreters aren't too divergent for that to work.  The ghc package will probably need a big "provides" array if it contains modules not found in other compilers/interpreters.

Offline

#7 2009-08-03 15:54:22

lysgaard
Member
Registered: 2009-02-04
Posts: 2

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

I'm sorry to bump into this conversation, but is there it just me or are there some major dependency problems when installing haskell packages from AUR (yaourt) lately.
I did a "pacman -Syu" yestarday, and removed all my haskell packages, cabal-install and all cabal-install installed packages to do a complete reinstall of my haskell system.
Almost all packages depends on haskell-cabal, which is not in core, community, extra or AUR. I talked to some guys at #haskell and they said that haskell-cabal was put intoo the ghc package lately.
Does this mean that all packages that have haskell-cabal (nearly every single one) is broken?

Offline

#8 2009-08-03 15:58:07

Allan
Developer
From: Brisbane, AU
Registered: 2007-06-09
Posts: 10,428
Website

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

lysgaard wrote:

Does this mean that all packages that have haskell-cabal (nearly every single one) is broken?

No.

> pacman -Si ghc
...
Provides       : haskell-cabal  
...

Offline

#9 2009-08-03 16:02:36

lysgaard
Member
Registered: 2009-02-04
Posts: 2

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

Maybe I'm stupid then :S

morten@mortenlap ~ $ yaourt -S haskell-platform
==> Resuming previous build

==> Downloading haskell-platform PKGBUILD from AUR...
tar: Record size = 9 blocks


      First Submitted: Wed, 06 May 2009 03:43:31 +0000
haskell-platform 2009.2.0.2-1 (Unsupported): The Haskell Platform
==>  Edit the PKGBUILD (recommended) ? [Y/n]("A" to abort)
==>   ----------------------------------------------
==>n


==> haskell-platform dependencies:
 - gmp (already installed)
 - ghc (package found)
 - haskell-cabal (building from AUR)
 - haskell-glut (building from AUR)
 - haskell-http (package found)
 - haskell-opengl (building from AUR)
 - haskell-cgi (building from AUR)
 - haskell-editline (building from AUR)
 - haskell-fgl (building from AUR)
 - haskell-network (building from AUR)
 - haskell-time (building from AUR)
 - haskell-zlib (package found)
 - cabal-install (package found)
 - alex (package found)
 - happy (package found)
 - haddock (building from AUR)

==> WARNING: This PKGBUILD contains install file that can be dangerous.
haskell-platform.install
==>  Edit haskell-platform.install (recommended) ? [Y/n] ("A" to abort)
==>   ----------------------------------------------
==>n

==>  Continue the building of haskell-platform ? [Y/n]
==>   ----------------------------------------------
==>y

==> Building missing dependencies from AUR:
==> Resuming previous build
haskell-cabal not found on AUR

EDIT: this happens if i try to install any other haskell package from yaourt too. Note, because I'm trying to clean up my haskell system. I currently have _no_ haskell packages installed, not even ghc. Still yaourt should understand the dependencies, shoulden't it?

EDIT2: Everything works as expected if I install ghc first, and then eg. haskell-platform. So this is a quite minor problem. Still, people would probably like to be able to install haskell-platform from scratch, whitout having to install ghc first.

Last edited by lysgaard (2009-08-03 16:24:26)

Offline

#10 2009-08-03 23:41:40

Allan
Developer
From: Brisbane, AU
Registered: 2007-06-09
Posts: 10,428
Website

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

This is a yaourt bug...

Offline

#11 2009-08-04 03:25:56

dons00
Member
Registered: 2009-08-04
Posts: 3

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

skottish wrote:

Do all 1000+ PKGBUILD have this problem? Surely someone's looking into this, right?

--EDIT--

There are incorrect dependencies. There are 31 packages that depend on haskell-time of which a newer version is in GHC. The licenses are in non-standard places. Etc.

*** I recommend that all packages created by arch-haskell get removed from the AUR. ***

Hello skottish.

Thanks for the bug report. It would be better directed by reporting a bug to the Arch Haskell team, http://www.haskell.org/mailman/listinfo/arch-haskell

Just some background, the Arch Haskell team is an group of about 12 developers, including 2 Arch core developers, engaged in supporting the Haskell programming langauge on Arch, bring the Haskell community to Arch, and advocating for Arch Linux. The effort is centered around the #archhaskell irc channel, the arch-haskell@ mailing list, archhaskell.wordpress.com and the wiki.

We're aware of the depends/makedepends issue. cabal2arch, the tool that packages Haskell software for Arch, used a seemingly incorrect understanding of the semantics of makdepends and depends. That has been fixed. Packages are being updated incrementally, and the situation as is causes no harm. The current semantics for Haskell packages wrt. dependencies are stated here: http://www.haskell.org/pipermail/arch-h … 00193.html

Regarding haskell-time, the reason packages are using an older version of haskell-time is that Arch Linux supports the Haskell Platform http://hackage.haskell.org/platform/ which specifies which versions of libraries to support on a distro. We follow that. It is a policy decision.

Regarding the licenses, they're placed where the package guide says. http://www.haskell.org/pipermail/arch-h … 00196.html

I'm not sure what you mean by "Etc."  but if you have a bug report in the packaging system, please report it to the mailing list.

Offline

#12 2009-08-04 05:07:42

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,931

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

Thanks for the detailed response. I will be sure to post at the mailing list in the future. And by the way, the licenses on the packages that I checked where being installed in /usr/share/doc/<package_name>. I discovered this while looking for the documentation which wasn't in the directories.

Offline

#13 2009-08-04 17:30:09

dons00
Member
Registered: 2009-08-04
Posts: 3

Re: Has anyone addressed the AUR haskell depends/makedepends fiasco?

And by the way, the licenses on the packages that I checked where being installed in /usr/share/doc/<package_name>. I discovered this while looking for the documentation which wasn't in the directories.

cabal2arch will put licenses into /usr/share/licenses/$pkgname

We now install documentation for all packages, via haddock.

Finally, you can find the status of all Arch Haskell packages here: http://www.galois.com/~dons/arch-haskell-status.html

All packages have been repackaged with modified dependency information to work around yaourt's problems.

Last edited by dons00 (2009-08-23 01:40:13)

Offline

Board footer

Powered by FluxBB