On Thu, Aug 6, 2009 at 4:15 PM, Will Donnelly<will.donne...@gmail.com> wrote:

> 1. The 'yi.cabal' which I was building from doesn't actually define a 'Yi'
> library for the custom configuration to build against. This looks like a
> change you made.

Well that was extraordinarily silly of me. :)

For some reason, when my configs didn't fail to compile because of
unknown modules (that is, the Yi modules), I assumed Dyre had fixed
this from the old HConf model that requires two compilations for every
update (one for the library, one for the binary). I suppose this will
remain a necessity, as the config can't use the modules in Yi unless
they're exposed through a library.

> 2. When run in from the main 'yi' directory, Dyre doesn't know where to
> instruct the compiler to look for uninstalled modules. It might be feasible
> to parse the cabal file for the 'hs-source-dirs' option, but it might work
> just as well to simply 'cd' to the source directory before running without
> installing.

I don't think we need to worry about this. Rather, just building the
yi library should be sufficient; it'll always be available so the
config can build using it.

> 2a. When run from the 'src' directory, all of the 'Yi' modules seem to be
> found properly, but it seems like some additional command-line options will
> be required to make Yi rebuild properly. Also it has issues locating the
> cabal-generated 'Paths_yi' file.

Again, I think this is unnecessary work. I don't expect Dyre to be
able to solve the double-compilation problem, and I feel this
workaround is fairly awkward.

> So in summary, reverting 'yi.cabal' back to its original version should be
> sufficient to make it run properly when installed, and I am not entirely
> sure how to make it work without installing. From reading over that bit of
> the HConf source code, it looks like it simply didn't account for that
> situation, and required installation to work. So from that standpoint, the
> current behavior is at least *not* a regression.

You're correct; the current behavior is the same as in HConf. For some
reason I was being silly and thought you had found a solution to
having to build the library.

I've sent my patch against HEAD to the list. Your version of yi.cabal
was a bit stale --- I noticed it was still requiring an older
pointedlist than our current dependency --- but I merged the two in
what seems to be working. Also, I like the idea of using the
XDG-defined config locations, so I've reverted to using the default
from Dyre, ~/.config/yi/, unless others complain.

Now, recompilation works wonderfully, but arguments don't seem to be
passed through to `yi' when running with a config file. I'll
investigate and see if I can figure out the problem.

Again, thanks for the help!

Jeff Wheeler

--~--~---------~--~----~------------~-------~--~----~
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel
-~----------~----~----~----~------~----~------~--~---

Reply via email to