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 <eschwart...@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 <eschwart...@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 <eschwa...@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 <eschwa...@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 <ca...@alerque.com> -# Contributor: Eli Schwartz <eschwa...@archlinux.org> -# Contributor: Felix Yan <felixonm...@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) <c...@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_32...@2x.png \ - "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/keybase.png - install -Dm644 media/icons/Keybase.iconset/icon_512x...@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 <ca...@alerque.com> +# Contributor: Eli Schwartz <eschwa...@archlinux.org> +# Contributor: Felix Yan <felixonm...@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) <c...@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_32...@2x.png \ + "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/keybase.png + install -Dm644 media/icons/Keybase.iconset/icon_512x...@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