Hi! Any feedback on this? Would you like to have two patches, one for the bugfix and one for the actual changes?
Romain 2011/6/2 Romain Beauxis <[email protected]>: > Hi ! > > 2011/5/28 Stéphane Glondu <[email protected]>: >> Le 28/05/2011 06:54, Romain Beauxis a écrit : >>>> I meant building sdl.cmxs in ocaml-sdl package. It's quite easy and can be >>>> done in debian/rules. Have a look at postgresql-ocaml, for example. Then >>>> the >>>> META, *.cmxs and *.cma should be moved to the runtime package. dh_ocaml >>>> should then infer the right dependencies. >>> >>> I think this highly impractical. We'd have to implement the whole >>> dependency resolving in order to load the modules in the right order >>> in the application.. Clearly not an option! >> >> Findlib does most of the job. Have a look at baselib/ocsigen_loader.ml >> in ocsigen for an example. >> >>>> You said in your original e-mail that you didn't want any ocaml >>>> dependencies. Did you try the --nodefined-map command-line option of >>>> dh_ocaml, then? >>> >>> That does not work for bytecode modules. For instance, the vorbis >>> module include Vorbis and I do want to therefore get a dependency on >>> the right libvorbis-ocaml-xxyyzz.. >>> [...] Therefore, I >>> propose to include an option in dh_ocaml that would allow to accept to >>> reference modules that are present in a plugin and are also provided >>> by another package. >> >> This is what --nodefined-map is supposed to do. But actually, this >> option what thought for packages providing an alternative implementation >> of one module, so it might explain the missing dependency you are >> talking about. I would suggest you to look around --nodefined-map code >> path to implement what you want. > > Ok so I have found an easy way to make it work. I have added > *.onodefined files for each liquidsoap-plugin-xxx. > > I found two bugs in the parsing of .onodefined files: > * lines where not chomped, leading to a trailing \n in each defined > unit, which made the call to ocaml-md5sums break: > ocaml-md5sums (...) --nodefined Foo > --nodefined Bar > (...) > > * the array was not properly initialized, leading to merging > individual package's nodefined into one. > > Additionally, the only change I did to make it work was to pass > --nodefined option during the computation of binary package > dependencies. > > I have attached the patch corresponding to these changes. Let me know > if it is ok for you. > > Finally, I wanted to have liquidsoap declare the ABI it provides and > make the plugins depend on liquidsoap-xxyyzz as well as making sure > that all the units imported in each plugins where properly resolved in > liquidsoap. > > It turns out that ocamlobjinfo does not provide enough information > concerning the units exported by liquidsoap: units actually > implemented in the bytecode binary for liquidsoap are marked as > imported.. > > Therefore, I think this is the best that I can do for now.. > Please, let me know if the patch is ok for you.. > > Romain > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

