diff options
author | Milan Pässler <milan@petabyte.dev> | 2021-08-04 00:08:53 +0200 |
---|---|---|
committer | Milan Pässler <milan@petabyte.dev> | 2021-08-04 00:08:53 +0200 |
commit | 55682979d29a956c05a17b29fa330fba59b76ca0 (patch) | |
tree | 006d33142634c70164d8f68e6cd390734806705d /pkgs/applications/networking/instant-messengers/element/seshat/default.nix | |
parent | a79a5b880c29602426ccc77ab131639f34a32d47 (diff) |
element-desktop: build native modules
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/element/seshat/default.nix')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/element/seshat/default.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix new file mode 100644 index 0000000000000..6dbd15efe7243 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix @@ -0,0 +1,44 @@ +{ rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock }: + +rustPlatform.buildRustPackage rec { + pname = "seshat-node"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "seshat"; + rev = version; + sha256 = "0zigrz59mhih9asmbbh38z2fg0sii2342q6q0500qil2a0rssai7"; + }; + + sourceRoot = "source/seshat-node/native"; + + nativeBuildInputs = [ nodejs-14_x python3 yarn ]; + buildInputs = [ sqlcipher ]; + + npm_config_nodedir = nodejs-14_x; + + yarnOfflineCache = (callPackage ./yarn.nix {}).offline_cache; + + buildPhase = '' + cd .. + chmod u+w . ./yarn.lock + export HOME=/tmp + yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} + ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules/ + node_modules/.bin/neon build --release + ''; + + doCheck = false; + + installPhase = '' + shopt -s extglob + rm -rf native/!(index.node) + rm -rf node_modules + cp -r . $out + ''; + + cargoSha256 = "0habjf85mzqxwf8k15msm4cavd7ldq4zpxddkwd4inl2lkvlffqj"; +} |