matrix-synapse: 1.67.0 -> 1.68.0

https://github.com/matrix-org/synapse/releases/tag/v1.68.0

Uses poetry-core to build the package. Drops setuptools-rust from
runtime dependencies, because they are checked at startup, which breaks
because we do a clear separation of concerns.

Fixes a misconception about the tests, that were until now always run
against the source module. This breaks with the introduction of the rust
components, because they're not available in the source module.

Adds missing pre and post hooks to checkPhase.
This commit is contained in:
Martin Weinelt 2022-09-27 17:26:53 +02:00
parent 6d1fb2eb39
commit 326b8f7d8f
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759

View File

@ -1,4 +1,4 @@
{ lib, stdenv, python3, openssl
{ lib, stdenv, python3, openssl, rustPlatform
, enableSystemd ? stdenv.isLinux, nixosTests
, enableRedis ? true
, callPackage
@ -11,13 +11,35 @@ in
with python3.pkgs;
buildPythonApplication rec {
pname = "matrix-synapse";
version = "1.67.0";
version = "1.68.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-86KVu1wUkVy1/mONVbDM1g+Y+Kh90y1rpf58Kc2VtBY=";
hash = "sha256-jQcprvKEbLuLWth0aWeh5mi/v8z83GIrjCsm3JdJcUM=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-k8iAYRgFCuv6QYAUW5kSEwFSEXVNAEGpPya7biS1Vlo=";
};
postPatch = ''
# Remove setuptools_rust from runtime dependencies
# https://github.com/matrix-org/synapse/blob/v1.68.0/pyproject.toml#L177-L185
sed -i '/^setuptools_rust =/d' pyproject.toml
'';
nativeBuildInputs = [
poetry-core
rustPlatform.cargoSetupHook
setuptools-rust
] ++ (with rustPlatform.rust; [
cargo
rustc
]);
buildInputs = [ openssl ];
propagatedBuildInputs = [
@ -63,7 +85,14 @@ buildPythonApplication rec {
doCheck = !stdenv.isDarwin;
checkPhase = ''
runHook preCheck
# remove src module, so tests use the installed module instead
rm -rf ./synapse
PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tests
runHook postCheck
'';
passthru.tests = { inherit (nixosTests) matrix-synapse; };