net/sems: SIP Express Media Server (new port) This adds a new port for the SEMS SIP media server, which provides a number of functions (Voicemail, conferencing, B2BUA, etc.) in conjunction with a SIP router like Kamailio or OpenSIPS. The most recent release (1.6.0) is both old and has a significant number of issues on FreeBSD, so this corresponds to the current development branch, which should hopefully become 1.7 in not too very long. I've added one other patch (from SEMS pull request 57) that is required to make message-waiting notifications behave in a useful way but has yet to be merged upstream. WWW: https://github.com/sems-server/sems/ PR: 240048 Reviewed_by: koobs (ports) Approved by: koobs (ports) Differential_Revision: D21410
- rP509981: net/sems: SIP Express Media Server (new port)
Passes portlint checks and poudriere-testport. Portlint gives three minor warnings, two of which are related to the patches not coming from makepatch and the other related to placement of SHEBANG_GLOB, which I think is a false positive. (One of the patches comes from a GitHub PR)
Tested and working on 13.0-CURRENT and 12.0-RELEASE on amd64.
|198 ↗||(On Diff #61249)|
I might have considered making this SIP Express Media Server
|11 ↗||(On Diff #61249)|
If a license file exists in the source distribution (distfile), add LICENSE_FILE=/path/to/file
|23 ↗||(On Diff #61249)|
Does SEMS support *both* Python 2 and 3? If so, this is fine, otherwise define version-spec in USES=python:<version-spec> as accurately as possible (per upstream python support declarations) given the syntax we support here.
Also, nothing in this port explicitly sets the python version to use/build with. In most if not all cases, build systems, in particular autoconf and cmake do Python auto-detection with their own / custom find order, so accordingly, explicitly setting the specific Python version to use is warranted.
This, for CMake programs, usually takes the form of setting PYTHON_* variables  and there are examples in the tree you can use
|201 ↗||(On Diff #61249)|
Since these (DOCSDIR) paths are version suffixed, presumably with every version, with the major (a.b.c) components of the upstream version, it's probably worth adding (exporting) x.y.z to PLIST_SUB and using the variable in these pkg-plist entries to reduce churn on future version updates.
@nwhitehorn Looks good!
Note #1: I've amended the differential summary:
- moved test/QA comments to TEST PLAN section
- formatted commit log with my review/approved by lines.
Just dont forget to remove the underscore _ from Reviewed_by and Differential_Revision when you copy pasta (Phabricator doesnt accept those lines without underscores, as they're reserved words)
Note #2: Standard commit messages for new ports are normally:
[NEW PORT] cat/port: $COMMENT <pkg-descr>
I left your existing comments (The most recent release (1.6.0) ...) in place, because they provide useful context and information, so feel free to include them after the normal new port form as well