
Another entry in the debate on ghc 7.4.1 :) I've put up a repo containing ghc 7.4.1, darcs-beta (stable darcs doesn't build out of the box) and xmonad. [ghc74] Server = http://www.kiwilight.com/~magnus/$repo Only built for x86_64 (since it's the future ;). Let me know if anyone's interested in building it for i686, then I'll share the source for it all. /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

Hello, I'd like to have it for 32 bits as well, as I do not have a 64 bits OS. My computer is slow, do you think it is doable to compile it on my machine with your script as you suggested? Never done that before, but I'd be glad to help. I don't know what are the requirements, how long it takes, etc. Adrien On 11/02/2012 12:33, Magnus Therning wrote:
Another entry in the debate on ghc 7.4.1 :)
I've put up a repo containing ghc 7.4.1, darcs-beta (stable darcs doesn't build out of the box) and xmonad.
[ghc74] Server = http://www.kiwilight.com/~magnus/$repo
Only built for x86_64 (since it's the future ;). Let me know if anyone's interested in building it for i686, then I'll share the source for it all.
/M
_______________________________________________ arch-haskell mailing list arch-haskell@haskell.org http://www.haskell.org/mailman/listinfo/arch-haskell

On Sun, Feb 12, 2012 at 15:25, Adrien Haxaire
Hello,
I'd like to have it for 32 bits as well, as I do not have a 64 bits OS.
My computer is slow, do you think it is doable to compile it on my machine with your script as you suggested? Never done that before, but I'd be glad to help. I don't know what are the requirements, how long it takes, etc.
It is certainly doable, though it may take a bit of time. First you need a development version of `cblrepo`, check out commit 4364ed0ab546fafbff59163d59c6bf94d8298dd4 on the branch called `devo/ghc74` [1]. That version of `cblrepo` is compilable using the packages currently in [haskell], but it generates PKGBUILDs usable with GHC 7.4.1. Check out the sources I used for [ghc74] $ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git Now you can use the `makeahpkg` script as usual to first build GHC itself, then the dev-version of cblrepo to generate the PKGBUILDs, in order to finally build the entire [ghc74] repo for yourself. Let me know if you run into any troubles. /M [1]: http://is.gd/NyCWxL -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Mon, 13 Feb 2012 16:04:58 +0100, Magnus Therning wrote:
It is certainly doable, though it may take a bit of time.
First you need a development version of `cblrepo`, check out commit 4364ed0ab546fafbff59163d59c6bf94d8298dd4 on the branch called `devo/ghc74` [1]. That version of `cblrepo` is compilable using the packages currently in [haskell], but it generates PKGBUILDs usable with GHC 7.4.1.
Check out the sources I used for [ghc74]
$ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git
Now you can use the `makeahpkg` script as usual to first build GHC itself, then the dev-version of cblrepo to generate the PKGBUILDs, in order to finally build the entire [ghc74] repo for yourself.
Let me know if you run into any troubles.
/M
[1]: http://is.gd/NyCWxL
Hello, Thanks for the explanation. I think I miss some experience building a repo for Arch, so here is what I did yesterday. I cloned the sources you used for [ghc74] with git clone http://www.kiwilight.com/~magnus/ah-ghc74.git. Then cd ah-ghc74, then makeahpkg. It created a fake root directory inside ah-ghc74, called something with 686 (I don't remember the exact name). Then I cloned cblrepo: git clone https://github.com/magthe/cblrepo.git, cd cblrepo, git checkout -b 4364ed0ab546fafbff59163d59c6bf94d8298dd4, then cabal install. Seemed to work. Went back to ah-ghc74, cd ghc, makepkg -s. It built ghc-7.4.1. I forgot to remove the profiling options in my ghc settings, meaning that it built it twice :) So I guess I have to do it again tonight, without the profiling options. It tokk 4 hours in total. Now I don't know what is the next step. Is it 'cblrepo add -d ghc,7.4.1' then 'cblrepo pkgbuild ghc', or only the latter? If you have some links on how to do it, I'll be glad to look at it and learn how to do it. Adrien

On Tue, Feb 14, 2012 at 10:50, Adrien Haxaire
On Mon, 13 Feb 2012 16:04:58 +0100, Magnus Therning wrote:
It is certainly doable, though it may take a bit of time.
First you need a development version of `cblrepo`, check out commit 4364ed0ab546fafbff59163d59c6bf94d8298dd4 on the branch called `devo/ghc74` [1]. That version of `cblrepo` is compilable using the packages currently in [haskell], but it generates PKGBUILDs usable with GHC 7.4.1.
Check out the sources I used for [ghc74]
$ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git
Now you can use the `makeahpkg` script as usual to first build GHC itself, then the dev-version of cblrepo to generate the PKGBUILDs, in order to finally build the entire [ghc74] repo for yourself.
Let me know if you run into any troubles.
/M
[1]: http://is.gd/NyCWxL
Hello,
Thanks for the explanation. I think I miss some experience building a repo for Arch, so here is what I did yesterday.
I cloned the sources you used for [ghc74] with git clone http://www.kiwilight.com/~magnus/ah-ghc74.git. Then cd ah-ghc74, then makeahpkg. It created a fake root directory inside ah-ghc74, called something with 686 (I don't remember the exact name).
That's a chroot, you should makeahpkg to build everything, including ghc, to make sure your own system doesn't contaminate the built packages.
Then I cloned cblrepo: git clone https://github.com/magthe/cblrepo.git, cd cblrepo, git checkout -b 4364ed0ab546fafbff59163d59c6bf94d8298dd4, then cabal install. Seemed to work.
Went back to ah-ghc74, cd ghc, makepkg -s. It built ghc-7.4.1. I forgot to remove the profiling options in my ghc settings, meaning that it built it twice :) So I guess I have to do it again tonight, without the profiling options. It tokk 4 hours in total.
Now I don't know what is the next step. Is it 'cblrepo add -d ghc,7.4.1' then 'cblrepo pkgbuild ghc', or only the latter?
No, what you need to do now is use cblrepo to create the source packages, then you use makeahpkg to build them. Start with cleaning up your ah-ghc74 directory (you can use `git clean` for that) and make sure you have `cblrepo` in your path. Then the following steps ought to do the job: $ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
If you have some links on how to do it, I'll be glad to look at it and learn how to do it.
There's a README that comes with cblrepo, that's a good place to start, then there's also a README for HABS (http://is.gd/7b8ICP). /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Thanks for the detailed explanation. I see I miss some common knowledge about how ArchLinux and ArchHaskell work. This experience will fix this. I read yesterday the documentation for cblrepo; it is nice to have such a detailed README. I didn't know HABS. I try it tonight if I find some time; after all I'm later than Debian :) Adrien On Tue, 14 Feb 2012 13:01:05 +0100, Magnus Therning wrote:
On Tue, Feb 14, 2012 at 10:50, Adrien Haxaire
wrote: On Mon, 13 Feb 2012 16:04:58 +0100, Magnus Therning wrote:
It is certainly doable, though it may take a bit of time.
First you need a development version of `cblrepo`, check out commit 4364ed0ab546fafbff59163d59c6bf94d8298dd4 on the branch called `devo/ghc74` [1]. That version of `cblrepo` is compilable using the packages currently in [haskell], but it generates PKGBUILDs usable with GHC 7.4.1.
Check out the sources I used for [ghc74]
$ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git
Now you can use the `makeahpkg` script as usual to first build GHC itself, then the dev-version of cblrepo to generate the PKGBUILDs, in order to finally build the entire [ghc74] repo for yourself.
Let me know if you run into any troubles.
/M
[1]: http://is.gd/NyCWxL
Hello,
Thanks for the explanation. I think I miss some experience building a repo for Arch, so here is what I did yesterday.
I cloned the sources you used for [ghc74] with git clone http://www.kiwilight.com/~magnus/ah-ghc74.git. Then cd ah-ghc74, then makeahpkg. It created a fake root directory inside ah-ghc74, called something with 686 (I don't remember the exact name).
That's a chroot, you should makeahpkg to build everything, including ghc, to make sure your own system doesn't contaminate the built packages.
Then I cloned cblrepo: git clone https://github.com/magthe/cblrepo.git, cd cblrepo, git checkout -b 4364ed0ab546fafbff59163d59c6bf94d8298dd4, then cabal install. Seemed to work.
Went back to ah-ghc74, cd ghc, makepkg -s. It built ghc-7.4.1. I forgot to remove the profiling options in my ghc settings, meaning that it built it twice :) So I guess I have to do it again tonight, without the profiling options. It tokk 4 hours in total.
Now I don't know what is the next step. Is it 'cblrepo add -d ghc,7.4.1' then 'cblrepo pkgbuild ghc', or only the latter?
No, what you need to do now is use cblrepo to create the source packages, then you use makeahpkg to build them.
Start with cleaning up your ah-ghc74 directory (you can use `git clean` for that) and make sure you have `cblrepo` in your path. Then the following steps ought to do the job:
$ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
If you have some links on how to do it, I'll be glad to look at it and learn how to do it.
There's a README that comes with cblrepo, that's a good place to start, then there's also a README for HABS (http://is.gd/7b8ICP).
/M

