summary refs log tree commit diff
path: root/synapse/python_dependencies.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/python_dependencies.py')
-rw-r--r--synapse/python_dependencies.py50
1 files changed, 47 insertions, 3 deletions
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())