pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/chat/matrix-synapse
Module Name: pkgsrc
Committed By: gdt
Date: Thu Feb 26 15:42:06 UTC 2026
Modified Files:
pkgsrc/chat/matrix-synapse: Makefile
Log Message:
chat/matrix-synapse: Rotorill comments about upstream dependency management
- setuptools_rust (not actually needed)
- pyrsistent (jsonschema used to use it, but synapse fails to start
without it)
Despite the big diff, this is a comment-only change.
To generate a diff of this commit:
cvs rdiff -u -r1.127 -r1.128 pkgsrc/chat/matrix-synapse/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/chat/matrix-synapse/Makefile
diff -u pkgsrc/chat/matrix-synapse/Makefile:1.127 pkgsrc/chat/matrix-synapse/Makefile:1.128
--- pkgsrc/chat/matrix-synapse/Makefile:1.127 Thu Feb 26 14:19:48 2026
+++ pkgsrc/chat/matrix-synapse/Makefile Thu Feb 26 15:42:05 2026
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.127 2026/02/26 14:19:48 gdt Exp $
+# $NetBSD: Makefile,v 1.128 2026/02/26 15:42:05 gdt Exp $
DISTNAME= matrix-synapse-1.148.0
CATEGORIES= chat
@@ -61,31 +61,30 @@ DEPENDS+= ${PYPKGPREFIX}-matrix-common>=
DEPENDS+= ${PYPKGPREFIX}-packaging>=20.0:../../devel/py-packaging
# If py<3.14, only need 2.8, but just require >=2.12 to simplify.
DEPENDS+= ${PYPKGPREFIX}-pydantic>=2.12:../../devel/py-pydantic
-# Upstream documents that this is needed for poetry, but the
-# explanation is very confusing.
+# Upstream documents that setuptools_rust is needed if you choose to
+# use poetry instead of the documented/specified maturin (people that
+# work on synapse does that because something is more convenient).
+# However, it is coded as a depdendency for everyone, and ends up in
+# METAINFO. Experimentally, synapse starts and runs fine without it,
+# so we omit it as a pkgsrc dependency.
#DEPENDS+= ${PYPKGPREFIX}-setuptools-rust>=1.3:../../devel/py-setuptools-rust
DEPENDS+= ${PYPKGPREFIX}-python-multipart>=0.0.9:../../www/py-python-multipart
-# Upstream does NOT document a dependency on pyrsistent, but synapse
-# crashes if it is not present, because it ends up in
-# /usr/pkg/lib/python3.13/site-packages/matrix_synapse-1.146.0.dist-info/METADATA
-# The version is taken from METADATA. However, I can find no actual usage.
+# Upstream lists "transitive dependency constraints". These are
+# workarounds for bugs in other packaging systems, a bug in pip (that
+# it is most of a package manager but not really in that it can't
+# patch bugs in older versions while also being content to let older
+# versions be), where some package A that synapse uses was released
+# with a dependency on B>=n, when either B=n is just actually buggy,
+# or A's use of B=n is buggy. Really, the right fix is to have new
+# enough B without bugs, or a fixed A, and this isn't about synapse.
+# However, synapse forces these deps in pyproject.toml to defend its
+# issue tracker from incorrect reports "synapse doesn't work right
+# when I use it with buggy dependencies".
+#
+# For the most part, pkgsrc takes a different approach, updating
+# things that are buggy, so this is not relevant. synapse's list is
#
-# A separate issue is that upstream claims pyrsistent is required via
-# jsonschema, but the pkgsrc jsonschema package and its pyproject.toml
-# do not reference pyrsistent at all.
-DEPENDS+= ${PYPKGPREFIX}-pyrsistent>=0.18.0:../../devel/py-pyrsistent
-
-# Upstream lists "transitive dependency constraints". The theory is
-# that they are required by something that synapse depends on, and
-# that synapse doesn't actually use them. Yet somehow, a version that
-# is older than the one listed here, but new enough for the other
-# required package, will somehow cause that package to misbehave when
-# used by synapse.
-# We ignore this for now, as a quantum superposition of not making
-# sense and it being likely the pkgsrc versions are adequately up to
-# date.
-
# cffi > 1.15
# pynacl >= 1.3
# pyparsing >= 2.4
@@ -93,6 +92,16 @@ DEPENDS+= ${PYPKGPREFIX}-pyrsistent>=0.1
# requests >= 2.16.0
# urllib3 >= 1.26.5
# zope-interface >= 5.2
+#
+# And we decline to add those here, as noise.
+#
+# However, pyrsistent is in pyproject.toml because jsonschema used to
+# require it (before 4.18.0) -- and now it doesn't. Without an
+# explicit pkgsrc dep on pyrsistent, it isn't pulled in. That would
+# be fine, except that it appears in METAINFO (because of presence in
+# pyproject.toml) and synapse then fails to start. Reported upstream
+# 20260226.
+DEPENDS+= ${PYPKGPREFIX}-pyrsistent>=0.18.0:../../devel/py-pyrsistent
## OPTIONS
#
Home |
Main Index |
Thread Index |
Old Index