summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorxiota2023-12-02 22:16:36 -0800
committerxiota2023-12-02 23:18:25 -0800
commit24bb89469399855d59a6aa4be7272d275ce7629e (patch)
tree316b6f35e6caf1237bc13931ce3ac010053b2145 /PKGBUILD
parenta77aa7ed75af3eec6e77d65a36685f8683cf4feb (diff)
downloadaur-24bb89469399855d59a6aa4be7272d275ce7629e.tar.gz
Bump to version 0.10.0
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD101
1 files changed, 70 insertions, 31 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 117c9ed26d62..32906c4b2eee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"
}