Date: Tuesday, March 19, 2019 @ 11:11:08 Author: tensor5 Revision: 442652
archrelease: copy trunk to community-staging-any Added: caprine/repos/community-staging-any/ caprine/repos/community-staging-any/PKGBUILD (from rev 442650, caprine/trunk/PKGBUILD) caprine/repos/community-staging-any/caprine.desktop (from rev 442650, caprine/trunk/caprine.desktop) caprine/repos/community-staging-any/caprine.js (from rev 442651, caprine/trunk/caprine.js) -----------------+ PKGBUILD | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ caprine.desktop | 9 +++++++ caprine.js | 29 +++++++++++++++++++++++++ 3 files changed, 99 insertions(+) Copied: caprine/repos/community-staging-any/PKGBUILD (from rev 442650, caprine/trunk/PKGBUILD) =================================================================== --- community-staging-any/PKGBUILD (rev 0) +++ community-staging-any/PKGBUILD 2019-03-19 11:11:08 UTC (rev 442652) @@ -0,0 +1,61 @@ +# Maintainer: Nicola Squartini <tens...@gmail.com> + +pkgname=caprine +pkgver=2.30.1 +pkgrel=1 +pkgdesc='Unofficial Facebook Messenger app' +arch=('any') +url='https://github.com/sindresorhus/caprine' +license=('MIT') +depends=('electron') +makedepends=('npm') +source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz" + 'caprine.desktop' + 'caprine.js') +sha256sums=('7ba88f5c2b740da95191edea6f548f32b7acd49a287987105782c21972aeff4e' + 'ddb693c06b0d4adf41c799fd4d97c2d9c106669034f69f7af53a63cc45911a97' + '76bc862279afe9250554b8b6cdafde529648285e72b6a88d75403ef6b29c571c') + +build() { + cd ${pkgname}-${pkgver} + + npm install --ignore-scripts + npx tsc + rm -r node_modules + npm install --ignore-scripts --production +} + +package() { + cd ${pkgname}-${pkgver} + + appdir=/usr/lib/${pkgname} + + install -d "${pkgdir}"${appdir} + cp -r * "${pkgdir}"${appdir} + + install -dm755 "${pkgdir}"/usr/share/icons/hicolor/scalable/apps + mv "${pkgdir}"${appdir}/media/Icon.svg \ + "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/${pkgname}.svg + + install -Dm755 "${srcdir}"/${pkgname}.js "${pkgdir}"/usr/bin/${pkgname} + install -Dm644 "${srcdir}"/${pkgname}.desktop \ + "${pkgdir}"/usr/share/applications/${pkgname}.desktop + + install -dm755 "${pkgdir}"/usr/share/licenses/${pkgname} + ln -s $(realpath -m --relative-to=/usr/share/licenses/${pkgname} ${appdir}/license) \ + "${pkgdir}"/usr/share/licenses/${pkgname} + + # Clean up + rm -r "${pkgdir}"${appdir}/{build,source,tsconfig.json} + find "${pkgdir}"${appdir} \ + -name "package.json" \ + -exec sed -e "s|${srcdir}/${pkgname}-${pkgver}|${appdir}|" \ + -i {} \; \ + -or -name ".*" -prune -exec rm -r '{}' \; \ + -or -name "bin" -prune -exec rm -r '{}' \; \ + -or -name "example" -prune -exec rm -r '{}' \; \ + -or -name "examples" -prune -exec rm -r '{}' \; \ + -or -name "man" -prune -exec rm -r '{}' \; \ + -or -name "scripts" -prune -exec rm -r '{}' \; \ + -or -name "test" -prune -exec rm -r '{}' \; +} Copied: caprine/repos/community-staging-any/caprine.desktop (from rev 442650, caprine/trunk/caprine.desktop) =================================================================== --- community-staging-any/caprine.desktop (rev 0) +++ community-staging-any/caprine.desktop 2019-03-19 11:11:08 UTC (rev 442652) @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=Caprine +GenericName=IM Client +Comment=Unofficial Facebook Messenger app +Icon=caprine +Exec=caprine +Categories=GTK;InstantMessaging;Network; +StartupNotify=true Copied: caprine/repos/community-staging-any/caprine.js (from rev 442651, caprine/trunk/caprine.js) =================================================================== --- community-staging-any/caprine.js (rev 0) +++ community-staging-any/caprine.js 2019-03-19 11:11:08 UTC (rev 442652) @@ -0,0 +1,29 @@ +#!/usr/bin/electron + +const name = 'caprine'; + +const {app} = require('electron'); +const fs = require('fs'); +const path = require('path'); + +// Change command name. +const fd = fs.openSync('/proc/self/comm', fs.constants.O_WRONLY); +fs.writeSync(fd, name); +fs.closeSync(fd); + +// Remove first command line argument (/usr/bin/electron). +process.argv.splice(0, 1); + +// Set application paths. +const appPath = path.join(path.dirname(__dirname), 'lib', name); +const packageJson = require(path.join(appPath, 'package.json')); +const productName = packageJson.productName; +app.setAppPath(appPath); +app.setDesktopName(name + '.desktop'); +app.setName(productName); +app.setPath('userCache', path.join(app.getPath('cache'), productName)); +app.setPath('userData', path.join(app.getPath('appData'), productName)); +app.setVersion(packageJson.version); + +// Run the application. +require('module')._load(appPath, module, true);