Fix Build Issues

Adding yaml to the cabal file allows cabal to figure out the dependencies. In doing this I found a bug introduced by the new native module stuff.

I fixed it in the simplest way possible but I duplicated code. A better way to fix it would be for `withDeps` to have a more specific error type than just `String` so you could tell if the file didn't exist or if it was malformed, etc.