diff options
author | xiota | 2023-12-02 22:16:36 -0800 |
---|---|---|
committer | xiota | 2023-12-02 23:18:25 -0800 |
commit | 24bb89469399855d59a6aa4be7272d275ce7629e (patch) | |
tree | 316b6f35e6caf1237bc13931ce3ac010053b2145 /PKGBUILD | |
parent | a77aa7ed75af3eec6e77d65a36685f8683cf4feb (diff) | |
download | aur-24bb89469399855d59a6aa4be7272d275ce7629e.tar.gz |
Bump to version 0.10.0
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 101 |
1 files changed, 70 insertions, 31 deletions
@@ -1,33 +1,71 @@ # Maintainer: Xuanwo <xuanwo@archlinuxcn.org> # Contributor: Bader <Bad3r@pm.me> -# Acknowledgment: Borrowed a lot from logseq-desktop-git, thank @pychuang -pkgname=logseq-desktop -pkgver=0.9.20 +# Acknowledgment: @pychuang (logseq-desktop-git) + +_pkgname="logseq-desktop" +pkgname="$_pkgname" +pkgver=0.10.0 pkgrel=1 -pkgdesc="A privacy-first, open-source platform for knowledge sharing and management." +pkgdesc="Privacy-first, open-source platform for knowledge sharing and management" arch=("x86_64") url="https://logseq.com" license=('AGPL3') -makedepends=("git" "yarn" "npm" "clojure" "nodejs>=16") + +makedepends=( + "clojure" + "gendesk" + "git" + "nodejs" + "npm" + "yarn" +) + install="$pkgname.install" + +_pkgsrc="logseq-${pkgver}" source=( - "${pkgname}-${pkgver}.zip::https://github.com/logseq/logseq/archive/refs/tags/${pkgver}.zip" - "build.patch" - "${pkgname}.desktop" - "${pkgname}.sh" + "$_pkgname-${pkgver}.zip::https://github.com/logseq/logseq/archive/refs/tags/${pkgver}.zip" ) sha256sums=( - '9bdc34628cec13c6e017ef9d256ad8283af3654b3e8c270551329b75f08a91e9' - 'b26c6ed39e2635e08a0df83d92883e670b75b02ed1c2c279044909c04edf8fc2' - 'd7ec65e2e92c967a1be865f90a7c242402dbf6ee8c45c863bdbad73aab0af2f4' - 'a6412899c57cc0369cb11af547b561b00de84cc4aa4d656f4fa5ea3385cfef2e' + '3b06e8910037a9bc6538fe631f8cbbccb1085e26c0defbbc628280350620d6ad' ) prepare() { - cd "$srcdir/logseq-${pkgver}" + cat <<'EOF' > "$_pkgname.sh" +#!/usr/bin/env sh +set -e - # patch :parallel-build true in shadow-cljs.edn - patch -Np1 -F100 -i "${srcdir}/build.patch" +APPDIR="/opt/logseq-desktop" +_ELECTRON="${APPDIR}/Logseq" + +_FLAGS_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/logseq-flags.conf" +if [ -r "$_FLAGS_FILE" ]; then + _USER_FLAGS="$(cat "$_FLAGS_FILE")" +fi + +if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then + exec ${_ELECTRON} $_USER_FLAGS "$@" +else + exec ${_ELECTRON} --no-sandbox $_USER_FLAGS "$@" +fi +EOF + + local _gendesk_options=( + -q -f -n + --pkgname="$_pkgname" + --pkgdesc="$pkgdesc" + --name="Logseq" + --exec="logseq %u" + --icon="logseq" + --terminal=false + --categories="Office" + --mimetypes="x-scheme-handler/logseq" + --startupnotify=true + --custom="StartupWMClass=Logseq" + ) + gendesk "${_gendesk_options[@]}" + + cd "${srcdir}/$_pkgsrc" # download required js modules yarn install @@ -36,50 +74,51 @@ prepare() { yarn gulp:build # go to folder `static` and download required js modules in static - cd "${srcdir}/logseq-${pkgver}/static" + cd "${srcdir}/$_pkgsrc/static" yarn install # go back to the top-level folder and download clojure dependencies - cd "${srcdir}/logseq-${pkgver}" + cd "${srcdir}/$_pkgsrc" clojure -P -M:cljs } build() { - cd "${srcdir}/logseq-${pkgver}" + cd "${srcdir}/$_pkgsrc" # build yarn cljs:release # packaging javescript files to an executable - cd "${srcdir}/logseq-${pkgver}/static" + cd "${srcdir}/$_pkgsrc/static" yarn electron-forge package } package() { # important files are under static/out/Logseq-linux-x64 - cd "${srcdir}/logseq-${pkgver}/static/out/Logseq-linux-x64" + cd "${srcdir}/$_pkgsrc/static/out/Logseq-linux-x64" # create destination folder and copy files - install -dm755 "${pkgdir}/opt/${pkgname}" - cp -a -r -u --verbose ./* "${pkgdir}/opt/${pkgname}" + install -dm755 "${pkgdir}/opt/$_pkgname" + cp -a -r -u --verbose ./* "${pkgdir}/opt/$_pkgname" # create a soft link to the executable install -dm755 "${pkgdir}/usr/bin" + # User flag aware launcher - install -m755 ${srcdir}/logseq-desktop.sh "${pkgdir}/usr/bin/logseq" + install -m755 "${srcdir}/$_pkgname.sh" "${pkgdir}/usr/bin/logseq" # create license folder and make soft links to actual license - install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}" - ln -s "/opt/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}" - ln -s "/opt/${pkgname}/LICENSES.chromium.html" "${pkgdir}/usr/share/licenses/${pkgname}" + install -dm755 "${pkgdir}/usr/share/licenses/$pkgname/" + ln -s "/opt/$_pkgname/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" + ln -s "/opt/$_pkgname/LICENSES.chromium.html" "${pkgdir}/usr/share/licenses/$pkgname/" # install readme and additional license file (the top-level AGPL3) - cd "${srcdir}/logseq-${pkgver}" - install -Dm644 "README.md" -t "${pkgdir}/usr/share/doc/${pkgname}" - install -Dm644 "LICENSE.md" -t "${pkgdir}/usr/share/licenses/${pkgname}" + cd "${srcdir}/$_pkgsrc" + install -Dm644 "README.md" -t "${pkgdir}/usr/share/doc/$pkgname/" + install -Dm644 "LICENSE.md" -t "${pkgdir}/usr/share/licenses/$pkgname/" # copy xdg desktop files cd "${srcdir}" install -dm755 "${pkgdir}/usr/share/applications" - install -Dm644 "${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" + install -Dm644 "$_pkgname.desktop" -t "${pkgdir}/usr/share/applications" } |