On Tue, 14 Feb 2012 13:01:05 +0100, Magnus Therning wrote:
Start with cleaning up your ah-ghc74 directory (you can use `git clean` for that) and make sure you have `cblrepo` in your path. Then the following steps ought to do the job:
$ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
Seems it built successfully. I started with a cblrepo sync to initialize it. Here are the files/directories in my ah-ghc74 directory after running the scripts: ,,build-order cblrepo.db ghc haskell-ansi-terminal haskell-ansi-wl-pprint haskell-cereal haskell-cmdargs haskell-crypto-api haskell-darcs-beta haskell-data-default haskell-dataenc haskell-entropy haskell-hashed-storage haskell-haskeline haskell-html haskell-hunit haskell-json haskell-largeword haskell-mmap haskell-mtl haskell-parallel haskell-parsec haskell-primitive haskell-puremd5 haskell-random haskell-regex-base haskell-regex-compat haskell-regex-posix haskell-regex-tdfa haskell-semigroups haskell-split haskell-syb haskell-tagged haskell-tar haskell-text haskell-transformers haskell-unixutils haskell-utf8-string haskell-vector haskell-x11 haskell-xmonad haskell-xmonad-contrib haskell-xmonad-extras haskell-zlib i686-chroot makeahpkg patches I made a copy of it for safety, then tried to install it: sudo pacman -U ghc/ghc-7.4.1-1-i686.pkg.tar.xz Mot de passe : chargement des paquets… résolution des dépendances... recherche des conflits entre paquets... Erreur : la préparation de la transaction a échoué (la satisfaction des dépendances a échoué) :: haskell-cpphs : requiert ghc=7.0.3-2 :: haskell-ghc-paths : requiert ghc=7.0.3-2 :: haskell-haskell-src-exts : requiert ghc=7.0.3-2 :: haskell-hlint : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert haskell-containers=0.4.0.0 :: haskell-hunit : requiert ghc=7.0.3-2 :: haskell-json : requiert ghc=7.0.3-2 :: haskell-json : requiert haskell-array=0.3.0.2 :: haskell-json : requiert haskell-bytestring=0.9.1.10 :: haskell-json : requiert haskell-containers=0.4.0.0 :: haskell-json : requiert haskell-pretty=1.0.1.2 :: haskell-mtl : requiert ghc=7.0.3-2 :: haskell-parsec : requiert ghc=7.0.3-2 :: haskell-primitive : requiert ghc=7.0.3-2 :: haskell-quickcheck : requiert ghc=7.0.3-2 :: haskell-syb : requiert ghc=7.0.3-2 :: haskell-transformers : requiert ghc=7.0.3-2 :: haskell-uniplate : requiert ghc=7.0.3-2 :: haskell-vector : requiert ghc=7.0.3-2 :: haskell-xhtml : requiert ghc=7.0.3-2 It says it cannot resolve the dependencies, namely ghc 7.0.3-2, but ghc --version gives: The Glorious Glasgow Haskell Compilation System, version 7.0.3. Any clue? I did not update my arch for a while, maybe this is why. By the way, where should I upload it when finished? Thanks again for the help, it takes a while to compile, but it's fun :) Adrien
If you have some links on how to do it, I'll be glad to look at it and learn how to do it.
There's a README that comes with cblrepo, that's a good place to start, then there's also a README for HABS (http://is.gd/7b8ICP).
/M

