[arch-commits] Commit in keybase/repos/community-x86_64 (10 files)

Caleb Maclennan alerque at gemini.archlinux.org
Fri Jan 21 16:47:17 UTC 2022


    Date: Friday, January 21, 2022 @ 16:47:16
  Author: alerque
Revision: 1112361

archrelease: copy trunk to community-x86_64

Added:
  keybase/repos/community-x86_64/0001-Don-t-use-electron-to-build.patch
    (from rev 1112358, keybase/trunk/0001-Don-t-use-electron-to-build.patch)
  keybase/repos/community-x86_64/0001-Maintain-current-contextIsolation-behavior-across-el.patch
    (from rev 1112359, keybase/trunk/0001-Maintain-current-contextIsolation-behavior-across-el.patch)
  keybase/repos/community-x86_64/PKGBUILD
    (from rev 1112359, keybase/trunk/PKGBUILD)
  keybase/repos/community-x86_64/kbfs.install
    (from rev 1112359, keybase/trunk/kbfs.install)
  keybase/repos/community-x86_64/keybase-gui
    (from rev 1112359, keybase/trunk/keybase-gui)
Deleted:
  keybase/repos/community-x86_64/0001-Don-t-use-electron-to-build.patch
  keybase/repos/community-x86_64/0001-Maintain-current-contextIsolation-behavior-across-el.patch
  keybase/repos/community-x86_64/PKGBUILD
  keybase/repos/community-x86_64/kbfs.install
  keybase/repos/community-x86_64/keybase-gui

-----------------------------------------------------------------+
 0001-Don-t-use-electron-to-build.patch                          |  134 ++--
 0001-Maintain-current-contextIsolation-behavior-across-el.patch |  134 ++--
 PKGBUILD                                                        |  298 +++++-----
 kbfs.install                                                    |   30 -
 keybase-gui                                                     |   36 -
 5 files changed, 318 insertions(+), 314 deletions(-)

