mjolnir: refactor, 1.9.1 -> 1.9.2, fix building (#403356)
This commit is contained in:
@@ -40,7 +40,7 @@ let
|
|||||||
|
|
||||||
# these config files will be merged one after the other to build the final config
|
# these config files will be merged one after the other to build the final config
|
||||||
configFiles = [
|
configFiles = [
|
||||||
"${pkgs.mjolnir}/libexec/mjolnir/deps/mjolnir/config/default.yaml"
|
"${pkgs.mjolnir}/lib/node_modules/mjolnir/config/default.yaml"
|
||||||
moduleConfigFile
|
moduleConfigFile
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,75 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "mjolnir",
|
|
||||||
"version": "1.9.1",
|
|
||||||
"description": "A moderation tool for Matrix",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"repository": "git@github.com:matrix-org/mjolnir.git",
|
|
||||||
"author": "The Matrix.org Foundation C.I.C.",
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"build": "tsc",
|
|
||||||
"postbuild": "rm -rf lib/test/ && cp -r lib/src/* lib/ && rm -rf lib/src/",
|
|
||||||
"lint": "tslint --project ./tsconfig.json -t stylish && npx prettier . --check",
|
|
||||||
"start:dev": "yarn build && node --async-stack-traces lib/index.js",
|
|
||||||
"test": "ts-mocha --project ./tsconfig.json test/commands/**/*.ts",
|
|
||||||
"test:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json \"test/integration/**/*Test.ts\"",
|
|
||||||
"test:integration:single": "NODE_ENV=harness npx ts-mocha --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json",
|
|
||||||
"test:appservice:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --timeout 300000 --project ./tsconfig.json \"test/appservice/integration/**/*Test.ts\"",
|
|
||||||
"test:appservice:integration:single": "NODE_ENV=harness npx ts-mocha --timeout 300000 --project ./tsconfig.json",
|
|
||||||
"test:manual": "NODE_ENV=harness ts-node test/integration/manualLaunchScript.ts",
|
|
||||||
"version": "sed -i '/# version automated/s/[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*/'$npm_package_version'/' synapse_antispam/setup.py && git add synapse_antispam/setup.py && cat synapse_antispam/setup.py"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/config": "^3.3.0",
|
|
||||||
"@types/crypto-js": "^4.0.2",
|
|
||||||
"@types/express": "^4.17.13",
|
|
||||||
"@types/html-to-text": "^8.0.1",
|
|
||||||
"@types/humanize-duration": "^3.27.1",
|
|
||||||
"@types/js-yaml": "^4.0.5",
|
|
||||||
"@types/jsdom": "^16.2.11",
|
|
||||||
"@types/mocha": "^9.0.0",
|
|
||||||
"@types/nedb": "^1.8.12",
|
|
||||||
"@types/node": "^18.0.0",
|
|
||||||
"@types/pg": "^8.6.5",
|
|
||||||
"@types/request": "^2.48.8",
|
|
||||||
"@types/shell-quote": "1.7.1",
|
|
||||||
"crypto-js": "^4.2.0",
|
|
||||||
"eslint": "^7.32",
|
|
||||||
"expect": "^27.0.6",
|
|
||||||
"mocha": "^9.0.1",
|
|
||||||
"ts-mocha": "^9.0.2",
|
|
||||||
"tslint": "^6.1.3",
|
|
||||||
"typescript": "^4.8.4",
|
|
||||||
"typescript-formatter": "^7.2"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@sentry/node": "^7.17.2",
|
|
||||||
"@sentry/tracing": "^7.17.2",
|
|
||||||
"@tensorflow/tfjs-node": "^4.21.0",
|
|
||||||
"@vector-im/matrix-bot-sdk": "^0.7.1-element.6",
|
|
||||||
"await-lock": "^2.2.2",
|
|
||||||
"axios": "^1.7.6",
|
|
||||||
"body-parser": "^1.20.1",
|
|
||||||
"config": "^3.3.8",
|
|
||||||
"express": "^4.20",
|
|
||||||
"html-to-text": "^8.0.0",
|
|
||||||
"humanize-duration": "^3.27.1",
|
|
||||||
"humanize-duration-ts": "^2.1.1",
|
|
||||||
"js-yaml": "^4.1.0",
|
|
||||||
"jsdom": "^16.6.0",
|
|
||||||
"lru-cache": "^11.0.1",
|
|
||||||
"matrix-appservice-bridge": "10.3.1",
|
|
||||||
"nsfwjs": "^4.1.0",
|
|
||||||
"parse-duration": "^1.0.2",
|
|
||||||
"pg": "^8.8.0",
|
|
||||||
"prom-client": "^14.1.0",
|
|
||||||
"shell-quote": "^1.7.3",
|
|
||||||
"ulidx": "^0.3.0",
|
|
||||||
"yaml": "^2.2.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
},
|
|
||||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
||||||
}
|
|
||||||
@@ -1,23 +1,26 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
mkYarnPackage,
|
stdenv,
|
||||||
|
yarnConfigHook,
|
||||||
|
yarnBuildHook,
|
||||||
|
yarnInstallHook,
|
||||||
|
nodejs,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
fetchYarnDeps,
|
fetchYarnDeps,
|
||||||
matrix-sdk-crypto-nodejs,
|
matrix-sdk-crypto-nodejs,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
nodejs,
|
|
||||||
nixosTests,
|
nixosTests,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkYarnPackage rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "mjolnir";
|
pname = "mjolnir";
|
||||||
version = "1.9.1";
|
version = "1.9.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "matrix-org";
|
owner = "matrix-org";
|
||||||
repo = "mjolnir";
|
repo = "mjolnir";
|
||||||
tag = "v${version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-LK2CgMLDJHfr1+ejHYeJNw2ekCnUA8GHufZ6vbifzGQ=";
|
hash = "sha256-OxHnCMP6IP0EaAs4YQgmV04tq6IdAYmKQX8O9Q48CPk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@@ -25,33 +28,27 @@ mkYarnPackage rec {
|
|||||||
./001-disable-nsfwprotection.patch
|
./001-disable-nsfwprotection.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
packageJSON = ./package.json;
|
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = src + "/yarn.lock";
|
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||||
hash = "sha256-1V7ooONt9j+4hk/3w6Dsv/SdWwa1xsLk97EwhuPegNo=";
|
hash = "sha256-1V7ooONt9j+4hk/3w6Dsv/SdWwa1xsLk97EwhuPegNo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
packageResolutions = {
|
nativeBuildInputs = [
|
||||||
"@matrix-org/matrix-sdk-crypto-nodejs" =
|
yarnConfigHook
|
||||||
"${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs";
|
yarnBuildHook
|
||||||
};
|
yarnInstallHook
|
||||||
|
nodejs
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
makeWrapper
|
||||||
|
];
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
|
|
||||||
pushd deps/${pname}
|
|
||||||
yarn run build
|
|
||||||
popd
|
|
||||||
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
cp -r lib/* $out/lib/node_modules/mjolnir/lib/
|
||||||
|
|
||||||
|
rm -rf $out/lib/node_modules/mjolnir/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
|
||||||
|
ln -s ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs $out/lib/node_modules/mjolnir/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
|
||||||
|
|
||||||
makeWrapper ${nodejs}/bin/node "$out/bin/mjolnir" \
|
makeWrapper ${nodejs}/bin/node "$out/bin/mjolnir" \
|
||||||
--add-flags "$out/libexec/mjolnir/deps/mjolnir/lib/index.js"
|
--add-flags "$out/lib/node_modules/mjolnir/lib/index.js"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
@@ -60,7 +57,7 @@ mkYarnPackage rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Moderation tool for Matrix";
|
description = "Moderation tool for Matrix";
|
||||||
homepage = "https://github.com/matrix-org/mjolnir";
|
homepage = "https://github.com/matrix-org/mjolnir";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@@ -77,8 +74,8 @@ mkYarnPackage rec {
|
|||||||
A Synapse module is also available to apply the same rulesets the bot
|
A Synapse module is also available to apply the same rulesets the bot
|
||||||
uses across an entire homeserver.
|
uses across an entire homeserver.
|
||||||
'';
|
'';
|
||||||
license = licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = with maintainers; [ jojosch ];
|
maintainers = with lib.maintainers; [ jojosch ];
|
||||||
mainProgram = "mjolnir";
|
mainProgram = "mjolnir";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user