On 02/15/2012 10:28 AM, Adrien Haxaire wrote:
On Tue, 14 Feb 2012 13:01:05 +0100, Magnus Therning wrote:
Start with cleaning up your ah-ghc74 directory (you can use `git clean` for that) and make sure you have `cblrepo` in your path. Then the following steps ought to do the job:
$ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
Seems it built successfully.
I started with a cblrepo sync to initialize it. Here are the files/directories in my ah-ghc74 directory after running the scripts:
,,build-order cblrepo.db ghc haskell-ansi-terminal haskell-ansi-wl-pprint haskell-cereal haskell-cmdargs haskell-crypto-api haskell-darcs-beta haskell-data-default haskell-dataenc haskell-entropy haskell-hashed-storage haskell-haskeline haskell-html haskell-hunit haskell-json haskell-largeword haskell-mmap haskell-mtl haskell-parallel haskell-parsec haskell-primitive haskell-puremd5 haskell-random haskell-regex-base haskell-regex-compat haskell-regex-posix haskell-regex-tdfa haskell-semigroups haskell-split haskell-syb haskell-tagged haskell-tar haskell-text haskell-transformers haskell-unixutils haskell-utf8-string haskell-vector haskell-x11 haskell-xmonad haskell-xmonad-contrib haskell-xmonad-extras haskell-zlib i686-chroot makeahpkg patches
I made a copy of it for safety, then tried to install it:
sudo pacman -U ghc/ghc-7.4.1-1-i686.pkg.tar.xz Mot de passe : chargement des paquets… résolution des dépendances... recherche des conflits entre paquets... Erreur : la préparation de la transaction a échoué (la satisfaction des dépendances a échoué) :: haskell-cpphs : requiert ghc=7.0.3-2 :: haskell-ghc-paths : requiert ghc=7.0.3-2 :: haskell-haskell-src-exts : requiert ghc=7.0.3-2 :: haskell-hlint : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert haskell-containers=0.4.0.0 :: haskell-hunit : requiert ghc=7.0.3-2 :: haskell-json : requiert ghc=7.0.3-2 :: haskell-json : requiert haskell-array=0.3.0.2 :: haskell-json : requiert haskell-bytestring=0.9.1.10 :: haskell-json : requiert haskell-containers=0.4.0.0 :: haskell-json : requiert haskell-pretty=1.0.1.2 :: haskell-mtl : requiert ghc=7.0.3-2 :: haskell-parsec : requiert ghc=7.0.3-2 :: haskell-primitive : requiert ghc=7.0.3-2 :: haskell-quickcheck : requiert ghc=7.0.3-2 :: haskell-syb : requiert ghc=7.0.3-2 :: haskell-transformers : requiert ghc=7.0.3-2 :: haskell-uniplate : requiert ghc=7.0.3-2 :: haskell-vector : requiert ghc=7.0.3-2 :: haskell-xhtml : requiert ghc=7.0.3-2
It says it cannot resolve the dependencies, namely ghc 7.0.3-2, but ghc --version gives: The Glorious Glasgow Haskell Compilation System, version 7.0.3.
Any clue? I did not update my arch for a while, maybe this is why. OK, I do not know French but it looks like you have some packages installed which depend on the old version of ghc. Remove the old ghc *and all the packages which depend on it* beofre installing 7.4.1.
Peter.

