ayaports/user/trilium/APKBUILD
2023-09-01 00:33:00 +00:00

117 lines
4.7 KiB
Text

# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=trilium
pkgver=0.59.4
pkgrel=0
pkgdesc="A hierarchical note taking application with focus on building large personal knowledge bases."
arch="x86_64"
url="https://github.com/zadam/trilium"
license="AGPL-3.0"
depends="electron"
makedepends="
npm
nodejs
"
subpackages="$pkgname-server $pkgname-dumpdb"
source="$pkgname-$pkgver.tar.gz::https://github.com/zadam/trilium/archive/refs/tags/v$pkgver.tar.gz
copy-trilium.sh.patch
config-sample.ini.patch
trilium.sh
trilium-server.sh
trilium-dumpdb.sh
trilium.desktop
"
prepare() {
default_prepare
sed -i "s|@electronversion@||" ../trilium.sh
}
_trilium_desktop_src_dir=./dist/trilium-linux-x64-src
_trilium_server_src_dir=./dist/trilium-linux-server-x64-src
build() {
export npm_config_cache="$srcdir/npm_cache"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
npm install --build-from-source
# Building trilium (desktop)
./bin/copy-trilium.sh $_trilium_desktop_src_dir
rm -rf $_trilium_desktop_src_dir/dump-db
rm -r $_trilium_desktop_src_dir/src/public/app-dist/*.mobile.*
npx electron-builder --linux --x64 --dir \
--project=$_trilium_desktop_src_dir \
-c.electronDist=/usr/lib/electron \
-c.electronVersion="$(electron --version | tail -c +2)"
# Building trilium-server
grep -v electron package.json > package-server.json
mv package-server.json package.json
./bin/copy-trilium.sh $_trilium_server_src_dir
rm -rf $_trilium_server_src_dir/dump-db
mkdir $_trilium_server_src_dir/node_modules/better-sqlite3/build/Release
cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node $_trilium_server_src_dir/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $_trilium_server_src_dir/webpack*
rm -r $_trilium_server_src_dir/electron.js
# Building trilium-dumpdb
cd dump-db
npm install
cp -f ../node_modules/better-sqlite3/build/Release/better_sqlite3.node node_modules/better-sqlite3/build/Release/better_sqlite3.node
}
package() {
install -vDm644 $_trilium_desktop_src_dir/dist/linux-unpacked/resources/app.asar -t "$pkgdir/usr/lib/$pkgname"
install -vDm644 $_trilium_desktop_src_dir/package.json -t "$pkgdir/usr/lib/$pkgname"
install -vDm644 bin/tpl/anonymize-database.sql -t "$pkgdir/usr/lib/$pkgname"
for i in 16 32 64 128 256 512; do
install -vDm644 images/app-icons/png/${i}x$i.png "$pkgdir/usr/share/icons/hicolor/${i}x$i/apps/$pkgname.png"
done
install -vDm755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/trilium"
install -vDm644 "$srcdir"/$pkgname.desktop -t "$pkgdir"/usr/share/applications
}
server() {
pkgdesc="A hierarchical note taking application with focus on building large personal knowledge bases - Server version"
depends="nodejs"
install -vd "$pkgdir/usr/share/webapps/$pkgname"
cp -vr $_trilium_server_src_dir/. -t "$pkgdir/usr/share/webapps/$pkgname"
chmod -v 755 "$pkgdir/usr/share/webapps/$pkgname/src/www"
install -vDm644 $_trilium_server_src_dir/package.json -t "$pkgdir/usr/share/webapps/$pkgname"
install -vDm644 bin/tpl/anonymize-database.sql -t "$pkgdir/usr/share/webapps/$pkgname"
install -vDm755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/trilium-server"
# TODO: setup openrc
# install -vDm644 "$srcdir"/$pkgname.service -t "$pkgdir/usr/lib/systemd/system"
}
dumpdb() {
pkgdesc="An emergency tool to extract notes from the database where they're stored to plain files on the filesystem"
depends="nodejs"
install -vd "$pkgdir/usr/lib/$pkgname"
cp -vr dump-db/. -t "$pkgdir/usr/lib/$pkgname"
chmod -v 755 "$pkgdir/usr/lib/$pkgname/dump-db.js"
install -vDm755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/trilium-dumpdb"
}
sha512sums="
96a4788574f66a830515eb8fe11bdc87e1083f04c3f409d095cdde2515c008c2ba32a0554d7e5cda4602c2b20861e5b442e022f3c1be4fd3397c0f9e4d24eae2 trilium-0.59.4.tar.gz
90ed115b3c7664d958f8426ac55253d46e770ebbfc4b7443581943df7e85211d709948e7ca41d698b28d4510c3e4c50244726ce49d44e1fa530fbf8129e42c5a copy-trilium.sh.patch
48fcb6931b632280a16b14744ee64804de1b399b0682076fdf1fa5669f691a53371532363020d8c7fb3704ea7bd633903cab1b92018f88a7170e6c2e213cd149 config-sample.ini.patch
6b03a7cce3836966d00e282d012cce944b8b56e29200fa06e64563a95e4edde591c0018715639a5e2acdbfd11a73ccb8283fbad19efc7dff218e8398c7e12d30 trilium.sh
14a97f1fab392dd9a55440712bf3f2976de20e9c09789392984313455af77d9900445bd06cf2c3a3879a94cab893e83bd4093060f9214b2c201af89d7f62f663 trilium-server.sh
e1fa62cdc2ecde41f5c5336bca3dd2d2b9e65de1a3162ef4ed336aaa7660c2b1c23793df7cdbd09e8b020890de0ba2d58c8704d2d1f0916da1212167c4820c0f trilium-dumpdb.sh
d0c051a0412f17f0373ead660ae6ddfefe5e8f8e2104a0ffc52d9af94c57c1274a2dc8d2317516dafa0fa85263250633acb56556318f21a663105dd7fce9b36f trilium.desktop
"