diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 111 |
1 files changed, 88 insertions, 23 deletions
@@ -1,29 +1,94 @@ -# Maintainer: candroid_man <candroid_man@protonmail.com> +# Maintainer: zxp19821005 <zxp19821005 at 163 dot com> +# Contributer: candroid_man <candroid_man@protonmail.com> # Contributer: Ada <adadonderr@gmail.com> # Contributor: Christian Finnberg <christian@finnberg.net> -pkgname='notesnook-git' -pkgver=1.6.11 +pkgname=notesnook-git +pkgver=2.6.16.r12.ga3b590bcb +_electronversion=25 +_nodeversion=16 pkgrel=1 -pkgdesc="Take private notes, capture ideas, make lists & sync them anywhere" -arch=('x86_64') +pkgdesc="A fully open source & end-to-end encrypted note taking alternative to Evernote" +arch=( + 'aarch64' + 'x86_64' +) url="https://notesnook.com/" -license=('Unknown') -depends=('gtk3' 'nss') -source=("${pkgname}_${pkgver}_amd64.deb"::"https://github.com/streetwriters/$pkgname/releases/download/v$pkgver/${pkgname}_amd64.deb") -sha256sums=('1633b7989f49c4cb119cff2aeaa696b9252cae4f43361a0bd0dce64fbb1ac674') - -package() { - bsdtar -xf data.tar.xz -C "$pkgdir" - - # Link to the binary - mkdir -p "${pkgdir}/usr/bin" - ln -s '/opt/Notesnook/Notesnook' "${pkgdir}/usr/bin/Notesnook" +_ghurl="https://github.com/streetwriters/notesnook" +license=('GPL-3.0-or-later') +provides=("${pkgname%-git}=${pkgver%.r*}") +conflicts=("${pkgname%-git}") +depends=( + "electron${_electronversion}-bin" +) +makedepends=( + 'nvm' + 'npm' + 'git' + 'zip' + 'base-devel' + 'gcc' + 'curl' +) +source=( + "${pkgname//-/.}::git+${_ghurl}.git" + "${pkgname%-git}.desktop" + "${pkgname%-git}.sh" +) +sha256sums=('SKIP' + 'efc8a6cea79ed0203dcbadf17632b5341952a49704f99e3ea0ddc573b06748f4' + 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +pkgver() { + cd "${srcdir}/${pkgname//-/.}" + 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}" } - -post_install() { - # SUID chrome-sandbox for Electron 5+ - chmod 4755 "${pkgdir}/opt/Notesnook/chrome-sandbox" || true - - update-mime-database /usr/share/mime || true - update-desktop-database /usr/share/applications || true +build() { + sed -e "s|@electronversion@|${_electronversion}|" \ + -e "s|@appname@|${pkgname}|g" \ + -e "s|@runname@|app|g" \ + -e "s|@options@||g" \ + -i "${srcdir}/${pkgname%-git}.sh" + _ensure_local_nvm + export npm_config_build_from_source=true + export npm_config_cache="${srcdir}/.npm_cache" + 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" + #build + cd "${srcdir}/${pkgname//-/.}" + if [ `curl ifconfig.co/country` = "China" ];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 + # Install packages + npm ci --ignore-scripts --prefer-offline --no-audit + npm run bootstrap -- --scope=web + # Generate desktop build + npx nx build:desktop @notesnook/web + npm run bootstrap -- --scope=desktop + # Build Electron wrapper + cd "${srcdir}/${pkgname//-/.}/apps/desktop" + npx nx run release --project @notesnook/desktop + npx electron-builder --dir } +package() { + install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}" + install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}" + cp -r "${srcdir}/${pkgname//-/.}/apps/desktop/output/linux-"*/resources/{app,assets} "${pkgdir}/usr/lib/${pkgname%-git}" + for _icons in 16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 1024x1024;do + install -Dm644 "${srcdir}/${pkgname//-/.}/apps/desktop/assets/icons/${_icons}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png" + done + install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications" +}
\ No newline at end of file |