diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 120 |
1 files changed, 69 insertions, 51 deletions
@@ -1,62 +1,80 @@ -# Maintainer: Krzysztof Saczuk <zakku@zakku.eu> +# Maintainer: zxp19821005 <zxp19821005 at 163 dot com> +# Contributor: Krzysztof Saczuk <zakku@zakku.eu> # Contributor: Maxim Baz <cerebro@maximbaz.com> pkgname=cerebro-git -_pkgname=cerebro -pkgver=v0.4.0.r4.gb2039c2 -pkgrel=3 -pkgdesc='Open-source productivity booster with a brain.' -arch=('x86_64') -url='https://cerebroapp.com/' +_pkgname=Cerebro +pkgver=0.11.0.r22.gbcabb5b +_electronversion=20 +_nodeversion=16 +pkgrel=1 +pkgdesc='An open-source launcher to improve your productivity and efficiency' +arch=('any') +url='https://www.cerebroapp.com/' +_ghurl="https://github.com/cerebroapp/cerebro" license=('MIT') -conflicts=('cerebro') -depends=('nss' 'gtk3') -makedepends=('gendesk' 'python2' 'git' 'npm' 'yarn') -provides=('cerebro') -source=( - 'cerebro.desktop' - 'git+https://github.com/cerebroapp/cerebro.git' +conflicts=("${pkgname%-git}") +provides=("${pkgname%-git}=${pkgver%.r*}") +depends=( + "electron${_electronversion}-bin" ) -sha256sums=( - '3f6cf397952372f1bdf144b61dc02c977a127b04d52166947173aadf94cf3274' - 'SKIP' +makedepends=( + 'npm' + 'yarn' + 'git' + 'nvm' + 'gendesk' ) - +source=( + "${pkgname%-git}.git::git+${_ghurl}.git" + "${pkgname%-git}.sh") +sha256sums=('SKIP' + 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') pkgver() { - cd "${srcdir}/${_pkgname}" - git describe --long --tags | sed 's/-/.r/;s/-/./g' + cd "${srcdir}/${pkgname%-git}.git" + git describe --long --tags --exclude='*[a-z][a-z]*' | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g' +} +_ensure_local_nvm() { + export NVM_DIR="${srcdir}/.nvm" + source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]] + nvm install "${_nodeversion}" + nvm use "${_nodeversion}" } - build() { - cd "${srcdir}/${_pkgname}" - - yarn && cd ./app && yarn && cd ../ - yarn run build --linux --dir + sed -e "s|@electronversion@|${_electronversion}|" \ + -e "s|@appname@|${pkgname%-git}|g" \ + -e "s|@runname@|app.asar|g" \ + -e "s|@options@||g" \ + -i "${srcdir}/${pkgname%-git}.sh" + _ensure_local_nvm + gendesk -q -f -n --categories="Utility" --name="${_pkgname}" --exec="${pkgname%-git} %U" + cd "${srcdir}/${pkgname%-git}.git" + export npm_config_build_from_source=true + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 + export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + export npm_config_target="${SYSTEM_ELECTRON_VERSION}" + export ELECTRONVERSION="${_electronversion}" + export npm_config_disturl=https://electronjs.org/headers + HOME="${srcdir}/.electron-gyp" + mkdir -p "${srcdir}/.electron-gyp" + touch "${srcdir}/.electron-gyp/.yarnrc" + if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then + echo 'registry="https://registry.npmmirror.com/"' >> .npmrc + echo 'electron_mirror="https://registry.npmmirror.com/-/binary/electron/"' >> .npmrc + echo 'electron_builder_binaries_mirror="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"' >> .npmrc + else + echo "Your network is OK." + fi + sed 's|electron-builder",|electron-builder --dir",|g' -i package.json + yarn install --cache-folder "${srcdir}/.yarn_cache" + yarn run package } - package() { - cd "${srcdir}" - - echo "Creating desktop entry file.." - install -D "${srcdir}/cerebro.desktop" "${pkgdir}/usr/share/applications/cerebro.desktop" - - echo "Coping icons..." - install -D "${srcdir}/${_pkgname}/build/icons/256x256.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png" - - for size in 16 32 48 128 256 512 1024; do - install -D "${srcdir}/${_pkgname}/build/icons/${size}x${size}.png" "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/${_pkgname}.png" + install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}" + install -Dm644 "${srcdir}/${pkgname%-git}.git/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname%-git}" + for _icons in 16x16 32x32 48x48 128x128 256x256 512x512 1024x1024;do + install -Dm644 "${srcdir}/${pkgname%-git}.git/build/icons/${_icons}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png" done - - echo "Coping build..." - mkdir -p "${pkgdir}/opt/${_pkgname}" - cp -rf "${srcdir}/${_pkgname}/release/linux-unpacked/." "${pkgdir}/opt/${_pkgname}" - - echo "Copying licenses..." - for license in "LICENSE.electron.txt" "LICENSES.chromium.html"; do - install -D "${pkgdir}/opt/${_pkgname}/${license}" "${pkgdir}/usr/share/licenses/${_pkgdir}/${license}" - rm "${pkgdir}/opt/${_pkgname}/${license}" - done - - echo "Linking binary file" - mkdir -p "${pkgdir}/usr/bin" - ln -s "/opt/${_pkgname}/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}" -} + install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications" + install -Dm644 "${srcdir}/${pkgname%-git}.git/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" +}
\ No newline at end of file |