py-xlwt: math/ would be better than devel/, otherwise ok
py-ldap0: DESCR should warn that this is only intended for running the author's software and not for general use (upstream says "Don't use it for your own project! The API may change at any time without further notice! You have been warned!"). databases/ would be better than devel/. otherwise ok web2ldap: should use FIX_EXTRACT_PERMISSIONS it's an application rather than a python library, should use MODPY_VERSION=${MODPY_DEFAULT_VERSION_3} not FLAVOR/FLAVORS sysutils/ doesn't seem a natural location, either www or databases would be better (I'd prefer databases, maybe www as secondary category) the hand-rolled install parts are error-prone. I suggest post-install: cp -r ${WRKSRC}/htdocs ${PREFIX}/share/doc/web2ldap mv ${PREFIX}/etc/web2ldap ${PREFIX}/share/examples/web2ldap rmdir ${PREFIX}/etc this results in small changes to the plist; .htaccess, ssi, robots.txt in doc (which can just be left) and these in examples: +share/examples/web2ldap/logging.conf +share/examples/web2ldap/tls/ca-bundle.pem looks like maybe logging.conf was missed before? ca-bundle can be @comment'ed. this will mean that future updates don't require careful checking to make sure that new files haven't been missed. pkg/README should use the standard format (as in README.template and every other port that has a pkg-readme), but it doesn't seem necessary anyway, I suggest just patching hosts.py to use # File containing all the trusted root CA certs ldap0.OPT_X_TLS_CACERTFILE: '/etc/ssl/cert.pem', as a sane default. otherwise users will be following upstream docs to configure things anyway, there's nothing special for OpenBSD there really.