
Hi. I know about the migration to the new ghc. I need a package from AUR, haskell-download which is out of date and orphan. Should I install it with cabal? I'm still confused about pacman and cabal working together.

On Thu, Mar 1, 2012 at 14:05, Jonathan Lahav
Hi. I know about the migration to the new ghc. I need a package from AUR, haskell-download which is out of date and orphan. Should I install it with cabal? I'm still confused about pacman and cabal working together.
You can either install it with cabal, or add it to ArchHaskell[1]. /M [1]: https://github.com/archhaskell/habs -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

When you wrote "or add it to ArchHaskell" I though "oh, really? can I do
that?"
So I tried.
First step was to install cabal2arch from [Haskell], then I did "cabal
update && cabal fetch download" and extracted the tar.gz.
I ran cabal2arch on the .cabal file, this produced a PKGBUILD and .install
files.
Next, I tried makepkg -s and there I got stuck.
haskell-download (trying to build it) depends on haskell-xml (from
[Haskell]) which defends on haskell-text (from extra). When trying to
install haskell-text from extra I get:
warning: cannot resolve "haskell-deepseq=1.1.0.2-2.1", a dependency of
"haskell-text"
Did I do anything wrong? Is it a bug? Should I try installing later?
On Thu, Mar 1, 2012 at 3:30 PM, Magnus Therning
On Thu, Mar 1, 2012 at 14:05, Jonathan Lahav
wrote: Hi. I know about the migration to the new ghc. I need a package from AUR, haskell-download which is out of date and orphan. Should I install it with cabal? I'm still confused about pacman and cabal working together.
You can either install it with cabal, or add it to ArchHaskell[1].
/M
[1]: https://github.com/archhaskell/habs
-- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Thu, Mar 1, 2012 at 16:06, Jonathan Lahav
When you wrote "or add it to ArchHaskell" I though "oh, really? can I do that?"
So I tried.
Excellent!
First step was to install cabal2arch from [Haskell], then I did "cabal update && cabal fetch download" and extracted the tar.gz. I ran cabal2arch on the .cabal file, this produced a PKGBUILD and .install files. Next, I tried makepkg -s and there I got stuck.
We don't use cabal2arch any more, instead we use cblrepo. There is documentation included in the Git repo for ArchHaskell[1], and there's documentation for cblrepo in its Git repo[2]. Feedback on the documentation is always welcome :) /M [1]: https://github.com/archhaskell/habs [2]: https://github.com/magthe/cblrepo -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

