Documentation and guides

Weekly Meeting: 2013-05-21

21 May 2013: Build, build, build, argh.


Attendees: Amir Chaudhry, Anil Madhavapeddy, Thomas Gazagnaire, Richard Mortier, Daniel Buenzli, David Scott, Jonathan Ludlam

Jenga (Dave Scott)

Jane Street has released a preview of Jenga onto OPAM, which is a library for highly scalable builds. It includes dynamic discovery of dependencies and Async build rules so network targets can work.

Dave: Jenga looks attractive for a number of reasons, including incremental builds.

Anil: We need a build tool that doesn't suck and that someone cares about (i.e. will maintain). Jenga does have a big user behind it. Prefer to take something and make it portable rather than continue a forked one.

Dave: Should be easy to make it work for our small projects.

Anil: Key blocker is getting it to work on a Mac. If you've tried it then do tell people what didn't work on the Mirage list! Jane Street put it out there in order to get feedback so they do want to know what people think.

Jane Street is rolling out Jenga for their internal stuff now so it'll start settling down very fast. We have the next two weeks to get big changes in while things are fluid. We can make Mirari interface with Jenga, for example.

Daniel: Jenga only covers build, but not distribution (making META files, etc). How do we deal with that?

Anil: We take the good bits of obuild and use them to build Jenga rules. There's also ocp-build hiding in the shadows. It's technically very nice but not fully released, and doesn't have output-obj (but that's easy to add).

Dave: Another option is to slice out the distribution library from obuild (which has a good META parser that's standalone).

Anil: Hoping to get Jenkins running again, since Balraj notices trunk is broken again while working on perforamce stuff. We need to remove opam-repo-dev as it's always breaking dependencies silently.

Mort: Kind of works on Linux, but we still need to run tunctl by hand. Anil: Mirari should fix this up automatically, so I'll take a look in the next few weeks.

Jon: Vincent Bernardoff is working on the Xen unikernel testing infrastructure with Mirage, so we'll wait to hear from him to see what he's done (test VM and Test harness). Could use that to test the Unix backend too.

Anil: In OPAM can use OCamlot can do a bunch of scripts (not just OCaml). We need to figure out where to host VMs though, as the Lab is unsuitable for ongoing deployments due to lack of sysadmin cover.



Anil: About to release a new cohttp and want to hook it up to a graphing system for plots. Can this connect with Daniel's vg? Can try getting raw numbers out now and then attach graphics after. Does vg need a particular format?

Daniel: Vg is usable now and installable via opam. JSON is fine but don't need anything particular. We need a release of OPAM 1.0.1 to fix a bug with unstable git remotes.

Anil: Jeremy's Libffi (ctypes) now works on Mac and Linux. Have ncurses and various POSIX bindings working! In the worst case it's 10x slower (usu 2-3 x slower) but you don't have to write any C, and we know how to fix the slowdown. It'll be open-source very soon.