diff --git a/pkgs/by-name/mj/mjolnir/package.json b/pkgs/by-name/mj/mjolnir/package.json deleted file mode 100644 index d0ffe772a827..000000000000 --- a/pkgs/by-name/mj/mjolnir/package.json +++ /dev/null @@ -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" -} diff --git a/pkgs/by-name/mj/mjolnir/package.nix b/pkgs/by-name/mj/mjolnir/package.nix index dae472d6c015..7f97fc48f1b0 100644 --- a/pkgs/by-name/mj/mjolnir/package.nix +++ b/pkgs/by-name/mj/mjolnir/package.nix @@ -1,23 +1,26 @@ { lib, - mkYarnPackage, + stdenv, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + nodejs, fetchFromGitHub, fetchYarnDeps, matrix-sdk-crypto-nodejs, makeWrapper, - nodejs, nixosTests, }: -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "mjolnir"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "matrix-org"; repo = "mjolnir"; - tag = "v${version}"; - hash = "sha256-LK2CgMLDJHfr1+ejHYeJNw2ekCnUA8GHufZ6vbifzGQ="; + tag = "v${finalAttrs.version}"; + hash = "sha256-OxHnCMP6IP0EaAs4YQgmV04tq6IdAYmKQX8O9Q48CPk="; }; patches = [ @@ -25,33 +28,27 @@ mkYarnPackage rec { ./001-disable-nsfwprotection.patch ]; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - yarnLock = src + "/yarn.lock"; + yarnLock = "${finalAttrs.src}/yarn.lock"; hash = "sha256-1V7ooONt9j+4hk/3w6Dsv/SdWwa1xsLk97EwhuPegNo="; }; - packageResolutions = { - "@matrix-org/matrix-sdk-crypto-nodejs" = - "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; - }; - - nativeBuildInputs = [ makeWrapper ]; - - buildPhase = '' - runHook preBuild - - pushd deps/${pname} - yarn run build - popd - - runHook postBuild - ''; + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + yarnInstallHook + nodejs + makeWrapper + ]; 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" \ - --add-flags "$out/libexec/mjolnir/deps/mjolnir/lib/index.js" + --add-flags "$out/lib/node_modules/mjolnir/lib/index.js" ''; passthru = { @@ -60,7 +57,7 @@ mkYarnPackage rec { }; }; - meta = with lib; { + meta = { description = "Moderation tool for Matrix"; homepage = "https://github.com/matrix-org/mjolnir"; longDescription = '' @@ -77,8 +74,8 @@ mkYarnPackage rec { A Synapse module is also available to apply the same rulesets the bot uses across an entire homeserver. ''; - license = licenses.asl20; - maintainers = with maintainers; [ jojosch ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jojosch ]; mainProgram = "mjolnir"; }; -} +})