On Thu, Apr 10, 2008 at 7:01 PM, <[EMAIL PROTECTED]> wrote: > Attached is a patch that will upgrade Compile/MakeRecipe to support the Cabal > build/library system (http://hackage.haskell.org/cabal) used for Haskell > (GHC). This performs the build using the standard Haskell methodology, > registering the results to make it available for import in Haskell programs. > This also allows the easy reference to the Hackage library database (http:// > hackage.haskell.org/) for Haskell. Thanks! It looks really good to me. A few comments: 1) Firstly, a patch against SVN would be preferable - there have been a lot of changes since the 1.10.2 release, and it's difficult to apply it as-is because of that. You can get the SVN version with `svn co http://svn.gobolinux.org/tools/trunk/Compile`. 2) In particular, hook functions should now be run through run_hooks (so they're appropriately sudoed, and also so the flag hooks are called). 3) The installation really should be sandboxed. SandboxInstall --help will give you some guidance in that. I think you should want something like `SandboxInstall $verbose [EMAIL PROTECTED] -c $runhaskell "$appname" "$versionnumber" -- $cabal_setup install "[EMAIL PROTECTED]"`.
As well, do note that running Compile sudo is deprecated behaviour and not even possible in trunk tools, so you should try it out compiling as a regular user. With run_hooks and SandboxInstall everything should work like that. > No management of the local Cabal database is made beyond the initial > registration; specifically DisableProgram, SymlinkProgram, and RemoveProgram > will require corresponding manual modifications of the database (e.g. via > ghc- > pkg), but installation and upgrades of packages are handled quite nicely. I don't know much about how Cabal works, so could you explain the necessary steps here a little more? Is it something we can automate (and if so, should it be?)? At the least, there should probably be a message explaining that people will need to take an extra step before things are usable, assuming I've understood you correctly. Where is this database stored? Is it necessary to use, or does it just provide extra functionality somehow? Thanks again for the patch. Hopefully it will be able to be included in the next Compile release (or possibly the one after that, since the next one is meant to be pretty soon). -Michael _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel