52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
makeWrapper,
|
|
matrix-synapse-unwrapped,
|
|
extras ?
|
|
[
|
|
"postgres"
|
|
"url-preview"
|
|
"user-search"
|
|
]
|
|
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform matrix-synapse-unwrapped.python.pkgs.systemd) "systemd",
|
|
plugins ? [ ],
|
|
...
|
|
}:
|
|
|
|
let
|
|
extraPackages = lib.concatMap (extra: matrix-synapse-unwrapped.optional-dependencies.${extra}) (
|
|
lib.unique extras
|
|
);
|
|
|
|
pythonEnv = matrix-synapse-unwrapped.python.buildEnv.override {
|
|
extraLibs = extraPackages ++ plugins;
|
|
};
|
|
|
|
searchPath = "${pythonEnv}/${matrix-synapse-unwrapped.python.sitePackages}";
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = (lib.appendToName "wrapped" matrix-synapse-unwrapped).name;
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
];
|
|
|
|
buildCommand = ''
|
|
for bin in ${matrix-synapse-unwrapped}/bin/*; do
|
|
echo $bin
|
|
makeWrapper "$bin" "$out/bin/$(basename $bin)" \
|
|
--set PYTHONPATH ${searchPath}
|
|
done;
|
|
'';
|
|
|
|
passthru = {
|
|
unwrapped = matrix-synapse-unwrapped;
|
|
|
|
# for backward compatibility
|
|
inherit (matrix-synapse-unwrapped) plugins tests tools;
|
|
};
|
|
|
|
# Carry the maintainer, licenses, and various useful information.
|
|
inherit (matrix-synapse-unwrapped) meta;
|
|
}
|