# Should obus be moved to ocaml-community?

**URL:** <https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946>\
**Category:** Community\
**Created:** [June 18, 2019, 8:53am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946 "2019-06-18T08:53:50Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Freyr666](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/freyr666/32/591_2.png) [@Freyr666](https://discuss.ocaml.org/u/Freyr666)\
**Post date:** [June 18, 2019, 8:53am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/1 "2019-06-18T08:53:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jeremiedimino](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/jeremiedimino/32/699_2.png) [@jeremiedimino](https://discuss.ocaml.org/u/jeremiedimino)\
**Post date:** [June 18, 2019, 9:30am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/2 "2019-06-18T09:30:42Z")

</div>

I’d love to see `obus` moved to ocaml-community and receive community support 🙂

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.

---

<div class="post-metadata">

**Author:** ![Freyr666](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/freyr666/32/591_2.png) [@Freyr666](https://discuss.ocaml.org/u/Freyr666)\
**Post date:** [June 18, 2019, 10:24am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/3 "2019-06-18T10:24:11Z")

</div>

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](https://github.com/diml/obus/blob/master/LICENSE)? BSD 3 Clause?

---

<div class="post-metadata">

**Author:** ![jeremiedimino](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/jeremiedimino/32/699_2.png) [@jeremiedimino](https://discuss.ocaml.org/u/jeremiedimino)\
**Post date:** [June 18, 2019, 11:03am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/4 "2019-06-18T11:03:37Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![talex5](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/talex5/32/353_2.png) [@talex5](https://discuss.ocaml.org/u/talex5)\
**Post date:** [June 18, 2019, 11:52am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/5 "2019-06-18T11:52:01Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Freyr666](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/freyr666/32/591_2.png) [@Freyr666](https://discuss.ocaml.org/u/Freyr666)\
**Post date:** [June 18, 2019, 12:23pm UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/6 "2019-06-18T12:23:57Z")

</div>

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.

> **[pukkamustard/obus](https://github.com/pukkamustard/obus)**
>
> Pure OCaml implementation of the D-Bus protocol. Contribute to pukkamustard/obus development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![steinuil](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/steinuil/32/993_2.png) [@steinuil](https://discuss.ocaml.org/u/steinuil)\
**Post date:** [June 20, 2019, 7:47am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/7 "2019-06-20T07:47:02Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Freyr666](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/freyr666/32/591_2.png) [@Freyr666](https://discuss.ocaml.org/u/Freyr666)\
**Post date:** [June 20, 2019, 8:52am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/8 "2019-06-20T08:52:54Z")

</div>

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).

---

<div class="post-metadata">

**Author:** ![steinuil](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/steinuil/32/993_2.png) [@steinuil](https://discuss.ocaml.org/u/steinuil)\
**Post date:** [June 20, 2019, 9:06am UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/9 "2019-06-20T09:06:05Z")

</div>

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.

> [@Freyr666](#):
>
> camlp4 is working with dune (or as it seems)

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

> [@Freyr666](#):
>
> 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).

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.

---

<div class="post-metadata">

**Author:** ![perry](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/perry/32/518_2.png) [@perry](https://discuss.ocaml.org/u/perry)\
**Post date:** [June 20, 2019, 6:00pm UTC](https://discuss.ocaml.org/t/should-obus-be-moved-to-ocaml-community/3946/10 "2019-06-20T18:00:05Z")

</div>

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