Should obus be moved to ocaml-community?

Question for @talex5 and @jeremiedimino especially. I use it, and would like to help with dunification (since @steinuil and @pukkamustard had started the work already), but it seems that Jeremie has no time to maintain it.

I’d love to see obus moved to ocaml-community and receive community support :slight_smile:

obus is a project I spent a lot of time designing and implementing but never used in a long term project. FTR, I originally started it because I wanted to write a tool to handle volume up/down keys in the minimal linux desktop environment I was using at the time. When I saw the nice D-Bus specification, I couldn’t resist writing a pure OCaml implementation of it.


So I think I have to fill the issue on ocaml-community/meta then, if you are agree.

Speaking of which, I can’t recognize the license, what license is it? BSD 3 Clause?

Sounds good, I do agree with this plan. The License is BSD3.

Moving obus to ocaml-community would be great! I had a quick look at converting it to dune a while ago, but it was using a lot of camlp4 and I gave up.

I’m planning to replace camlp4 parser with menhir, it’s annoying to have camlp4 since it lags behind OCaml releases. I also want to split packages since there are a lot of pieces which are not required for simple D-Bus interaction.

BTW @steinuil and @pukkamustard s’ dune efforts work with camlp4 AFAIK.


The only use of camlp4 in my fork (and I guess in pukkamustard’s) is to parse the IDL, everything else has been replaced by ppx. IIRC the parser is a standalone library in src/idl so it should just be a matter of replacing it with a menhir impementation.

I know, I was rather pointing out that camlp4 is working with dune (or as it seems). I’m planning to check your branch and replace camlp4 with menhir, if you don’t mind, yes (and maybe do some additional cleanup and package separation, if needed).

Hell, it’s been a while since I’ve taken a look at it but I think pukkamustard’s fork could be merged as it is; it’s just my fork with jbuild files replaced with dune. There’s probably some dependencies to upgrade and I’m not sure I used Migrate_parsetree correctly in the ppx I wrote to replace pa_obus, but I think the rest was more or less done.

Yeah, if you look into src/idl/dune it’s just calling camlp4of to preprocess the parser.

Please go ahead! I mostly used it as a learning project to figure out jbuilder and ppx and was planning to get it merged back into the upstream repo, but never went through with it for some reason.

FYI, the project has now been moved to ocaml-community.