Deleted: 0001-Don-t-use-electron-to-build.patch
===================================================================
--- 0001-Don-t-use-electron-to-build.patch	2022-01-21 16:47:12 UTC (rev 1112360)
+++ 0001-Don-t-use-electron-to-build.patch	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -1,67 +0,0 @@
-From f13853908947e47a7853125865c98a406cd7772f 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.tsx   | 4 ++--
- shared/desktop/yarn-helper/index.tsx | 2 --
- shared/package.json                  | 1 -
- 3 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/shared/desktop/package.desktop.tsx b/shared/desktop/package.desktop.tsx
-index b10bb10295..f4b5fc3e6a 100644
---- a/shared/desktop/package.desktop.tsx
-+++ b/shared/desktop/package.desktop.tsx
-@@ -133,7 +133,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)
-@@ -181,7 +181,7 @@ function startPack() {
-                 .catch(postPackError)
-             })
-           })
--        } else {
-+        } else if (false) {
-           pack(platform, arch)
-             .then(postPack(platform, arch))
-             .catch(postPackError)
-diff --git a/shared/desktop/yarn-helper/index.tsx b/shared/desktop/yarn-helper/index.tsx
-index c7b04af258..a752ccd8bc 100644
---- a/shared/desktop/yarn-helper/index.tsx
-+++ b/shared/desktop/yarn-helper/index.tsx
-@@ -1,6 +1,5 @@
- // Helper for cross platform yarn run script commands
- import buildCommands from './build'
--import electronComands from './electron'
- import fontCommands from './font'
- import prettierCommands from './prettier'
- import {execSync} from 'child_process'
-@@ -14,7 +13,6 @@ const [, , command, ...rest] = process.argv
- const commands = {
-   ...buildCommands,
-   ...fontCommands,
--  ...electronComands,
-   ...prettierCommands,
-   help: {
-     code: () => {
-diff --git a/shared/package.json b/shared/package.json
-index 84e9247190..e5a9045157 100644
---- a/shared/package.json
-+++ b/shared/package.json
-@@ -201,7 +201,6 @@
-     "cross-env": "7.0.2",
-     "css-loader": "3.2.0",
-     "del": "3.0.0",
--    "electron": "11.5.0",
-     "electron-packager": "14.0.6",
-     "eslint": "6.4.0",
-     "eslint-plugin-filenames": "1.3.2",
--- 
-2.28.0
-

Copied: keybase/repos/community-x86_64/0001-Don-t-use-electron-to-build.patch (from rev 1112358, keybase/trunk/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	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -0,0 +1,67 @@
+From f13853908947e47a7853125865c98a406cd7772f 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.tsx   | 4 ++--
+ shared/desktop/yarn-helper/index.tsx | 2 --
+ shared/package.json                  | 1 -
+ 3 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/shared/desktop/package.desktop.tsx b/shared/desktop/package.desktop.tsx
+index b10bb10295..f4b5fc3e6a 100644
+--- a/shared/desktop/package.desktop.tsx
++++ b/shared/desktop/package.desktop.tsx
+@@ -133,7 +133,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)
+@@ -181,7 +181,7 @@ function startPack() {
+                 .catch(postPackError)
+             })
+           })
+-        } else {
++        } else if (false) {
+           pack(platform, arch)
+             .then(postPack(platform, arch))
+             .catch(postPackError)
+diff --git a/shared/desktop/yarn-helper/index.tsx b/shared/desktop/yarn-helper/index.tsx
+index c7b04af258..a752ccd8bc 100644
+--- a/shared/desktop/yarn-helper/index.tsx
++++ b/shared/desktop/yarn-helper/index.tsx
+@@ -1,6 +1,5 @@
+ // Helper for cross platform yarn run script commands
+ import buildCommands from './build'
+-import electronComands from './electron'
+ import fontCommands from './font'
+ import prettierCommands from './prettier'
+ import {execSync} from 'child_process'
+@@ -14,7 +13,6 @@ const [, , command, ...rest] = process.argv
+ const commands = {
+   ...buildCommands,
+   ...fontCommands,
+-  ...electronComands,
+   ...prettierCommands,
+   help: {
+     code: () => {
+diff --git a/shared/package.json b/shared/package.json
+index 84e9247190..e5a9045157 100644
+--- a/shared/package.json
++++ b/shared/package.json
+@@ -201,7 +201,6 @@
+     "cross-env": "7.0.2",
+     "css-loader": "3.2.0",
+     "del": "3.0.0",
+-    "electron": "11.5.0",
+     "electron-packager": "14.0.6",
+     "eslint": "6.4.0",
+     "eslint-plugin-filenames": "1.3.2",
+-- 
+2.28.0
+

Deleted: 0001-Maintain-current-contextIsolation-behavior-across-el.patch
===================================================================
--- 0001-Maintain-current-contextIsolation-behavior-across-el.patch	2022-01-21 16:47:12 UTC (rev 1112360)
+++ 0001-Maintain-current-contextIsolation-behavior-across-el.patch	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -1,67 +0,0 @@
-From c9f8ba2091da223fa703923e36afa4ba5f1731aa Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz at archlinux.org>
-Date: Wed, 23 Jun 2021 19:06:12 -0400
-Subject: [PATCH] Maintain current contextIsolation behavior across electron 11
- vs. >=12
-
-For what this does, see:
-
-https://www.electronjs.org/docs/breaking-changes#default-changed-contextisolation-defaults-to-true
-https://github.com/electron/electron/blob/main/docs/tutorial/context-isolation.md
-
-In electron 11, this logged:
-
-> The default of contextIsolation is deprecated and will be changing from
-> false to true in a future release of Electron.
-
-In electron 12, Keybase refused to start. Explicitly specifying the old
-behavior makes Keybase run again.
-
-"for the security of your application" Keybase may wish in future to
-restructure and support context isolation, but that would be in the
-future.
----
- shared/desktop/app/main-window.desktop.tsx | 1 +
- shared/desktop/app/menu-bar.desktop.tsx    | 1 +
- shared/desktop/app/node.desktop.tsx        | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/shared/desktop/app/main-window.desktop.tsx b/shared/desktop/app/main-window.desktop.tsx
-index a93ffa11a7..9ef4f6f288 100644
---- a/shared/desktop/app/main-window.desktop.tsx
-+++ b/shared/desktop/app/main-window.desktop.tsx
-@@ -275,6 +275,7 @@ export default () => {
-     minWidth: 740,
-     show: false,
-     webPreferences: {
-+      contextIsolation: false,
-       backgroundThrottling: false,
-       devTools: showDevTools,
-       enableRemoteModule: true,
-diff --git a/shared/desktop/app/menu-bar.desktop.tsx b/shared/desktop/app/menu-bar.desktop.tsx
-index 1597c020bd..e1aa62a854 100644
---- a/shared/desktop/app/menu-bar.desktop.tsx
-+++ b/shared/desktop/app/menu-bar.desktop.tsx
-@@ -40,6 +40,7 @@ export default (menubarWindowIDCallback: (id: number) => void) => {
-       resizable: false,
-       transparent: true,
-       webPreferences: {
-+        contextIsolation: false,
-         enableRemoteModule: true,
-         nodeIntegration: true,
-         nodeIntegrationInWorker: false,
-diff --git a/shared/desktop/app/node.desktop.tsx b/shared/desktop/app/node.desktop.tsx
-index 6368bc18b9..7c8c4a34d5 100644
---- a/shared/desktop/app/node.desktop.tsx
-+++ b/shared/desktop/app/node.desktop.tsx
-@@ -365,6 +365,7 @@ const plumbEvents = () => {
-           show: false, // Start hidden and show when we actually get props
-           titleBarStyle: 'customButtonsOnHover' as const,
-           webPreferences: {
-+            contextIsolation: false,
-             enableRemoteModule: true,
-             nodeIntegration: true,
-             nodeIntegrationInWorker: false,
--- 
-2.32.0
-

Copied: keybase/repos/community-x86_64/0001-Maintain-current-contextIsolation-behavior-across-el.patch (from rev 1112359, keybase/trunk/0001-Maintain-current-contextIsolation-behavior-across-el.patch)
===================================================================
--- 0001-Maintain-current-contextIsolation-behavior-across-el.patch	                        (rev 0)
+++ 0001-Maintain-current-contextIsolation-behavior-across-el.patch	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -0,0 +1,67 @@
+From c9f8ba2091da223fa703923e36afa4ba5f1731aa Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz at archlinux.org>
+Date: Wed, 23 Jun 2021 19:06:12 -0400
+Subject: [PATCH] Maintain current contextIsolation behavior across electron 11
+ vs. >=12
+
+For what this does, see:
+
+https://www.electronjs.org/docs/breaking-changes#default-changed-contextisolation-defaults-to-true
+https://github.com/electron/electron/blob/main/docs/tutorial/context-isolation.md
+
+In electron 11, this logged:
+
+> The default of contextIsolation is deprecated and will be changing from
+> false to true in a future release of Electron.
+
+In electron 12, Keybase refused to start. Explicitly specifying the old
+behavior makes Keybase run again.
+
+"for the security of your application" Keybase may wish in future to
+restructure and support context isolation, but that would be in the
+future.
+---
+ shared/desktop/app/main-window.desktop.tsx | 1 +
+ shared/desktop/app/menu-bar.desktop.tsx    | 1 +
+ shared/desktop/app/node.desktop.tsx        | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/shared/desktop/app/main-window.desktop.tsx b/shared/desktop/app/main-window.desktop.tsx
+index a93ffa11a7..9ef4f6f288 100644
+--- a/shared/desktop/app/main-window.desktop.tsx
++++ b/shared/desktop/app/main-window.desktop.tsx
+@@ -275,6 +275,7 @@ export default () => {
+     minWidth: 740,
+     show: false,
+     webPreferences: {
++      contextIsolation: false,
+       backgroundThrottling: false,
+       devTools: showDevTools,
+       enableRemoteModule: true,
+diff --git a/shared/desktop/app/menu-bar.desktop.tsx b/shared/desktop/app/menu-bar.desktop.tsx
+index 1597c020bd..e1aa62a854 100644
+--- a/shared/desktop/app/menu-bar.desktop.tsx
++++ b/shared/desktop/app/menu-bar.desktop.tsx
+@@ -40,6 +40,7 @@ export default (menubarWindowIDCallback: (id: number) => void) => {
+       resizable: false,
+       transparent: true,
+       webPreferences: {
++        contextIsolation: false,
+         enableRemoteModule: true,
+         nodeIntegration: true,
+         nodeIntegrationInWorker: false,
+diff --git a/shared/desktop/app/node.desktop.tsx b/shared/desktop/app/node.desktop.tsx
+index 6368bc18b9..7c8c4a34d5 100644
+--- a/shared/desktop/app/node.desktop.tsx
++++ b/shared/desktop/app/node.desktop.tsx
+@@ -365,6 +365,7 @@ const plumbEvents = () => {
+           show: false, // Start hidden and show when we actually get props
+           titleBarStyle: 'customButtonsOnHover' as const,
+           webPreferences: {
++            contextIsolation: false,
+             enableRemoteModule: true,
+             nodeIntegration: true,
+             nodeIntegrationInWorker: false,
+-- 
+2.32.0
+

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-21 16:47:12 UTC (rev 1112360)
+++ PKGBUILD	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -1,147 +0,0 @@
-# Maintainer: Caleb Maclennan <caleb at alerque.com>
-# Contributor: Eli Schwartz <eschwartz at archlinux.org>
-# Contributor: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Michael Hansen <zrax0111 gmail com>
-
-pkgbase=keybase
-pkgname=('keybase' 'kbfs' 'keybase-gui')
-pkgdesc='CLI tool for GPG with keybase.io'
-pkgver=5.9.0
-pkgrel=1
-arch=('x86_64')
-url='https://keybase.io'
-_url='https://github.com/keybase/client'
-license=('BSD')
-# git is needed for yarn...
-makedepends=('git' 'go' 'yarn')
-source=("$_url/releases/download/v${pkgver}/${pkgbase}-v${pkgver}.tar.xz"{,.sig}
-        "keybase-gui"
-        "0001-Maintain-current-contextIsolation-behavior-across-el.patch"
-        "0001-Don-t-use-electron-to-build.patch")
-sha512sums=('3fa530e7c8df99b3a1668a63a3b88fefd89f84b9cf7b28cd7f5cef556be8984fedd70c039ca06358eefb8a0c8225f4a2ec89a761c5b02d5aeeb88e1aced29ef9'
-            'SKIP'
-            'bdecad57f8703eb6011b0c9ff238b9f3d78192031adfb5a27a7e6910119c600726b87aaacada88877eaeddcd6134fbe72b014bcaeb6cc7563c3753fcb33c52c9'
-            '5cb3d93c4bb468fd47e1670f73cc3b8be14977ccf563a47d776285b6b9d96042647062427e58bd981727362caa23d17acdc0152dfd915efeeb6c4e76ca76ca65'
-            '3d38410574ac9d3a09a9ed4ba82bffb3078b15986d8447fe53d7499f538f5c54093f0893667ee64ddd22609b83a8c9c15e50f11f61ddb48cff3ecdf5b8c4628e')
-b2sums=('bb304308132b60c93dfe937ab507548d28776b8c7841402e6ace841e2fbdb9feb0dfc55c388f66ab273e534916f46347eb49d2748c2cb3b85dcd02e2dc3b85d3'
-        'SKIP'
-        '1ecf08e4a0b2836828fc4f9283a69e1fbda6f268195ae56433050d54070038aacf1ae3057202324c678b242c88345cc8f453c7798129753f083c33db256517a4'
-        '67f416c59b549606d037167c796c5b99f0ca9158fb767d52c101f41db6d31927b57618efb4d6eaf590cbd3c7aab4dd71a64bc3b52580e2383f5389c95264a499'
-        'd556694526d973431012c36891d82578aeafdd159e7f7f9108325946e874cef4303dff8dc12f0ec7d2c5b731d5cf20bec26c7f18b6483d8f2910c93e3a1a7a68')
-validpgpkeys=('222B85B0F90BE2D24CFEB93F47484E50656D16C7') # Keybase.io Code Signing (v1) <code at keybase.io>
-
-prepare() {
-    cd client-v${pkgver}
-
-    export GOPATH="${srcdir}/.gopath"
-    mkdir -p "${GOPATH}"/src/github.com/keybase
-    ln -sf "${PWD}" "${GOPATH}"/src/github.com/keybase/client
-
-    # Fix paths to run electron /path/to/app (or our minimal wrapper script).
-    # Also wire up "hideWindow" when running as a service or via XDG autostart.
-    sed -i 's@/opt/keybase/Keybase@/usr/bin/electron13 /usr/share/keybase-app@' \
-        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
-    # New versions of electron tighten sandboxing and applications need to adapt.
-    # Keybase did not, so loosen this back to pre v12 levels
-    # https://github.com/keybase/client/pull/24551
-    patch -p1 -i ../0001-Maintain-current-contextIsolation-behavior-across-el.patch
-
-    cd go
-    go mod tidy
-}
-
-build() {
-    cd client-v${pkgver}/go
-
-    # None of this should be necessary, but we duplicate the work of
-    # makepkg.conf here since golang CGO can't be bothered to respect
-    # standardized CFLAGS and we don't have native packaging integration for
-    # either this or the go-specific flags. Must be done here to make sure
-    # we're using debug or !buildflags.
-
-    export CGO_CPPFLAGS="${CPPFLAGS}"
-    export CGO_CFLAGS="${CFLAGS}"
-    export CGO_CXXFLAGS="${CXXFLAGS}"
-    export CGO_LDFLAGS="${LDFLAGS}"
-    export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
-
-    export GOPATH="${srcdir}/.gopath"
-    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
-    go build -a -tags production -o ./bin/kbfsfuse github.com/keybase/client/go/kbfs/kbfsfuse
-    go build -a -tags production -o ./bin/git-remote-keybase github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase
-
-    cd ../shared
-    yarn install
-    yarn run package --appVersion $pkgver
-}
-
-package_keybase() {
-    depends=('gnupg')
-    optdepends=('kbfs: for the fuse-based fileystem and the encryption subcommand')
-
-    cd client-v${pkgver}
-
-    install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{keybase,kbnm}
-
-    # 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_kbfs() {
-    pkgdesc="The Keybase filesystem"
-    url="https://keybase.io/docs/kbfs"
-    depends=('fuse' 'keybase')
-    install=kbfs.install
-
-    cd client-v${pkgver}
-
-    install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{kbfsfuse,git-remote-keybase}
-    install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-    # more systemd activation
-    install -Dm644 packaging/linux/systemd/kbfs.service "$pkgdir"/usr/lib/systemd/user/kbfs.service
-}
-
-package_keybase-gui() {
-    pkgdesc="GUI frontend for GPG with keybase.io"
-    depends=('electron13' 'keybase' 'kbfs')
-
-    cd client-v${pkgver}/
-
-    install -Dm644 packaging/linux/x-saltpack.xml \
-        "${pkgdir}"/usr/share/mime/packages/x-saltpack.xml
-    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
-        install -Dm644 media/icons/Saltpack.iconset/icon_${i}x${i}.png \
-            "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/mimetypes/application-x-saltpack.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/
-}

Copied: keybase/repos/community-x86_64/PKGBUILD (from rev 1112359, keybase/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -0,0 +1,151 @@
+# Maintainer: Caleb Maclennan <caleb at alerque.com>
+# Contributor: Eli Schwartz <eschwartz at archlinux.org>
+# Contributor: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Michael Hansen <zrax0111 gmail com>
+
+pkgbase=keybase
+pkgname=(keybase kbfs keybase-gui)
+pkgdesc='CLI tool for GPG with keybase.io'
+pkgver=5.9.1
+pkgrel=1
+arch=('x86_64')
+url=https://keybase.io
+_url=https://github.com/keybase/client
+license=(BSD)
+# git is needed for yarn...
+makedepends=(git
+             go
+             yarn)
+_archive="$pkgbase-v$pkgver"
+source=("$_url/releases/download/v$pkgver/$_archive.tar.xz"{,.sig}
+        "keybase-gui"
+        "0001-Maintain-current-contextIsolation-behavior-across-el.patch"
+        "0001-Don-t-use-electron-to-build.patch")
+sha512sums=('260b3c89a6834ef6285cdc746bcf582ef9376ef06f50fc410a61a002591a5dc1189270ddd4df8516bf24a3c8aa9c6c230339eefe42a5010acf8d4fbdfc551a93'
+            'SKIP'
+            'bdecad57f8703eb6011b0c9ff238b9f3d78192031adfb5a27a7e6910119c600726b87aaacada88877eaeddcd6134fbe72b014bcaeb6cc7563c3753fcb33c52c9'
+            '5cb3d93c4bb468fd47e1670f73cc3b8be14977ccf563a47d776285b6b9d96042647062427e58bd981727362caa23d17acdc0152dfd915efeeb6c4e76ca76ca65'
+            '3d38410574ac9d3a09a9ed4ba82bffb3078b15986d8447fe53d7499f538f5c54093f0893667ee64ddd22609b83a8c9c15e50f11f61ddb48cff3ecdf5b8c4628e')
+b2sums=('0711762ed70c9977a92702c33e4cddc3eee5b5c7ee4bbc381ae07649b5cc635a811331b6492f853813b82e557bb4211677523e62f68d2e37267957bcafb9d844'
+        'SKIP'
+        '1ecf08e4a0b2836828fc4f9283a69e1fbda6f268195ae56433050d54070038aacf1ae3057202324c678b242c88345cc8f453c7798129753f083c33db256517a4'
+        '67f416c59b549606d037167c796c5b99f0ca9158fb767d52c101f41db6d31927b57618efb4d6eaf590cbd3c7aab4dd71a64bc3b52580e2383f5389c95264a499'
+        'd556694526d973431012c36891d82578aeafdd159e7f7f9108325946e874cef4303dff8dc12f0ec7d2c5b731d5cf20bec26c7f18b6483d8f2910c93e3a1a7a68')
+validpgpkeys=('222B85B0F90BE2D24CFEB93F47484E50656D16C7') # Keybase.io Code Signing (v1) <code at keybase.io>
+
+prepare() {
+	ln -sf "${_archive/$pkgbase/client}" "$_archive"
+	cd "$_archive"
+
+	export GOPATH="${srcdir}/.gopath"
+	mkdir -p "${GOPATH}"/src/github.com/keybase
+	ln -sf "${PWD}" "${GOPATH}"/src/github.com/keybase/client
+
+	# Fix paths to run electron /path/to/app (or our minimal wrapper script).
+	# Also wire up "hideWindow" when running as a service or via XDG autostart.
+	sed -i 's@/opt/keybase/Keybase@/usr/bin/electron13 /usr/share/keybase-app@' \
+		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
+	# New versions of electron tighten sandboxing and applications need to adapt.
+	# Keybase did not, so loosen this back to pre v12 levels
+	# https://github.com/keybase/client/pull/24551
+	patch -p1 -i ../0001-Maintain-current-contextIsolation-behavior-across-el.patch
+
+	cd go
+	go mod tidy
+}
+
+build() {
+	cd "$_archive/go"
+
+	# None of this should be necessary, but we duplicate the work of
+	# makepkg.conf here since golang CGO can't be bothered to respect
+	# standardized CFLAGS and we don't have native packaging integration for
+	# either this or the go-specific flags. Must be done here to make sure
+	# we're using debug or !buildflags.
+
+	export CGO_CPPFLAGS="${CPPFLAGS}"
+	export CGO_CFLAGS="${CFLAGS}"
+	export CGO_CXXFLAGS="${CXXFLAGS}"
+	export CGO_LDFLAGS="${LDFLAGS}"
+	export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+
+	export GOPATH="${srcdir}/.gopath"
+	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
+	go build -a -tags production -o ./bin/kbfsfuse github.com/keybase/client/go/kbfs/kbfsfuse
+	go build -a -tags production -o ./bin/git-remote-keybase github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase
+
+	cd ../shared
+	yarn install
+	yarn run package --appVersion $pkgver
+}
+
+package_keybase() {
+	depends=('gnupg')
+	optdepends=('kbfs: for the fuse-based fileystem and the encryption subcommand')
+
+	cd "$_archive"
+
+	install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{keybase,kbnm}
+
+	# 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_kbfs() {
+	pkgdesc="The Keybase filesystem"
+	url="https://keybase.io/docs/kbfs"
+	depends=('fuse' 'keybase')
+	install=kbfs.install
+
+	cd "$_archive"
+
+	install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{kbfsfuse,git-remote-keybase}
+	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+	# more systemd activation
+	install -Dm644 packaging/linux/systemd/kbfs.service "$pkgdir"/usr/lib/systemd/user/kbfs.service
+}
+
+package_keybase-gui() {
+	pkgdesc="GUI frontend for GPG with keybase.io"
+	depends=('electron13' 'keybase' 'kbfs')
+
+	cd "$_archive"
+
+	install -Dm644 packaging/linux/x-saltpack.xml \
+		"${pkgdir}"/usr/share/mime/packages/x-saltpack.xml
+	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
+		install -Dm644 media/icons/Saltpack.iconset/icon_${i}x${i}.png \
+			"${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/mimetypes/application-x-saltpack.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/
+}

Deleted: kbfs.install
===================================================================
--- kbfs.install	2022-01-21 16:47:12 UTC (rev 1112360)
+++ kbfs.install	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -1,15 +0,0 @@
-post_install() {
-    cat << '__EOF__'
-warning: the keybase-redirector is not included, so you will need to define
-your `keybase config` mountdir to something you like (or install the
-redirector on your own).
-
-See: https://github.com/keybase/client/issues/19840#issuecomment-533842074
-__EOF__
-}
-
-post_upgrade() {
-    if (( $(vercmp 4.7.1-1 $2) > 0 )); then
-        post_install
-    fi
-}

Copied: keybase/repos/community-x86_64/kbfs.install (from rev 1112359, keybase/trunk/kbfs.install)
===================================================================
--- kbfs.install	                        (rev 0)
+++ kbfs.install	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -0,0 +1,15 @@
+post_install() {
+    cat << '__EOF__'
+warning: the keybase-redirector is not included, so you will need to define
+your `keybase config` mountdir to something you like (or install the
+redirector on your own).
+
+See: https://github.com/keybase/client/issues/19840#issuecomment-533842074
+__EOF__
+}
+
+post_upgrade() {
+    if (( $(vercmp 4.7.1-1 $2) > 0 )); then
+        post_install
+    fi
+}

Deleted: keybase-gui
===================================================================
--- keybase-gui	2022-01-21 16:47:12 UTC (rev 1112360)
+++ keybase-gui	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-keybase ctl init
-
-if ! keybase version --assert-matching >/dev/null 2>&1; then
-    echo "restarting outdated services..."
-    systemctl --user daemon-reload
-    systemctl --user restart keybase kbfs
-else
-    systemctl --user start keybase kbfs
-fi
-
-if [ $# -gt 0 ] || systemctl --user is-active --quiet keybase.gui; then
-    exec electron13 /usr/share/keybase-app "$@"
-else
-    systemctl --user import-environment KEYBASE_AUTOSTART
-    exec systemctl start --user --wait keybase.gui
-fi

Copied: keybase/repos/community-x86_64/keybase-gui (from rev 1112359, keybase/trunk/keybase-gui)
===================================================================
--- keybase-gui	                        (rev 0)
+++ keybase-gui	2022-01-21 16:47:16 UTC (rev 1112361)
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+keybase ctl init
+
+if ! keybase version --assert-matching >/dev/null 2>&1; then
+    echo "restarting outdated services..."
+    systemctl --user daemon-reload
+    systemctl --user restart keybase kbfs
+else
+    systemctl --user start keybase kbfs
+fi
+
+if [ $# -gt 0 ] || systemctl --user is-active --quiet keybase.gui; then
+    exec electron13 /usr/share/keybase-app "$@"
+else
+    systemctl --user import-environment KEYBASE_AUTOSTART
+    exec systemctl start --user --wait keybase.gui
+fi



More information about the arch-commits mailing list