On Wed, Feb 15, 2012 at 10:28, Adrien Haxaire
On Tue, 14 Feb 2012 13:01:05 +0100, Magnus Therning wrote:
Start with cleaning up your ah-ghc74 directory (you can use `git clean` for that) and make sure you have `cblrepo` in your path. Then the following steps ought to do the job:
$ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
Seems it built successfully.
I started with a cblrepo sync to initialize it. Here are the files/directories in my ah-ghc74 directory after running the scripts:
Ah, yes, you do need to sync it first, I tend to forget that step all the time when writing down instructions.
,,build-order cblrepo.db ghc haskell-ansi-terminal [...] haskell-zlib i686-chroot makeahpkg patches
You'll find all the built packages under `ghc` and `haskell-*`.
I made a copy of it for safety, then tried to install it:
sudo pacman -U ghc/ghc-7.4.1-1-i686.pkg.tar.xz Mot de passe : chargement des paquets… résolution des dépendances... recherche des conflits entre paquets... Erreur : la préparation de la transaction a échoué (la satisfaction des dépendances a échoué) :: haskell-cpphs : requiert ghc=7.0.3-2 :: haskell-ghc-paths : requiert ghc=7.0.3-2 :: haskell-haskell-src-exts : requiert ghc=7.0.3-2 :: haskell-hlint : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert ghc=7.0.3-2 :: haskell-hscolour : requiert haskell-containers=0.4.0.0 :: haskell-hunit : requiert ghc=7.0.3-2 :: haskell-json : requiert ghc=7.0.3-2 :: haskell-json : requiert haskell-array=0.3.0.2 :: haskell-json : requiert haskell-bytestring=0.9.1.10 :: haskell-json : requiert haskell-containers=0.4.0.0 :: haskell-json : requiert haskell-pretty=1.0.1.2 :: haskell-mtl : requiert ghc=7.0.3-2 :: haskell-parsec : requiert ghc=7.0.3-2 :: haskell-primitive : requiert ghc=7.0.3-2 :: haskell-quickcheck : requiert ghc=7.0.3-2 :: haskell-syb : requiert ghc=7.0.3-2 :: haskell-transformers : requiert ghc=7.0.3-2 :: haskell-uniplate : requiert ghc=7.0.3-2 :: haskell-vector : requiert ghc=7.0.3-2 :: haskell-xhtml : requiert ghc=7.0.3-2
It says it cannot resolve the dependencies, namely ghc 7.0.3-2, but ghc --version gives: The Glorious Glasgow Haskell Compilation System, version 7.0.3.
Any clue? I did not update my arch for a while, maybe this is why.
You have a number of installed haskell packages that require ghc 7.0.3-2 on your system. Remove those first (e.g. `pacman -Rncs ghc`), then you should have no problems installing the newly built one.
By the way, where should I upload it when finished?
Good question. Do you have any place where you can keep them long enough for me to copy them over? /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Thank you Peter and Magnus. I'll try this tonight.
Good question. Do you have any place where you can keep them long enough for me to copy them over?
Yes. Once I have it running on my machine, I'll upload them to a subdomain of my own. Whats is the best option then: a big tarball, or several ones? I can try to set up an ftp also, might be better. Adrien

