(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. Regards, Cyril [1] https://framagit.org/upt/upt-openbsd/blob/master/upt_openbsd/upt_openbsd.py#L215 [2] https://framagit.org/upt/upt-openbsd/blob/master/upt_openbsd/templates/python.mk