I'll be back on it in 15 minutes.
Unrelated to that, isn't it weird I can't install haskell-text from extra?
I don't think it has anything to do with me trying to build
haskell-download. In google cache you can still see that Arch had a package
named haskell-deepseq which is a dependency of haskell-text and it is not
there anymore.
Am I totally off or there is something wrong here?
On Thu, Mar 1, 2012 at 5:13 PM, Magnus Therning
On Thu, Mar 1, 2012 at 16:06, Jonathan Lahav
wrote: When you wrote "or add it to ArchHaskell" I though "oh, really? can I do that?"
So I tried.
Excellent!
First step was to install cabal2arch from [Haskell], then I did "cabal update && cabal fetch download" and extracted the tar.gz. I ran cabal2arch on the .cabal file, this produced a PKGBUILD and .install files. Next, I tried makepkg -s and there I got stuck.
We don't use cabal2arch any more, instead we use cblrepo. There is documentation included in the Git repo for ArchHaskell[1], and there's documentation for cblrepo in its Git repo[2]. Feedback on the documentation is always welcome :)
/M
[1]: https://github.com/archhaskell/habs [2]: https://github.com/magthe/cblrepo
-- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Sorry, I send a private mail by mistake. Resending.
Can it be that haskell-text in extra depends on haskell-deepseq which is
provided by ghc in *testing*?
I may be mistaken but this it what I understand from haskell-text package
page on archlinux.org.
On Thu, Mar 1, 2012 at 5:19 PM, Jonathan Lahav
I'll be back on it in 15 minutes.
Unrelated to that, isn't it weird I can't install haskell-text from extra? I don't think it has anything to do with me trying to build haskell-download. In google cache you can still see that Arch had a package named haskell-deepseq which is a dependency of haskell-text and it is not there anymore.
Am I totally off or there is something wrong here?
On Thu, Mar 1, 2012 at 5:13 PM, Magnus Therning
wrote: On Thu, Mar 1, 2012 at 16:06, Jonathan Lahav
wrote: When you wrote "or add it to ArchHaskell" I though "oh, really? can I do that?"
So I tried.
Excellent!
First step was to install cabal2arch from [Haskell], then I did "cabal update && cabal fetch download" and extracted the tar.gz. I ran cabal2arch on the .cabal file, this produced a PKGBUILD and .install files. Next, I tried makepkg -s and there I got stuck.
We don't use cabal2arch any more, instead we use cblrepo. There is documentation included in the Git repo for ArchHaskell[1], and there's documentation for cblrepo in its Git repo[2]. Feedback on the documentation is always welcome :)
/M
[1]: https://github.com/archhaskell/habs [2]: https://github.com/magthe/cblrepo
-- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Hello, I'd like to contribute to package maintenance, but from the habs and cblrepo documentation you linked I can't figure out how to do that (after making the pkgbuilds and building the packages). Sorry, I'm new to this... Alessandro -- If God had intended for email to be written in HTML, then the traditional signoff of prayers would be </amen> -- Tom Liston

On Fri, Mar 2, 2012 at 10:44, Alessandro Pezzoni
Hello, I'd like to contribute to package maintenance, but from the habs and cblrepo documentation you linked I can't figure out how to do that (after making the pkgbuilds and building the packages). Sorry, I'm new to this...
Contributing *built* packages has some inherent issues, which means it isn't as easy as it ought to. AFAIU you have 1. Cloned `habs`. 2. Added a package using `cblrepo`. 3. Used `cblrepo` to create the source package and verified that it compiles properly. Is that correct? If so, then send me the changes to `habs`. (Depending on how you created your clone you either create a pull request in GitHub, or you send me the patch in an email (`git format-patch`)). You also upload the built package to some place where I can get them, e.g. the public part of a Dropbox account. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

AFAIU you have
1. Cloned `habs`. 2. Added a package using `cblrepo`. 3. Used `cblrepo` to create the source package and verified that it compiles properly.
Almost correct, yes. Basically, I am trying to upgrade the haskell-hlint package (and dependencies haskell-cpphs and haskell-uniplate). I added the relevant packages and bumped those which depend on them, then created the source packages for all those. So far so good (at least as I can see), although I'm not able to build the ghc-mod package as I can't satisfy the haskell-ghc-paths dependency, although I don't understand why. Please tell me if I am doing anything wrong, otherwise I will provide a GitHub pull request and a link to the built packages. Alessandro -- If God had intended for email to be written in HTML, then the traditional signoff of prayers would be </amen> -- Tom Liston

On Fri, Mar 2, 2012 at 12:17, Alessandro Pezzoni
AFAIU you have
1. Cloned `habs`. 2. Added a package using `cblrepo`. 3. Used `cblrepo` to create the source package and verified that it compiles properly.
Almost correct, yes. Basically, I am trying to upgrade the haskell-hlint package (and dependencies haskell-cpphs and haskell-uniplate). I added the relevant packages and bumped those which depend on them, then created the source packages for all those. So far so good (at least as I can see), although I'm not able to build the ghc-mod package as I can't satisfy the haskell-ghc-paths dependency, although I don't understand why.
`cblrepo` gives fairly good messages on unsatisfiable dependencies. Can you post the message you get from it?
Please tell me if I am doing anything wrong, otherwise I will provide a GitHub pull request and a link to the built packages.
It sounds like you are doing things the intended way :) /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

