name='discord-electron' version='0.0.22' release='1' desc='Discord (popular voice + video app) using the system provided electron for increased security and performance' homepage='homepage=''https://discord.com/' architectures=('amd64') license=('custom') provides=('discord') conflicts=('discord') deps=('libXScrnSaver' 'xdg-utils') build_deps=('npm') sources=("https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz") checksums=('SKIP') prepare() { sed -i "s|@PKGNAME@|discord|;s|@ELECTRON@|${_electron}|" "${scriptdir}/discord-launcher.sh" sed -i "s|Exec=.*|Exec=/usr/bin/discord|" Discord/discord.desktop mkdir ~/.npm cd ~/.npm npm install --engine-strict asar npm install electron --save-dev } package() { install -d "${pkgdir}/usr/lib/discord" #HACKS FOR SYSTEM ELECTRON ~/.npm/node_modules/asar/bin/asar.js e Discord/resources/app.asar Discord/resources/app rm Discord/resources/app.asar sed -i "s|process.resourcesPath|'/usr/lib/discord'|" Discord/resources/app/app_bootstrap/buildInfo.js sed -i "s|exeDir,|'/usr/share/pixmaps',|" Discord/resources/app/app_bootstrap/autoStart/linux.js sed -i "s#^module\.paths.*;#module.paths = [(process.env.XDG_CONFIG_HOME || (process.env.HOME + \"/.config\")) + \"/discord/${version}/modules\"];#" Discord/resources/app/app_bootstrap/requireNative.js ~/.npm/node_modules/asar/bin/asar.js p Discord/resources/app Discord/resources/app.asar --unpack-dir '**' rm -rf Discord/resources/app # Copy Relevanat data cp -r "${srcdir}/Discord/resources/*" "${pkgdir}/usr/lib/discord/" install -d "${pkgdir}"/usr/{bin,share/{pixmaps,applications}} install -Dm 755 "${scriptdir}/discord-launcher.sh" "${pkgdir}/usr/bin/discord" cp "${srcdir}/Discord/discord.png" "${pkgdir}/usr/share/pixmaps/discord.png" cp "${srcdir}/Discord/discord.desktop" "${pkgdir}/usr/share/applications/discord.desktop" # Licenses install -Dm 644 "${scriptdir}/LICENSE.html" "${pkgdir}/usr/share/licenses/${name}/LICENSE.html" install -Dm 644 "${scriptdir}/OSS-LICENSES.html" "${pkgdir}/usr/share/licenses/${name}/OSS-LICENSES.html" }