lol

Merge pull request #217134 from chvp/init-hookshot

matrix-hookshot: init at 2.7.0

authored by

Elis Hirwing and committed by
GitHub
b467aaa8 b745931a

+229
+76
pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , fetchYarnDeps 5 + , makeWrapper 6 + , matrix-sdk-crypto-nodejs 7 + , mkYarnPackage 8 + , rust 9 + , rustPlatform 10 + , napi-rs-cli 11 + , nodejs 12 + }: 13 + 14 + let 15 + data = lib.importJSON ./pin.json; 16 + in 17 + mkYarnPackage rec { 18 + pname = "matrix-hookshot"; 19 + version = data.version; 20 + 21 + src = fetchFromGitHub { 22 + owner = "matrix-org"; 23 + repo = "matrix-hookshot"; 24 + rev = data.version; 25 + sha256 = data.srcHash; 26 + }; 27 + 28 + packageJSON = ./package.json; 29 + 30 + offlineCache = fetchYarnDeps { 31 + yarnLock = src + "/yarn.lock"; 32 + sha256 = data.yarnHash; 33 + }; 34 + 35 + cargoDeps = rustPlatform.fetchCargoTarball { 36 + inherit src; 37 + name = "${pname}-${version}"; 38 + hash = "sha256-WolkDSS5wPxtltKzq4Er2nAQ0GrsF3imim3/Ge4eguQ="; 39 + }; 40 + 41 + packageResolutions = { 42 + "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; 43 + }; 44 + 45 + nativeBuildInputs = [ 46 + rustPlatform.cargoSetupHook 47 + rustPlatform.rust.cargo 48 + rustPlatform.rust.rustc 49 + napi-rs-cli 50 + makeWrapper 51 + ]; 52 + 53 + buildPhase = '' 54 + runHook preBuild 55 + cd deps/${pname} 56 + napi build --target ${rust.toRustTargetSpec stdenv.targetPlatform} --dts ../src/libRs.d.ts --release ./lib 57 + yarn run build:app:fix-defs 58 + yarn run build:app 59 + yarn run build:web 60 + cd ../.. 61 + runHook postBuild 62 + ''; 63 + 64 + postInstall = '' 65 + makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-hookshot" --add-flags \ 66 + "$out/libexec/matrix-hookshot/deps/matrix-hookshot/lib/App/BridgeApp.js" 67 + ''; 68 + 69 + doDist = false; 70 + 71 + meta = with lib; { 72 + description = "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA"; 73 + maintainers = with maintainers; [ chvp ]; 74 + license = licenses.asl20; 75 + }; 76 + }
+111
pkgs/servers/matrix-synapse/matrix-hookshot/package.json
··· 1 + { 2 + "name": "matrix-hookshot", 3 + "version": "2.7.0", 4 + "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.", 5 + "main": "lib/app.js", 6 + "repository": "https://github.com/matrix-org/matrix-hookshot", 7 + "author": "matrix.org", 8 + "license": "Apache-2.0", 9 + "napi": { 10 + "name": "matrix-hookshot-rs" 11 + }, 12 + "engines": { 13 + "node": ">=16" 14 + }, 15 + "scripts": { 16 + "build:web": "vite build", 17 + "build:app": "tsc --project tsconfig.json", 18 + "build:app:rs": "napi build --dts ../src/libRs.d.ts --release ./lib", 19 + "build:app:fix-defs": "ts-node scripts/definitions-fixer.ts src/libRs.d.ts", 20 + "build:docs": "ts-node scripts/build-metrics-docs.ts > docs/metrics.md && mdbook build", 21 + "dev:web": "vite dev", 22 + "build": "scripts/build-app.sh", 23 + "clean:web": "rimraf public/", 24 + "clean:app": "tsc --build tsconfig.json --clean", 25 + "clean:app:rs": "rimraf src/libRs.d.ts target/", 26 + "clean:docs": "mdbook clean", 27 + "clean": "scripts/clean.sh", 28 + "prepare": "yarn build", 29 + "start": "node --require source-map-support/register lib/App/BridgeApp.js", 30 + "start:app": "node --require source-map-support/register lib/App/BridgeApp.js", 31 + "start:webhooks": "node --require source-map-support/register lib/App/GithubWebhookApp.js", 32 + "start:matrixsender": "node --require source-map-support/register lib/App/MatrixSenderApp.js", 33 + "test": "mocha -r ts-node/register tests/init.ts tests/*.ts tests/**/*.ts", 34 + "test:cover": "nyc --reporter=lcov --reporter=text yarn test", 35 + "lint": "yarn run lint:js && yarn run lint:rs", 36 + "lint:js": "eslint -c .eslintrc.js 'src/**/*.ts' 'tests/**/*.ts' 'web/**/*.ts' 'web/**/*.tsx'", 37 + "lint:rs": "cargo fmt --all -- --check", 38 + "generate-default-config": "ts-node src/Config/Defaults.ts --config > config.sample.yml", 39 + "validate-config": "ts-node src/Config/Config.ts" 40 + }, 41 + "dependencies": { 42 + "@alloc/quick-lru": "^5.2.0", 43 + "@octokit/auth-app": "^3.3.0", 44 + "@octokit/auth-token": "^2.4.5", 45 + "@octokit/rest": "^18.10.0", 46 + "@octokit/webhooks": "^9.1.2", 47 + "ajv": "^8.11.0", 48 + "axios": "^0.24.0", 49 + "cors": "^2.8.5", 50 + "express": "^4.17.3", 51 + "figma-js": "^1.14.0", 52 + "http-status-codes": "^2.2.0", 53 + "ioredis": "^5.2.3", 54 + "jira-client": "^8.0.0", 55 + "markdown-it": "^12.3.2", 56 + "matrix-appservice-bridge": "^6.0.0", 57 + "matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.6.3-element.0", 58 + "matrix-widget-api": "^1.0.0", 59 + "micromatch": "^4.0.4", 60 + "mime": "^3.0.0", 61 + "node-emoji": "^1.11.0", 62 + "nyc": "^15.1.0", 63 + "p-queue": "^6.6.2", 64 + "prom-client": "^14.0.1", 65 + "reflect-metadata": "^0.1.13", 66 + "rss-parser": "^3.12.0", 67 + "source-map-support": "^0.5.21", 68 + "string-argv": "^0.3.1", 69 + "tiny-typed-emitter": "^2.1.0", 70 + "uuid": "^8.3.2", 71 + "vm2": "^3.9.11", 72 + "winston": "^3.3.3", 73 + "xml2js": "^0.4.23", 74 + "yaml": "^1.10.2" 75 + }, 76 + "devDependencies": { 77 + "@codemirror/lang-javascript": "^6.0.2", 78 + "@napi-rs/cli": "^2.2.0", 79 + "@preact/preset-vite": "^2.2.0", 80 + "@tsconfig/node16": "^1.0.3", 81 + "@types/ajv": "^1.0.0", 82 + "@types/chai": "^4.2.22", 83 + "@types/cors": "^2.8.12", 84 + "@types/express": "^4.17.14", 85 + "@types/jira-client": "^7.1.0", 86 + "@types/markdown-it": "^12.2.3", 87 + "@types/micromatch": "^4.0.1", 88 + "@types/mime": "^2.0.3", 89 + "@types/mocha": "^9.0.0", 90 + "@types/node": "^16", 91 + "@types/node-emoji": "^1.8.1", 92 + "@types/uuid": "^8.3.3", 93 + "@types/xml2js": "^0.4.11", 94 + "@typescript-eslint/eslint-plugin": "^5.4.0", 95 + "@typescript-eslint/parser": "^5.4.0", 96 + "@uiw/react-codemirror": "^4.12.3", 97 + "chai": "^4.3.4", 98 + "eslint": "^8.3.0", 99 + "eslint-config-preact": "^1.3.0", 100 + "eslint-plugin-mocha": "^9.0.0", 101 + "mini.css": "^3.0.1", 102 + "mocha": "^8.2.1", 103 + "preact": "^10.5.15", 104 + "rimraf": "^3.0.2", 105 + "sass": "^1.51.0", 106 + "ts-node": "^10.4.0", 107 + "typescript": "^4.5.2", 108 + "vite": "^2.9.13", 109 + "vite-svg-loader": "^3.4.0" 110 + } 111 + }
+5
pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
··· 1 + { 2 + "version": "2.7.0", 3 + "srcHash": "rW5fqKshnF2S4w55V2GaAa2RFVM+YbwRum9OwTTpYuA=", 4 + "yarnHash": "0q71901ra9m9rbbczal1imqfba4b07bpr8hkpw1d1r9ghc2xjay4" 5 + }
+35
pkgs/servers/matrix-synapse/matrix-hookshot/update.sh
··· 1 + #!/usr/bin/env -S nix shell nixpkgs#nix nixpkgs#curl nixpkgs#jq nixpkgs#prefetch-yarn-deps nixpkgs#nix-prefetch-github nixpkgs#nix-prefetch-git --command bash 2 + 3 + if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then 4 + echo "Regenerates packaging data for matrix-hookshot." 5 + echo "Usage: $0 [git release tag]" 6 + exit 1 7 + fi 8 + 9 + version="$1" 10 + 11 + set -euo pipefail 12 + 13 + if [ -z "$version" ]; then 14 + version="$(curl "https://api.github.com/repos/matrix-org/matrix-hookshot/releases?per_page=1" | jq -r '.[0].tag_name')" 15 + fi 16 + 17 + src="https://raw.githubusercontent.com/matrix-org/matrix-hookshot/$version" 18 + src_hash=$(nix-prefetch-github matrix-org matrix-hookshot --rev ${version} | jq -r .sha256) 19 + 20 + tmpdir=$(mktemp -d) 21 + trap 'rm -rf "$tmpdir"' EXIT 22 + 23 + pushd $tmpdir 24 + curl -O "$src/yarn.lock" 25 + yarn_hash=$(prefetch-yarn-deps yarn.lock) 26 + popd 27 + 28 + curl -O "$src/package.json" 29 + cat > pin.json << EOF 30 + { 31 + "version": "$version", 32 + "srcHash": "$src_hash", 33 + "yarnHash": "$yarn_hash" 34 + } 35 + EOF
+2
pkgs/top-level/all-packages.nix
··· 9068 9068 9069 9069 matrix-corporal = callPackage ../servers/matrix-corporal { }; 9070 9070 9071 + matrix-hookshot = callPackage ../servers/matrix-synapse/matrix-hookshot {}; 9072 + 9071 9073 mautrix-facebook = callPackage ../servers/mautrix-facebook { }; 9072 9074 9073 9075 mautrix-googlechat = callPackage ../servers/mautrix-googlechat { };