`cblrepo` gives fairly good messages on unsatisfiable dependencies. Can you post the message you get from it?
Actually, I'm not getting any errors from it, although I can only find the haskell-ghc-paths package in the AUR (I have [haskell] in my pacman.conf), which doesn't seem right to me. I tried looking in the extra/ghc pkgbuild, where I found the following comment, but nothing else: # Special note for devs looking to upgrade this package: # ghc places a unique hash for each library when it is built. # Libraries depend on versions specified by those hashes. # This implies that all libraries need to be rebuilt when ghc is rebuilt. # Also, due to dependency loop problems, haskell-ghc-paths and haddock # do not carry version dependencies. You will have to remember to build them too. Alessandro -- If God had intended for email to be written in HTML, then the traditional signoff of prayers would be </amen> -- Tom Liston

On Fri, Mar 2, 2012 at 13:19, Alessandro Pezzoni
`cblrepo` gives fairly good messages on unsatisfiable dependencies. Can you post the message you get from it?
Actually, I'm not getting any errors from it, although I can only find the haskell-ghc-paths package in the AUR (I have [haskell] in my pacman.conf), which doesn't seem right to me. I tried looking in the extra/ghc pkgbuild, where I found the following comment, but nothing else: # Special note for devs looking to upgrade this package: # ghc places a unique hash for each library when it is built. # Libraries depend on versions specified by those hashes. # This implies that all libraries need to be rebuilt when ghc is rebuilt. # Also, due to dependency loop problems, haskell-ghc-paths and haddock # do not carry version dependencies. You will have to remember to build them too.
That comment is for `ghc` only, and not relevant to your problem. `ghc-paths` used to be in [extra]/[community] at some point, I wonder why it was removed. This is disturbing. Keeping track of updates to packages in [extra]/[community] is hard enough, keeping track of removals is, AFAICS, even harder. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

`ghc-paths` used to be in [extra]/[community] at some point, I wonder why it was removed.
I tried adding it to habs but I couldn't do that, because it is already there as a base package. I can't remove it either without removing all its dependants first. Should I leave this alone until we figure out why it was removed? Alessandro -- If God had intended for email to be written in HTML, then the traditional signoff of prayers would be </amen> -- Tom Liston

On Fri, Mar 2, 2012 at 14:46, Alessandro Pezzoni
`ghc-paths` used to be in [extra]/[community] at some point, I wonder why it was removed.
I tried adding it to habs but I couldn't do that, because it is already there as a base package. I can't remove it either without removing all its dependants first. Should I leave this alone until we figure out why it was removed?
Yes, I think that's best for now. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Fri, Mar 02, 2012 at 02:46:53PM +0100, Alessandro Pezzoni wrote:
`ghc-paths` used to be in [extra]/[community] at some point, I wonder why it was removed.
I tried adding it to habs but I couldn't do that, because it is already there as a base package. I can't remove it either without removing all its dependants first. Should I leave this alone until we figure out why it was removed?
I've just made an attempt at adding ghc-paths to [haskell], but I failed because [extra]/[community] is broken: - one of the packages that depend on ghc-paths also depends on deepseq, and - deepseq is gone from [extra]/[community], so I added it too to [haskell], but - one of the packages that depend on deepseq also depends on text, and - text in [extra]/[community] depend on deepseq This effectively prevents me from fixing [haskell] until [extra]/[community] is fixed! This episode has made me consider whether the tight dependency between [haskell] and [extra]/[community] should be broken in the future. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. -- Alan Kay

