Skip to content
Snippets Groups Projects
Commit 7ed971d9 authored by Mark Haines's avatar Mark Haines
Browse files

Single source version and python dependencies, prevent people accidentally...

Single source version and python dependencies, prevent people accidentally installing with easy_install, use scripts rather than entry_points to install synctl
parent c8e1da93
No related branches found
No related tags found
No related merge requests found
0.6.1d
...@@ -17,52 +17,52 @@ ...@@ -17,52 +17,52 @@
import os import os
from setuptools import setup, find_packages from setuptools import setup, find_packages
import setuptools.command.easy_install
# Utility function to read the README file.
# Used for the long_description. It's nice, because now 1) we have a top level def no_easy_install(self, spec, *args, **kargs):
# README file and 2) it's easier to type in the README file than to put a raw raise RuntimeError(
# string in below ... "Missing requirement %r. Please use pip to install this dependency."
def read(fname): " See README.rst for instructions."
return open(os.path.join(os.path.dirname(__file__), fname)).read() % (spec,)
)
# Patch the easy_install command to prevent people accidentally installing
# depedencies using it.
setuptools.command.easy_install.easy_install.easy_install = no_easy_install
here = os.path.abspath(os.path.dirname(__file__))
def read_file(path):
"""Read a file from the package. Takes a list of strings to join to
make the path"""
file_path = os.path.join(here, *path)
with open(file_path) as f:
return f.read()
def exec_file(path):
"""Execute a single python file to get the variables defined in it"""
result = {}
code = read_file(path)
exec(code, result)
return result
version = exec_file(("synapse", "__init__.py"))["__version__"]
dependencies = exec_file(("synapse", "python_dependencies.py"))
long_description = read_file(("README.rst",))
setup( setup(
name="matrix-synapse", name="matrix-synapse",
version=read("VERSION").strip(), version=version,
packages=find_packages(exclude=["tests", "tests.*"]), packages=find_packages(exclude=["tests", "tests.*"]),
description="Reference Synapse Home Server", description="Reference Synapse Home Server",
install_requires=[ install_requires=dependencies["REQUIREMENTS"].keys(),
"syutil==0.0.2", dependency_links=dependencies["DEPENDENCY_LINKS"],
"matrix_angular_sdk>=0.6.1",
"Twisted==14.0.2",
"service_identity>=1.0.0",
"pyopenssl>=0.14",
"pyyaml",
"pyasn1",
"pynacl",
"daemonize",
"py-bcrypt",
"frozendict>=0.4",
"pillow",
"pydenticon",
],
dependency_links=[
"https://github.com/matrix-org/syutil/tarball/v0.0.2#egg=syutil-0.0.2",
"https://github.com/pyca/pynacl/tarball/d4d3175589b892f6ea7c22f466e0e223853516fa#egg=pynacl-0.3.0",
"https://github.com/matrix-org/matrix-angular-sdk/tarball/v0.6.1/#egg=matrix_angular_sdk-0.6.1",
],
setup_requires=[
"Twisted==14.0.2", # Here to override setuptools_trial's dependency on Twisted>=2.4.0
"setuptools_trial",
"setuptools>=1.0.0", # Needs setuptools that supports git+ssh.
# TODO: Do we need this now? we don't use git+ssh.
"mock"
],
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
long_description=read("README.rst"), long_description=long_description,
entry_points=""" scripts=["synctl"],
[console_scripts]
synctl=synapse.app.synctl:main
synapse-homeserver=synapse.app.homeserver:main
"""
) )
...@@ -5,7 +5,7 @@ logger = logging.getLogger(__name__) ...@@ -5,7 +5,7 @@ logger = logging.getLogger(__name__)
REQUIREMENTS = { REQUIREMENTS = {
"syutil==0.0.2": ["syutil"], "syutil==0.0.2": ["syutil"],
"matrix_angular_sdk==0.6.0": ["syweb>=0.6.0"], "matrix_angular_sdk>=0.6.1": ["syweb>=0.6.1"],
"Twisted==14.0.2": ["twisted==14.0.2"], "Twisted==14.0.2": ["twisted==14.0.2"],
"service_identity>=1.0.0": ["service_identity>=1.0.0"], "service_identity>=1.0.0": ["service_identity>=1.0.0"],
"pyopenssl>=0.14": ["OpenSSL>=0.14"], "pyopenssl>=0.14": ["OpenSSL>=0.14"],
...@@ -31,8 +31,8 @@ DEPENDENCY_LINKS = [ ...@@ -31,8 +31,8 @@ DEPENDENCY_LINKS = [
), ),
github_link( github_link(
project="matrix-org/matrix-angular-sdk", project="matrix-org/matrix-angular-sdk",
version="v0.6.0", version="v0.6.1",
egg="matrix_angular_sdk-0.6.0", egg="matrix_angular_sdk-0.6.1",
), ),
github_link( github_link(
project="pyca/pynacl", project="pyca/pynacl",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment