Page MenuHomeFreeBSD

Introduce net/py-matrix-synapse into Ports tree

Authored by on Jan 5 2016, 7:32 AM.



The patch introduces the following ports as required dependencies (or sub-deps) of the synapse port:

  • devel/py-blist: Drop-in list replacement with better performance for large lists
  • devel/py-canonicaljson: Canonical JSON
  • devel/py-daemonize: Enables code to run as a daemon process on Unix-like systems
  • devel/py-frozendict: Immutable dictionary implementation for Python
  • devel/py-hypothesis: Library for property based testing
  • devel/py-matrix-angular-sdk: Matrix Angular SDK
  • devel/py-pydenticon: Library for generating identicons - an enhanced port of Sigil
  • devel/py-responses: Utility library for mocking out the requests Python library
  • devel/py-unpaddedbase64: Unpadded Base64
  • net/py-matrix-synapse: Matrix protocol reference homeserver
  • security/py-pymacaroons-pynacl: Macaroon library for Python
  • security/py-pynacl: Python binding to the Networking and Cryptography

Bugzilla ref:

Test Plan

Where available, unit tests are run for each port. The synapse port's tests depend on almost all of those packages directly, so its unit tests largely cover off the rest.

I am also using these ports on a day-to-day basis as of now, so any issues will be detected on my server and patches submitted as necessary.

Diff Detail

rP FreeBSD ports repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline retitled this revision from to Introduce net/py-matrix-synapse into Ports tree. updated this object. edited the test plan for this revision. (Show Details)
koobs edited reviewers, added: koobs; removed: Contributor Reviewers (ports).
koobs added a subscriber: Python.
koobs requested changes to this revision.Jan 5 2016, 7:35 AM
koobs added a reviewer: koobs.
koobs added a subscriber: koobs.

Lovely work!

Please add:

  • category/Makefile changes
  • Add COMMENT (of each port) to the list of ports in review SUMMARY
  • Link to Bugzilla issue for this in review SUMMARY, when created
This revision now requires changes to proceed.Jan 5 2016, 7:35 AM

I'm assuming the following have all been checked/already done, since none were explicitly specified in review summary

  • LICENSE_FILE if one exists in WRKSRC
  • Correct, most appropriate category (in favour of devel, if possible)
  • pkg-descr WWW: URL matches that in
  • COMMENT matches short description in (with portlint changes if necessary
  • BUILD_DEPENDS matches setup_requires in if specified
  • RUN_DEPENDS matches install_requires in if specified
  • TEST_DEPENDS matches tests_require in, if specified (and fixed if incorrect)
  • Build and Runtime dependencies have been checked/confirmed
  • Dependency version requirements are specified correctly in *_DEPENDS=foo[>=spec] lines
  • USES=python spec is correct and has been checked for upstream Python 2/3 compatibility.

If any of the above is not true, please update accordingly

1 ↗(On Diff #11939)


  • breadcrumbs/comments to all patches, plus
  • upstream links and references (if created)
29 ↗(On Diff #11939)

nose provides a setuptools nosetests command:

If the following works, it is preferable

1 ↗(On Diff #11939)


  • breadcrumbs/comments to all patches, plus
  • upstream links and references (if created)
1 ↗(On Diff #11939)


  • breadcrumbs/comments to all patches, plus
  • upstream links and references (if created)
1 ↗(On Diff #11939)


  • breadcrumbs/comments to all patches, plus
  • upstream links and references (if created) edited edge metadata.

Unmangle those category makefiles

In D4795#101731, @miwi wrote:

From the PyNaCl page on GitHub:

PyNaCl relies on libsodium, a portable C library which can be compiled on a variety of systems. It may already be available from your package manager.

libsodium is a nacl API-compatible library, which this relies on. It seems that Yuri's port doesn't include this, while also lacks support for the unit tests.

The port Yuri has committed also hardcodes the .so file's name, which changes each version and dependent on build. It may not be consistent across versions or systems.

I've merged our patches together to get the best of both worlds now. :)

Merge the best bits of security/py-pynacl marked 4 inline comments as done.

Accidentally stole the created by line. Sorry!

This revision was automatically updated to reflect the committed changes.

See Bugzilla issue for full commit revision references