summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-im/Makefile1
-rw-r--r--net-im/deltachat-desktop/Makefile70
-rw-r--r--net-im/deltachat-desktop/distinfo5
-rw-r--r--net-im/deltachat-desktop/files/delta-v7-pathed.svg167
-rw-r--r--net-im/deltachat-desktop/files/deltachat-desktop.sh.in3
-rw-r--r--net-im/deltachat-desktop/files/deltachat.desktop.in12
-rw-r--r--net-im/deltachat-desktop/files/patch-packages_target-electron_src_deltachat_controller.ts14
-rw-r--r--net-im/deltachat-desktop/pkg-descr9
-rw-r--r--net-im/deltachat-desktop/pkg-plist1062
-rwxr-xr-xnet-im/deltachat-desktop/scripts/make_node_tarball.sh76
10 files changed, 1419 insertions, 0 deletions
diff --git a/net-im/Makefile b/net-im/Makefile
index 158dfe7c3dfb..af4fe820eddd 100644
--- a/net-im/Makefile
+++ b/net-im/Makefile
@@ -9,6 +9,7 @@
SUBDIR += coyim
SUBDIR += cutegram
SUBDIR += debugtox
+ SUBDIR += deltachat-desktop
SUBDIR += dendrite
SUBDIR += dino
SUBDIR += discordo
diff --git a/net-im/deltachat-desktop/Makefile b/net-im/deltachat-desktop/Makefile
new file mode 100644
index 000000000000..5d85b523b575
--- /dev/null
+++ b/net-im/deltachat-desktop/Makefile
@@ -0,0 +1,70 @@
+PORTNAME= deltachat-desktop
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.22.0
+CATEGORIES= net-im
+MASTER_SITES+= LOCAL/feld:npmcache
+DISTFILES+= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}-node-deps.tgz:npmcache
+
+MAINTAINER= feld@FreeBSD.org
+COMMENT= Cross-platform decentralized encrypted messaging service
+WWW= https://delta.chat/
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ELECTRON_VER= 37
+
+# Important to keep the RPC server core in sync with the Desktop release
+RUN_DEPENDS= deltachat-rpc-server>2.21<2.23:net/deltachat-rpc-server
+BUILD_DEPENDS= electron${ELECTRON_VER}:devel/electron${ELECTRON_VER} \
+ npm:www/npm${NODEJS_SUFFIX}
+USES= desktop-file-utils nodejs:22,build pkgconfig
+
+# Possible to support more arches, but need their binary
+# esbuilds included in the npmcache
+ONLY_FOR_ARCHS= amd64
+
+SUB_FILES+= deltachat-desktop.sh deltachat.desktop
+SUB_LIST+= ELECTRON_VER=${ELECTRON_VER}
+
+USE_GITHUB= yes
+GH_ACCOUNT= deltachat
+GH_PROJECT= deltachat-desktop
+
+MAKE_ENV+= ELECTRON_SKIP_BINARY_DOWNLOAD=1 \
+ ELECTRON_OVERRIDE_DIST_PATH=${LOCALBASE}/share/electron${ELECTRON_VER} \
+ PATH=${PATH}:${WRKSRC}/node_modules/.bin/ \
+ VERSION_INFO_GIT_REF=freebsd
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/packages/target-electron/src/deltachat/controller.ts
+ # Have to mv, it won't build with symlinks
+ @${MV} ${WRKDIR}/node_modules ${WRKSRC}/node_modules
+ @${MV} ${WRKDIR}/packages/target-electron/node_modules ${WRKSRC}/packages/target-electron/node_modules
+ @${MV} ${WRKDIR}/packages/frontend/node_modules ${WRKSRC}/packages/frontend/node_modules
+ @${MV} ${WRKDIR}/packages/runtime/node_modules ${WRKSRC}/packages/runtime/node_modules
+ @${MV} ${WRKDIR}/packages/shared/node_modules ${WRKSRC}/packages/shared/node_modules
+
+do-build:
+ cd ${WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} pnpm -w --filter=@deltachat-desktop/target-electron build
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ cd ${WRKSRC} && node bin/writeFlatDependencies.js packages/target-electron ${STAGEDIR}${DATADIR}/node_modules
+ cd ${WRKSRC}/node_modules/.pnpm/@deltachat+stdio-rpc-server@*/node_modules/@deltachat/ && \
+ ${COPYTREE_SHARE} stdio-rpc-server/ ${STAGEDIR}${DATADIR}/node_modules/@deltachat/
+ cd ${WRKSRC}/packages/target-electron && \
+ ${INSTALL} package.json ${STAGEDIR}${DATADIR}/ && \
+ ${INSTALL} index.js ${STAGEDIR}${DATADIR}/ && \
+ ${COPYTREE_SHARE} bundle_out ${STAGEDIR}${DATADIR}/ && \
+ ${COPYTREE_SHARE} html-dist ${STAGEDIR}${DATADIR}/
+ cd ${WRKSRC} && ${COPYTREE_SHARE} _locales ${STAGEDIR}${DATADIR}/
+ ${INSTALL_SCRIPT} ${WRKDIR}/deltachat-desktop.sh ${STAGEDIR}${PREFIX}/bin/deltachat-desktop
+ ${INSTALL} ${WRKDIR}/deltachat.desktop ${STAGEDIR}${PREFIX}/share/applications/deltachat.desktop
+ ${MKDIR} ${STAGEDIR}${DATADIR}/icons
+ ${INSTALL} ${FILESDIR}/delta-v7-pathed.svg ${STAGEDIR}${DATADIR}/icons/deltachat.svg
+
+.include <bsd.port.post.mk>
diff --git a/net-im/deltachat-desktop/distinfo b/net-im/deltachat-desktop/distinfo
new file mode 100644
index 000000000000..202b80fcd583
--- /dev/null
+++ b/net-im/deltachat-desktop/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1760853792
+SHA256 (deltachat-desktop-v2.22.0-node-deps.tgz) = b4092f26db19f93493a6669d44697bbd2fd75116d13e00cb84d4c1051af5dea4
+SIZE (deltachat-desktop-v2.22.0-node-deps.tgz) = 66817892
+SHA256 (deltachat-deltachat-desktop-v2.22.0_GH0.tar.gz) = b6356e82be2b9552812c8a24977bfe17b9ac5c81ccce289b95c87b4e48d44d9d
+SIZE (deltachat-deltachat-desktop-v2.22.0_GH0.tar.gz) = 41280548
diff --git a/net-im/deltachat-desktop/files/delta-v7-pathed.svg b/net-im/deltachat-desktop/files/delta-v7-pathed.svg
new file mode 100644
index 000000000000..819f9034d549
--- /dev/null
+++ b/net-im/deltachat-desktop/files/delta-v7-pathed.svg
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg2985"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="delta-v7-pathed.svg"
+ inkscape:export-filename="/home/bpetersen/projects/messenger-android/MessengerProj/src/main/res/drawable-xhdpi/ic_launcher.png"
+ inkscape:export-xdpi="183.83"
+ inkscape:export-ydpi="183.83">
+ <defs
+ id="defs2987">
+ <linearGradient
+ id="linearGradient4409">
+ <stop
+ style="stop-color:#f9f9f9;stop-opacity:1"
+ offset="0"
+ id="stop4411" />
+ <stop
+ style="stop-color:#cccccc;stop-opacity:0;"
+ offset="1"
+ id="stop4413" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4399">
+ <stop
+ style="stop-color:#f9f9f9;stop-opacity:1;"
+ offset="0"
+ id="stop4401" />
+ <stop
+ style="stop-color:#f9f9f9;stop-opacity:0;"
+ offset="1"
+ id="stop4403" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4375">
+ <stop
+ style="stop-color:#364e59;stop-opacity:1;"
+ offset="0"
+ id="stop4377" />
+ <stop
+ style="stop-color:#364e59;stop-opacity:0;"
+ offset="1"
+ id="stop4379" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4367">
+ <stop
+ style="stop-color:#dc000f;stop-opacity:1;"
+ offset="0"
+ id="stop4369" />
+ <stop
+ style="stop-color:#00ff00;stop-opacity:0;"
+ offset="1"
+ id="stop4371" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4359">
+ <stop
+ style="stop-color:#dc000f;stop-opacity:1;"
+ offset="0"
+ id="stop4361" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4363" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4375"
+ id="linearGradient4381"
+ x1="31.957268"
+ y1="29.751493"
+ x2="-45.041405"
+ y2="-18.591616"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.93766393,0,0,0.93766393,1.542566,1.7199693)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4415"
+ x1="16.345125"
+ y1="3.8388948"
+ x2="36.001561"
+ y2="24.359164"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="9.8994949"
+ inkscape:cx="1.9547978"
+ inkscape:cy="28.000232"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:bbox-paths="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1543"
+ inkscape:window-height="876"
+ inkscape:window-x="57"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata2990">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.57405078;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.43921569"
+ d="m 24.015419,1.2870249 c -12.549421,0 -22.7283936,10.1789711 -22.7283936,22.7283931 0,12.549422 10.1789726,22.728395 22.7283936,22.728395 14.337742,-0.342877 9.614352,-4.702705 23.697556,0.969161 -7.545453,-13.001555 -1.082973,-13.32964 -0.969161,-23.697556 0,-12.549422 -10.178973,-22.7283931 -22.728395,-22.7283931 z"
+ id="path3769"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sscccs" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3799"
+ d="M 23.982249,5.3106163 C 13.645822,5.4364005 5.2618355,13.92999 5.2618355,24.275753 c 0,10.345764 8.3839865,18.635301 18.7204135,18.509516 9.827724,-0.03951 7.516769,-5.489695 18.380082,-0.443187 -5.950849,-9.296115 0.201753,-10.533667 0.340336,-18.521947 0,-10.345766 -8.383989,-18.6353031 -18.720418,-18.5095187 z"
+ style="fill:url(#linearGradient4381);fill-opacity:1;stroke:none"
+ sodipodi:nodetypes="sscccs" />
+ <g
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ id="text4383" />
+ <g
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ id="text4421" />
+ <g
+ transform="scale(1.1122373,0.89908874)"
+ style="font-style:normal;font-weight:normal;font-size:42.10587311px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ id="text3797">
+ <path
+ d="m 21.688854,23.636251 q -1.027975,-1.151333 -2.857771,-2.754974 -2.014832,-1.768118 -2.713855,-2.775534 -0.699024,-1.027975 -0.699024,-2.240986 0,-1.809237 1.68588,-2.837212 1.68588,-1.048535 4.399735,-1.048535 2.713855,0 4.728687,0.925178 2.035391,0.925177 2.035391,2.549379 0,0.781261 -0.493428,1.295249 -0.493428,0.513987 -1.151333,0.513987 -0.945737,0 -2.220426,-1.418606 -1.295249,-1.439165 -2.199868,-2.014832 -0.884059,-0.596225 -2.07651,-0.596225 -1.521404,0 -2.50826,0.678463 -0.966297,0.678464 -0.966297,1.726999 0,0.986857 0.801821,1.850356 0.801821,0.863499 4.132461,3.145605 3.556795,2.446581 5.01652,3.824068 1.480285,1.377487 2.405462,3.3512 0.925178,1.973713 0.925178,4.17358 0,3.865188 -2.734414,6.825757 -2.713855,2.94001 -6.352888,2.94001 -3.310081,0 -5.592187,-2.364344 -2.282105,-2.364343 -2.282105,-6.311769 0,-3.803509 2.50826,-6.352888 2.528819,-2.549379 6.208971,-3.083926 z m 0.904619,0.945737 q -5.900579,0.966297 -5.900579,8.100447 0,3.680152 1.459725,5.715543 1.480285,2.035391 3.433438,2.035391 2.035391,0 3.3512,-1.953153 1.315808,-1.973713 1.315808,-5.324913 0,-4.852044 -3.659592,-8.573315 z"
+ style="font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';fill:#ffffff;fill-opacity:1"
+ id="path4161" />
+ </g>
+ </g>
+</svg>
diff --git a/net-im/deltachat-desktop/files/deltachat-desktop.sh.in b/net-im/deltachat-desktop/files/deltachat-desktop.sh.in
new file mode 100644
index 000000000000..9b0fb9beb749
--- /dev/null
+++ b/net-im/deltachat-desktop/files/deltachat-desktop.sh.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+%%PREFIX%%/bin/electron%%ELECTRON_VER%% %%PREFIX%%/share/deltachat-desktop $@
diff --git a/net-im/deltachat-desktop/files/deltachat.desktop.in b/net-im/deltachat-desktop/files/deltachat.desktop.in
new file mode 100644
index 000000000000..917279d66978
--- /dev/null
+++ b/net-im/deltachat-desktop/files/deltachat.desktop.in
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Delta Chat
+Comment=Desktop Application for delta.chat
+Exec=%%PREFIX%%/bin/deltachat-desktop %U
+Icon=%%DATADIR%%/icons/deltachat.svg
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Network;Chat;InstantMessaging;
+StartupWMClass=deltachat
+Keywords=dc;chat;delta;messaging;messenger;email;webxdc
+MimeType=application/x-webxdc;x-scheme-handler/openpgp4fpr;x-scheme-handler/mailto;x-scheme-handler/dcaccount;x-scheme-handler/dclogin;
diff --git a/net-im/deltachat-desktop/files/patch-packages_target-electron_src_deltachat_controller.ts b/net-im/deltachat-desktop/files/patch-packages_target-electron_src_deltachat_controller.ts
new file mode 100644
index 000000000000..7f282fdc43e6
--- /dev/null
+++ b/net-im/deltachat-desktop/files/patch-packages_target-electron_src_deltachat_controller.ts
@@ -0,0 +1,14 @@
+--- packages/target-electron/src/deltachat/controller.ts.orig 2025-10-09 18:18:51 UTC
++++ packages/target-electron/src/deltachat/controller.ts
+@@ -75,10 +75,7 @@ export default class DeltaChatController {
+ }
+
+ log.debug('Initiating DeltaChatNode')
+- let serverPath = await getRPCServerPath({
+- // desktop should only use prebuilds normally
+- disableEnvPath: !rc_config['allow-unsafe-core-replacement'],
+- })
++ let serverPath = "%%PREFIX%%/bin/deltachat-rpc-server"
+ if (serverPath.includes('app.asar')) {
+ // probably inside of electron build
+ serverPath = serverPath.replace('app.asar', 'app.asar.unpacked')
diff --git a/net-im/deltachat-desktop/pkg-descr b/net-im/deltachat-desktop/pkg-descr
new file mode 100644
index 000000000000..8acf8cec1f0c
--- /dev/null
+++ b/net-im/deltachat-desktop/pkg-descr
@@ -0,0 +1,9 @@
+Delta Chat is a reliable, decentralized and secure messaging app,
+available for mobile and desktop platforms.
+
+Delta Chat feels like Whatsapp or Telegram but you can also use and
+regard it as an e-mail app. You can signup anonymously to a variety of
+interoperable chatmail servers which are minimal e-mail servers
+optimized for fast and secure operations. Or you may use classic e-mail
+servers and an existing e-mail account in which case Delta Chat acts as
+an e-mail app.
diff --git a/net-im/deltachat-desktop/pkg-plist b/net-im/deltachat-desktop/pkg-plist
new file mode 100644
index 000000000000..c62afad8ebe2
--- /dev/null
+++ b/net-im/deltachat-desktop/pkg-plist
@@ -0,0 +1,1062 @@
+bin/deltachat-desktop
+share/applications/deltachat.desktop
+%%DATADIR%%/_locales/_languages.json
+%%DATADIR%%/_locales/_untranslated_en.json
+%%DATADIR%%/_locales/ar.json
+%%DATADIR%%/_locales/ar.xml
+%%DATADIR%%/_locales/az.json
+%%DATADIR%%/_locales/az.xml
+%%DATADIR%%/_locales/be.json
+%%DATADIR%%/_locales/be.xml
+%%DATADIR%%/_locales/bg.json
+%%DATADIR%%/_locales/bg.xml
+%%DATADIR%%/_locales/bn.json
+%%DATADIR%%/_locales/bn.xml
+%%DATADIR%%/_locales/bqi.json
+%%DATADIR%%/_locales/bqi.xml
+%%DATADIR%%/_locales/ca.json
+%%DATADIR%%/_locales/ca.xml
+%%DATADIR%%/_locales/ckb.json
+%%DATADIR%%/_locales/ckb.xml
+%%DATADIR%%/_locales/cmn.json
+%%DATADIR%%/_locales/cmn.xml
+%%DATADIR%%/_locales/cs.json
+%%DATADIR%%/_locales/cs.xml
+%%DATADIR%%/_locales/da.json
+%%DATADIR%%/_locales/da.xml
+%%DATADIR%%/_locales/de.json
+%%DATADIR%%/_locales/de.xml
+%%DATADIR%%/_locales/el.json
+%%DATADIR%%/_locales/el.xml
+%%DATADIR%%/_locales/en.json
+%%DATADIR%%/_locales/en.xml
+%%DATADIR%%/_locales/eo.json
+%%DATADIR%%/_locales/eo.xml
+%%DATADIR%%/_locales/es.json
+%%DATADIR%%/_locales/es.xml
+%%DATADIR%%/_locales/et.json
+%%DATADIR%%/_locales/et.xml
+%%DATADIR%%/_locales/eu.json
+%%DATADIR%%/_locales/eu.xml
+%%DATADIR%%/_locales/fa.json
+%%DATADIR%%/_locales/fa.xml
+%%DATADIR%%/_locales/fi.json
+%%DATADIR%%/_locales/fi.xml
+%%DATADIR%%/_locales/fil.json
+%%DATADIR%%/_locales/fil.xml
+%%DATADIR%%/_locales/fr.json
+%%DATADIR%%/_locales/fr.xml
+%%DATADIR%%/_locales/gl.json
+%%DATADIR%%/_locales/gl.xml
+%%DATADIR%%/_locales/grc.json
+%%DATADIR%%/_locales/grc.xml
+%%DATADIR%%/_locales/he.json
+%%DATADIR%%/_locales/he.xml
+%%DATADIR%%/_locales/hr.json
+%%DATADIR%%/_locales/hr.xml
+%%DATADIR%%/_locales/hu.json
+%%DATADIR%%/_locales/hu.xml
+%%DATADIR%%/_locales/ia.json
+%%DATADIR%%/_locales/ia.xml
+%%DATADIR%%/_locales/id.json
+%%DATADIR%%/_locales/id.xml
+%%DATADIR%%/_locales/it.json
+%%DATADIR%%/_locales/it.xml
+%%DATADIR%%/_locales/ja_JP.json
+%%DATADIR%%/_locales/ja_JP.xml
+%%DATADIR%%/_locales/km.json
+%%DATADIR%%/_locales/km.xml
+%%DATADIR%%/_locales/kn.json
+%%DATADIR%%/_locales/kn.xml
+%%DATADIR%%/_locales/ko.json
+%%DATADIR%%/_locales/ko.xml
+%%DATADIR%%/_locales/la.json
+%%DATADIR%%/_locales/la.xml
+%%DATADIR%%/_locales/lt.json
+%%DATADIR%%/_locales/lt.xml
+%%DATADIR%%/_locales/my.json
+%%DATADIR%%/_locales/my.xml
+%%DATADIR%%/_locales/nah.json
+%%DATADIR%%/_locales/nah.xml
+%%DATADIR%%/_locales/nb.json
+%%DATADIR%%/_locales/nb.xml
+%%DATADIR%%/_locales/nl.json
+%%DATADIR%%/_locales/nl.xml
+%%DATADIR%%/_locales/nl_NL.json
+%%DATADIR%%/_locales/nl_NL.xml
+%%DATADIR%%/_locales/pl.json
+%%DATADIR%%/_locales/pl.xml
+%%DATADIR%%/_locales/pt.json
+%%DATADIR%%/_locales/pt.xml
+%%DATADIR%%/_locales/pt_BR.json
+%%DATADIR%%/_locales/pt_BR.xml
+%%DATADIR%%/_locales/ro.json
+%%DATADIR%%/_locales/ro.xml
+%%DATADIR%%/_locales/ru.json
+%%DATADIR%%/_locales/ru.xml
+%%DATADIR%%/_locales/sc.json
+%%DATADIR%%/_locales/sc.xml
+%%DATADIR%%/_locales/sk.json
+%%DATADIR%%/_locales/sk.xml
+%%DATADIR%%/_locales/sq.json
+%%DATADIR%%/_locales/sq.xml
+%%DATADIR%%/_locales/sr.json
+%%DATADIR%%/_locales/sr.xml
+%%DATADIR%%/_locales/sv.json
+%%DATADIR%%/_locales/sv.xml
+%%DATADIR%%/_locales/ta.json
+%%DATADIR%%/_locales/ta.xml
+%%DATADIR%%/_locales/te.json
+%%DATADIR%%/_locales/te.xml
+%%DATADIR%%/_locales/tg.json
+%%DATADIR%%/_locales/tg.xml
+%%DATADIR%%/_locales/tl.json
+%%DATADIR%%/_locales/tl.xml
+%%DATADIR%%/_locales/tok.json
+%%DATADIR%%/_locales/tok.xml
+%%DATADIR%%/_locales/tr.json
+%%DATADIR%%/_locales/tr.xml
+%%DATADIR%%/_locales/uk.json
+%%DATADIR%%/_locales/uk.xml
+%%DATADIR%%/_locales/vi.json
+%%DATADIR%%/_locales/vi.xml
+%%DATADIR%%/_locales/zh_CN.json
+%%DATADIR%%/_locales/zh_CN.xml
+%%DATADIR%%/_locales/zh_HK.json
+%%DATADIR%%/_locales/zh_HK.xml
+%%DATADIR%%/_locales/zh_TW.json
+%%DATADIR%%/_locales/zh_TW.xml
+%%DATADIR%%/bundle_out/index.js
+%%DATADIR%%/bundle_out/index.js.map
+%%DATADIR%%/html-dist/audio/README.md
+%%DATADIR%%/html-dist/audio/ringtone-afro-nigeria-short.opus
+%%DATADIR%%/html-dist/audio/sound_in.wav
+%%DATADIR%%/html-dist/avoid-eval.js
+%%DATADIR%%/html-dist/browser-source-map-support.js
+%%DATADIR%%/html-dist/bundle.css
+%%DATADIR%%/html-dist/bundle.css.map
+%%DATADIR%%/html-dist/bundle.js
+%%DATADIR%%/html-dist/bundle.js.map
+%%DATADIR%%/html-dist/calls-webapp-preload.js
+%%DATADIR%%/html-dist/calls-webapp/index.html
+%%DATADIR%%/html-dist/electron_html_email_view/electron_html_email_view.css
+%%DATADIR%%/html-dist/electron_html_email_view/electron_html_email_view.html
+%%DATADIR%%/html-dist/electron_html_email_view/electron_html_email_view.js
+%%DATADIR%%/html-dist/electron_html_email_view/electron_html_email_view_preload.js
+%%DATADIR%%/html-dist/fallback-theme.css
+%%DATADIR%%/html-dist/fix-missing-vars.js
+%%DATADIR%%/html-dist/fonts/Roboto-Bold.ttf
+%%DATADIR%%/html-dist/fonts/Roboto-BoldItalic.ttf
+%%DATADIR%%/html-dist/fonts/Roboto-Italic.ttf
+%%DATADIR%%/html-dist/fonts/Roboto-Medium.ttf
+%%DATADIR%%/html-dist/fonts/Roboto-MediumItalic.ttf
+%%DATADIR%%/html-dist/fonts/Roboto-Regular.ttf
+%%DATADIR%%/html-dist/fonts/fonts.css
+%%DATADIR%%/html-dist/fonts/noto/emoji/LICENSE
+%%DATADIR%%/html-dist/fonts/noto/emoji/NotoColorEmoji.ttf
+%%DATADIR%%/html-dist/fonts/noto/emoji/README
+%%DATADIR%%/html-dist/fonts/noto/mono/LICENSE_OFL.txt
+%%DATADIR%%/html-dist/fonts/noto/mono/NotoMono-Regular.ttf
+%%DATADIR%%/html-dist/fonts/noto/mono/README
+%%DATADIR%%/html-dist/help/cs/help.html
+%%DATADIR%%/html-dist/help/de/help.html
+%%DATADIR%%/html-dist/help/delta-what-optim.png
+%%DATADIR%%/html-dist/help/edit-icon.png
+%%DATADIR%%/html-dist/help/email-icon.png
+%%DATADIR%%/html-dist/help/en/help.html
+%%DATADIR%%/html-dist/help/es/help.html
+%%DATADIR%%/html-dist/help/fr/help.html
+%%DATADIR%%/html-dist/help/go-to-original.png
+%%DATADIR%%/html-dist/help/green-checkmark.png
+%%DATADIR%%/html-dist/help/green-dot.png
+%%DATADIR%%/html-dist/help/help.css
+%%DATADIR%%/html-dist/help/id/help.html
+%%DATADIR%%/html-dist/help/it/help.html
+%%DATADIR%%/html-dist/help/lock-icon.png
+%%DATADIR%%/html-dist/help/nl/help.html
+%%DATADIR%%/html-dist/help/pagefind/fragment/cs_a61069b.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/de_62a6238.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/en_1635eae.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/es_53d3ab9.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/fr_26dde27.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/id_239478f.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/it_367a54c.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/nl_cf95216.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/pl_729314a.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/pt_fcf6fa6.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/ru_1b5ea42.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/sk_cc155bd.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/sq_1d0db9e.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/uk_efe3e9d.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/fragment/zh_cn_eb4defe.pf_fragment
+%%DATADIR%%/html-dist/help/pagefind/index/cs_d26ed86.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/de_7e1e44c.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/en_2660c59.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/es_9b5bcc7.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/fr_131f269.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/id_868798e.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/it_2f61fa9.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/nl_726cef3.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/pl_27ea66d.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/pt_3c459d6.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/ru_56fbfee.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/sk_7a2276c.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/sq_d4bef5f.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/uk_fd67961.pf_index
+%%DATADIR%%/html-dist/help/pagefind/index/zh_cn_8a7b4a2.pf_index
+%%DATADIR%%/html-dist/help/pagefind/locales.json
+%%DATADIR%%/html-dist/help/pagefind/pagefind-entry.json
+%%DATADIR%%/html-dist/help/pagefind/pagefind-highlight.js
+%%DATADIR%%/html-dist/help/pagefind/pagefind-modular-ui.css
+%%DATADIR%%/html-dist/help/pagefind/pagefind-modular-ui.js
+%%DATADIR%%/html-dist/help/pagefind/pagefind-ui.css
+%%DATADIR%%/html-dist/help/pagefind/pagefind-ui.js
+%%DATADIR%%/html-dist/help/pagefind/pagefind.cs_7a3f2b355e.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.de_80794ce42b.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.en_a5412d8774.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.es_e7f41eed7e.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.fr_21c63968cc.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.id_f4d81f4325.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.it_7b95c53da8.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.js
+%%DATADIR%%/html-dist/help/pagefind/pagefind.nl_4f21bd5dfa.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.pl_2f9e4c6827.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.pt_ba1e2e8626.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.ru_ed3880ed30.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.sk_d89177872d.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.sq_716c273cf9.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.uk_40b2b9b51f.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/pagefind.zh_cn_3755bc812ba54.pf_meta
+%%DATADIR%%/html-dist/help/pagefind/wasm.de.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.en.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.es.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.fr.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.id.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.it.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.nl.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.pt.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.ru.pagefind
+%%DATADIR%%/html-dist/help/pagefind/wasm.unknown.pagefind
+%%DATADIR%%/html-dist/help/pl/help.html
+%%DATADIR%%/html-dist/help/pt/help.html
+%%DATADIR%%/html-dist/help/qr-icon.png
+%%DATADIR%%/html-dist/help/ru/help.html
+%%DATADIR%%/html-dist/help/saved-icon.png
+%%DATADIR%%/html-dist/help/sk/help.html
+%%DATADIR%%/html-dist/help/sq/help.html
+%%DATADIR%%/html-dist/help/start-pagefind.js
+%%DATADIR%%/html-dist/help/uk/help.html
+%%DATADIR%%/html-dist/help/zh_CN/help.html
+%%DATADIR%%/html-dist/images/account_deletion_background.jpg
+%%DATADIR%%/html-dist/images/avatar/online-avatar-circle-mask.svg
+%%DATADIR%%/html-dist/images/avatar/online-avatar-circle.svg
+%%DATADIR%%/html-dist/images/avatar/online-avatar-dot.svg
+%%DATADIR%%/html-dist/images/avatar/online-avatar-mask-smaller.svg
+%%DATADIR%%/html-dist/images/avatar/online-avatar-mask.svg
+%%DATADIR%%/html-dist/images/background_dark.svg
+%%DATADIR%%/html-dist/images/background_light.svg
+%%DATADIR%%/html-dist/images/backgrounds/bee.webp
+%%DATADIR%%/html-dist/images/backgrounds/flower.webp
+%%DATADIR%%/html-dist/images/backgrounds/lake-tekapo.jpg
+%%DATADIR%%/html-dist/images/backgrounds/mm-1.webp
+%%DATADIR%%/html-dist/images/backgrounds/mm-2.webp
+%%DATADIR%%/html-dist/images/backgrounds/nz-beach.webp
+%%DATADIR%%/html-dist/images/backgrounds/petito-moreno.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/bee.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/flower.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/lake-tekapo.jpg
+%%DATADIR%%/html-dist/images/backgrounds/thumb/mm-1.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/mm-2.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/nz-beach.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/petito-moreno.webp
+%%DATADIR%%/html-dist/images/backgrounds/thumb/wheat.webp
+%%DATADIR%%/html-dist/images/backgrounds/wheat.webp
+%%DATADIR%%/html-dist/images/clock.svg
+%%DATADIR%%/html-dist/images/dc-cross.svg
+%%DATADIR%%/html-dist/images/deltachat.ico
+%%DATADIR%%/html-dist/images/deltachat.png
+%%DATADIR%%/html-dist/images/electron-file-drag-out.png
+%%DATADIR%%/html-dist/images/emoji.png
+%%DATADIR%%/html-dist/images/error.svg
+%%DATADIR%%/html-dist/images/error_red.svg
+%%DATADIR%%/html-dist/images/file-gradient.svg
+%%DATADIR%%/html-dist/images/game.svg
+%%DATADIR%%/html-dist/images/home.svg
+%%DATADIR%%/html-dist/images/ic_scroll_back.svg
+%%DATADIR%%/html-dist/images/ic_scroll_down.png
+%%DATADIR%%/html-dist/images/icons/apps.svg
+%%DATADIR%%/html-dist/images/icons/arrow-left.svg
+%%DATADIR%%/html-dist/images/icons/audio-muted.svg
+%%DATADIR%%/html-dist/images/icons/bell.svg
+%%DATADIR%%/html-dist/images/icons/blocked.svg
+%%DATADIR%%/html-dist/images/icons/bookmark-filled.svg
+%%DATADIR%%/html-dist/images/icons/brightness-6.svg
+%%DATADIR%%/html-dist/images/icons/chevron-left.svg
+%%DATADIR%%/html-dist/images/icons/chevron-right.svg
+%%DATADIR%%/html-dist/images/icons/code-tags.svg
+%%DATADIR%%/html-dist/images/icons/copy.svg
+%%DATADIR%%/html-dist/images/icons/cross.svg
+%%DATADIR%%/html-dist/images/icons/devices.svg
+%%DATADIR%%/html-dist/images/icons/download.svg
+%%DATADIR%%/html-dist/images/icons/email.svg
+%%DATADIR%%/html-dist/images/icons/eye-off.svg
+%%DATADIR%%/html-dist/images/icons/eye-open.svg
+%%DATADIR%%/html-dist/images/icons/favorite.svg
+%%DATADIR%%/html-dist/images/icons/forum.svg
+%%DATADIR%%/html-dist/images/icons/icon-archive.svg
+%%DATADIR%%/html-dist/images/icons/image.svg
+%%DATADIR%%/html-dist/images/icons/image_outline.svg
+%%DATADIR%%/html-dist/images/icons/info.svg
+%%DATADIR%%/html-dist/images/icons/lead-pencil.svg
+%%DATADIR%%/html-dist/images/icons/link.svg
+%%DATADIR%%/html-dist/images/icons/map.svg
+%%DATADIR%%/html-dist/images/icons/minus.svg
+%%DATADIR%%/html-dist/images/icons/more.svg
+%%DATADIR%%/html-dist/images/icons/more_vert.svg
+%%DATADIR%%/html-dist/images/icons/navigate_next.svg
+%%DATADIR%%/html-dist/images/icons/open_in_new.svg
+%%DATADIR%%/html-dist/images/icons/palette.svg
+%%DATADIR%%/html-dist/images/icons/paperclip.svg
+%%DATADIR%%/html-dist/images/icons/person-filled.svg
+%%DATADIR%%/html-dist/images/icons/person.svg
+%%DATADIR%%/html-dist/images/icons/phone.svg
+%%DATADIR%%/html-dist/images/icons/plus.svg
+%%DATADIR%%/html-dist/images/icons/qr.svg
+%%DATADIR%%/html-dist/images/icons/question_mark.svg
+%%DATADIR%%/html-dist/images/icons/reaction.svg
+%%DATADIR%%/html-dist/images/icons/rotate-right.svg
+%%DATADIR%%/html-dist/images/icons/schedule.svg
+%%DATADIR%%/html-dist/images/icons/sell.svg
+%%DATADIR%%/html-dist/images/icons/server.svg
+%%DATADIR%%/html-dist/images/icons/settings.svg
+%%DATADIR%%/html-dist/images/icons/swap_hor.svg
+%%DATADIR%%/html-dist/images/icons/swap_vert.svg
+%%DATADIR%%/html-dist/images/icons/test-tube.svg
+%%DATADIR%%/html-dist/images/icons/trash.svg
+%%DATADIR%%/html-dist/images/icons/upload-file.svg
+%%DATADIR%%/html-dist/images/intro1.png
+%%DATADIR%%/html-dist/images/licenses
+%%DATADIR%%/html-dist/images/map-marker.svg
+%%DATADIR%%/html-dist/images/microphone.svg
+%%DATADIR%%/html-dist/images/mute.png
+%%DATADIR%%/html-dist/images/pin.svg
+%%DATADIR%%/html-dist/images/play.svg
+%%DATADIR%%/html-dist/images/read.svg
+%%DATADIR%%/html-dist/images/reply.svg
+%%DATADIR%%/html-dist/images/send-button.png
+%%DATADIR%%/html-dist/images/sending.svg
+%%DATADIR%%/html-dist/images/sent.svg
+%%DATADIR%%/html-dist/images/smile.svg
+%%DATADIR%%/html-dist/images/tool.svg
+%%DATADIR%%/html-dist/images/tray/deltachat-unread.ico
+%%DATADIR%%/html-dist/images/tray/deltachat-unread.png
+%%DATADIR%%/html-dist/images/tray/deltachat-unread.svg
+%%DATADIR%%/html-dist/images/tray/deltachat.ico
+%%DATADIR%%/html-dist/images/tray/deltachat.png
+%%DATADIR%%/html-dist/images/tray/deltachat.svg
+%%DATADIR%%/html-dist/images/tray/tray-icon-mac.png
+%%DATADIR%%/html-dist/images/tray/tray-icon-mac@2x.png
+%%DATADIR%%/html-dist/images/tray/unread-badge.png
+%%DATADIR%%/html-dist/images/tray/unread-badge.svg
+%%DATADIR%%/html-dist/images/verified-check.svg
+%%DATADIR%%/html-dist/images/verified.svg
+%%DATADIR%%/html-dist/main.css
+%%DATADIR%%/html-dist/main.html
+%%DATADIR%%/html-dist/message_parser_wasm_bg.wasm
+%%DATADIR%%/html-dist/preload.js
+%%DATADIR%%/html-dist/runtime.js
+%%DATADIR%%/html-dist/runtime.js.map
+%%DATADIR%%/html-dist/themes/dark.css
+%%DATADIR%%/html-dist/themes/dark_amoled.css
+%%DATADIR%%/html-dist/themes/darkpurple.css
+%%DATADIR%%/html-dist/themes/dev_minimal.css
+%%DATADIR%%/html-dist/themes/dev_rocket.css
+%%DATADIR%%/html-dist/themes/light.css
+%%DATADIR%%/html-dist/webxdc-preload.js
+%%DATADIR%%/html-dist/webxdc_wrapper.html
+%%DATADIR%%/html-dist/xdcs/maps.xdc
+%%DATADIR%%/icons/deltachat.svg
+%%DATADIR%%/index.js
+%%DATADIR%%/node_modules/@deltachat/calls-webapp/LICENSE
+%%DATADIR%%/node_modules/@deltachat/calls-webapp/README.md
+%%DATADIR%%/node_modules/@deltachat/calls-webapp/dist/index.html
+%%DATADIR%%/node_modules/@deltachat/calls-webapp/package.json
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/deltachat.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/deltachat.bundle.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/deltachat.cjs
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/deltachat.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/deltachat.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/deltachat.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/client.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/client.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/client.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/constants.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/constants.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/constants.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/jsonrpc.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/jsonrpc.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/jsonrpc.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/types.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/types.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/generated/types.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/client.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/client.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/client.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/lib.d.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/lib.js
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/dist/src/lib.js.map
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/generated/.gitkeep
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/generated/client.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/generated/constants.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/generated/jsonrpc.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/generated/types.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/package.json
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/src/client.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/src/lib.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/test/basic.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/test/online.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/test/test_base.ts
+%%DATADIR%%/node_modules/@deltachat/jsonrpc-client/tsconfig.json
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/README.md
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/index.d.ts
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/index.js
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/package.json
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/src/const.js
+%%DATADIR%%/node_modules/@deltachat/stdio-rpc-server/src/errors.js
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/LICENSE
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/README.md
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/dist/tinyemitter.js
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/dist/tinyemitter.min.js
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/index.d.ts
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/index.js
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/instance.js
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/package.json
+%%DATADIR%%/node_modules/@deltachat/tiny-emitter/test/index.js
+%%DATADIR%%/node_modules/@parcel/watcher/LICENSE
+%%DATADIR%%/node_modules/@parcel/watcher/README.md
+%%DATADIR%%/node_modules/@parcel/watcher/binding.gyp
+%%DATADIR%%/node_modules/@parcel/watcher/index.d.ts
+%%DATADIR%%/node_modules/@parcel/watcher/index.js
+%%DATADIR%%/node_modules/@parcel/watcher/index.js.flow
+%%DATADIR%%/node_modules/@parcel/watcher/package.json
+%%DATADIR%%/node_modules/@parcel/watcher/scripts/build-from-source.js
+%%DATADIR%%/node_modules/@parcel/watcher/src/Backend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/Backend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/Debounce.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/Debounce.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/DirTree.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/DirTree.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/Event.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/Glob.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/Glob.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/PromiseRunner.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/Signal.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/Watcher.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/Watcher.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/binding.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/linux/InotifyBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/linux/InotifyBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/macos/FSEventsBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/macos/FSEventsBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/shared/BruteForceBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/shared/BruteForceBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/unix/fts.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/unix/legacy.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/wasm/WasmBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/wasm/WasmBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/wasm/include.h
+%%DATADIR%%/node_modules/@parcel/watcher/src/watchman/BSER.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/watchman/BSER.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/watchman/IPC.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/windows/WindowsBackend.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/windows/WindowsBackend.hh
+%%DATADIR%%/node_modules/@parcel/watcher/src/windows/win_utils.cc
+%%DATADIR%%/node_modules/@parcel/watcher/src/windows/win_utils.hh
+%%DATADIR%%/node_modules/@parcel/watcher/wrapper.js
+%%DATADIR%%/node_modules/@types/node/LICENSE
+%%DATADIR%%/node_modules/@types/node/README.md
+%%DATADIR%%/node_modules/@types/node/assert.d.ts
+%%DATADIR%%/node_modules/@types/node/assert/strict.d.ts
+%%DATADIR%%/node_modules/@types/node/async_hooks.d.ts
+%%DATADIR%%/node_modules/@types/node/buffer.buffer.d.ts
+%%DATADIR%%/node_modules/@types/node/buffer.d.ts
+%%DATADIR%%/node_modules/@types/node/child_process.d.ts
+%%DATADIR%%/node_modules/@types/node/cluster.d.ts
+%%DATADIR%%/node_modules/@types/node/compatibility/disposable.d.ts
+%%DATADIR%%/node_modules/@types/node/compatibility/index.d.ts
+%%DATADIR%%/node_modules/@types/node/compatibility/indexable.d.ts
+%%DATADIR%%/node_modules/@types/node/compatibility/iterators.d.ts
+%%DATADIR%%/node_modules/@types/node/console.d.ts
+%%DATADIR%%/node_modules/@types/node/constants.d.ts
+%%DATADIR%%/node_modules/@types/node/crypto.d.ts
+%%DATADIR%%/node_modules/@types/node/dgram.d.ts
+%%DATADIR%%/node_modules/@types/node/diagnostics_channel.d.ts
+%%DATADIR%%/node_modules/@types/node/dns.d.ts
+%%DATADIR%%/node_modules/@types/node/dns/promises.d.ts
+%%DATADIR%%/node_modules/@types/node/dom-events.d.ts
+%%DATADIR%%/node_modules/@types/node/domain.d.ts
+%%DATADIR%%/node_modules/@types/node/events.d.ts
+%%DATADIR%%/node_modules/@types/node/fs.d.ts
+%%DATADIR%%/node_modules/@types/node/fs/promises.d.ts
+%%DATADIR%%/node_modules/@types/node/globals.d.ts
+%%DATADIR%%/node_modules/@types/node/globals.typedarray.d.ts
+%%DATADIR%%/node_modules/@types/node/http.d.ts
+%%DATADIR%%/node_modules/@types/node/http2.d.ts
+%%DATADIR%%/node_modules/@types/node/https.d.ts
+%%DATADIR%%/node_modules/@types/node/index.d.ts
+%%DATADIR%%/node_modules/@types/node/inspector.d.ts
+%%DATADIR%%/node_modules/@types/node/module.d.ts
+%%DATADIR%%/node_modules/@types/node/net.d.ts
+%%DATADIR%%/node_modules/@types/node/os.d.ts
+%%DATADIR%%/node_modules/@types/node/package.json
+%%DATADIR%%/node_modules/@types/node/path.d.ts
+%%DATADIR%%/node_modules/@types/node/perf_hooks.d.ts
+%%DATADIR%%/node_modules/@types/node/process.d.ts
+%%DATADIR%%/node_modules/@types/node/punycode.d.ts
+%%DATADIR%%/node_modules/@types/node/querystring.d.ts
+%%DATADIR%%/node_modules/@types/node/readline.d.ts
+%%DATADIR%%/node_modules/@types/node/readline/promises.d.ts
+%%DATADIR%%/node_modules/@types/node/repl.d.ts
+%%DATADIR%%/node_modules/@types/node/sea.d.ts
+%%DATADIR%%/node_modules/@types/node/stream.d.ts
+%%DATADIR%%/node_modules/@types/node/stream/consumers.d.ts
+%%DATADIR%%/node_modules/@types/node/stream/promises.d.ts
+%%DATADIR%%/node_modules/@types/node/stream/web.d.ts
+%%DATADIR%%/node_modules/@types/node/string_decoder.d.ts
+%%DATADIR%%/node_modules/@types/node/test.d.ts
+%%DATADIR%%/node_modules/@types/node/timers.d.ts
+%%DATADIR%%/node_modules/@types/node/timers/promises.d.ts
+%%DATADIR%%/node_modules/@types/node/tls.d.ts
+%%DATADIR%%/node_modules/@types/node/trace_events.d.ts
+%%DATADIR%%/node_modules/@types/node/ts5.6/buffer.buffer.d.ts
+%%DATADIR%%/node_modules/@types/node/ts5.6/globals.typedarray.d.ts
+%%DATADIR%%/node_modules/@types/node/ts5.6/index.d.ts
+%%DATADIR%%/node_modules/@types/node/tty.d.ts
+%%DATADIR%%/node_modules/@types/node/url.d.ts
+%%DATADIR%%/node_modules/@types/node/util.d.ts
+%%DATADIR%%/node_modules/@types/node/v8.d.ts
+%%DATADIR%%/node_modules/@types/node/vm.d.ts
+%%DATADIR%%/node_modules/@types/node/wasi.d.ts
+%%DATADIR%%/node_modules/@types/node/worker_threads.d.ts
+%%DATADIR%%/node_modules/@types/node/zlib.d.ts
+%%DATADIR%%/node_modules/@types/ws/LICENSE
+%%DATADIR%%/node_modules/@types/ws/README.md
+%%DATADIR%%/node_modules/@types/ws/index.d.mts
+%%DATADIR%%/node_modules/@types/ws/index.d.ts
+%%DATADIR%%/node_modules/@types/ws/package.json
+%%DATADIR%%/node_modules/braces/LICENSE
+%%DATADIR%%/node_modules/braces/README.md
+%%DATADIR%%/node_modules/braces/index.js
+%%DATADIR%%/node_modules/braces/lib/compile.js
+%%DATADIR%%/node_modules/braces/lib/constants.js
+%%DATADIR%%/node_modules/braces/lib/expand.js
+%%DATADIR%%/node_modules/braces/lib/parse.js
+%%DATADIR%%/node_modules/braces/lib/stringify.js
+%%DATADIR%%/node_modules/braces/lib/utils.js
+%%DATADIR%%/node_modules/braces/package.json
+%%DATADIR%%/node_modules/chokidar/LICENSE
+%%DATADIR%%/node_modules/chokidar/README.md
+%%DATADIR%%/node_modules/chokidar/esm/handler.d.ts
+%%DATADIR%%/node_modules/chokidar/esm/handler.js
+%%DATADIR%%/node_modules/chokidar/esm/index.d.ts
+%%DATADIR%%/node_modules/chokidar/esm/index.js
+%%DATADIR%%/node_modules/chokidar/esm/package.json
+%%DATADIR%%/node_modules/chokidar/handler.d.ts
+%%DATADIR%%/node_modules/chokidar/handler.js
+%%DATADIR%%/node_modules/chokidar/index.d.ts
+%%DATADIR%%/node_modules/chokidar/index.js
+%%DATADIR%%/node_modules/chokidar/package.json
+%%DATADIR%%/node_modules/detect-libc/.npmignore
+%%DATADIR%%/node_modules/detect-libc/LICENSE
+%%DATADIR%%/node_modules/detect-libc/README.md
+%%DATADIR%%/node_modules/detect-libc/bin/detect-libc.js
+%%DATADIR%%/node_modules/detect-libc/lib/detect-libc.js
+%%DATADIR%%/node_modules/detect-libc/package.json
+%%DATADIR%%/node_modules/fill-range/LICENSE
+%%DATADIR%%/node_modules/fill-range/README.md
+%%DATADIR%%/node_modules/fill-range/index.js
+%%DATADIR%%/node_modules/fill-range/package.json
+%%DATADIR%%/node_modules/immutable/LICENSE
+%%DATADIR%%/node_modules/immutable/README.md
+%%DATADIR%%/node_modules/immutable/dist/immutable.d.ts
+%%DATADIR%%/node_modules/immutable/dist/immutable.es.js
+%%DATADIR%%/node_modules/immutable/dist/immutable.js
+%%DATADIR%%/node_modules/immutable/dist/immutable.js.flow
+%%DATADIR%%/node_modules/immutable/dist/immutable.min.js
+%%DATADIR%%/node_modules/immutable/package.json
+%%DATADIR%%/node_modules/is-extglob/LICENSE
+%%DATADIR%%/node_modules/is-extglob/README.md
+%%DATADIR%%/node_modules/is-extglob/index.js
+%%DATADIR%%/node_modules/is-extglob/package.json
+%%DATADIR%%/node_modules/is-glob/LICENSE
+%%DATADIR%%/node_modules/is-glob/README.md
+%%DATADIR%%/node_modules/is-glob/index.js
+%%DATADIR%%/node_modules/is-glob/package.json
+%%DATADIR%%/node_modules/is-number/LICENSE
+%%DATADIR%%/node_modules/is-number/README.md
+%%DATADIR%%/node_modules/is-number/index.js
+%%DATADIR%%/node_modules/is-number/package.json
+%%DATADIR%%/node_modules/isomorphic-ws/LICENSE
+%%DATADIR%%/node_modules/isomorphic-ws/README.md
+%%DATADIR%%/node_modules/isomorphic-ws/browser.js
+%%DATADIR%%/node_modules/isomorphic-ws/index.d.ts
+%%DATADIR%%/node_modules/isomorphic-ws/node.js
+%%DATADIR%%/node_modules/isomorphic-ws/package.json
+%%DATADIR%%/node_modules/micromatch/LICENSE
+%%DATADIR%%/node_modules/micromatch/README.md
+%%DATADIR%%/node_modules/micromatch/index.js
+%%DATADIR%%/node_modules/micromatch/package.json
+%%DATADIR%%/node_modules/mime-db/HISTORY.md
+%%DATADIR%%/node_modules/mime-db/LICENSE
+%%DATADIR%%/node_modules/mime-db/README.md
+%%DATADIR%%/node_modules/mime-db/db.json
+%%DATADIR%%/node_modules/mime-db/index.js
+%%DATADIR%%/node_modules/mime-db/package.json
+%%DATADIR%%/node_modules/mime-types/HISTORY.md
+%%DATADIR%%/node_modules/mime-types/LICENSE
+%%DATADIR%%/node_modules/mime-types/README.md
+%%DATADIR%%/node_modules/mime-types/index.js
+%%DATADIR%%/node_modules/mime-types/package.json
+%%DATADIR%%/node_modules/node-addon-api/LICENSE.md
+%%DATADIR%%/node_modules/node-addon-api/README.md
+%%DATADIR%%/node_modules/node-addon-api/common.gypi
+%%DATADIR%%/node_modules/node-addon-api/except.gypi
+%%DATADIR%%/node_modules/node-addon-api/index.js
+%%DATADIR%%/node_modules/node-addon-api/napi-inl.deprecated.h
+%%DATADIR%%/node_modules/node-addon-api/napi-inl.h
+%%DATADIR%%/node_modules/node-addon-api/napi.h
+%%DATADIR%%/node_modules/node-addon-api/node_addon_api.gyp
+%%DATADIR%%/node_modules/node-addon-api/node_api.gyp
+%%DATADIR%%/node_modules/node-addon-api/noexcept.gypi
+%%DATADIR%%/node_modules/node-addon-api/nothing.c
+%%DATADIR%%/node_modules/node-addon-api/package-support.json
+%%DATADIR%%/node_modules/node-addon-api/package.json
+%%DATADIR%%/node_modules/node-addon-api/tools/README.md
+%%DATADIR%%/node_modules/node-addon-api/tools/check-napi.js
+%%DATADIR%%/node_modules/node-addon-api/tools/clang-format.js
+%%DATADIR%%/node_modules/node-addon-api/tools/conversion.js
+%%DATADIR%%/node_modules/node-addon-api/tools/eslint-format.js
+%%DATADIR%%/node_modules/picomatch/CHANGELOG.md
+%%DATADIR%%/node_modules/picomatch/LICENSE
+%%DATADIR%%/node_modules/picomatch/README.md
+%%DATADIR%%/node_modules/picomatch/index.js
+%%DATADIR%%/node_modules/picomatch/lib/constants.js
+%%DATADIR%%/node_modules/picomatch/lib/parse.js
+%%DATADIR%%/node_modules/picomatch/lib/picomatch.js
+%%DATADIR%%/node_modules/picomatch/lib/scan.js
+%%DATADIR%%/node_modules/picomatch/lib/utils.js
+%%DATADIR%%/node_modules/picomatch/package.json
+%%DATADIR%%/node_modules/preact/LICENSE
+%%DATADIR%%/node_modules/preact/README.md
+%%DATADIR%%/node_modules/preact/compat/client.d.ts
+%%DATADIR%%/node_modules/preact/compat/client.js
+%%DATADIR%%/node_modules/preact/compat/client.mjs
+%%DATADIR%%/node_modules/preact/compat/dist/compat.js
+%%DATADIR%%/node_modules/preact/compat/dist/compat.js.map
+%%DATADIR%%/node_modules/preact/compat/dist/compat.mjs
+%%DATADIR%%/node_modules/preact/compat/dist/compat.module.js
+%%DATADIR%%/node_modules/preact/compat/dist/compat.module.js.map
+%%DATADIR%%/node_modules/preact/compat/dist/compat.umd.js
+%%DATADIR%%/node_modules/preact/compat/dist/compat.umd.js.map
+%%DATADIR%%/node_modules/preact/compat/jsx-dev-runtime.js
+%%DATADIR%%/node_modules/preact/compat/jsx-dev-runtime.mjs
+%%DATADIR%%/node_modules/preact/compat/jsx-runtime.js
+%%DATADIR%%/node_modules/preact/compat/jsx-runtime.mjs
+%%DATADIR%%/node_modules/preact/compat/package.json
+%%DATADIR%%/node_modules/preact/compat/scheduler.js
+%%DATADIR%%/node_modules/preact/compat/scheduler.mjs
+%%DATADIR%%/node_modules/preact/compat/server.browser.js
+%%DATADIR%%/node_modules/preact/compat/server.js
+%%DATADIR%%/node_modules/preact/compat/server.mjs
+%%DATADIR%%/node_modules/preact/compat/src/Children.js
+%%DATADIR%%/node_modules/preact/compat/src/PureComponent.js
+%%DATADIR%%/node_modules/preact/compat/src/forwardRef.js
+%%DATADIR%%/node_modules/preact/compat/src/hooks.js
+%%DATADIR%%/node_modules/preact/compat/src/index.d.ts
+%%DATADIR%%/node_modules/preact/compat/src/index.js
+%%DATADIR%%/node_modules/preact/compat/src/internal.d.ts
+%%DATADIR%%/node_modules/preact/compat/src/memo.js
+%%DATADIR%%/node_modules/preact/compat/src/portals.js
+%%DATADIR%%/node_modules/preact/compat/src/render.js
+%%DATADIR%%/node_modules/preact/compat/src/suspense-list.d.ts
+%%DATADIR%%/node_modules/preact/compat/src/suspense-list.js
+%%DATADIR%%/node_modules/preact/compat/src/suspense.d.ts
+%%DATADIR%%/node_modules/preact/compat/src/suspense.js
+%%DATADIR%%/node_modules/preact/compat/src/util.js
+%%DATADIR%%/node_modules/preact/compat/test-utils.js
+%%DATADIR%%/node_modules/preact/compat/test-utils.mjs
+%%DATADIR%%/node_modules/preact/debug/dist/debug.js
+%%DATADIR%%/node_modules/preact/debug/dist/debug.js.map
+%%DATADIR%%/node_modules/preact/debug/dist/debug.mjs
+%%DATADIR%%/node_modules/preact/debug/dist/debug.module.js
+%%DATADIR%%/node_modules/preact/debug/dist/debug.module.js.map
+%%DATADIR%%/node_modules/preact/debug/dist/debug.umd.js
+%%DATADIR%%/node_modules/preact/debug/dist/debug.umd.js.map
+%%DATADIR%%/node_modules/preact/debug/package.json
+%%DATADIR%%/node_modules/preact/debug/src/check-props.js
+%%DATADIR%%/node_modules/preact/debug/src/component-stack.js
+%%DATADIR%%/node_modules/preact/debug/src/constants.js
+%%DATADIR%%/node_modules/preact/debug/src/debug.js
+%%DATADIR%%/node_modules/preact/debug/src/index.d.ts
+%%DATADIR%%/node_modules/preact/debug/src/index.js
+%%DATADIR%%/node_modules/preact/debug/src/internal.d.ts
+%%DATADIR%%/node_modules/preact/debug/src/util.js
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.js
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.js.map
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.mjs
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.module.js
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.module.js.map
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.umd.js
+%%DATADIR%%/node_modules/preact/devtools/dist/devtools.umd.js.map
+%%DATADIR%%/node_modules/preact/devtools/package.json
+%%DATADIR%%/node_modules/preact/devtools/src/devtools.js
+%%DATADIR%%/node_modules/preact/devtools/src/index.d.ts
+%%DATADIR%%/node_modules/preact/devtools/src/index.js
+%%DATADIR%%/node_modules/preact/dist/preact.js
+%%DATADIR%%/node_modules/preact/dist/preact.js.map
+%%DATADIR%%/node_modules/preact/dist/preact.min.js
+%%DATADIR%%/node_modules/preact/dist/preact.min.js.map
+%%DATADIR%%/node_modules/preact/dist/preact.min.module.js
+%%DATADIR%%/node_modules/preact/dist/preact.min.module.js.map
+%%DATADIR%%/node_modules/preact/dist/preact.min.umd.js
+%%DATADIR%%/node_modules/preact/dist/preact.min.umd.js.map
+%%DATADIR%%/node_modules/preact/dist/preact.mjs
+%%DATADIR%%/node_modules/preact/dist/preact.module.js
+%%DATADIR%%/node_modules/preact/dist/preact.module.js.map
+%%DATADIR%%/node_modules/preact/dist/preact.umd.js
+%%DATADIR%%/node_modules/preact/dist/preact.umd.js.map
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.js
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.js.map
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.mjs
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.module.js
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.module.js.map
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.umd.js
+%%DATADIR%%/node_modules/preact/hooks/dist/hooks.umd.js.map
+%%DATADIR%%/node_modules/preact/hooks/package.json
+%%DATADIR%%/node_modules/preact/hooks/src/index.d.ts
+%%DATADIR%%/node_modules/preact/hooks/src/index.js
+%%DATADIR%%/node_modules/preact/hooks/src/internal.d.ts
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.js
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js
+%%DATADIR%%/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map
+%%DATADIR%%/node_modules/preact/jsx-runtime/package.json
+%%DATADIR%%/node_modules/preact/jsx-runtime/src/index.d.ts
+%%DATADIR%%/node_modules/preact/jsx-runtime/src/index.js
+%%DATADIR%%/node_modules/preact/jsx-runtime/src/utils.js
+%%DATADIR%%/node_modules/preact/package.json
+%%DATADIR%%/node_modules/preact/src/cjs.js
+%%DATADIR%%/node_modules/preact/src/clone-element.js
+%%DATADIR%%/node_modules/preact/src/component.js
+%%DATADIR%%/node_modules/preact/src/constants.js
+%%DATADIR%%/node_modules/preact/src/create-context.js
+%%DATADIR%%/node_modules/preact/src/create-element.js
+%%DATADIR%%/node_modules/preact/src/diff/catch-error.js
+%%DATADIR%%/node_modules/preact/src/diff/children.js
+%%DATADIR%%/node_modules/preact/src/diff/index.js
+%%DATADIR%%/node_modules/preact/src/diff/props.js
+%%DATADIR%%/node_modules/preact/src/dom.d.ts
+%%DATADIR%%/node_modules/preact/src/index-5.d.ts
+%%DATADIR%%/node_modules/preact/src/index.d.ts
+%%DATADIR%%/node_modules/preact/src/index.js
+%%DATADIR%%/node_modules/preact/src/internal.d.ts
+%%DATADIR%%/node_modules/preact/src/jsx.d.ts
+%%DATADIR%%/node_modules/preact/src/options.js
+%%DATADIR%%/node_modules/preact/src/render.js
+%%DATADIR%%/node_modules/preact/src/util.js
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.js
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.js.map
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.mjs
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.module.js
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.module.js.map
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.umd.js
+%%DATADIR%%/node_modules/preact/test-utils/dist/testUtils.umd.js.map
+%%DATADIR%%/node_modules/preact/test-utils/package.json
+%%DATADIR%%/node_modules/preact/test-utils/src/index.d.ts
+%%DATADIR%%/node_modules/preact/test-utils/src/index.js
+%%DATADIR%%/node_modules/readdirp/LICENSE
+%%DATADIR%%/node_modules/readdirp/README.md
+%%DATADIR%%/node_modules/readdirp/esm/index.d.ts
+%%DATADIR%%/node_modules/readdirp/esm/index.js
+%%DATADIR%%/node_modules/readdirp/esm/package.json
+%%DATADIR%%/node_modules/readdirp/index.d.ts
+%%DATADIR%%/node_modules/readdirp/index.js
+%%DATADIR%%/node_modules/readdirp/package.json
+%%DATADIR%%/node_modules/sass/LICENSE
+%%DATADIR%%/node_modules/sass/README.md
+%%DATADIR%%/node_modules/sass/package.json
+%%DATADIR%%/node_modules/sass/sass.dart.js
+%%DATADIR%%/node_modules/sass/sass.default.cjs
+%%DATADIR%%/node_modules/sass/sass.default.js
+%%DATADIR%%/node_modules/sass/sass.js
+%%DATADIR%%/node_modules/sass/sass.node.js
+%%DATADIR%%/node_modules/sass/sass.node.mjs
+%%DATADIR%%/node_modules/sass/types/compile.d.ts
+%%DATADIR%%/node_modules/sass/types/deprecations.d.ts
+%%DATADIR%%/node_modules/sass/types/exception.d.ts
+%%DATADIR%%/node_modules/sass/types/importer.d.ts
+%%DATADIR%%/node_modules/sass/types/index.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/exception.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/function.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/importer.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/options.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/plugin_this.d.ts
+%%DATADIR%%/node_modules/sass/types/legacy/render.d.ts
+%%DATADIR%%/node_modules/sass/types/logger/index.d.ts
+%%DATADIR%%/node_modules/sass/types/logger/source_location.d.ts
+%%DATADIR%%/node_modules/sass/types/logger/source_span.d.ts
+%%DATADIR%%/node_modules/sass/types/options.d.ts
+%%DATADIR%%/node_modules/sass/types/util/promise_or.d.ts
+%%DATADIR%%/node_modules/sass/types/value/argument_list.d.ts
+%%DATADIR%%/node_modules/sass/types/value/boolean.d.ts
+%%DATADIR%%/node_modules/sass/types/value/calculation.d.ts
+%%DATADIR%%/node_modules/sass/types/value/color.d.ts
+%%DATADIR%%/node_modules/sass/types/value/function.d.ts
+%%DATADIR%%/node_modules/sass/types/value/index.d.ts
+%%DATADIR%%/node_modules/sass/types/value/list.d.ts
+%%DATADIR%%/node_modules/sass/types/value/map.d.ts
+%%DATADIR%%/node_modules/sass/types/value/mixin.d.ts
+%%DATADIR%%/node_modules/sass/types/value/number.d.ts
+%%DATADIR%%/node_modules/sass/types/value/string.d.ts
+%%DATADIR%%/node_modules/source-map-js/LICENSE
+%%DATADIR%%/node_modules/source-map-js/README.md
+%%DATADIR%%/node_modules/source-map-js/lib/array-set.js
+%%DATADIR%%/node_modules/source-map-js/lib/base64-vlq.js
+%%DATADIR%%/node_modules/source-map-js/lib/base64.js
+%%DATADIR%%/node_modules/source-map-js/lib/binary-search.js
+%%DATADIR%%/node_modules/source-map-js/lib/mapping-list.js
+%%DATADIR%%/node_modules/source-map-js/lib/quick-sort.js
+%%DATADIR%%/node_modules/source-map-js/lib/source-map-consumer.js
+%%DATADIR%%/node_modules/source-map-js/lib/source-map-generator.js
+%%DATADIR%%/node_modules/source-map-js/lib/source-node.js
+%%DATADIR%%/node_modules/source-map-js/lib/util.js
+%%DATADIR%%/node_modules/source-map-js/package.json
+%%DATADIR%%/node_modules/source-map-js/source-map.d.ts
+%%DATADIR%%/node_modules/source-map-js/source-map.js
+%%DATADIR%%/node_modules/to-regex-range/LICENSE
+%%DATADIR%%/node_modules/to-regex-range/README.md
+%%DATADIR%%/node_modules/to-regex-range/index.js
+%%DATADIR%%/node_modules/to-regex-range/package.json
+%%DATADIR%%/node_modules/typescript/LICENSE.txt
+%%DATADIR%%/node_modules/typescript/README.md
+%%DATADIR%%/node_modules/typescript/SECURITY.md
+%%DATADIR%%/node_modules/typescript/ThirdPartyNoticeText.txt
+%%DATADIR%%/node_modules/typescript/bin/tsc
+%%DATADIR%%/node_modules/typescript/bin/tsserver
+%%DATADIR%%/node_modules/typescript/lib/README.md
+%%DATADIR%%/node_modules/typescript/lib/cancellationToken.js
+%%DATADIR%%/node_modules/typescript/lib/cs/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/de/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/dynamicImportCompat.js
+%%DATADIR%%/node_modules/typescript/lib/es/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/fr/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/it/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/ja/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/ko/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/lib.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.dom.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.dom.iterable.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.collection.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.core.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.generator.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.iterable.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.promise.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.proxy.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.reflect.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.symbol.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2016.array.include.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2016.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2016.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.object.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.promise.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2018.regexp.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.array.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.object.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2019.symbol.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.bigint.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.date.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.number.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.promise.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.promise.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2021.weakref.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.array.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.error.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.object.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es2022.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es5.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.es6.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.full.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.intl.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.promise.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.string.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.esnext.weakref.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.scripthost.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.webworker.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.webworker.importscripts.d.ts
+%%DATADIR%%/node_modules/typescript/lib/lib.webworker.iterable.d.ts
+%%DATADIR%%/node_modules/typescript/lib/pl/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/protocol.d.ts
+%%DATADIR%%/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/ru/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/tr/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/tsc.js
+%%DATADIR%%/node_modules/typescript/lib/tsserver.js
+%%DATADIR%%/node_modules/typescript/lib/tsserverlibrary.d.ts
+%%DATADIR%%/node_modules/typescript/lib/tsserverlibrary.js
+%%DATADIR%%/node_modules/typescript/lib/typesMap.json
+%%DATADIR%%/node_modules/typescript/lib/typescript.d.ts
+%%DATADIR%%/node_modules/typescript/lib/typescript.js
+%%DATADIR%%/node_modules/typescript/lib/typescriptServices.d.ts
+%%DATADIR%%/node_modules/typescript/lib/typescriptServices.js
+%%DATADIR%%/node_modules/typescript/lib/typingsInstaller.js
+%%DATADIR%%/node_modules/typescript/lib/watchGuard.js
+%%DATADIR%%/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json
+%%DATADIR%%/node_modules/typescript/package.json
+%%DATADIR%%/node_modules/undici-types/LICENSE
+%%DATADIR%%/node_modules/undici-types/README.md
+%%DATADIR%%/node_modules/undici-types/agent.d.ts
+%%DATADIR%%/node_modules/undici-types/api.d.ts
+%%DATADIR%%/node_modules/undici-types/balanced-pool.d.ts
+%%DATADIR%%/node_modules/undici-types/cache.d.ts
+%%DATADIR%%/node_modules/undici-types/client.d.ts
+%%DATADIR%%/node_modules/undici-types/connector.d.ts
+%%DATADIR%%/node_modules/undici-types/content-type.d.ts
+%%DATADIR%%/node_modules/undici-types/cookies.d.ts
+%%DATADIR%%/node_modules/undici-types/diagnostics-channel.d.ts
+%%DATADIR%%/node_modules/undici-types/dispatcher.d.ts
+%%DATADIR%%/node_modules/undici-types/env-http-proxy-agent.d.ts
+%%DATADIR%%/node_modules/undici-types/errors.d.ts
+%%DATADIR%%/node_modules/undici-types/eventsource.d.ts
+%%DATADIR%%/node_modules/undici-types/fetch.d.ts
+%%DATADIR%%/node_modules/undici-types/file.d.ts
+%%DATADIR%%/node_modules/undici-types/filereader.d.ts
+%%DATADIR%%/node_modules/undici-types/formdata.d.ts
+%%DATADIR%%/node_modules/undici-types/global-dispatcher.d.ts
+%%DATADIR%%/node_modules/undici-types/global-origin.d.ts
+%%DATADIR%%/node_modules/undici-types/handlers.d.ts
+%%DATADIR%%/node_modules/undici-types/header.d.ts
+%%DATADIR%%/node_modules/undici-types/index.d.ts
+%%DATADIR%%/node_modules/undici-types/interceptors.d.ts
+%%DATADIR%%/node_modules/undici-types/mock-agent.d.ts
+%%DATADIR%%/node_modules/undici-types/mock-client.d.ts
+%%DATADIR%%/node_modules/undici-types/mock-errors.d.ts
+%%DATADIR%%/node_modules/undici-types/mock-interceptor.d.ts
+%%DATADIR%%/node_modules/undici-types/mock-pool.d.ts
+%%DATADIR%%/node_modules/undici-types/package.json
+%%DATADIR%%/node_modules/undici-types/patch.d.ts
+%%DATADIR%%/node_modules/undici-types/pool-stats.d.ts
+%%DATADIR%%/node_modules/undici-types/pool.d.ts
+%%DATADIR%%/node_modules/undici-types/proxy-agent.d.ts
+%%DATADIR%%/node_modules/undici-types/readable.d.ts
+%%DATADIR%%/node_modules/undici-types/retry-agent.d.ts
+%%DATADIR%%/node_modules/undici-types/retry-handler.d.ts
+%%DATADIR%%/node_modules/undici-types/util.d.ts
+%%DATADIR%%/node_modules/undici-types/webidl.d.ts
+%%DATADIR%%/node_modules/undici-types/websocket.d.ts
+%%DATADIR%%/node_modules/ws/LICENSE
+%%DATADIR%%/node_modules/ws/README.md
+%%DATADIR%%/node_modules/ws/browser.js
+%%DATADIR%%/node_modules/ws/index.js
+%%DATADIR%%/node_modules/ws/lib/buffer-util.js
+%%DATADIR%%/node_modules/ws/lib/constants.js
+%%DATADIR%%/node_modules/ws/lib/event-target.js
+%%DATADIR%%/node_modules/ws/lib/extension.js
+%%DATADIR%%/node_modules/ws/lib/limiter.js
+%%DATADIR%%/node_modules/ws/lib/permessage-deflate.js
+%%DATADIR%%/node_modules/ws/lib/receiver.js
+%%DATADIR%%/node_modules/ws/lib/sender.js
+%%DATADIR%%/node_modules/ws/lib/stream.js
+%%DATADIR%%/node_modules/ws/lib/subprotocol.js
+%%DATADIR%%/node_modules/ws/lib/validation.js
+%%DATADIR%%/node_modules/ws/lib/websocket-server.js
+%%DATADIR%%/node_modules/ws/lib/websocket.js
+%%DATADIR%%/node_modules/ws/package.json
+%%DATADIR%%/node_modules/ws/wrapper.mjs
+%%DATADIR%%/node_modules/yerpc/README.md
+%%DATADIR%%/node_modules/yerpc/client.ts
+%%DATADIR%%/node_modules/yerpc/dist/client.d.ts
+%%DATADIR%%/node_modules/yerpc/dist/client.js
+%%DATADIR%%/node_modules/yerpc/dist/client.js.map
+%%DATADIR%%/node_modules/yerpc/dist/index.cjs
+%%DATADIR%%/node_modules/yerpc/dist/index.d.ts
+%%DATADIR%%/node_modules/yerpc/dist/index.js
+%%DATADIR%%/node_modules/yerpc/dist/index.js.map
+%%DATADIR%%/node_modules/yerpc/dist/jsonrpc.d.ts
+%%DATADIR%%/node_modules/yerpc/dist/jsonrpc.js
+%%DATADIR%%/node_modules/yerpc/dist/jsonrpc.js.map
+%%DATADIR%%/node_modules/yerpc/dist/util/emitter.d.ts
+%%DATADIR%%/node_modules/yerpc/dist/util/emitter.js
+%%DATADIR%%/node_modules/yerpc/dist/util/emitter.js.map
+%%DATADIR%%/node_modules/yerpc/dist/websocket.d.ts
+%%DATADIR%%/node_modules/yerpc/dist/websocket.js
+%%DATADIR%%/node_modules/yerpc/dist/websocket.js.map
+%%DATADIR%%/node_modules/yerpc/index.ts
+%%DATADIR%%/node_modules/yerpc/jsonrpc.ts
+%%DATADIR%%/node_modules/yerpc/package.json
+%%DATADIR%%/node_modules/yerpc/tsconfig.json
+%%DATADIR%%/node_modules/yerpc/util/emitter.ts
+%%DATADIR%%/node_modules/yerpc/websocket.ts
+%%DATADIR%%/package.json
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-android-arm
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-android-arm64
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-darwin-arm64
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-darwin-x64
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-linux-arm
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-linux-arm64
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-linux-ia32
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-linux-x64
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-win32-ia32
+@dir %%DATADIR%%/node_modules/@deltachat/stdio-rpc-server-win32-x64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-android-arm64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-darwin-arm64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-darwin-x64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-freebsd-x64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-arm-glibc
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-arm-musl
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-arm64-glibc
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-arm64-musl
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-x64-glibc
+@dir %%DATADIR%%/node_modules/@parcel/watcher-linux-x64-musl
+@dir %%DATADIR%%/node_modules/@parcel/watcher-win32-arm64
+@dir %%DATADIR%%/node_modules/@parcel/watcher-win32-ia32
+@dir %%DATADIR%%/node_modules/@parcel/watcher-win32-x64
diff --git a/net-im/deltachat-desktop/scripts/make_node_tarball.sh b/net-im/deltachat-desktop/scripts/make_node_tarball.sh
new file mode 100755
index 000000000000..fc63cc4fb389
--- /dev/null
+++ b/net-im/deltachat-desktop/scripts/make_node_tarball.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+# Script for assembling the node dependencies required for FreeBSD packaging
+#
+# This is what I run to get the node_modules dirs needed to build the port
+#
+# Clone the https://github.com/deltachat/deltachat-desktop repo
+# Then start with something like the following:
+# git checkout -b v2.22.0 tags/v2.22.0
+#
+# Finally you can run this script.
+#
+# Requirements: electron37, node, npm, deltachat-rpc-server
+
+set -eu
+
+VERSION=$(git branch --show-current)
+
+export ELECTRON_OVERRIDE_DIST_PATH=/usr/local/share/electron37
+export ELECTRON_SKIP_BINARY_DOWNLOAD=1
+
+# Cleanup
+rm -rf node_modules pnpm packages/target-electron/node_modules deltachat-desktop-2.15.0-node-deps.tgz
+git reset --hard
+
+# Install pnpm in temp dir to avoid package.json parsing issues
+# It would throw an error on the "catalog:"
+CWD=$(pwd)
+TMP=$(mktemp -d)
+cd $TMP
+npm i pnpm
+mv node_modules $CWD
+cd $CWD
+rm -r $TMP
+
+# Install all dependencies
+echo "Installing dependencies..."
+pnpm install
+
+# Build workspace packages that have build steps
+echo "Building workspace packages..."
+# shared and runtime are just TypeScript source, no build needed
+pnpm --filter @deltachat-desktop/frontend build
+
+# Test the main build to ensure everything works
+echo "Testing main build..."
+cd packages/target-electron
+pnpm build
+cd ../..
+
+echo "Build test successful! All dependencies are working."
+
+# Remove platform-specific modules/binaries we don't need for FreeBSD
+# TODO: there are possibly more that could be excluded
+echo "Cleaning platform-specific binaries..."
+rm -rf node_modules/.pnpm/*linux*
+rm -rf node_modules/.pnpm/*darwin*
+rm -rf node_modules/.pnpm/*win32*
+rm -rf node_modules/.pnpm/*android*
+rm -rf node_modules/.pnpm/@tauri-apps*
+rm -rf node_modules/.pnpm/app-builder*
+
+# Remove duplicates which will make it harder to select the right path by
+# globbing in Makefile during packaging
+find node_modules/.pnpm -name "@deltachat+stdio-rpc-server@*" -type d | tail -n+2 | xargs rm -r
+
+echo "Creating tarball..."
+tar -czvpf deltachat-desktop-${VERSION}-node-deps.tgz \
+ node_modules \
+ packages/target-electron/node_modules \
+ packages/frontend/node_modules \
+ packages/runtime/node_modules \
+ packages/shared/node_modules
+
+echo ""
+echo "Tarball created successfully!"
+echo "You can now upload this distfile"