1 # Maintainer: Alexander Epaneshnikov <alex19ep@archlinux.org>
2 # Contributor: libertylocked <libertylocked@disroot.org>
8 pkgdesc='A secure and free password manager for all of your devices'
10 url='https://github.com/bitwarden/clients/tree/master/apps/desktop'
12 depends=("electron$_electronversion" 'libnotify' 'libsecret' 'libxtst' 'libxss' 'libnss_nis')
13 makedepends=('git' 'npm' 'python' 'node-gyp' 'nodejs-lts-gallium' 'jq' 'rust')
14 source=(bitwarden::git+https://github.com/bitwarden/clients.git#tag=desktop-v$pkgver
15 messaging.main.ts.patch
20 'babcae0dba4d036e5d2cd04d8932b63253bc7b27b14d090932066e9d39383f7565c06d72dae9f96e741b494ef7e50a1fe7ec33905aa3124b427a8bf404df5762'
21 '88610cba9dea99aefdfea51139f5770f04f1e877d75e86f2eea3470c99880282c5ff91060cb08d92cdf00d0a1b3bd40c5f3ee887cee11946dd31ca06da978272'
22 '98d2860bef2283fd09710fbbc5362d7ef2cd8eca26f35805ea258f2dacba78bd6aab14c834388a5089a8150eb0f32a82577aab10f8ad68e1a6371959b2802ad4'
23 '05b771e72f1925f61b710fb67e5709dbfd63855425d2ef146ca3770b050e78cb3933cffc7afb1ad43a1d87867b2c2486660c79fdfc95b3891befdff26c8520fd')
26 cd bitwarden/apps/desktop
28 export npm_config_build_from_source=true
29 export npm_config_cache="$srcdir/npm_cache"
30 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
32 # This patch is required to make "Start automatically on login" work
33 patch --strip=1 src/main/messaging.main.ts "$srcdir/messaging.main.ts.patch"
35 # Patch build to make it work with system electron
36 export SYSTEM_ELECTRON_VERSION=$(electron$_electronversion -v | sed 's/v//g')
37 export ELECTRONVERSION=$_electronversion
38 sed -i "s|@electronversion@|${ELECTRONVERSION}|" "$srcdir/bitwarden.sh"
40 # '.build["electronVersion"]=$ENV.SYSTEM_ELECTRON_VERSION | .build["electronDist"]="/usr/lib/electron\(env.ELECTRONVERSION)"' \
41 # > package.json.patched
42 # mv package.json.patched package.json
44 patch --strip=1 apps/desktop/desktop_native/index.js "$srcdir/nativelib.patch"
49 cd bitwarden/apps/desktop
50 electronDist=/usr/lib/electron$_electronversion
51 electronVer=$(electron$_electronversion --version | tail -c +2)
52 export npm_config_build_from_source=true
53 export npm_config_cache="$srcdir/npm_cache"
54 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
60 npm exec -c "electron-builder --linux --x64 --dir -c.electronDist=$electronDist \
61 -c.electronVersion=$electronVer"
65 cd bitwarden/apps/desktop
66 install -vDm644 dist/linux-unpacked/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}"
67 install -vDm644 build/package.json -t "${pkgdir}/usr/lib/${pkgname}"
68 cp -vr dist/linux-unpacked/resources/app.asar.unpacked -t "${pkgdir}/usr/lib/${pkgname}"
70 for i in 16 32 64 128 256 512 1024; do
71 install -vDm644 resources/icons/${i}x${i}.png "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png"
73 install -vDm644 resources/icon.png "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/${pkgname}.png"
75 install -vDm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/bitwarden-desktop"
76 install -vDm644 "${srcdir}"/${pkgname}.desktop -t "${pkgdir}"/usr/share/applications