diff --git a/srcpkgs/synapse/patches/dependency-fix.patch b/srcpkgs/synapse/patches/dependency-fix.patch new file mode 100644 index 00000000000..3a51bd323cd --- /dev/null +++ b/srcpkgs/synapse/patches/dependency-fix.patch @@ -0,0 +1,23 @@ +The only purpose of the setuptools_rust runtime dependency is to work around +poetry mishandling build-time dependencies. Eliminate it to avoid spurious +errors when launching synapse. + +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -174,16 +174,6 @@ + # This is the most recent version of Pydantic with available on common distros. + pydantic = ">=1.7.4" + +-# This is for building the rust components during "poetry install", which +-# currently ignores the `build-system.requires` directive (c.f. +-# https://github.com/python-poetry/poetry/issues/6154). Both `pip install` and +-# `poetry build` do the right thing without this explicit dependency. +-# +-# This isn't really a dev-dependency, as `poetry install --no-dev` will fail, +-# but the alternative is to add it to the main list of deps where it isn't +-# needed. +-setuptools_rust = ">=1.3" +- + + # Optional Dependencies + # --------------------- diff --git a/srcpkgs/synapse/patches/poetry-fix.patch b/srcpkgs/synapse/patches/poetry-fix.patch new file mode 100644 index 00000000000..3c723d74981 --- /dev/null +++ b/srcpkgs/synapse/patches/poetry-fix.patch @@ -0,0 +1,72 @@ +From f1673866ed8a39d49e2caaa6f4255a3f696bc3b4 Mon Sep 17 00:00:00 2001 +From: David Robertson +Date: Fri, 7 Oct 2022 15:15:10 +0100 +Subject: [PATCH] Unpin build-system requirements, but impose an upper-bound + (#14085) + +* Revert to prior build-system requirements + +This reverts #14080. + +* Use normalised extra name, which poetry-core 1.3 will generate anyway + +* Changelog + +* Upper bound build-system requirements + +* Remove upgrade note; expand changelog entry a little. + +* Fix typo in build-system comment + +Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> + +Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> +--- + changelog.d/14085.misc | 1 + + pyproject.toml | 11 ++++++++--- + synapse/config/repository.py | 2 +- + 3 files changed, 10 insertions(+), 4 deletions(-) + create mode 100644 changelog.d/14085.misc + +diff --git a/changelog.d/14085.misc b/changelog.d/14085.misc +new file mode 100644 +index 00000000000..2d2df70a64e +--- /dev/null ++++ b/changelog.d/14085.misc +@@ -0,0 +1 @@ ++Rename the `url_preview` extra to `url-preview`, for compatability with poetry-core 1.3.0 and [PEP 685](https://peps.python.org/pep-0685/). From-source installations using this extra will need to install using the new name. +diff --git a/pyproject.toml b/pyproject.toml +index 622d6a9e892..81b2659eb1f 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -219,7 +219,7 @@ oidc = ["authlib"] + # `systemd.journal.JournalHandler`, as is documented in + # `contrib/systemd/log_config.yaml`. + systemd = ["systemd-python"] +-url_preview = ["lxml"] ++url-preview = ["lxml"] + sentry = ["sentry-sdk"] + opentracing = ["jaeger-client", "opentracing"] + jwt = ["authlib"] +@@ -250,7 +250,7 @@ all = [ + "pysaml2", + # oidc and jwt + "authlib", +- # url_preview ++ # url-preview + "lxml", + # sentry + "sentry-sdk", +diff --git a/synapse/config/repository.py b/synapse/config/repository.py +index 1033496bb43..e4759711ed9 100644 +--- a/synapse/config/repository.py ++++ b/synapse/config/repository.py +@@ -205,7 +205,7 @@ def read_config(self, config: JsonDict, **kwargs: Any) -> None: + ) + self.url_preview_enabled = config.get("url_preview_enabled", False) + if self.url_preview_enabled: +- check_requirements("url_preview") ++ check_requirements("url-preview") + + proxy_env = getproxies_environment() + if "url_preview_ip_range_blacklist" not in config: diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template index 51ae6d8eb47..85c3e1a68f0 100644 --- a/srcpkgs/synapse/template +++ b/srcpkgs/synapse/template @@ -1,7 +1,7 @@ # Template file for 'synapse' pkgname=synapse version=1.68.0 -revision=1 +revision=2 build_style=python3-pep517 build_helper=rust make_check_target=tests @@ -37,10 +37,6 @@ make_dirs=" /etc/synapse 755 synapse synapse /var/log/synapse 0755 synapse synapse" -post_patch() { - vsed -i '/^setuptools_rust/d' pyproject.toml -} - pre_check() { unzip ${make_install_target} "*.dist-info/*" [ -d build/lib* ] && cp -r tests build/lib*