matrix-appservice-discord: 0.5.2 -> 1.0.0
Upstream now uses Yarn instead of NPM, so we now use yarn2nix instead of node2nix.
This commit is contained in:
parent
2afec82bf8
commit
9474df2285
@ -1,29 +1,80 @@
|
|||||||
{ pkgs, nodejs, stdenv }:
|
{ lib, mkYarnPackage, fetchFromGitHub, runCommand, makeWrapper, python, nodejs }:
|
||||||
|
|
||||||
|
assert lib.versionAtLeast nodejs.version "12.0.0";
|
||||||
|
|
||||||
let
|
let
|
||||||
nodePackages = import ./node-composition.nix {
|
nodeSources = runCommand "node-sources" {} ''
|
||||||
inherit pkgs nodejs;
|
tar --no-same-owner --no-same-permissions -xf "${nodejs.src}"
|
||||||
inherit (stdenv.hostPlatform) system;
|
mv node-* $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
in mkYarnPackage rec {
|
||||||
|
pname = "matrix-appservice-discord";
|
||||||
|
|
||||||
|
# when updating, run `./generate.sh <git release tag>`
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Half-Shot";
|
||||||
|
repo = "matrix-appservice-discord";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0pca4jxxl4b8irvb1bacsrzjg8m7frq9dnx1knnd2n6ia3f3x545";
|
||||||
};
|
};
|
||||||
|
|
||||||
in nodePackages."matrix-appservice-discord-git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2".override {
|
packageJSON = ./package.json;
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
yarnNix = ./yarn-dependencies.nix;
|
||||||
|
|
||||||
|
pkgConfig = {
|
||||||
|
better-sqlite3 = {
|
||||||
|
buildInputs = [ python ];
|
||||||
|
postInstall = ''
|
||||||
|
# build native sqlite bindings
|
||||||
|
npm run build-release --offline --nodedir="${nodeSources}"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
# compile TypeScript sources
|
||||||
|
yarn --offline build
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = ''
|
||||||
|
yarn --offline test
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# compile Typescript sources
|
OUT_JS_DIR="$out/${passthru.nodeAppDir}/build"
|
||||||
npm run build
|
|
||||||
|
|
||||||
# server wrapper
|
# server wrapper
|
||||||
makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord" \
|
makeWrapper '${nodejs}/bin/node' "$out/bin/${pname}" \
|
||||||
--add-flags "$out/lib/node_modules/matrix-appservice-discord/build/src/discordas.js"
|
--add-flags "$OUT_JS_DIR/src/discordas.js"
|
||||||
|
|
||||||
# admin tools wrappers
|
# admin tools wrappers
|
||||||
for toolPath in $out/lib/node_modules/matrix-appservice-discord/build/tools/*; do
|
for toolPath in $OUT_JS_DIR/tools/*; do
|
||||||
makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord-$(basename $toolPath .js)" \
|
makeWrapper '${nodejs}/bin/node' "$out/bin/${pname}-$(basename $toolPath .js)" \
|
||||||
--add-flags "$toolPath"
|
--add-flags "$toolPath"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# other metadata generated and inherited from ./node-package.nix
|
# don't generate the dist tarball
|
||||||
meta.maintainers = with stdenv.lib.maintainers; [ pacien ];
|
# (`doDist = false` does not work in mkYarnPackage)
|
||||||
|
distPhase = ''
|
||||||
|
true
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
nodeAppDir = "libexec/${pname}/deps/${pname}";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A bridge between Matrix and Discord";
|
||||||
|
homepage = "https://github.com/Half-Shot/matrix-appservice-discord";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainers = with lib.maintainers; [ pacien ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
##!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
##! nix-shell -i bash -p nodePackages.node2nix
|
#!nix-shell -I nixpkgs=../../../ -i bash -p wget yarn2nix
|
||||||
|
|
||||||
node2nix \
|
set -euo pipefail
|
||||||
--nodejs-12 \
|
|
||||||
--node-env ../../development/node-packages/node-env.nix \
|
if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
|
||||||
--development \
|
echo "Regenerates the Yarn dependency lock files for the matrix-appservice-discord package."
|
||||||
--input package.json \
|
echo "Usage: $0 <git release tag>"
|
||||||
--output node-packages.nix \
|
exit 1
|
||||||
--composition node-composition.nix
|
fi
|
||||||
|
|
||||||
|
SRC_REPO="https://raw.githubusercontent.com/Half-Shot/matrix-appservice-discord/$1"
|
||||||
|
|
||||||
|
wget "$SRC_REPO/package.json" -O package.json
|
||||||
|
wget "$SRC_REPO/yarn.lock" -O yarn.lock
|
||||||
|
yarn2nix --lockfile=yarn.lock > yarn-dependencies.nix
|
||||||
|
rm yarn.lock
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
# This file has been generated by node2nix 1.8.0. Do not edit!
|
|
||||||
|
|
||||||
{pkgs ? import <nixpkgs> {
|
|
||||||
inherit system;
|
|
||||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
|
||||||
|
|
||||||
let
|
|
||||||
nodeEnv = import ../../development/node-packages/node-env.nix {
|
|
||||||
inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
|
|
||||||
inherit nodejs;
|
|
||||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
import ./node-packages.nix {
|
|
||||||
inherit (pkgs) fetchurl fetchgit;
|
|
||||||
inherit nodeEnv;
|
|
||||||
}
|
|
5251
pkgs/servers/matrix-appservice-discord/node-packages.nix
generated
5251
pkgs/servers/matrix-appservice-discord/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,77 @@
|
|||||||
[
|
{
|
||||||
{ "matrix-appservice-discord": "git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2" }
|
"name": "matrix-appservice-discord",
|
||||||
]
|
"version": "1.0.0",
|
||||||
|
"description": "A bridge between Matrix and Discord",
|
||||||
|
"main": "discordas.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "mocha -r ts-node/register test/config.ts test/test_*.ts test/**/test_*.ts",
|
||||||
|
"lint": "tslint --project ./tsconfig.json -t stylish",
|
||||||
|
"coverage": "nyc mocha -r ts-node/register test/config.ts test/test_*.ts test/**/test_*.ts",
|
||||||
|
"build": "tsc",
|
||||||
|
"postinstall": "npm run build",
|
||||||
|
"start": "npm run-script build && node ./build/src/discordas.js -c config.yaml",
|
||||||
|
"debug": "npm run-script build && node --inspect ./build/src/discordas.js -c config.yaml",
|
||||||
|
"addbot": "node ./build/tools/addbot.js",
|
||||||
|
"adminme": "node ./build/tools/adminme.js",
|
||||||
|
"usertool": "node ./build/tools/userClientTools.js",
|
||||||
|
"directoryfix": "node ./build/tools/addRoomsToDirectory.js",
|
||||||
|
"ghostfix": "node ./build/tools/ghostfix.js",
|
||||||
|
"chanfix": "node ./build/tools/chanfix.js"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/Half-Shot/matrix-appservice-discord.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"matrix",
|
||||||
|
"discord",
|
||||||
|
"bridge",
|
||||||
|
"application-service",
|
||||||
|
"as"
|
||||||
|
],
|
||||||
|
"author": "Half-Shot",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/Half-Shot/matrix-appservice-discord/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/Half-Shot/matrix-appservice-discord#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"better-discord.js": "git://github.com/Sorunome/better-discord.js.git#b5a28499899fe2d9e6aa1aa3b3c5d693ae672117",
|
||||||
|
"better-sqlite3": "^7.1.0",
|
||||||
|
"command-line-args": "^5.1.1",
|
||||||
|
"command-line-usage": "^6.1.0",
|
||||||
|
"escape-html": "^1.0.3",
|
||||||
|
"escape-string-regexp": "^4.0.0",
|
||||||
|
"js-yaml": "^3.14.0",
|
||||||
|
"marked": "^1.2.2",
|
||||||
|
"matrix-bot-sdk": "0.5.4",
|
||||||
|
"matrix-discord-parser": "0.1.5",
|
||||||
|
"mime": "^2.4.6",
|
||||||
|
"node-html-parser": "^1.2.19",
|
||||||
|
"p-queue": "^6.4.0",
|
||||||
|
"pg-promise": "^10.5.6",
|
||||||
|
"prom-client": "^12.0.0",
|
||||||
|
"winston": "^3.2.1",
|
||||||
|
"winston-daily-rotate-file": "^4.5.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@istanbuljs/nyc-config-typescript": "^1.0.1",
|
||||||
|
"@types/chai": "^4.2.11",
|
||||||
|
"@types/command-line-args": "^5.0.0",
|
||||||
|
"@types/js-yaml": "^3.12.4",
|
||||||
|
"@types/marked": "^1.1.0",
|
||||||
|
"@types/mime": "^2.0.2",
|
||||||
|
"@types/mocha": "^7.0.2",
|
||||||
|
"@types/node": "^12",
|
||||||
|
"@types/better-sqlite3": "^5.4.1",
|
||||||
|
"chai": "^4.2.0",
|
||||||
|
"mocha": "^8.0.1",
|
||||||
|
"nyc": "^15.1.0",
|
||||||
|
"proxyquire": "^1.7.11",
|
||||||
|
"source-map-support": "^0.5.19",
|
||||||
|
"ts-node": "^8.10.2",
|
||||||
|
"tslint": "^5.20.1",
|
||||||
|
"typescript": "^3.9.5",
|
||||||
|
"why-is-node-running": "^2.2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
4317
pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
Normal file
4317
pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user