summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCUI Hao2024-02-07 10:38:13 -0800
committerCUI Hao2024-02-07 10:38:13 -0800
commitd29d1875635e064d80904d761f19b182e494cc37 (patch)
tree3ea5efd53e80ab22122ef664a27b9d1dda264ad0
downloadaur-d29d1875635e064d80904d761f19b182e494cc37.tar.gz
New package: awatcher
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD72
2 files changed, 98 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..1fa1e25a6f05
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = awatcher
+ pkgdesc = Activity and idle watchers
+ pkgver = 0.2.4
+ pkgrel = 1
+ url = https://github.com/2e3s/awatcher
+ arch = x86_64
+ license = MPL-2.0
+ makedepends = rustup
+ makedepends = cargo
+ makedepends = npm
+ makedepends = git
+ makedepends = dbus
+ makedepends = openssl
+ options = !lto
+ source = awatcher-0.2.4.tar.gz::https://github.com/2e3s/awatcher/archive/refs/tags/v0.2.4.tar.gz
+ sha256sums = d5efaf4d01fa493c720e5443c6b383bfe53160101716bdd96dbbcee1ca440b73
+
+pkgname = awatcher-bundle
+ pkgdesc = Activity and idle watchers (bundled version)
+ depends = dbus
+ depends = openssl
+
+pkgname = aw-awatcher
+ pkgdesc = Activity and idle watchers (ActivityWatch module)
+ depends = openssl
+ optdepends = activitywatch: ActivityWatch server
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..352a6be8a9f4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,72 @@
+# Maintainer: CUI Hao <cuihao.leo@gmail.com>
+
+pkgbase="awatcher"
+pkgname=('awatcher-bundle' 'aw-awatcher')
+pkgdesc="Activity and idle watchers"
+pkgver=0.2.4
+pkgrel=1
+arch=('x86_64')
+url="https://github.com/2e3s/${pkgbase}"
+license=('MPL-2.0')
+depends=()
+makedepends=('rustup' 'cargo' 'npm' 'git' 'dbus' 'openssl')
+source=(
+ "${pkgbase}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
+)
+sha256sums=(
+ 'd5efaf4d01fa493c720e5443c6b383bfe53160101716bdd96dbbcee1ca440b73'
+)
+# LTO seems to break libsqlite3-sys compilation
+options=('!lto')
+
+prepare() {
+ cd "${pkgbase}-${pkgver}"
+ export RUSTUP_TOOLCHAIN=nightly-2023-11-01
+ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+
+ test -d aw-webui || git clone https://github.com/ActivityWatch/aw-webui.git
+ cd aw-webui
+ git checkout 839366e66f859faadd7f9128de3bea14b25ce4ae
+ git submodule update --init
+}
+
+_build_aw_webui() {
+ export npm_config_cache="${srcdir}/npm-cache"
+
+ pushd "aw-webui"
+ cp -f media/logo/logo.png static/
+ npm ci
+ npm run build
+ export AW_WEBUI_DIR="${PWD}/dist"
+ popd
+}
+
+build() {
+ cd "${pkgbase}-${pkgver}"
+ export RUSTUP_TOOLCHAIN=nightly-2023-11-01
+ export CARGO_TARGET_DIR=target
+
+ _build_aw_webui
+ cargo build --frozen --release --features=bundle
+ mv "target/release/${pkgbase}" "target/release/${pkgbase}-bundle"
+
+ cargo build --frozen --release
+ mv "target/release/${pkgbase}" "target/release/aw-${pkgbase}"
+}
+
+package_awatcher-bundle() {
+ pkgdesc="Activity and idle watchers (bundled version)"
+ depends=('dbus' 'openssl')
+
+ cd "${pkgbase}-${pkgver}"
+ install -Dm0755 "target/release/${pkgbase}-bundle" -t "${pkgdir}/usr/bin"
+}
+
+package_aw-awatcher() {
+ pkgdesc="Activity and idle watchers (ActivityWatch module)"
+ depends=('openssl')
+ optdepends=('activitywatch: ActivityWatch server')
+
+ cd "${pkgbase}-${pkgver}"
+ install -Dm0755 "target/release/aw-${pkgbase}" -t "${pkgdir}/usr/bin"
+}