On Wed, Feb 15, 2012 at 11:05, Adrien Haxaire
Thank you Peter and Magnus. I'll try this tonight.
Good question. Do you have any place where you can keep them long enough for me to copy them over?
Yes. Once I have it running on my machine, I'll upload them to a subdomain of my own. Whats is the best option then: a big tarball, or several ones? I can try to set up an ftp also, might be better.
Cool. Just plain old HTTP will be fine, one big or several ones doesn't really matter. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Hello, Everything went smoothly. I have installed GHC 7.4.1. \o/ I have uploaded my directory ah-ghc74 at this location: http://arch.adrienhaxaire.org. I made a tarball for every directory inside. Please let me know when you have downloaded them and checked it works, so I can delete them. Thanks again for the explanations and the help. And the scripts, which made all the work for me. This is a nice experience. I'm glad I have contributed a bit. Adrien On Wed, 15 Feb 2012 11:07:35 +0100, Magnus Therning wrote:
On Wed, Feb 15, 2012 at 11:05, Adrien Haxaire
wrote: Thank you Peter and Magnus. I'll try this tonight.
Good question. Do you have any place where you can keep them long enough for me to copy them over?
Yes. Once I have it running on my machine, I'll upload them to a subdomain of my own. Whats is the best option then: a big tarball, or several ones? I can try to set up an ftp also, might be better.
Cool. Just plain old HTTP will be fine, one big or several ones doesn't really matter.
/M

On Thu, Feb 16, 2012 at 09:36, Adrien Haxaire
Hello,
Everything went smoothly. I have installed GHC 7.4.1. \o/
I have uploaded my directory ah-ghc74 at this location: http://arch.adrienhaxaire.org. I made a tarball for every directory inside.
Please let me know when you have downloaded them and checked it works, so I can delete them.
I've probably missed something in my instructions, because to me it looks like you haven't built anything except ghc itself. There should be a package in each sub-dir after a successful complete build. All haskell-* tar-balls are about 1Kb in size and they should be considerably larger if there was a built package in there. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Thu, 16 Feb 2012 10:00:53 +0100, Magnus Therning wrote:
I've probably missed something in my instructions, because to me it looks like you haven't built anything except ghc itself. There should be a package in each sub-dir after a successful complete build. All haskell-* tar-balls are about 1Kb in size and they should be considerably larger if there was a built package in there.
/M
I did this: $ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order) Maybe there is no space between -- and ghc in the 4th command. That may have spoiled it. So tonight I go for `./makeahpkg -x --ghc $(cat ,,buildorder)` and see what it does. By the way, do I need to upload the chroot too? Or is it just a place to build the packages? Adrien

On Thu, Feb 16, 2012 at 10:08, Adrien Haxaire
On Thu, 16 Feb 2012 10:00:53 +0100, Magnus Therning wrote:
I've probably missed something in my instructions, because to me it looks like you haven't built anything except ghc itself. There should be a package in each sub-dir after a successful complete build. All haskell-* tar-balls are about 1Kb in size and they should be considerably larger if there was a built package in there.
I did this:
$ cd ah-ghc74 $ cblrepo build $(cblrepo list | cut -f1 -d\ ) > ,,build-order $ cblrepo pkgbuild $(cat ,,build-order) $ ./makeahpkg -x -- ghc $(cat ,,build-order)
Maybe there is no space between -- and ghc in the 4th command. That may have spoiled it. So tonight I go for `./makeahpkg -x --ghc $(cat ,,buildorder)` and see what it does.
The instructions don't look wrong to me... and the `,,build-order` file looks correct too. The last command should take a considerable amount of time and produce numerous packages. You can list them easily with `ls */*.xz`.
By the way, do I need to upload the chroot too? Or is it just a place to build the packages?
It is just a place to build the packages. The only thing you need to upload are the built packages, i.e. what is listed with `ls */*.xz`. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Thu, 16 Feb 2012 10:33:41 +0100, Magnus Therning wrote:
The instructions don't look wrong to me... and the `,,build-order` file looks correct too. The last command should take a considerable amount of time and produce numerous packages. You can list them easily with `ls */*.xz`.
By the way, do I need to upload the chroot too? Or is it just a place to build the packages?
It is just a place to build the packages. The only thing you need to upload are the built packages, i.e. what is listed with `ls */*.xz`.
/M
Ok. So I check what is inside the directories tonight. If I don't have the same set of files that I have for ghc, I'll restart from scratch, to be sure. Thanks again for the help and the patience :) Adrien

A short update. I got confused in the process and I restarted from scratch hence the time since my last mail. I have almost all the packages compiled. I have uploaded them to http://arch.adrienhaxaire.org. Amongst others, what does not compile: xmonad-contrib xmonad-extras gtk hlint basically all archive which size is 1K Also some patches do not apply well: [adrien@arch ah-ghc74]$ cblrepo pkgbuild $(cat ,,build-order) Failed patching /tmp/cblrepo.2CyhXK/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/haskell-src-exts.pkgbuild Failed patching /tmp/cblrepo.Y8IXQb/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/glib.pkgbuild Failed patching /tmp/cblrepo.S2YpEn/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/DBus.pkgbuild Failed patching /tmp/cblrepo.EJxKM1/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/gtk.pkgbuild Failed patching /tmp/cblrepo.6NWYBP/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/gtk2hs-buildtools.pkgbuild I'll have more time to make a full report tomorrow. In the meantime, please let me know if the uploaded packages are ok, so that I can restart a new cycle if something went wrong. Adrien

On Sat, Feb 18, 2012 at 06:30:52PM +0100, Adrien Haxaire wrote:
A short update.
I got confused in the process and I restarted from scratch hence the time since my last mail.
I have almost all the packages compiled. I have uploaded them to http://arch.adrienhaxaire.org.
Amongst others, what does not compile: xmonad-contrib xmonad-extras gtk hlint basically all archive which size is 1K
Also some patches do not apply well:
[adrien@arch ah-ghc74]$ cblrepo pkgbuild $(cat ,,build-order) Failed patching /tmp/cblrepo.2CyhXK/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/haskell-src-exts.pkgbuild Failed patching /tmp/cblrepo.Y8IXQb/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/glib.pkgbuild Failed patching /tmp/cblrepo.S2YpEn/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/DBus.pkgbuild Failed patching /tmp/cblrepo.EJxKM1/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/gtk.pkgbuild Failed patching /tmp/cblrepo.6NWYBP/PKGBUILD with /home/adrien/Developpement/haskell/ghc/ah-ghc74/patches/gtk2hs-buildtools.pkgbuild
I'll have more time to make a full report tomorrow. In the meantime, please let me know if the uploaded packages are ok, so that I can restart a new cycle if something went wrong.
I'd recommend you fetch the latest changes I've made to the git repo. There's a new pkgrel of GHC itself (7.4.1-2) as well as some fixes to the patches. Some extra instructions: - After creating all the PKGBUILDs it's necessary to adjust the dependency on GHC (unless you modify `cblrepo` and build a new version of it), e.g. by executing something like for f in */PKGBUILD; do sed -e 's/\(.*\)ghc=7\.4\.1-1\(.*\)/\1ghc=7.4.1-2\2/' -i $f done - It's not possible to record dependencies on tools in Cabal files, instead that is done in some of the patches. Unfortunately this means that `clbrepo` can't produce a build order that is 100% guaranteed to work; a bit of manual tweaking of the ,,build-order file may be necessary. I think the only tools in question are `alex`, `happy` and `gtk2hs-buildtools`. Good luck ;) /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. -- Alan Kay

On 18/02/2012 23:51, Magnus Therning wrote:
I'd recommend you fetch the latest changes I've made to the git repo. There's a new pkgrel of GHC itself (7.4.1-2) as well as some fixes to the patches. Some extra instructions:
- After creating all the PKGBUILDs it's necessary to adjust the dependency on GHC (unless you modify `cblrepo` and build a new version of it), e.g. by executing something like
for f in */PKGBUILD; do sed -e 's/\(.*\)ghc=7\.4\.1-1\(.*\)/\1ghc=7.4.1-2\2/' -i $f done
- It's not possible to record dependencies on tools in Cabal files, instead that is done in some of the patches. Unfortunately this means that `clbrepo` can't produce a build order that is 100% guaranteed to work; a bit of manual tweaking of the ,,build-order file may be necessary. I think the only tools in question are `alex`, `happy` and `gtk2hs-buildtools`.
Good luck ;)
/M
Et voilà! I have pulled your changes to the patches then rebuilt all. I have uploaded them at the same location. I did not need to tweak the ,,build-order file. By the way, what happens if I want to build it while being root (or under a sudo bash)? I had to type in me password several times because I did not dare try it being root. Do you have a trick to avoid typing it? Adrien

