File matrix-appservice-irc.spec of Package matrix-appservice-irc
%{?nodejs_find_provides_and_requires}
%global packagename matrix-appservice-irc
%global enable_tests 0
%global node_irc_commit 9028c2197c216dd8e6fc2cb3cc07ce2d6bf741a7
# No need to mangle shebangs in bundled modules: these scripts are not run.
%global __brp_mangle_shebangs_exclude_from ^%{nodejs_sitelib}/%{packagename}/node_modules\\.bundled/
Name: %{packagename}
Version: 0.23.0
Release: 1%{?dist}
Summary: An IRC Bridge for Matrix
License: ASL 2.0
URL: https://github.com/matrix-org/matrix-appservice-irc#readme
Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz
Source1: matrix-appservice-irc.service
Source2: matrix-appservice-irc.sysconfig
Source10: update-sources.sh
Source90: https://github.com/matrix-org/node-irc/archive/%{node_irc_commit}/node-irc-%{node_irc_commit}.tar.gz
Source91: https://registry.npmjs.org/irc-colors/-/irc-colors-1.5.0.tgz
Source92: https://matrix.org/packages/npm/olm/olm-2.3.0.tgz
Source93: https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.2.tgz
#NODEJS_BUNDLED_DEPS_BEGIN
Source100: https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz#/@babel-runtime-7.12.5.tgz
Source101: https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#/@dabh-diagnostics-2.0.2.tgz
Source102: https://registry.npmjs.org/@sentry/core/-/core-5.29.2.tgz#/@sentry-core-5.29.2.tgz
Source103: https://registry.npmjs.org/@sentry/hub/-/hub-5.29.2.tgz#/@sentry-hub-5.29.2.tgz
Source104: https://registry.npmjs.org/@sentry/minimal/-/minimal-5.29.2.tgz#/@sentry-minimal-5.29.2.tgz
Source105: https://registry.npmjs.org/@sentry/node/-/node-5.29.2.tgz#/@sentry-node-5.29.2.tgz
Source106: https://registry.npmjs.org/@sentry/tracing/-/tracing-5.29.2.tgz#/@sentry-tracing-5.29.2.tgz
Source107: https://registry.npmjs.org/@sentry/types/-/types-5.29.2.tgz#/@sentry-types-5.29.2.tgz
Source108: https://registry.npmjs.org/@sentry/utils/-/utils-5.29.2.tgz#/@sentry-utils-5.29.2.tgz
Source109: https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz#/@types-body-parser-1.19.0.tgz
Source110: https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz#/@types-connect-3.4.34.tgz
Source111: https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#/@types-express-serve-static-core-4.17.17.tgz
Source112: https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz#/@types-express-4.17.9.tgz
Source113: https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz#/@types-mime-2.0.3.tgz
Source114: https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz#/@types-node-14.14.14.tgz
Source115: https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz#/@types-qs-6.9.5.tgz
Source116: https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz#/@types-range-parser-1.2.3.tgz
Source117: https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz#/@types-serve-static-1.13.8.tgz
Source118: https://registry.npmjs.org//abbrev/-/abbrev-1.1.1.tgz
Source119: https://registry.npmjs.org//accepts/-/accepts-1.3.7.tgz
Source120: https://registry.npmjs.org//agent-base/-/agent-base-6.0.2.tgz
Source121: https://registry.npmjs.org//ajv/-/ajv-6.12.6.tgz
Source122: https://registry.npmjs.org//another-json/-/another-json-0.2.0.tgz
Source123: https://registry.npmjs.org//ansi-styles/-/ansi-styles-3.2.1.tgz
Source124: https://registry.npmjs.org//ansi-styles/-/ansi-styles-4.3.0.tgz
Source125: https://registry.npmjs.org//argparse/-/argparse-1.0.10.tgz
Source126: https://registry.npmjs.org//array-flatten/-/array-flatten-1.1.1.tgz
Source127: https://registry.npmjs.org//asn1/-/asn1-0.2.4.tgz
Source128: https://registry.npmjs.org//assert-plus/-/assert-plus-1.0.0.tgz
Source129: https://registry.npmjs.org//async/-/async-0.2.10.tgz
Source130: https://registry.npmjs.org//async/-/async-3.2.0.tgz
Source131: https://registry.npmjs.org//asynckit/-/asynckit-0.4.0.tgz
Source132: https://registry.npmjs.org//aws-sign2/-/aws-sign2-0.7.0.tgz
Source133: https://registry.npmjs.org//aws4/-/aws4-1.11.0.tgz
Source134: https://registry.npmjs.org//base-x/-/base-x-3.0.8.tgz
Source135: https://registry.npmjs.org//basic-auth/-/basic-auth-2.0.1.tgz
Source136: https://registry.npmjs.org//bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz
Source137: https://registry.npmjs.org//binary-search-tree/-/binary-search-tree-0.2.5.tgz
Source138: https://registry.npmjs.org//bintrees/-/bintrees-1.0.1.tgz
Source139: https://registry.npmjs.org//bluebird/-/bluebird-3.7.2.tgz
Source140: https://registry.npmjs.org//body-parser/-/body-parser-1.19.0.tgz
Source141: https://registry.npmjs.org//browser-request/-/browser-request-0.3.3.tgz
Source142: https://registry.npmjs.org//bs58/-/bs58-4.0.1.tgz
Source143: https://registry.npmjs.org//buffer-writer/-/buffer-writer-2.0.0.tgz
Source144: https://registry.npmjs.org//bytes/-/bytes-3.1.0.tgz
Source145: https://registry.npmjs.org//caseless/-/caseless-0.12.0.tgz
Source146: https://registry.npmjs.org//chalk/-/chalk-2.4.2.tgz
Source147: https://registry.npmjs.org//chalk/-/chalk-3.0.0.tgz
Source148: https://registry.npmjs.org//chalk/-/chalk-4.1.0.tgz
Source149: https://registry.npmjs.org//color-convert/-/color-convert-1.9.3.tgz
Source150: https://registry.npmjs.org//color-convert/-/color-convert-2.0.1.tgz
Source151: https://registry.npmjs.org//color-name/-/color-name-1.1.3.tgz
Source152: https://registry.npmjs.org//color-name/-/color-name-1.1.4.tgz
Source153: https://registry.npmjs.org//color-string/-/color-string-1.5.4.tgz
Source154: https://registry.npmjs.org//color/-/color-3.0.0.tgz
Source155: https://registry.npmjs.org//colors/-/colors-1.4.0.tgz
Source156: https://registry.npmjs.org//colorspace/-/colorspace-1.1.2.tgz
Source157: https://registry.npmjs.org//combined-stream/-/combined-stream-1.0.8.tgz
Source158: https://registry.npmjs.org//content-disposition/-/content-disposition-0.5.3.tgz
Source159: https://registry.npmjs.org//content-type/-/content-type-1.0.4.tgz
Source160: https://registry.npmjs.org//cookie-signature/-/cookie-signature-1.0.6.tgz
Source161: https://registry.npmjs.org//cookie/-/cookie-0.4.0.tgz
Source162: https://registry.npmjs.org//cookie/-/cookie-0.4.1.tgz
Source163: https://registry.npmjs.org//core-util-is/-/core-util-is-1.0.2.tgz
Source164: https://registry.npmjs.org//dashdash/-/dashdash-1.14.1.tgz
Source165: https://registry.npmjs.org//debug/-/debug-2.6.9.tgz
Source166: https://registry.npmjs.org//debug/-/debug-4.3.2.tgz
Source167: https://registry.npmjs.org//delayed-stream/-/delayed-stream-1.0.0.tgz
Source168: https://registry.npmjs.org//depd/-/depd-1.1.2.tgz
Source169: https://registry.npmjs.org//depd/-/depd-2.0.0.tgz
Source170: https://registry.npmjs.org//destroy/-/destroy-1.0.4.tgz
Source171: https://registry.npmjs.org//dom-serializer/-/dom-serializer-1.2.0.tgz
Source172: https://registry.npmjs.org//domelementtype/-/domelementtype-2.1.0.tgz
Source173: https://registry.npmjs.org//domhandler/-/domhandler-3.3.0.tgz
Source174: https://registry.npmjs.org//domhandler/-/domhandler-4.0.0.tgz
Source175: https://registry.npmjs.org//domutils/-/domutils-2.4.4.tgz
Source176: https://registry.npmjs.org//ecc-jsbn/-/ecc-jsbn-0.1.2.tgz
Source177: https://registry.npmjs.org//ee-first/-/ee-first-1.1.1.tgz
Source178: https://registry.npmjs.org//enabled/-/enabled-2.0.0.tgz
Source179: https://registry.npmjs.org//encodeurl/-/encodeurl-1.0.2.tgz
Source180: https://registry.npmjs.org//entities/-/entities-2.1.0.tgz
Source181: https://registry.npmjs.org//escape-html/-/escape-html-1.0.3.tgz
Source182: https://registry.npmjs.org//escape-string-regexp/-/escape-string-regexp-1.0.5.tgz
Source183: https://registry.npmjs.org//escape-string-regexp/-/escape-string-regexp-2.0.0.tgz
Source184: https://registry.npmjs.org//esprima/-/esprima-4.0.1.tgz
Source185: https://registry.npmjs.org//etag/-/etag-1.8.1.tgz
Source186: https://registry.npmjs.org//eventemitter3/-/eventemitter3-4.0.7.tgz
Source187: https://registry.npmjs.org//express/-/express-4.17.1.tgz
Source188: https://registry.npmjs.org//extend/-/extend-2.0.2.tgz
Source189: https://registry.npmjs.org//extend/-/extend-3.0.2.tgz
Source190: https://registry.npmjs.org//extsprintf/-/extsprintf-1.3.0.tgz
Source191: https://registry.npmjs.org//extsprintf/-/extsprintf-1.4.0.tgz
Source192: https://registry.npmjs.org//fast-deep-equal/-/fast-deep-equal-3.1.3.tgz
Source193: https://registry.npmjs.org//fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz
Source194: https://registry.npmjs.org//fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz
Source195: https://registry.npmjs.org//fecha/-/fecha-4.2.0.tgz
Source196: https://registry.npmjs.org//file-stream-rotator/-/file-stream-rotator-0.5.7.tgz
Source197: https://registry.npmjs.org//finalhandler/-/finalhandler-1.1.2.tgz
Source198: https://registry.npmjs.org//fn.name/-/fn.name-1.1.0.tgz
Source199: https://registry.npmjs.org//forever-agent/-/forever-agent-0.6.1.tgz
Source200: https://registry.npmjs.org//form-data/-/form-data-2.3.3.tgz
Source201: https://registry.npmjs.org//forwarded/-/forwarded-0.1.2.tgz
Source202: https://registry.npmjs.org//fresh/-/fresh-0.5.2.tgz
Source203: https://registry.npmjs.org//generate-function/-/generate-function-2.3.1.tgz
Source204: https://registry.npmjs.org//generate-object-property/-/generate-object-property-1.2.0.tgz
Source205: https://registry.npmjs.org//getpass/-/getpass-0.1.7.tgz
Source206: https://registry.npmjs.org//glob-to-regexp/-/glob-to-regexp-0.4.1.tgz
Source207: https://registry.npmjs.org//graceful-fs/-/graceful-fs-4.2.4.tgz
Source208: https://registry.npmjs.org//har-schema/-/har-schema-2.0.0.tgz
Source209: https://registry.npmjs.org//har-validator/-/har-validator-5.1.5.tgz
Source210: https://registry.npmjs.org//has-flag/-/has-flag-3.0.0.tgz
Source211: https://registry.npmjs.org//has-flag/-/has-flag-4.0.0.tgz
Source212: https://registry.npmjs.org//hash.js/-/hash.js-1.1.7.tgz
Source213: https://registry.npmjs.org//he/-/he-1.2.0.tgz
Source214: https://registry.npmjs.org//htmlencode/-/htmlencode-0.0.4.tgz
Source215: https://registry.npmjs.org//htmlparser2/-/htmlparser2-4.1.0.tgz
Source216: https://registry.npmjs.org//http-errors/-/http-errors-1.7.2.tgz
Source217: https://registry.npmjs.org//http-errors/-/http-errors-1.7.3.tgz
Source218: https://registry.npmjs.org//http-signature/-/http-signature-1.2.0.tgz
Source219: https://registry.npmjs.org//https-proxy-agent/-/https-proxy-agent-5.0.0.tgz
Source220: https://registry.npmjs.org//iconv-lite/-/iconv-lite-0.4.24.tgz
Source221: https://registry.npmjs.org//immediate/-/immediate-3.0.6.tgz
Source222: https://registry.npmjs.org//inherits/-/inherits-2.0.3.tgz
Source223: https://registry.npmjs.org//inherits/-/inherits-2.0.4.tgz
Source224: https://registry.npmjs.org//ipaddr.js/-/ipaddr.js-1.9.1.tgz
Source225: https://registry.npmjs.org//is-arrayish/-/is-arrayish-0.3.2.tgz
Source226: https://registry.npmjs.org//is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz
Source227: https://registry.npmjs.org//is-my-json-valid/-/is-my-json-valid-2.20.5.tgz
Source228: https://registry.npmjs.org//is-promise/-/is-promise-2.2.2.tgz
Source229: https://registry.npmjs.org//is-property/-/is-property-1.0.2.tgz
Source230: https://registry.npmjs.org//is-stream/-/is-stream-2.0.0.tgz
Source231: https://registry.npmjs.org//is-typedarray/-/is-typedarray-1.0.0.tgz
Source232: https://registry.npmjs.org//isarray/-/isarray-1.0.0.tgz
Source233: https://registry.npmjs.org//isstream/-/isstream-0.1.2.tgz
Source234: https://registry.npmjs.org//js-yaml/-/js-yaml-3.14.1.tgz
Source235: https://registry.npmjs.org//jsbn/-/jsbn-0.1.1.tgz
Source236: https://registry.npmjs.org//json-schema-traverse/-/json-schema-traverse-0.4.1.tgz
Source237: https://registry.npmjs.org//json-schema/-/json-schema-0.2.3.tgz
Source238: https://registry.npmjs.org//json-stringify-safe/-/json-stringify-safe-5.0.1.tgz
Source239: https://registry.npmjs.org//jsonpointer/-/jsonpointer-4.1.0.tgz
Source240: https://registry.npmjs.org//jsprim/-/jsprim-1.4.1.tgz
Source241: https://registry.npmjs.org//kuler/-/kuler-2.0.0.tgz
Source242: https://registry.npmjs.org//lie/-/lie-3.1.1.tgz
Source243: https://registry.npmjs.org//localforage/-/localforage-1.9.0.tgz
Source244: https://registry.npmjs.org//lodash/-/lodash-4.17.20.tgz
Source245: https://registry.npmjs.org//logform/-/logform-2.2.0.tgz
Source246: https://registry.npmjs.org//loglevel/-/loglevel-1.7.1.tgz
Source247: https://registry.npmjs.org//lowdb/-/lowdb-1.0.0.tgz
Source248: https://registry.npmjs.org//lru-cache/-/lru-cache-5.1.1.tgz
Source249: https://registry.npmjs.org//lru_map/-/lru_map-0.3.3.tgz
Source250: https://registry.npmjs.org//matrix-appservice-bridge/-/matrix-appservice-bridge-2.4.1.tgz
Source251: https://registry.npmjs.org//matrix-appservice/-/matrix-appservice-0.7.1.tgz
Source252: https://registry.npmjs.org//matrix-bot-sdk/-/matrix-bot-sdk-0.4.0.tgz
Source253: https://registry.npmjs.org//matrix-js-sdk/-/matrix-js-sdk-9.4.1.tgz
Source254: https://registry.npmjs.org//matrix-lastactive/-/matrix-lastactive-0.1.5.tgz
Source255: https://registry.npmjs.org//media-typer/-/media-typer-0.3.0.tgz
Source256: https://registry.npmjs.org//merge-descriptors/-/merge-descriptors-1.0.1.tgz
Source257: https://registry.npmjs.org//methods/-/methods-1.1.2.tgz
Source258: https://registry.npmjs.org//mime-db/-/mime-db-1.44.0.tgz
Source259: https://registry.npmjs.org//mime-types/-/mime-types-2.1.27.tgz
Source260: https://registry.npmjs.org//mime/-/mime-1.6.0.tgz
Source261: https://registry.npmjs.org//minimalistic-assert/-/minimalistic-assert-1.0.1.tgz
Source262: https://registry.npmjs.org//minimist/-/minimist-1.2.5.tgz
Source263: https://registry.npmjs.org//mkdirp/-/mkdirp-0.5.5.tgz
Source264: https://registry.npmjs.org//moment/-/moment-2.29.1.tgz
Source265: https://registry.npmjs.org//morgan/-/morgan-1.10.0.tgz
Source266: https://registry.npmjs.org//ms/-/ms-2.0.0.tgz
Source267: https://registry.npmjs.org//ms/-/ms-2.1.1.tgz
Source268: https://registry.npmjs.org//ms/-/ms-2.1.2.tgz
Source269: https://registry.npmjs.org//ms/-/ms-2.1.3.tgz
Source270: https://registry.npmjs.org//nan/-/nan-2.14.2.tgz
Source271: https://registry.npmjs.org//nedb/-/nedb-1.8.0.tgz
Source272: https://registry.npmjs.org//negotiator/-/negotiator-0.6.2.tgz
Source273: https://registry.npmjs.org//nopt/-/nopt-3.0.6.tgz
Source274: https://registry.npmjs.org//nopt/-/nopt-4.0.3.tgz
Source275: https://registry.npmjs.org//oauth-sign/-/oauth-sign-0.9.0.tgz
Source276: https://registry.npmjs.org//object-hash/-/object-hash-2.0.3.tgz
Source277: https://registry.npmjs.org//on-finished/-/on-finished-2.3.0.tgz
Source278: https://registry.npmjs.org//on-headers/-/on-headers-1.0.2.tgz
Source279: https://registry.npmjs.org//one-time/-/one-time-1.0.0.tgz
Source280: https://registry.npmjs.org//os-homedir/-/os-homedir-1.0.2.tgz
Source281: https://registry.npmjs.org//os-tmpdir/-/os-tmpdir-1.0.2.tgz
Source282: https://registry.npmjs.org//osenv/-/osenv-0.1.5.tgz
Source283: https://registry.npmjs.org//p-finally/-/p-finally-1.0.0.tgz
Source284: https://registry.npmjs.org//p-queue/-/p-queue-6.6.2.tgz
Source285: https://registry.npmjs.org//p-timeout/-/p-timeout-3.2.0.tgz
Source286: https://registry.npmjs.org//packet-reader/-/packet-reader-1.0.0.tgz
Source287: https://registry.npmjs.org//parse-srcset/-/parse-srcset-1.0.2.tgz
Source288: https://registry.npmjs.org//parseurl/-/parseurl-1.3.3.tgz
Source289: https://registry.npmjs.org//path-to-regexp/-/path-to-regexp-0.1.7.tgz
Source290: https://registry.npmjs.org//performance-now/-/performance-now-2.1.0.tgz
Source291: https://registry.npmjs.org//pg-connection-string/-/pg-connection-string-2.4.0.tgz
Source292: https://registry.npmjs.org//pg-int8/-/pg-int8-1.0.1.tgz
Source293: https://registry.npmjs.org//pg-pool/-/pg-pool-3.2.2.tgz
Source294: https://registry.npmjs.org//pg-protocol/-/pg-protocol-1.4.0.tgz
Source295: https://registry.npmjs.org//pg-types/-/pg-types-2.2.0.tgz
Source296: https://registry.npmjs.org//pg/-/pg-8.5.1.tgz
Source297: https://registry.npmjs.org//pgpass/-/pgpass-1.0.4.tgz
Source298: https://registry.npmjs.org//pify/-/pify-3.0.0.tgz
Source299: https://registry.npmjs.org//postcss/-/postcss-7.0.35.tgz
Source300: https://registry.npmjs.org//postgres-array/-/postgres-array-2.0.0.tgz
Source301: https://registry.npmjs.org//postgres-bytea/-/postgres-bytea-1.0.0.tgz
Source302: https://registry.npmjs.org//postgres-date/-/postgres-date-1.0.7.tgz
Source303: https://registry.npmjs.org//postgres-interval/-/postgres-interval-1.2.0.tgz
Source304: https://registry.npmjs.org//process-nextick-args/-/process-nextick-args-2.0.1.tgz
Source305: https://registry.npmjs.org//prom-client/-/prom-client-12.0.0.tgz
Source306: https://registry.npmjs.org//proxy-addr/-/proxy-addr-2.0.6.tgz
Source307: https://registry.npmjs.org//psl/-/psl-1.8.0.tgz
Source308: https://registry.npmjs.org//punycode/-/punycode-2.1.1.tgz
Source309: https://registry.npmjs.org//qs/-/qs-6.5.2.tgz
Source310: https://registry.npmjs.org//qs/-/qs-6.7.0.tgz
Source311: https://registry.npmjs.org//qs/-/qs-6.9.4.tgz
Source312: https://registry.npmjs.org//quick-lru/-/quick-lru-4.0.1.tgz
Source313: https://registry.npmjs.org//range-parser/-/range-parser-1.2.1.tgz
Source314: https://registry.npmjs.org//raw-body/-/raw-body-2.4.0.tgz
Source315: https://registry.npmjs.org//readable-stream/-/readable-stream-2.3.7.tgz
Source316: https://registry.npmjs.org//readable-stream/-/readable-stream-3.6.0.tgz
Source317: https://registry.npmjs.org//regenerator-runtime/-/regenerator-runtime-0.13.7.tgz
Source318: https://registry.npmjs.org//request-promise-core/-/request-promise-core-1.1.4.tgz
Source319: https://registry.npmjs.org//request-promise-native/-/request-promise-native-1.0.9.tgz
Source320: https://registry.npmjs.org//request-promise/-/request-promise-4.2.6.tgz
Source321: https://registry.npmjs.org//request/-/request-2.88.2.tgz
Source322: https://registry.npmjs.org//safe-buffer/-/safe-buffer-5.1.2.tgz
Source323: https://registry.npmjs.org//safe-buffer/-/safe-buffer-5.2.1.tgz
Source324: https://registry.npmjs.org//safer-buffer/-/safer-buffer-2.1.2.tgz
Source325: https://registry.npmjs.org//sanitize-html/-/sanitize-html-1.27.5.tgz
Source326: https://registry.npmjs.org//send/-/send-0.17.1.tgz
Source327: https://registry.npmjs.org//serve-static/-/serve-static-1.14.1.tgz
Source328: https://registry.npmjs.org//setprototypeof/-/setprototypeof-1.1.1.tgz
Source329: https://registry.npmjs.org//simple-swizzle/-/simple-swizzle-0.2.2.tgz
Source330: https://registry.npmjs.org//source-map/-/source-map-0.6.1.tgz
Source331: https://registry.npmjs.org//split2/-/split2-3.2.2.tgz
Source332: https://registry.npmjs.org//sprintf-js/-/sprintf-js-1.0.3.tgz
Source333: https://registry.npmjs.org//sshpk/-/sshpk-1.16.1.tgz
Source334: https://registry.npmjs.org//stack-trace/-/stack-trace-0.0.10.tgz
Source335: https://registry.npmjs.org//statuses/-/statuses-1.5.0.tgz
Source336: https://registry.npmjs.org//stealthy-require/-/stealthy-require-1.1.1.tgz
Source337: https://registry.npmjs.org//steno/-/steno-0.4.4.tgz
Source338: https://registry.npmjs.org//string_decoder/-/string_decoder-1.1.1.tgz
Source339: https://registry.npmjs.org//string_decoder/-/string_decoder-1.3.0.tgz
Source340: https://registry.npmjs.org//supports-color/-/supports-color-5.5.0.tgz
Source341: https://registry.npmjs.org//supports-color/-/supports-color-6.1.0.tgz
Source342: https://registry.npmjs.org//supports-color/-/supports-color-7.2.0.tgz
Source343: https://registry.npmjs.org//tdigest/-/tdigest-0.1.1.tgz
Source344: https://registry.npmjs.org//text-hex/-/text-hex-1.0.0.tgz
Source345: https://registry.npmjs.org//toidentifier/-/toidentifier-1.0.0.tgz
Source346: https://registry.npmjs.org//tough-cookie/-/tough-cookie-2.5.0.tgz
Source347: https://registry.npmjs.org//triple-beam/-/triple-beam-1.3.0.tgz
Source348: https://registry.npmjs.org//tslib/-/tslib-1.14.1.tgz
Source349: https://registry.npmjs.org//tunnel-agent/-/tunnel-agent-0.6.0.tgz
Source350: https://registry.npmjs.org//tweetnacl/-/tweetnacl-0.14.5.tgz
Source351: https://registry.npmjs.org//type-is/-/type-is-1.6.18.tgz
Source352: https://registry.npmjs.org//underscore/-/underscore-1.4.4.tgz
Source353: https://registry.npmjs.org//unhomoglyph/-/unhomoglyph-1.0.6.tgz
Source354: https://registry.npmjs.org//unpipe/-/unpipe-1.0.0.tgz
Source355: https://registry.npmjs.org//uri-js/-/uri-js-4.4.0.tgz
Source356: https://registry.npmjs.org//util-deprecate/-/util-deprecate-1.0.2.tgz
Source357: https://registry.npmjs.org//utils-merge/-/utils-merge-1.0.1.tgz
Source358: https://registry.npmjs.org//uuid/-/uuid-3.4.0.tgz
Source359: https://registry.npmjs.org//vary/-/vary-1.1.2.tgz
Source360: https://registry.npmjs.org//verror/-/verror-1.10.0.tgz
Source361: https://registry.npmjs.org//winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.0.tgz
Source362: https://registry.npmjs.org//winston-transport/-/winston-transport-4.4.0.tgz
Source363: https://registry.npmjs.org//winston/-/winston-3.3.3.tgz
Source364: https://registry.npmjs.org//xtend/-/xtend-4.0.2.tgz
Source365: https://registry.npmjs.org//yallist/-/yallist-3.1.1.tgz
#NODEJS_BUNDLED_DEPS_END
Patch0: matrix-appservice-irc-node-irc-iconv-optional.patch
BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch
BuildRequires: nodejs-packaging
BuildRequires: npm(semver)
%if 0%{?enable_tests}
BuildRequires: (npm(jasmine) >= 3.7.3 with npm(jasmine) < 3.8)
BuildRequires: (npm(proxyquire) >= 1.4.0 with npm(proxyquire) < 1.5)
%endif
BuildRequires: systemd-units
AutoReqProv: off
Provides: npm(%{packagename}) = %{version}
Requires: /usr/bin/env
Requires: nodejs(engine)
%systemd_requires
%description
This is an IRC bridge for Matrix using the Application Services (AS) API.
This bridge will pass all IRC messages through to Matrix,
and all Matrix messages through to IRC.
It is highly configurable and is currently used on the matrix.org homeserver
to bridge a number of popular IRC networks including Freenode and Moznet.
%prep
%setup -q -n package
%{__mkdir} node_modules
%{__mkdir} node_modules.bundled
for s in %{sources}; do
case "$s" in
*/%{name}-%{version}.tgz) continue;;
*.tgz) ;;
*) continue;;
esac
pushd node_modules.bundled
%{__mkdir_p} package
%{__tar} --strip-components=1 --delay-directory-restore -C package -xzf "$s"
find package -type d -exec chmod -v 0755 '{}' ';'
find package -type f -exec chmod -v a+r '{}' ';'
NODE_PATH=%{nodejs_sitelib} node -e "
var path = require('path');
var pkg = JSON.parse(fs.readFileSync(path.join('package', 'package.json')));
var dir = pkg.name + '@' + pkg.version;
var pos = dir.lastIndexOf('/');
if (pos > 0) {
try {
fs.mkdirSync(dir.substring(0, pos), {recursive: true});
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
}
fs.renameSync('package', dir);
fs.mkdirSync(path.join(dir, 'node_modules'));
"
popd
done
pushd node_modules.bundled
%{__tar} xzf %{SOURCE90}
%{__mv} "node-irc-%{node_irc_commit}" "irc@%{node_irc_commit}"
%{__mkdir} "irc@%{node_irc_commit}/node_modules"
cd "irc@%{node_irc_commit}"
%patch0 -p1
popd
sed -i -e '1s|^#!.*$|#!%{_bindir}/python2|' scripts/*.py
sed -i -e '1s|^#!.*$|#!%{_bindir}/node|' scripts/*.js bin/matrix-appservice-irc
%build
NODE_PATH=%{nodejs_sitelib} node -e "
var path = require('path');
var fs = require('fs');
var sv = require('semver');
var builddir = '.';
var bundledir = path.join(builddir, 'node_modules.bundled');
function traversePackageDirs(handler, subdir='') {
fs.readdirSync(path.join(bundledir, subdir)).forEach(function(dir) {
if (fs.existsSync(path.join(bundledir, subdir, dir, 'package.json')))
handler(path.join(subdir, dir));
else if (fs.lstatSync(path.join(bundledir, subdir, dir)).isDirectory())
traversePackageDirs(handler, path.join(subdir, dir));
});
}
function findDeps(dir) {
var result = {};
var pkgjson = JSON.parse(fs.readFileSync(path.join(dir, 'package.json')));
var pkgdeps = {...pkgjson.dependencies,
...pkgjson.optionalDependencies,
...pkgjson.peerDependencies};
if (pkgdeps !== undefined) {
traversePackageDirs(function(d) {
var pos = d.lastIndexOf('@');
var p = d.substring(0, pos);
var v = d.substring(pos + 1);
if (pkgdeps.hasOwnProperty(p) && sv.satisfies(v, pkgdeps[p])) {
if (!result.hasOwnProperty(p) || sv.gt(v, result[p])) {
result[p] = v;
}
}
});
}
return result;
}
traversePackageDirs(function(dir) {
var deps = findDeps(path.join(bundledir, dir));
Object.keys(deps).forEach(function(p) {
var pos = p.lastIndexOf('/');
if (pos > 0) {
try {
fs.mkdirSync(path.join(bundledir, dir, 'node_modules',
p.substring(0, pos)), {recursive: true});
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
}
fs.symlinkSync(path.join(...Array(dir.split('/').length + p.split('/').length).fill('..'),
p + '@' + deps[p]),
path.join(bundledir, dir, 'node_modules', p));
});
});
var deps = findDeps(builddir);
Object.keys(deps).forEach(function(p) {
var pos = p.lastIndexOf('/');
if (pos > 0) {
try {
fs.mkdirSync(path.join(builddir, 'node_modules',
p.substring(0, pos)), {recursive: true});
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
}
fs.symlinkSync(path.join(...Array(p.split('/').length).fill('..'),
'node_modules.bundled', p + '@' + deps[p]),
path.join(builddir, 'node_modules', p));
});
"
# Installing optional dependency manually
%{__ln_s} ../../$(cd node_modules.bundled && echo olm@*) \
$(echo node_modules.bundled/matrix-js-sdk@*/node_modules)/olm
# Workaround for inability to calculate dependencies from Github
%{__ln_s} ../node_modules.bundled/irc@%{node_irc_commit} node_modules/irc
# Workaround for prom-client listed only in devDependencies
%{__ln_s} ../node_modules.bundled/prom-client@12.0.0 node_modules/prom-client
# Workaround for prebuilt binaries included in utf-8-validate package
%{__rm} -rf node_modules.bundled/utf-8-validate@*/prebuilds
# Workaround for loglevel not listed in dependencies of matrix-appservice-bridge
%{__ln_s} ../../$(cd node_modules.bundled && echo loglevel@*) \
$(echo node_modules.bundled/matrix-appservice-bridge@*/node_modules)/loglevel
%install
%{__mkdir} -p %{buildroot}%{nodejs_sitelib}/%{packagename}
%{__cp} -pr package.json *.js *.yml bin lib scripts \
node_modules node_modules.bundled \
%{buildroot}%{nodejs_sitelib}/%{packagename}
%{__mkdir} -p %{buildroot}%{_bindir}
%{__ln_s} %{nodejs_sitelib}/%{packagename}/bin/matrix-appservice-irc \
%{buildroot}%{_bindir}/matrix-appservice-irc
%{__mkdir_p} "%{buildroot}%{_sysconfdir}/synapse"
%{__install} -m 0644 config.sample.yaml \
"%{buildroot}%{_sysconfdir}/synapse/appservice-irc.yaml"
%{__sed} -i -e 's|databaseUri:.*$|databaseUri: "nedb://data-irc"|' \
"%{buildroot}%{_sysconfdir}/synapse/appservice-irc.yaml"
%{__mkdir_p} "%{buildroot}%{_unitdir}"
%{__install} -m 0644 %{SOURCE1} "%{buildroot}%{_unitdir}"
%{__mkdir_p} "%{buildroot}%{_sysconfdir}/sysconfig"
%{__install} -m0644 %{SOURCE2} \
"%{buildroot}%{_sysconfdir}/sysconfig/matrix-appservice-irc"
%{__mkdir_p} "%{buildroot}%{_localstatedir}/lib/synapse/data-irc"
%check
pushd node_modules.bundled
for m in *@* @*/*@*; do
test -f "$m/package.json" || continue
case "$m" in
browser-request@*) ;;
http-browserify@*) ;;
@babel/runtime@*) ;;
iconv@*) ;;
@types/*) ;;
*) (cd "$m" && %{__nodejs} -e 'require("./")');;
esac
done
popd
%{__nodejs} -e 'require("./")'
%if 0%{?enable_tests}
ln -s %{nodejs_sitelib}/proxyquire node_modules/proxyquire
BLUEBIRD_DEBUG=1 %{_bindir}/jasmine --stop-on-failure=true
rm node_modules/proxyquire
%endif
%pre
getent group synapse &>/dev/null || groupadd -r synapse
getent passwd synapse &>/dev/null || \
/usr/sbin/useradd -r -g synapse -s /sbin/nologin -c 'Matrix Synapse' \
-d %{_localstatedir}/lib/synapse synapse
%post
%systemd_post matrix-appservice-irc.service
%preun
%systemd_preun matrix-appservice-irc.service
%postun
%systemd_postun_with_restart matrix-appservice-irc.service
%files
%license LICENSE
%doc *.md config.sample.yaml
%{nodejs_sitelib}/%{packagename}
%{_bindir}/matrix-appservice-irc
%attr(0710,root,synapse) %dir %{_sysconfdir}/synapse
%config(noreplace) %{_sysconfdir}/synapse/appservice-irc.yaml
%ghost %attr(0640,root,synapse) %config(missingok,noreplace) %{_sysconfdir}/synapse/appservice-registration-irc.yaml
%config %{_sysconfdir}/sysconfig/matrix-appservice-irc
%{_unitdir}/matrix-appservice-irc.service
%attr(0710,synapse,synapse) %{_localstatedir}/lib/synapse