I hadn't known about just using "cabal build", but I guess this was because my runyi script was referring the the executable built by install and I wasn't aware of the distinction.
I'd like to make a PR of this, yeah; will write it up this evening. On Sunday, July 13, 2014 12:31:42 AM UTC+12, ShanaTsunTsunLove wrote: > > On 07/12/2014 12:12 PM, Richard Goulter wrote: > > I have discovered a bit more. > > Sandbox usage has become more convenient with Cabal 1.20. > > http://blog.johantibell.com/2014/04/announcing-cabal-120.html > > > > Johan Tibell emphasises to not use 'cabal install'. > > The workflow for a sandbox should then be more like > > > > $ cd ~/programming/yi/yi > > $ cabal sandbox init > > $ cabal install --only-dependencies > > $ cabal build > > > > > > The resulting executable is ~/programming/yi/yi/dist/build/Yi/yi. (This > > isn't executable appropriate as a final install image, since it's not > > stripped as https://github.com/haskell/cabal/issues/1795 discusses; I'm > not > > sure how much impact on performance the stripping would have..). > > > > Cabal's user guide mentions the same flow, and mentions that "cabal > build" > > is all that's needed if any source files have been modified. > > > http://www.haskell.org/cabal/users-guide/installing-packages.html#sandboxes-basic-usage > > > > > > > Anyway, the cool think which Cabal 1.20 brings is the 'cabal exec' > command, > > which launches an executable in an environment with the GHC package DB > as > > per the sandbox. > > This means a "runyi" script is much simpler to write. > > > > something like: > > > > #!/bin/bash > > YI_DIR=$HOME/programming/yi/yi > > env CABAL_SANDBOX_CONFIG=$YI_DIR/cabal.sandbox.config cabal exec > > $YI_DIR/dist/build/Yi/yi > > > > > > Using $YI_DIR/.cabal-sandbox/bin/yi is fine as well, but would require > an > > extra "cabal install" step for those hacking on the Yi source itself. > > > > I have always used cabal build for Yi itself but cabal install for > dependencies. I didn't know about cabal exec though. > > Do you want to make a PR documenting this workflow? > > -- > Mateusz K. > -- -- Yi development mailing list yi-devel@googlegroups.com http://groups.google.com/group/yi-devel --- You received this message because you are subscribed to the Google Groups "yi.devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to yi-devel+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.