On Tue, Feb 21, 2012 at 12:01:00AM +0100, Adrien Haxaire wrote:
On 18/02/2012 23:51, Magnus Therning wrote:
I'd recommend you fetch the latest changes I've made to the git repo. There's a new pkgrel of GHC itself (7.4.1-2) as well as some fixes to the patches. Some extra instructions:
- After creating all the PKGBUILDs it's necessary to adjust the dependency on GHC (unless you modify `cblrepo` and build a new version of it), e.g. by executing something like
for f in */PKGBUILD; do sed -e 's/\(.*\)ghc=7\.4\.1-1\(.*\)/\1ghc=7.4.1-2\2/' -i $f done
- It's not possible to record dependencies on tools in Cabal files, instead that is done in some of the patches. Unfortunately this means that `clbrepo` can't produce a build order that is 100% guaranteed to work; a bit of manual tweaking of the ,,build-order file may be necessary. I think the only tools in question are `alex`, `happy` and `gtk2hs-buildtools`.
Good luck ;)
Et voilà!
I have pulled your changes to the patches then rebuilt all. I have uploaded them at the same location.
Excellent, I'll prepare a repo with those packages during the day.
I did not need to tweak the ,,build-order file.
Ah, then you were lucky :)
By the way, what happens if I want to build it while being root (or under a sudo bash)? I had to type in me password several times because I did not dare try it being root. Do you have a trick to avoid typing it?
Yeah, it's a bit unfortunate that we have to work with chroot, which requires root access. I always configure a timeout for sudo so I don't have to enter my password on *every* invocation. For larger builds, like all of [haskell] for instance, I actually configure sudo to not require a password. Those are the only ways I know of avoiding typing the password several times. /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

On Tue, 21 Feb 2012 07:43:21 +0100, Magnus Therning wrote:
Excellent, I'll prepare a repo with those packages during the day.
Cool. I'm thinking of giving a try to xmonad, I'll take it from the repo if you have time to set it today then.
I did not need to tweak the ,,build-order file.
Ah, then you were lucky :)
I would say cblrepo is good :)
By the way, what happens if I want to build it while being root (or under a sudo bash)? I had to type in me password several times because I did not dare try it being root. Do you have a trick to avoid typing it?
Yeah, it's a bit unfortunate that we have to work with chroot, which requires root access. I always configure a timeout for sudo so I don't have to enter my password on *every* invocation. For larger builds, like all of [haskell] for instance, I actually configure sudo to not require a password. Those are the only ways I know of avoiding typing the password several times.
Good to know. I'll do that next time, so I can start it before going to sleep, or before going to work. It took me a bit of a time to understand how things worked, mainly because I am a new user of Arch Linux, but your scripts did all the hard work. It was a nice experience. Next time will be even easier :) Adrien

On 02/14/2012 01:50 AM, Adrien Haxaire wrote:
$ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git
Hi Magnus, I think your domain name is not working right now. What is the IP address of your server? I'd like to try ghc 7.4. Did you find any problems so far with hackage packages?

On Tue, Feb 14, 2012 at 09:32:08AM -0800, Bernardo Barros wrote:
On 02/14/2012 01:50 AM, Adrien Haxaire wrote:
$ git clone git clone http://www.kiwilight.com/~magnus/ah-ghc74.git
I think your domain name is not working right now. What is the IP address of your server?
173.255.233.139 I did try it just now and it was working just fine.
I'd like to try ghc 7.4. Did you find any problems so far with hackage packages?
Only with 'darcs', everything else has worked beautifully out of the box. Oh, and I haven't pushed an updated cblrepo to hackage yet, so you'll need to grab that out of git, if you are interested in using it. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. -- Alan Kay

On 02/14/2012 01:39 PM, Magnus Therning wrote:
173.255.233.139
I did try it just now and it was working just fine.
Now it's working.
I'd like to try ghc 7.4. Did you find any problems so far with hackage packages? Only with 'darcs', everything else has worked beautifully out of the box.
Nice. But `darcs` is an important one.

On Wed, Feb 15, 2012 at 01:26, Bernardo Barros
On 02/14/2012 01:39 PM, Magnus Therning wrote:
173.255.233.139
I did try it just now and it was working just fine.
Now it's working.
I'd like to try ghc 7.4. Did you find any problems so far with hackage packages? Only with 'darcs', everything else has worked beautifully out of the box.
Nice. But `darcs` is an important one.
Indeed. I should have mentioned that `darcs-beta` compiled just fine though :-) So you can have darcs, just a more bleeding-edge version. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

