···
, matrix-sdk-crypto-nodejs
10
-
buildNpmPackage rec {
pname = "matrix-appservice-irc";
16
-
repo = "matrix-appservice-irc";
rev = "refs/tags/${version}";
18
-
hash = "sha256-rV4B9OQl1Ht26X4e7sqCe1PR5RpzIcjj4OvWG6udJWo=";
21
+
hash = "sha256-wUbWvCa9xvot73nXZjF3/RawM98ffBCW5YR2+ZKzmEo=";
24
+
yarnOfflineCache = fetchYarnDeps {
25
+
name = "${pname}-${version}-offline-cache";
26
+
yarnLock = "${src}/yarn.lock";
27
+
hash = "sha256-P9u5sK9rIHWRE8kFMj05fVjv26jwsawvHBZgSn7j5BE=";
21
-
npmDepsHash = "sha256-iZuPr3a1BPtRfkEoxOs4oRL/nCfy3PLx5T9dX49/B0s=";
31
+
stdenv.mkDerivation {
32
+
inherit pname version src yarnOfflineCache;
38
+
nodejs.pkgs.node-gyp-build
28
-
rm -rv $out/lib/node_modules/matrix-appservice-irc/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
29
-
ln -sv ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs $out/lib/node_modules/matrix-appservice-irc/node_modules/@matrix-org/
42
+
runHook preConfigure
44
+
export HOME=$(mktemp -d)
45
+
yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
46
+
fixup-yarn-lock yarn.lock
47
+
yarn install --frozen-lockfile --offline --no-progress --non-interactive --ignore-scripts
48
+
patchShebangs node_modules/ bin/
50
+
runHook postConfigure
56
+
yarn --offline build
65
+
cp app.js config.schema.yml $out
66
+
cp -r bin lib public $out
68
+
# prune dependencies to production only
69
+
yarn install --frozen-lockfile --offline --no-progress --non-interactive --ignore-scripts --production
70
+
cp -r node_modules $out
72
+
# replace matrix-sdk-crypto-nodejs with nixos package
73
+
rm -rv $out/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
74
+
ln -sv ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs $out/node_modules/@matrix-org/
passthru.tests.matrix-appservice-irc = nixosTests.matrix-appservice-irc;