summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD120
1 files changed, 69 insertions, 51 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 7c77301c1d5e..c72e167645c6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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