I’m pleased to announce a new obus
release.
What is obus
A pure OCaml implementation of the D-Bus IPC protocol, heavily used in Freedesktop/linux world [1].
Notable changes
-
obus
is being transitioned toocaml-community
-
switched to
dune
-
camlp4
parts were replaced withmenhir
-
camlp4
syntax extension was replaced with theppx
-based ones
This release shouldn’t break anything (safe for the syntax extension).
Special thanks to @steinuil and @pukkamustard for doing most of the “dunification” work.
Thoughts about the future
So after pondering on obus refactoring I came to the following ideas, which I would like to discuss:
-
IDL
, an intermediate language used for the D-Bus interfaces’ description doesn’t worth the effort and is better to be dropped.D-Bus uses XML for such a purpose and there is no merit in having an additional language doing the same (with minor improvements like not being XML-abomination and the ability to define numeric types as OCaml variants). It makes sense to generate OCaml files from the XML directly and don’t use any obus-specific additional language.
-
ppx
syntax extensions could also be dropped since they don’t do much stuff. Also I haven’t seen anybody using them, but I could be wrong.So it’s better to either improve it (maybe turn IDL language into simple
ppx
annotations) or drop it completely. Personally, I like the idea of not usingppx
because they are slowing things down making the project lag behind ocaml releases, and making things fragile in general. -
obus should be split into proper subpackages, like
obus
,obus-network-manager
,obus-notifications
etc
So since it’s a community project from now on, it would be great to hear what obus users and contributors are thinking about all forementioned. cast @jeremiedimino @talex5 @perry @johnelse