On 2 Apr 2019, at 18:26, Cyril Roelandt <tipec...@gmail.com> wrote:
> 
> (I'm the author of upt. Please keep me CCed)
> 
> On 2019-04-02 12:58, Daniel Jakots wrote:
>> You can look at sysutils/upt. It's not something specific for OpenBSD.
>> It works with "frontends" (language-specific packages systems, cpan pip
>> etc) and "backends" (OS-specific packages systems). There's already an
>> OpenBSD backend so you need to only add a ocaml frontend.
> 
> That is a good summary of how upt works. The idea is that every time a
> new frontend is added (for Hackage or NPM, for instance), minimal effort
> is required to add support for it on the OpenBSD side. Support for PyPI
> is just one simple class[1] and one short Jinja2 template[2].
> 
> Instead of writing a new backend for PortGen, you could write a new
> frontend for upt :) It would also help package managers who use other
> operating systems (hey, nobody's perfect!).
> 
> I'm willing to help with this if you're interested in using upt.

This also looks very cool!  How does it deal with mapping system
dependencies that a package needs into the ports Makefile?

opam has something called a 'depexts' field (see
https://github.com/ocaml/opam-depext <https://github.com/ocaml/opam-depext>) 
which records a mapping of
system OS package name that can be installed by that package 
manager to satisfying C libraries that are needed.  That needs to
be mapped into the OpenBSD Makefile as well.

Anil

Reply via email to