Bootstrapping a cblrepo.db / custom repository

Hello All, First of all, many thanks to Magnus Therning for maintaining the arch-haskell repository and it's tools. It saved a lot of time for me (both fighting cabal and compiling packages). I'm planning to use cblrepo to create a new repository from scratch. So, I have a question: How to use cblrepo to bootstrap a new repository? (Is it even intended to use for that purpose.) Or, more broadly, what's the best way to bootstrap an arch (-haskell) repository? For example, suppose I want a repository with just template-haskell: $ mkdir habs-bootstrap $ cd habs-bootstrap $ cblrepo add template-haskell,2.9.0.0 Failed to satisfy the following dependencies for template-haskell: base ==4.7.* containers ==0.5.* pretty ==1.1.* Shouldn't the dependencies here be added by default? Guessing here that it is not possible because of inability to guess package types (--ghc-pkg / --distro-pkg). I've also tried: $ cblrepo add -g base,4.7.0.1 That was ok, but: $ cblrepo add template-haskell,2.9.0.0 Failed to satisfy the following dependencies for template-haskell: containers ==0.5.* pretty ==1.1.* Containers and pretty are provided by GHC. Should I add GHC in my repository? That does not seem to be the case with haskell-happstack [1]: it has array on it's db (it is also provided by ghc). Regards, Rudy [1]: https://github.com/tensor5/haskell-happstack PS: Which kind of setup do you all use, in general, to maintain your own packages not provided by haskell-core? So far I've been using my own fork of archhaskell/habs, but I kinda loose the work (on cblrepo.db) when merging with Magnus' branch, needing to re-add all my packages.

You have to add each dependency individually, even though they are all
provided by GHC. In your example:
$ cblrepo add -g base,4.7.0.1 -g containers,0.5.5.1
-g pretty,1.1.1.1 template-haskell,2.9.0.0
On Mon, Jul 28, 2014 at 6:07 PM, Rudy Matela
Hello All,
First of all, many thanks to Magnus Therning for maintaining the arch-haskell repository and it's tools. It saved a lot of time for me (both fighting cabal and compiling packages).
I'm planning to use cblrepo to create a new repository from scratch. So, I have a question:
How to use cblrepo to bootstrap a new repository? (Is it even intended to use for that purpose.) Or, more broadly, what's the best way to bootstrap an arch (-haskell) repository?
For example, suppose I want a repository with just template-haskell:
$ mkdir habs-bootstrap $ cd habs-bootstrap $ cblrepo add template-haskell,2.9.0.0 Failed to satisfy the following dependencies for template-haskell: base ==4.7.* containers ==0.5.* pretty ==1.1.*
Shouldn't the dependencies here be added by default? Guessing here that it is not possible because of inability to guess package types (--ghc-pkg / --distro-pkg).
I've also tried:
$ cblrepo add -g base,4.7.0.1
That was ok, but:
$ cblrepo add template-haskell,2.9.0.0 Failed to satisfy the following dependencies for template-haskell: containers ==0.5.* pretty ==1.1.*
Containers and pretty are provided by GHC. Should I add GHC in my repository? That does not seem to be the case with haskell-happstack [1]: it has array on it's db (it is also provided by ghc).
Regards, Rudy
[1]: https://github.com/tensor5/haskell-happstack
PS: Which kind of setup do you all use, in general, to maintain your own packages not provided by haskell-core? So far I've been using my own fork of archhaskell/habs, but I kinda loose the work (on cblrepo.db) when merging with Magnus' branch, needing to re-add all my packages. _______________________________________________ arch-haskell mailing list arch-haskell@haskell.org http://www.haskell.org/mailman/listinfo/arch-haskell

On Mon, Jul 28, 2014 at 08:44:22PM +0200, Nicola Squartini wrote:
You have to add each dependency individually, even though they are all provided by GHC. In your example:
$ cblrepo add -g base,4.7.0.1 -g containers,0.5.5.1 -g pretty,1.1.1.1 template-haskell,2.9.0.0
Indeed you have to manually add all the basic modules. In the cblrepo github repo you can find a list of packages for 7.8.2[1]. I still have to add one for 7.8.3. Another option is to look at the database in habs. Either you run `cblrepo -g --no-repo` and pipe it to some suitable sed/awk script, or you just copy the first lines from the database (the database has three sections, of which we only use 2, the first one contains the ones added with -g). Hope this helps. /M [1]: https://github.com/magthe/cblrepo/blob/master/data/ghc-7.8.2_pkgs -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Code as if whoever maintains your program is a violent psychopath who knows where you live. -- Anonymous

On Tue, Jul 29, 2014 at 8:50 AM, Magnus Therning
On Mon, Jul 28, 2014 at 08:44:22PM +0200, Nicola Squartini wrote:
You have to add each dependency individually, even though they are all provided by GHC. In your example:
$ cblrepo add -g base,4.7.0.1 -g containers,0.5.5.1 -g pretty,1.1.1.1 template-haskell,2.9.0.0
Indeed you have to manually add all the basic modules.
In the cblrepo github repo you can find a list of packages for 7.8.2[1]. I still have to add one for 7.8.3.
Another option is to look at the database in habs. Either you run `cblrepo -g --no-repo` and pipe it to some suitable sed/awk script, or you just copy the first lines from the database (the database has three sections, of which we only use 2, the first one contains the ones added with -g).
Thanks Nicola and Magnus, I'll try those options and see which works best!
participants (3)
-
Magnus Therning
-
Nicola Squartini
-
Rudy Matela