You are not logged in.
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
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
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
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.
Last edited by Xyne (2009-08-01 00:26:05)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Thanks Xyne. I appreciate it.
I just sent an e-mail that looks exactly like this:
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
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?
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.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
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
Does this mean that all packages that have haskell-cabal (nearly every single one) is broken?
No.
> pacman -Si ghc
...
Provides : haskell-cabal
...
Offline
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
This is a yaourt bug...
Offline
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
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
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