[arch-commits] Commit in keybase/trunk (3 files)

Eli Schwartz eschwartz at archlinux.org
Fri Jun 29 23:36:23 UTC 2018


    Date: Friday, June 29, 2018 @ 23:36:23
  Author: eschwartz
Revision: 347789

upgpkg: keybase 2.1.1-1

Minorly minor hotfix release for GUI code alone.
OTOH we will now add a keybase-gui split package.

Added:
  keybase/trunk/0001-Don-t-use-electron-to-build.patch
  keybase/trunk/keybase-gui
Modified:
  keybase/trunk/PKGBUILD

----------------------------------------+
 0001-Don-t-use-electron-to-build.patch |   68 +++++++++++++++++++++
 PKGBUILD                               |  100 +++++++++++++++++++++++--------
 keybase-gui                            |    4 +
 3 files changed, 148 insertions(+), 24 deletions(-)

Added: 0001-Don-t-use-electron-to-build.patch
===================================================================
--- 0001-Don-t-use-electron-to-build.patch	                        (rev 0)
+++ 0001-Don-t-use-electron-to-build.patch	2018-06-29 23:36:23 UTC (rev 347789)
@@ -0,0 +1,68 @@
+From 14cbf306fb4b1572a006680a3e8c30b011294da4 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93 at gmail.com>
+Date: Thu, 21 Jun 2018 05:00:37 -0400
+Subject: [PATCH] Don't use electron to build
+
+---
+ shared/desktop/package.desktop.js   | 4 ++--
+ shared/desktop/yarn-helper/index.js | 2 --
+ shared/package.json                 | 1 -
+ 3 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/shared/desktop/package.desktop.js b/shared/desktop/package.desktop.js
+index 827b087fc..109f9048c 100644
+--- a/shared/desktop/package.desktop.js
++++ b/shared/desktop/package.desktop.js
+@@ -87,7 +87,7 @@ function main() {
+   // use the same version as the currently-installed electron
+   console.log('Finding electron version')
+   try {
+-    packagerOpts.electronVersion = require('../package.json').devDependencies.electron
++    packagerOpts.electronVersion = 'unused string'
+     console.log('Found electron version:', packagerOpts.electronVersion)
+   } catch (err) {
+     console.log("Couldn't parse yarn list to find electron:", err)
+@@ -140,7 +140,7 @@ function startPack() {
+           pack(os.platform(), shouldBuildAnArch)
+             .then(postPack(os.platform(), shouldBuildAnArch))
+             .catch(postPackError)
+-        } else {
++        } else if (false) {
+           // build for current platform only
+           pack(os.platform(), os.arch())
+             .then(postPack(os.platform(), os.arch()))
+diff --git a/shared/desktop/yarn-helper/index.js b/shared/desktop/yarn-helper/index.js
+index 3a5851cb0..d71b7f31e 100644
+--- a/shared/desktop/yarn-helper/index.js
++++ b/shared/desktop/yarn-helper/index.js
+@@ -1,7 +1,6 @@
+ // @flow
+ // Helper for cross platform yarn run script commands
+ import buildCommands from './build'
+-import electronComands from './electron'
+ import fontCommands from './font'
+ import fs from 'fs'
+ import path from 'path'
+@@ -12,7 +11,6 @@ const [, , command, ...rest] = process.argv
+ const commands = {
+   ...buildCommands,
+   ...fontCommands,
+-  ...electronComands,
+   help: {
+     code: () => {
+       console.log(
+diff --git a/shared/package.json b/shared/package.json
+index ea530d9f9..62a1a6379 100644
+--- a/shared/package.json
++++ b/shared/package.json
+@@ -200,7 +200,6 @@
+     "css-loader": "0.28.11",
+     "del": "3.0.0",
+     "devtron": "1.4.0",
+-    "electron": "2.0.2",
+     "electron-download": "git://github.com/keybase/electron-download#keybase-fixes-off-410",
+     "electron-packager": "12.1.0",
+     "eslint": "4.19.1",
+-- 
+2.17.1
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-06-29 21:55:52 UTC (rev 347788)
+++ PKGBUILD	2018-06-29 23:36:23 UTC (rev 347789)
@@ -3,44 +3,96 @@
 # Maintainer: Eli Schwartz <eschwartz at archlinux.org>
 # Contributor: Michael Hansen <zrax0111 gmail com>
 
-pkgname=keybase
+pkgbase=keybase
+pkgname=('keybase' 'keybase-gui')
 pkgdesc='CLI tool for GPG with keybase.io'
-pkgver=2.1.0
+pkgver=2.1.1
 pkgrel=1
 arch=('x86_64')
 url='https://keybase.io/'
 license=('BSD')
-depends=('gnupg')
-makedepends=('go-pie')
-optdepends=('kbfs: for the fuse-based fileystem and the encryption subcommand')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/keybase/client/archive/v$pkgver.tar.gz")
-sha512sums=('0d71a22b5f56442fdc03848f831487da097dc817bfcacfb5a8eea1a9a13e87d231619216b6bab61862de71289373977c4c8d345518152137c8804005bf20e3e4')
+# git is needed for yarn...
+makedepends=('git' 'go-pie' 'yarn')
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/keybase/client/archive/v${pkgver}.tar.gz"
+        "keybase-gui"
+        "0001-Don-t-use-electron-to-build.patch")
+sha512sums=('a2f70ebab91aaea92642d3f3edec6aa8df1e59bc1908bece9fb12bb7c6fdf4768ae4278816d44aa0ffeac3540b62ef62fa6265c868294e14cf3048fc36f3ac16'
+            'b3086ea6c60950284eecc331a8a648ea557f89f686f2adecb82b22d0ac65381683fbcc84875a48cf6ba9e3c63d4f06c73b84175621dca5e8f03b2a6a88cdcad4'
+            'f7d8a08dddd5a9aa06911093dfb488d45e9dcfcce16e16b5435234577e5db392e98207a9d0ed36b144e6cf2ea277e1f0347107fedf1b8db50b82a73580d5857f')
 
 prepare() {
-  cd client-$pkgver
+    cd client-${pkgver}
 
-  export GOPATH="$srcdir/.gopath"
-  mkdir -p "$GOPATH"/src/github.com/keybase
-  ln -sf "$PWD" "$GOPATH"/src/github.com/keybase/client
+    export GOPATH="${srcdir}/.gopath"
+    mkdir -p "${GOPATH}"/src/github.com/keybase
+    ln -sf "${PWD}" "${GOPATH}"/src/github.com/keybase/client
+
+    # Fix paths to minimal wrapper script running electron /path/to/app
+    sed -i 's@/opt/keybase/Keybase at keybase-gui@' \
+        packaging/linux/systemd/keybase.gui.service
+    sed -i 's/run_keybase/keybase-gui/g' \
+        packaging/linux/keybase.desktop go/install/install_unix.go
+
+    patch -p1 -i ../0001-Don-t-use-electron-to-build.patch
 }
 
 build() {
-  cd client-$pkgver/go/keybase
+    cd client-${pkgver}/go/keybase
 
-  export GOPATH="$srcdir/.gopath"
-  # go build -a -tags production -gccgoflags "$CFLAGS $LDFLAGS" github.com/keybase/client/go/keybase
-  go build -a -tags production -o ../bin/keybase github.com/keybase/client/go/keybase
-  go build -a -tags production -o ../bin/kbnm github.com/keybase/client/go/kbnm
+    export GOPATH="${srcdir}/.gopath"
+    # go build -a -tags production -gccgoflags "$CFLAGS $LDFLAGS" github.com/keybase/client/go/keybase
+    go build -a -tags production -o ../bin/keybase github.com/keybase/client/go/keybase
+    go build -a -tags production -o ../bin/kbnm github.com/keybase/client/go/kbnm
+
+    cd ../../shared
+    yarn install
+    yarn run package
 }
 
-package() {
-  cd client-$pkgver
+package_keybase() {
+    depends=('gnupg')
+    optdepends=('kbfs: for the fuse-based fileystem and the encryption subcommand')
 
-  install -Dm755 -t "$pkgdir"/usr/bin/ go/bin/*
+    cd client-${pkgver}
 
-  # native messaging whitelists
-  KBNM_INSTALL_ROOT=1 KBNM_INSTALL_OVERLAY="$pkgdir" "$pkgdir/usr/bin/kbnm" install
-  # systemd activation
-  install -Dm644 packaging/linux/systemd/keybase.service "$pkgdir"/usr/lib/systemd/user/keybase.service
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+    install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/*
+
+    # native messaging whitelists
+    KBNM_INSTALL_ROOT=1 KBNM_INSTALL_OVERLAY="${pkgdir}" "${pkgdir}/usr/bin/kbnm" install
+    # systemd activation
+    install -Dm644 packaging/linux/systemd/keybase.service "${pkgdir}"/usr/lib/systemd/user/keybase.service
+    install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
 }
+
+package_keybase-gui() {
+    pkgdesc="GUI frontend for GPG with keybase.io"
+    depends=('electron' 'keybase' 'kbfs')
+
+    cd client-${pkgver}/
+
+    install -Dm644 packaging/linux/keybase.desktop \
+        "${pkgdir}"/usr/share/applications/keybase.desktop
+    # more systemd activation
+    install -Dm644 packaging/linux/systemd/keybase.gui.service \
+        "${pkgdir}"/usr/lib/systemd/user/keybase.gui.service
+    # wrapper for electron
+    install -Dm755 "${srcdir}"/keybase-gui "${pkgdir}"/usr/bin/keybase-gui
+
+    install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+
+    for i in 16 32 128 256 512 ; do
+        install -Dm644 media/icons/Keybase.iconset/icon_${i}x${i}.png \
+            "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/keybase.png
+    done
+    # ???
+    install -Dm644 media/icons/Keybase.iconset/icon_32x32 at 2x.png \
+        "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/keybase.png
+    install -Dm644 media/icons/Keybase.iconset/icon_512x512 at 2x.png \
+        "${pkgdir}"/usr/share/icons/hicolor/1024x1024/apps/keybase.png
+
+    # the app itself
+    cd shared/desktop/build
+    rm -rf desktop/sourcemaps/
+    mkdir -p "${pkgdir}"/usr/share/keybase-app
+    cp -r * "${pkgdir}"/usr/share/keybase-app/
+}

Added: keybase-gui
===================================================================
--- keybase-gui	                        (rev 0)
+++ keybase-gui	2018-06-29 23:36:23 UTC (rev 347789)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+systemctl start --user keybase.gui.service
+exec electron /usr/share/keybase-app/ "$@"


Property changes on: keybase/trunk/keybase-gui
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property



More information about the arch-commits mailing list