[arch-commits] Commit in caprine/repos (4 files)
Nicola Squartini
tensor5 at archlinux.org
Tue May 14 01:08:13 UTC 2019
Date: Tuesday, May 14, 2019 @ 01:08:13
Author: tensor5
Revision: 467192
archrelease: copy trunk to community-staging-any
Added:
caprine/repos/community-staging-any/
caprine/repos/community-staging-any/PKGBUILD
(from rev 467191, caprine/trunk/PKGBUILD)
caprine/repos/community-staging-any/caprine.desktop
(from rev 467191, caprine/trunk/caprine.desktop)
caprine/repos/community-staging-any/caprine.js
(from rev 467191, 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 467191, caprine/trunk/PKGBUILD)
===================================================================
--- community-staging-any/PKGBUILD (rev 0)
+++ community-staging-any/PKGBUILD 2019-05-14 01:08:13 UTC (rev 467192)
@@ -0,0 +1,61 @@
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+pkgname=caprine
+pkgver=2.31.0
+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=('88635d9f2b1fdc755a41f104dfb29e9e13d65852e02cd40bc6fd37554ffd507b'
+ '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 467191, caprine/trunk/caprine.desktop)
===================================================================
--- community-staging-any/caprine.desktop (rev 0)
+++ community-staging-any/caprine.desktop 2019-05-14 01:08:13 UTC (rev 467192)
@@ -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 467191, caprine/trunk/caprine.js)
===================================================================
--- community-staging-any/caprine.js (rev 0)
+++ community-staging-any/caprine.js 2019-05-14 01:08:13 UTC (rev 467192)
@@ -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);
More information about the arch-commits
mailing list