<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- Allow **direct use of more solvers** or solver servers.</div></div></div></blockquote><div><br class=""></div>If we go this route I really would like to have a proper `opam solver` command (similar to `opam repo` or `opam pin`).</div><div><span style="font-family: monospace; font-size: 8pt; white-space: pre-wrap;" class=""> </span></div><div><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- **Support cross-compilation**</div><div style="margin: 0px; text-indent: 0px;" class="">  This is quite an open issue at the moment.</div></div></blockquote><div><br class=""></div>This needs support on the build system side, so I'm not sure it's a high priority for now on (although it would be *very* nice to have at one point).</div><div><br class=""></div><div>Something which would be a bit simpler but very still very useful is to share things between switches: ie. you want to use install things in one switch while using things installed in other ones. Could be used to cross-compile (host / target) but also to have a base ocaml installation with "layers" of different packages (so need to recompile the compiler every-time). Don't have a clear spec of that yet, though.</div><div><br class=""></div><div>An other idea related to that: better support for global installation where it would be cool to have some (OCaml) packages installed on the system which are "external" i.e. not managed by opam (so a fixed package version which is not removable). Think mixing both `apt-get install` and `opam install foo`. I guess that's also related to the 'compiler-as-a-package" stuff ...</div><div><span style="white-space: pre-wrap; font-family: monospace; font-size: 8pt;" class=""> </span><br class=""><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">## Agnosticity</div></div></blockquote><div><br class=""></div>This bit will not really benefits OCaml users, so it's not a high-priority for now on. But it is good designs principles to keep in mind when adding new features (as Daniel mentioned). It is also interesting if we want more people using opam outside of the OCaml world, but that's an indirect/longer-term target I'd say.</div><div><br class=""></div><div><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">## Features</div><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; " class=""> </p><div style="margin: 0px; text-indent: 0px;" class="">- A **provides** field. Generally useful, but particulary so with</div><div style="margin: 0px; text-indent: 0px;" class="">  compilers-as-packages</div><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; " class=""> </p><div style="margin: 0px; text-indent: 0px;" class="">- Releasing the **"features" field** for easier package configuration</div></div></blockquote><div><br class=""></div><div>We need new features to help managing the grow of the number of packages. I think both of these features could help, but as they are interacting with the solver we need to check that we are not doing things too crazy with the solver experts. Having a way to have multiple versions of the same library installed in the same switch could be very cool as well, although again it requires support in ocamlfind/build systems and it will break quite a few assumptions in opam so it won't be very easy to add properly.</div><br class=""><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- Specify and implement **hooks**</div></div></blockquote><div><br class=""></div>Would be nice to have (with clear indications to the users than something fancy is happening) but that's not a blocker for opam-doc. </div><div><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; " class=""> </p><div style="margin: 0px; text-indent: 0px;" class="">- Find a nicer way to **share dev repos** / undoable "pinning sources"</div></div></blockquote><div><br class=""></div>What do you mean?</div><div><span style="white-space: pre-wrap; font-family: monospace; font-size: 8pt;" class=""> </span><br class=""><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- **Per-switch remotes**</div></div></blockquote><div><br class=""></div>yea! dual is global pinned package which is less useful.</div><div><span style="font-family: monospace; font-size: 8pt; white-space: pre-wrap;" class=""> </span></div><div><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- **Multi-switch packages**</div></div></blockquote><div><br class=""></div>What do you mean?<br class=""><br class=""><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- Support for (automatic generation of) **binary packages**</div></div></blockquote><div><br class=""></div>That would be *extremely* useful.<br class=""><br class=""><blockquote type="cite" class=""><div style=" font-family:'Monospace'; font-size:8pt; font-weight:400; font-style:normal;" class=""><div style="margin: 0px; text-indent: 0px;" class="">- Nicer **ocamlfind interaction**</div></div></blockquote><div><br class=""></div>What do you mean?</div><div><br class=""></div></div><div>Thomas</div><style type="text/css" class="">
p, li { white-space: pre-wrap; }
</style></body></html>