48 lines
1.2 KiB
Nix
48 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;
|
||
|
}
|