diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 59 |
1 files changed, 43 insertions, 16 deletions
@@ -1,43 +1,70 @@ # Maintainer: libertylocked <libertylocked@disroot.org> # Contributor: Stephen Brown II <Stephen [dot] Brown2 [at] gmail.com> pkgname=bitwarden-cli -pkgver=1.7.0 -# commit of bitwarden/jslib -_jslibcommit='af4e01c238b88ac296edfbf300a180e956da7d4b' +pkgver=1.18.0 +_jslibcommit='0a2ff12bedd55f5982fb8fe9102c4f20522f72e1' +_nodeversion='14.17.5' pkgrel=1 pkgdesc="The command line vault (Windows, macOS, & Linux). bitwarden.com" -arch=('x86_64') -url="https://bitwarden.com" +arch=('x86_64' 'aarch64') +url="https://github.com/bitwarden/cli" license=('GPL3') -makedepends=('nodejs' 'npm') -depends=('nodejs') +makedepends=('git' 'npm' 'nvm') conflicts=('bitwarden-cli-git') options=('!strip') source=("bitwarden-cli-${pkgver}.tar.gz::https://github.com/bitwarden/cli/archive/v${pkgver}.tar.gz" - "jslib-${_jslibcommit}.tar.gz::https://github.com/bitwarden/jslib/archive/${_jslibcommit}.tar.gz" - 'bw.sh') -sha512sums=('0ceec6f5df506f6b93d2ac20551d9722c3c56c66940d14e7b2b7e53254c8a9af204bb67b2e3ed78109e31402d6b79766dd32ed2dba767822953cf3c0b19e5da3' - '8697662008765e101adba8226a02f245f80aeb7473cc3b915009c7cdba0d365aaffaac4032be6991c145e59b99e8d589baaf8566a6fe91a827ed85539937821f' - '71729c0ee95429ab03fa586de6bbf8ebad29d6d5544775564bb35eaa68cc4a915007db54b5928e99234bfe7828491829a5d32750f641056a0b68e05aa842f9ee') + "jslib-${_jslibcommit}.tar.gz::https://github.com/bitwarden/jslib/archive/${_jslibcommit}.tar.gz") +sha512sums=('333c3c4d6b5311b256e34988a201f317fea6aa2d8c7186d80f7d0a1c68e3b40a957bcad66f97e2ca795420ced030390794d14ea173f9c9372d8886bc45a8dd95' + '686489c2a5d3847dc6e8c25bd7fb878fc82243cd20b83489ba89f129358c4715b5007d6526cd392383a9ddb84c57910b19fc6a3773fe56694e194c990c05dbd1') prepare() { - # make a symlink of jslib in cli since the submodule is missing in sourceball rmdir "${srcdir}/cli-${pkgver}/jslib" ln -s "${srcdir}/jslib-${_jslibcommit}" "${srcdir}/cli-${pkgver}/jslib" } build() { + export npm_config_cache="$srcdir/npm_cache" + local npm_prefix=$(npm config get prefix) + npm config delete prefix + source /usr/share/nvm/init-nvm.sh + nvm install ${_nodeversion} && nvm use ${_nodeversion} + + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 + cd "${srcdir}/cli-${pkgver}/jslib" + npm install cd "${srcdir}/cli-${pkgver}" npm install npm run build:prod + npm run clean + if [ $CARCH == "aarch64" ]; then + # TODO(libertylocked): pkg will compile nodejs from src and it takes + # ages because it can't find a prebuilt arm64 target + npx pkg . --targets linux-arm64 --output ./dist/linux-arm64/bw --build + ./dist/linux-arm64/bw completion --shell zsh > _bw + else + npm run package:lin + ./dist/linux/bw completion --shell zsh > _bw + fi + + + # Restore node config from nvm + npm config set prefix ${npm_prefix} + nvm unalias default } package() { cd "${srcdir}/cli-${pkgver}" - install -dm755 "${pkgdir}/usr/lib/${pkgname}" - cp -a build/. "${pkgdir}/usr/lib/${pkgname}/" + # install -dm755 "${pkgdir}/usr/lib/${pkgname}" + # cp -a build/. "${pkgdir}/usr/lib/${pkgname}/" install -dm755 "${pkgdir}/usr/bin" - install -Dm755 "${srcdir}/bw.sh" "${pkgdir}/usr/bin/bw" + if [ $CARCH == "aarch64" ]; then + install -Dm755 ./dist/linux-arm64/bw "${pkgdir}/usr/bin/bw" + else + install -Dm755 ./dist/linux/bw "${pkgdir}/usr/bin/bw" + fi + + # package zsh completions + install -Dm644 -t "${pkgdir}/usr/share/zsh/site-functions" "${srcdir}/cli-${pkgver}/_bw" } |