| @@ -1,16 +1,17 @@ | | | @@ -1,16 +1,17 @@ |
1 | # $NetBSD: Makefile,v 1.62 2022/10/19 14:25:18 nia Exp $ | | 1 | # $NetBSD: Makefile,v 1.63 2022/10/28 13:07:21 gdt Exp $ |
2 | | | 2 | |
3 | DISTNAME= matrix-synapse-1.67.0 | | 3 | DISTNAME= matrix-synapse-1.67.0 |
| | | 4 | PKGREVISION= 1 |
4 | CATEGORIES= chat | | 5 | CATEGORIES= chat |
5 | MASTER_SITES= ${MASTER_SITE_GITHUB:=matrix-org/} | | 6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=matrix-org/} |
6 | GITHUB_PROJECT= synapse | | 7 | GITHUB_PROJECT= synapse |
7 | GITHUB_TAG= v${PKGVERSION_NOREV} | | 8 | GITHUB_TAG= v${PKGVERSION_NOREV} |
8 | | | 9 | |
9 | MAINTAINER= gdt@NetBSD.org | | 10 | MAINTAINER= gdt@NetBSD.org |
10 | HOMEPAGE= https://github.com/matrix-org/synapse/ | | 11 | HOMEPAGE= https://github.com/matrix-org/synapse/ |
11 | COMMENT= Reference homeserver for the Matrix decentralised comms protocol | | 12 | COMMENT= Reference homeserver for the Matrix decentralised comms protocol |
12 | LICENSE= apache-2.0 | | 13 | LICENSE= apache-2.0 |
13 | | | 14 | |
14 | # Build tools: | | 15 | # Build tools: |
15 | TOOL_DEPENDS+= ${PYPKGPREFIX}-poetry-[0-9]*:../../devel/py-poetry | | 16 | TOOL_DEPENDS+= ${PYPKGPREFIX}-poetry-[0-9]*:../../devel/py-poetry |
16 | | | 17 | |
| @@ -32,51 +33,56 @@ DEPENDS+= ${PYPKGPREFIX}-jsonschema>=3.0 | | | @@ -32,51 +33,56 @@ DEPENDS+= ${PYPKGPREFIX}-jsonschema>=3.0 |
32 | DEPENDS+= ${PYPKGPREFIX}-lxml>=3.5.0:../../textproc/py-lxml | | 33 | DEPENDS+= ${PYPKGPREFIX}-lxml>=3.5.0:../../textproc/py-lxml |
33 | DEPENDS+= ${PYPKGPREFIX}-macaroons>=0.13.0:../../devel/py-macaroons | | 34 | DEPENDS+= ${PYPKGPREFIX}-macaroons>=0.13.0:../../devel/py-macaroons |
34 | DEPENDS+= ${PYPKGPREFIX}-matrix-common>=1.2.0:../../chat/py-matrix-common | | 35 | DEPENDS+= ${PYPKGPREFIX}-matrix-common>=1.2.0:../../chat/py-matrix-common |
35 | DEPENDS+= ${PYPKGPREFIX}-msgpack>=0.5.2:../../devel/py-msgpack | | 36 | DEPENDS+= ${PYPKGPREFIX}-msgpack>=0.5.2:../../devel/py-msgpack |
36 | DEPENDS+= ${PYPKGPREFIX}-nacl>=1.2.1:../../security/py-nacl | | 37 | DEPENDS+= ${PYPKGPREFIX}-nacl>=1.2.1:../../security/py-nacl |
37 | DEPENDS+= ${PYPKGPREFIX}-netaddr>=0.7.18:../../net/py-netaddr | | 38 | DEPENDS+= ${PYPKGPREFIX}-netaddr>=0.7.18:../../net/py-netaddr |
38 | DEPENDS+= ${PYPKGPREFIX}-phonenumbers>=8.2.0:../../textproc/py-phonenumbers | | 39 | DEPENDS+= ${PYPKGPREFIX}-phonenumbers>=8.2.0:../../textproc/py-phonenumbers |
39 | DEPENDS+= ${PYPKGPREFIX}-Pillow-[0-9]*:../../graphics/py-Pillow | | 40 | DEPENDS+= ${PYPKGPREFIX}-Pillow-[0-9]*:../../graphics/py-Pillow |
40 | DEPENDS+= ${PYPKGPREFIX}-prometheus_client>=0.4.0:../../net/py-prometheus_client | | 41 | DEPENDS+= ${PYPKGPREFIX}-prometheus_client>=0.4.0:../../net/py-prometheus_client |
41 | DEPENDS+= ${PYPKGPREFIX}-psycopg2>=2.7:../../databases/py-psycopg2 | | 42 | DEPENDS+= ${PYPKGPREFIX}-psycopg2>=2.7:../../databases/py-psycopg2 |
42 | DEPENDS+= ${PYPKGPREFIX}-service_identity>=18.1.0:../../security/py-service_identity | | 43 | DEPENDS+= ${PYPKGPREFIX}-service_identity>=18.1.0:../../security/py-service_identity |
43 | DEPENDS+= ${PYPKGPREFIX}-signedjson>=1.1.0:../../security/py-signedjson | | 44 | DEPENDS+= ${PYPKGPREFIX}-signedjson>=1.1.0:../../security/py-signedjson |
44 | DEPENDS+= ${PYPKGPREFIX}-sortedcontainers>=1.4.4:../../devel/py-sortedcontainers | | 45 | DEPENDS+= ${PYPKGPREFIX}-sortedcontainers>=1.4.4:../../devel/py-sortedcontainers |
| | | 46 | # NB: synapse needs features missing in NetBSD base system sqlite, and probably |
| | | 47 | # missing in other builds. |
45 | DEPENDS+= ${PYPKGPREFIX}-sqlite3>=0:../../databases/py-sqlite3 | | 48 | DEPENDS+= ${PYPKGPREFIX}-sqlite3>=0:../../databases/py-sqlite3 |
46 | DEPENDS+= ${PYPKGPREFIX}-treq>=15.1:../../devel/py-treq | | 49 | DEPENDS+= ${PYPKGPREFIX}-treq>=15.1:../../devel/py-treq |
47 | DEPENDS+= ${PYPKGPREFIX}-twisted>=18.9.0:../../net/py-twisted | | 50 | DEPENDS+= ${PYPKGPREFIX}-twisted>=18.9.0:../../net/py-twisted |
48 | DEPENDS+= ${PYPKGPREFIX}-typing-extensions>=3.10.0:../../devel/py-typing-extensions | | 51 | DEPENDS+= ${PYPKGPREFIX}-typing-extensions>=3.10.0:../../devel/py-typing-extensions |
49 | DEPENDS+= ${PYPKGPREFIX}-unpaddedbase64>=1.1.0:../../devel/py-unpaddedbase64 | | 52 | DEPENDS+= ${PYPKGPREFIX}-unpaddedbase64>=1.1.0:../../devel/py-unpaddedbase64 |
50 | DEPENDS+= ${PYPKGPREFIX}-yaml>=3.11:../../textproc/py-yaml | | 53 | DEPENDS+= ${PYPKGPREFIX}-yaml>=3.11:../../textproc/py-yaml |
51 | TEST_DEPENDS+= ${PYPKGPREFIX}-parameterized-[0-9]*:../../devel/py-parameterized | | 54 | TEST_DEPENDS+= ${PYPKGPREFIX}-parameterized-[0-9]*:../../devel/py-parameterized |
52 | TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test | | 55 | TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test |
53 | | | 56 | |
54 | PYTHON_VERSIONS_INCOMPATIBLE= 27 # py-unpaddedbase64 | | 57 | PYTHON_VERSIONS_INCOMPATIBLE= 27 # py-unpaddedbase64 |
55 | | | 58 | |
56 | USE_PKG_RESOURCES= yes | | 59 | USE_PKG_RESOURCES= yes |
57 | | | 60 | |
58 | USE_LANGUAGES= # none | | 61 | USE_LANGUAGES= # none |
59 | | | 62 | |
60 | REPLACE_PYTHON+= synapse/_scripts/*.py | | 63 | REPLACE_PYTHON+= synapse/_scripts/*.py |
61 | | | 64 | |
62 | USE_TOOLS+= perl:run | | 65 | USE_TOOLS+= perl:run |
63 | REPLACE_PERL+= scripts/sync_room_to_group.pl | | 66 | REPLACE_PERL+= scripts/sync_room_to_group.pl |
64 | | | 67 | |
65 | PKG_SYSCONFSUBDIR= matrix-synapse | | 68 | # Avoid the pyNN- prefix in config, doc, and so on. |
| | | 69 | HUMAN_PKGNAME= matrix-synapse |
| | | 70 | PKG_SYSCONFSUBDIR= ${HUMAN_PKGNAME} |
| | | 71 | DOCDIR= ${PREFIX}/share/doc/${HUMAN_PKGNAME} |
66 | | | 72 | |
67 | SYNAPSE_USER?= synapse | | 73 | SYNAPSE_USER?= synapse |
68 | SYNAPSE_GROUP?= ${SYNAPSE_USER} | | 74 | SYNAPSE_GROUP?= ${SYNAPSE_USER} |
69 | SYNAPSE_DATA?= ${VARBASE}/db/matrix-synapse | | 75 | SYNAPSE_DATA?= ${VARBASE}/db/${HUMAN_PKGNAME} |
70 | BUILD_DEFS+= SYNAPSE_USER SYNAPSE_GROUP SYNAPSE_DATA VARBASE | | 76 | BUILD_DEFS+= SYNAPSE_USER SYNAPSE_GROUP SYNAPSE_DATA VARBASE |
71 | | | 77 | |
72 | OWN_DIRS_PERMS+= ${SYNAPSE_DATA} ${SYNAPSE_USER} ${SYNAPSE_GROUP} 0770 | | 78 | OWN_DIRS_PERMS+= ${SYNAPSE_DATA} ${SYNAPSE_USER} ${SYNAPSE_GROUP} 0770 |
73 | | | 79 | |
74 | PKG_USERS_VARS= SYNAPSE_USER | | 80 | PKG_USERS_VARS= SYNAPSE_USER |
75 | PKG_GROUPS_VARS= SYNAPSE_GROUP | | 81 | PKG_GROUPS_VARS= SYNAPSE_GROUP |
76 | PKG_GROUPS= ${SYNAPSE_GROUP} | | 82 | PKG_GROUPS= ${SYNAPSE_GROUP} |
77 | PKG_USERS= ${SYNAPSE_USER}:${SYNAPSE_GROUP} | | 83 | PKG_USERS= ${SYNAPSE_USER}:${SYNAPSE_GROUP} |
78 | PKG_GECOS.${SYNAPSE_USER}= Synapse daemon user | | 84 | PKG_GECOS.${SYNAPSE_USER}= Synapse daemon user |
79 | PKG_HOME.${SYNAPSE_USER}= ${SYNAPSE_DATA} | | 85 | PKG_HOME.${SYNAPSE_USER}= ${SYNAPSE_DATA} |
80 | PKG_SHELL.${SYNAPSE_USER}= ${NOLOGIN} | | 86 | PKG_SHELL.${SYNAPSE_USER}= ${NOLOGIN} |
81 | | | 87 | |
82 | RCD_SCRIPTS= matrix-synapse | | 88 | RCD_SCRIPTS= matrix-synapse |
| @@ -89,24 +95,29 @@ MESSAGE_SUBST+= SYNAPSE_DATA=${SYNAPSE_D | | | @@ -89,24 +95,29 @@ MESSAGE_SUBST+= SYNAPSE_DATA=${SYNAPSE_D |
89 | | | 95 | |
90 | SYNAPSE_DEFAULT_CREATOR_PL?= 100 | | 96 | SYNAPSE_DEFAULT_CREATOR_PL?= 100 |
91 | SUBST_CLASSES+= pl | | 97 | SUBST_CLASSES+= pl |
92 | SUBST_STAGE.pl= post-patch | | 98 | SUBST_STAGE.pl= post-patch |
93 | SUBST_FILES.pl= synapse/handlers/room.py | | 99 | SUBST_FILES.pl= synapse/handlers/room.py |
94 | SUBST_VARS.pl= SYNAPSE_DEFAULT_CREATOR_PL | | 100 | SUBST_VARS.pl= SYNAPSE_DEFAULT_CREATOR_PL |
95 | | | 101 | |
96 | BUILD_DEFS+= SYNAPSE_DEFAULT_CREATOR_PL | | 102 | BUILD_DEFS+= SYNAPSE_DEFAULT_CREATOR_PL |
97 | | | 103 | |
98 | post-patch: | | 104 | post-patch: |
99 | # Otherwise, this file is installed and pollutes PLIST. | | 105 | # Otherwise, this file is installed and pollutes PLIST. |
100 | rm ${WRKSRC}/synapse/handlers/room.py.orig | | 106 | rm ${WRKSRC}/synapse/handlers/room.py.orig |
101 | | | 107 | |
| | | 108 | post-install: |
| | | 109 | ${INSTALL_DATA_DIR} ${DESTDIR}${DOCDIR} |
| | | 110 | ${INSTALL_DATA} files/README.pkgsrc.txt ${DESTDIR}${DOCDIR} |
| | | 111 | ${INSTALL_DATA} files/README.pkgsrc.NetBSD.txt ${DESTDIR}${DOCDIR} |
| | | 112 | |
102 | # \todo Grok upstream's new test scheme and port to it. | | 113 | # \todo Grok upstream's new test scheme and port to it. |
103 | # test status as of 1.51.0 | | 114 | # test status as of 1.51.0 |
104 | # 51 warnings, 1 error | | 115 | # 51 warnings, 1 error |
105 | do-test: | | 116 | do-test: |
106 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} pytest-${PYVERSSUFFIX} | | 117 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} pytest-${PYVERSSUFFIX} |
107 | | | 118 | |
108 | .include "../../lang/python/application.mk" | | 119 | .include "../../lang/python/application.mk" |
109 | .include "../../lang/python/wheel.mk" | | 120 | .include "../../lang/python/wheel.mk" |
110 | PYTHON_VERSIONED_DEPENDENCIES+= OpenSSL | | 121 | PYTHON_VERSIONED_DEPENDENCIES+= OpenSSL |
111 | .include "../../lang/python/versioned_dependencies.mk" | | 122 | .include "../../lang/python/versioned_dependencies.mk" |
112 | .include "../../mk/bsd.pkg.mk" | | 123 | .include "../../mk/bsd.pkg.mk" |