On Sat, Feb 11, 2012 at 12:33:56PM +0100, Magnus Therning wrote:
Another entry in the debate on ghc 7.4.1 :)
I've put up a repo containing ghc 7.4.1, darcs-beta (stable darcs doesn't build out of the box) and xmonad.
[ghc74] Server = http://www.kiwilight.com/~magnus/$repo
Only built for x86_64 (since it's the future ;). Let me know if anyone's interested in building it for i686, then I'll share the source for it all.
I've now moved this, and updated it to work together with [testing]. The new repo is ~~~ [ghc74] Server = http://xsounds.org/~haskell/ghc74 ~~~ To use it I'd recommend the following procedure: 0. Remove all haskell packages 'pacman -Rncs ghc' 1. Add [testing] to /etc/pacman.conf 2. Run 'pacman -Sy 3. Install ghc from testing 'pacman -S testing/ghc' 4. Remove [testing] from /etc/pacman.conf 5. Add [ghc74] to /etc/pacman.conf 6. Run 'pacman -Sy 7. Re-install the haskell packages you want /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 Thu, Mar 01, 2012 at 08:52:50PM +0100, Magnus Therning wrote:
I've now moved this, and updated it to work together with [testing]. The new repo is
~~~ [ghc74] Server = http://xsounds.org/~haskell/ghc74 ~~~
Hi, That's great. Does it also contains the i686 binaries? -- Adrien Haxaire www.adrienhaxaire.org | @adrienhaxaire

On Thu, Mar 1, 2012 at 22:38, Adrien Haxaire
On Thu, Mar 01, 2012 at 08:52:50PM +0100, Magnus Therning wrote:
I've now moved this, and updated it to work together with [testing]. The new repo is
~~~ [ghc74] Server = http://xsounds.org/~haskell/ghc74 ~~~
Hi,
That's great.
Does it also contains the i686 binaries?
Nope, it doesn't. I don't use i686 myself, so I haven't bothered building it for that architecture yet. If there is demand for it I could build and upload it during the day. Anyone else who's interested? /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

Nope, it doesn't. I don't use i686 myself, so I haven't bothered building it for that architecture yet. If there is demand for it I could build and upload it during the day. Anyone else who's interested?
Yes, but on the other hand I'm not sure why it is in it's own repos and not in [testing] so I don't know what it will mean for my Haskell environment to install ghc.7.4. Unfortunately I am really in need for a stable Arch with stable Haskell environment for the next four weeks (bad timing), so all this fuss with the migration and haskell packages being removed from [extra] makes me nervous. :) cheers /Johan

On Fri, Mar 2, 2012 at 12:03, Johan Holmquist
Nope, it doesn't. I don't use i686 myself, so I haven't bothered building it for that architecture yet. If there is demand for it I could build and upload it during the day. Anyone else who's interested?
Yes, but on the other hand I'm not sure why it is in it's own repos and not in [testing] so I don't know what it will mean for my Haskell environment to install ghc.7.4.
The [ghc74] repo is really only temporary repo I've used to compile up stuff with ghc 7.4, it has existed since before ghc made it into [testing]. I've just the other day removed the ghc package in [ghc] and recompiled everything with the package from [testing]. As soon as I find the time I'll start basing it on the other haskell packages found in [testing]/[community-testing] (by that time it could be seen as [haskell-testing] I suppose :-). Hopefully that clarifies the situation a bit.
Unfortunately I am really in need for a stable Arch with stable Haskell environment for the next four weeks (bad timing), so all this fuss with the migration and haskell packages being removed from [extra] makes me nervous. :)
I actually consider the activity in [extra] is a bug, but that's just me. Any dependencies on ghc 7.4. found in [extra]/[community] are definitely bugs. This is slightly bad timing for your needs it seems. One solution might be to pin the haskell related packages you use for the next 4 weeks (and use ARM if you forget to install something from [extra]/[community]). /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus

2012/3/2 Magnus Therning
The [ghc74] repo is really only temporary repo I've used to compile up stuff with ghc 7.4, it has existed since before ghc made it into [testing]. I've just the other day removed the ghc package in [ghc] and recompiled everything with the package from [testing]. As soon as I find the time I'll start basing it on the other haskell packages found in [testing]/[community-testing] (by that time it could be seen as [haskell-testing] I suppose :-). Hopefully that clarifies the situation a bit.
Unfortunately I am really in need for a stable Arch with stable Haskell environment for the next four weeks (bad timing), so all this fuss with the migration and haskell packages being removed from [extra] makes me nervous. :)
I actually consider the activity in [extra] is a bug, but that's just me. Any dependencies on ghc 7.4. found in [extra]/[community] are definitely bugs.
This is slightly bad timing for your needs it seems. One solution might be to pin the haskell related packages you use for the next 4 weeks (and use ARM if you forget to install something from [extra]/[community]).
Thanks for the tip.I should keep on the safe side and stay conservative for now. Best wishes! --- ghc-7.4 is something I'm sure we all look forward to. /Johan

Yet another change to the [ghc74] repo. It's now available for both i686 and x86_64 and due to this a slight change to your pacman config is required: ~~~ [ghc74] Server = http://xsounds.org/~haskell/$repo/$arch SigLevel = Never ~~~ Enjoy! /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. -- Alan Kay
participants (5)
-
Adrien Haxaire
-
Bernardo Barros
-
Johan Holmquist
-
Magnus Therning
-
Peter Hercek