diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index b1fae991e0..5fe8a825e3 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -4,9 +4,9 @@ from distutils.version import LooseVersion
logger = logging.getLogger(__name__)
REQUIREMENTS = {
- "syutil==0.0.2": ["syutil"],
- "matrix_angular_sdk==0.6.0": ["syweb==0.6.0"],
- "Twisted>=14.0.0": ["twisted>=14.0.0"],
+ "syutil>=0.0.3": ["syutil"],
+ "matrix_angular_sdk>=0.6.4": ["syweb>=0.6.4"],
+ "Twisted==14.0.2": ["twisted==14.0.2"],
"service_identity>=1.0.0": ["service_identity>=1.0.0"],
"pyopenssl>=0.14": ["OpenSSL>=0.14"],
"pyyaml": ["yaml"],
@@ -16,9 +16,32 @@ REQUIREMENTS = {
"py-bcrypt": ["bcrypt"],
"frozendict>=0.4": ["frozendict"],
"pillow": ["PIL"],
+ "pydenticon": ["pydenticon"],
}
+def github_link(project, version, egg):
+ return "https://github.com/%s/tarball/%s/#egg=%s" % (project, version, egg)
+
+DEPENDENCY_LINKS = [
+ github_link(
+ project="pyca/pynacl",
+ version="d4d3175589b892f6ea7c22f466e0e223853516fa",
+ egg="pynacl-0.3.0",
+ ),
+ github_link(
+ project="matrix-org/syutil",
+ version="v0.0.3",
+ egg="syutil-0.0.3",
+ ),
+ github_link(
+ project="matrix-org/matrix-angular-sdk",
+ version="v0.6.4",
+ egg="matrix_angular_sdk-0.6.4",
+ ),
+]
+
+
class MissingRequirementError(Exception):
pass
@@ -78,3 +101,24 @@ def check_requirements():
"Unexpected version of %r in %r. %r != %r"
% (dependency, file_path, version, required_version)
)
+
+
+def list_requirements():
+ result = []
+ linked = []
+ for link in DEPENDENCY_LINKS:
+ egg = link.split("#egg=")[1]
+ linked.append(egg.split('-')[0])
+ result.append(link)
+ for requirement in REQUIREMENTS:
+ is_linked = False
+ for link in linked:
+ if requirement.replace('-', '_').startswith(link):
+ is_linked = True
+ if not is_linked:
+ result.append(requirement)
+ return result
+
+if __name__ == "__main__":
+ import sys
+ sys.stdout.writelines(req + "\n" for req in list_requirements())
|