On Sat, Mar 3, 2012 at 4:06 AM, Magnus Therning
On Fri, Mar 02, 2012 at 02:46:53PM +0100, Alessandro Pezzoni wrote:
`ghc-paths` used to be in [extra]/[community] at some point, I wonder why it was removed.
I tried adding it to habs but I couldn't do that, because it is already there as a base package. I can't remove it either without removing all its dependants first. Should I leave this alone until we figure out why it was removed?
I've just made an attempt at adding ghc-paths to [haskell], but I failed because [extra]/[community] is broken:
- one of the packages that depend on ghc-paths also depends on deepseq, and - deepseq is gone from [extra]/[community], so I added it too to [haskell], but - one of the packages that depend on deepseq also depends on text, and - text in [extra]/[community] depend on deepseq
This effectively prevents me from fixing [haskell] until [extra]/[community] is fixed!
This episode has made me consider whether the tight dependency between [haskell] and [extra]/[community] should be broken in the future.
hi Removing deepseq was a mistake and I should have waited until after moving the new ghc (since ghc 7.4.1 now provides it.) to extra. I don't think it's worth fixing it right now because I plan to move the new ghc today or tomorrow so just hold off all rebuilds against extra/community for now. The main focus in this rebuild was to cleanup the haskell situation on arch and reorganize it so there is a new direction for it rather than having it stagnate and leaving it in a frozen state essentially. It's really only been a week since I began my cleanup of haskell so please give it a little more time and patience before making a major decision. Some of the issues brought up during the haskell rebuild need lots of time and communication with upstream which takes time. I would prefer it if we could work together on any issues you might have with haskell on arch. Don't hesitate to open up lots of bugs on the bug tracker so we can discuss each issue more thoroughly and so I wont forget. :) cheers!

Magnus Therning wrote:
This episode has made me consider whether the tight dependency between [haskell] and [extra]/[community] should be broken in the future.
/M
I think I argued for breaking this dependency completely during the discussions after Don stepped down. If you bring all of the Haskell packages currently spread across [extra] and [community] into [haskell] (including ghc), then you eliminate all of synchronization issues. You will have full control over topological rebuilds and you can ensure the the included packages form a compatible subset. Users can place [haskell] above [extra] in pacman.conf, which would avoid issues if ghc and some other packages remain in the official repos*. That should not be an issue though because I think there is a good chance that [haskell] could obtain official status. I don't remember exactly where I saw it, but just two days ago I found a wiki page or a mailing list post where the devs had stated that they would like to see more repos dedicated to specific goals. The [haskell] repo definitely qualifies. Another advantage of keeping everything in one repo is that it you could then have non-conflicting repos with different versions of GHC and different subsets of packages. I am not suggesting that you maintain such repos. I am only pointing out that it would make it easier to do so. I truly believe that this would improve the Haskell experience on Arch. /X * This should work even if [haskell] depends on some (non-Haskell) packages in [extra]. Pacman searches the repos in order, but it will still descend past [haskell] in the list to satisfy dependencies of packages in [haskell]. The order simply ensures that it will find ghc etc in [haskell] instead of [extra].

On Sat, Mar 03, 2012 at 03:11:44PM +0000, Xyne wrote:
Magnus Therning wrote:
This episode has made me consider whether the tight dependency between [haskell] and [extra]/[community] should be broken in the future.
[...]
If you bring all of the Haskell packages currently spread across [extra] and [community] into [haskell] (including ghc), then you eliminate all of synchronization issues. You will have full control over topological rebuilds and you can ensure the the included packages form a compatible subset.
Yes, exactly. The biggest downside is the increase in number of packages, but I'm confident our current tools are up to it. The independence is
Users can place [haskell] above [extra] in pacman.conf, which would avoid issues if ghc and some other packages remain in the official repos*. That should not be an issue though because I think there is
Indeed, the way pacman works support that scenario well. I've used it for a while, using a private repo in order to "override" some packages in [extra]/[community].
a good chance that [haskell] could obtain official status. I don't remember exactly where I saw it, but just two days ago I found a wiki page or a mailing list post where the devs had stated that they would like to see more repos dedicated to specific goals. The [haskell] repo definitely qualifies.
That might be a nice bonus if that happened, especially if it would mean access to build machines ;-). It's all it'd be though, a bonus.
I truly believe that this would improve the Haskell experience on Arch.
:-) /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. -- Alan Kay
participants (5)
-
Alessandro Pezzoni
-
Jonathan Lahav
-
Magnus Therning
-
Thomas Dziedzic
-
Xyne