> I am not sure I see the advantages of the *-conf solution vs a more > granular approach [...] where each package has a > fixed set of system dependencies. If several OCaml package have system dependencies in common, (of several versions of the same OCaml package), indicating depexts per-package duplicate the information. This is what we were doing before and in practice most package depexts were perpetually out-of-date. Some information in the conf-package is rather canonical from system to system (such as: the pkg-config name, even though there is still variation unfortunately), some is highly system-dependent (the package name in the package manager); I think it's reasonable to also have the "canonical" information in the build system. Also, conf-* packages are very early in the dependency tree, so a pragmatic advantage is that they will fail early in the build, typically before you have installed all the OCaml dependencies and you start building the package itself. (Also, depending on the configure/build system, you may geta nice error if a dependency is missing, or a crappy compilation failure that can be hard for users to interpret). > they don't have the *-conf pitfall of having to recompile a lot of > dependencies when a *-conf package is installed If you edit a package to update system dependencies, you have the same recompilation issues. If you have to recompile *more* in the case of a conf-* package, it is because it introduced dependency sharing, which is a good thing -- making the repository more maintainable. > I find more natural to do `opam install lablgtk2-sourceview2` than > `opam install conf-gtksourceview lablgtk2` I don't understand, the point is for lablgtk2-sourceview2 to depend on conf-gtksourceview2, so you should just use the first command and the conf-* package(s) will get installed as well. On Fri, Dec 7, 2018 at 11:04 AM Emilio Jesús Gallego Arias wrote: > Jacques Garrigue writes: > > > There is no opam package yet, because I’m not sure how to do that: > > I seem to need to add a new conf-gtksourceview3 package too, and I’m not > > sure how to proceed. Help accepted. > > > > Note that this is not the originally planned introspection based port, > but > > a manual port of lablgtk2, dropping widgets that are no longer > > available. It is of course possible to add new widgets if people > > are willing to contribute. > > > > The main goal is to allow application using lablgtksourceview, > > such as CoqIDE, to compile on top of Gtk-3. Since Gtk-2 itself > > stays available, lablgtk2 will continue to be supported for other > > applications. > > I am not sure I see the advantages of the *-conf solution vs a more > granular approach as done here > https://github.com/garrigue/lablgtk/pull/14, where each package has a > fixed set of system dependencies. > > AFAICT `depext` fields can be added to the custom packages just fine, > and they don't have the *-conf pitfall of having to recompile a lot of > dependencies when a *-conf package is installed. > > I find more natural to do `opam install lablgtk2-sourceview2` than > `opam install conf-gtksourceview lablgtk2` > > E. > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > https://inbox.ocaml.org/caml-list > Forum: https://discuss.ocaml.org/ > Bug reports: http://caml.inria.fr/bin/caml-bugs -- Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list https://inbox.ocaml.org/caml-list Forum: https://discuss.ocaml.org/ Bug reports: http://caml.inria.fr/bin/caml-bugs