Hi all, We have added optional plugins in liquidsoap lately and I am trying to see how this can be packaged. I have a couple of remarks in the case of compilation in native code.
Basically, we want optional plugins, e.g. liquidsoap-plugins-sdl, which depends only on the corresponding C libraries, in this case the libsdl, but no ocaml module. For this purpose, we pass all modules that the plugin depends on at link time, here for instance -linkpkg -package sdl, etc.. However, this does not work with dh_ocaml: E: Error: unit Sdl exported in liquidsoap-plugin-sdl but already exported by libsdl-ocaml-dev/libsdl-ocaml v0.8.0-2+b1 E: Error running /usr/bin/ocaml-md5sums --package liquidsoap-plugin-sdl dep < debian/liquidsoap-plugin-sdl.olist.debhelper at /usr/bin/dh_ocaml line 468. However, not passing those dependencies at link time is absolutely impractical: this would mean that liquidsoap would have to load all of them in the right order.. while they do not even exist in the current package (e.g. sdl.cmxs)... Also, linking liquidsoap with sdl is not the idea: we want precisely to reduce the number of shared libraries linked with the binary by default and move those to the plugins. Thus, I tend to think that the current implementation of automatic dependencies calculation for shared modules in dh_ocaml is broken: It should accept to process modules that are otherwise provided by another package.. Note that because of this bug I have not been able to check whether the dependencies on the C libraries are correctly extracted but I believe they are. Romain -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

