diff --git a/pkgbuilds/catsync/.omarchy/package.json b/pkgbuilds/catsync/.omarchy/package.json new file mode 100644 index 00000000..635bcb2f --- /dev/null +++ b/pkgbuilds/catsync/.omarchy/package.json @@ -0,0 +1,12 @@ +{ + "source": "local", + "upstream": { + "git_tags": "https://github.com/cytracon/catsync.git", + "tag_pattern": "v{pkgver}", + "sources": { + "any": [ + "https://github.com/cytracon/catsync/archive/refs/tags/{tag}.tar.gz" + ] + } + } +} diff --git a/pkgbuilds/catsync/PKGBUILD b/pkgbuilds/catsync/PKGBUILD new file mode 100644 index 00000000..095f281f --- /dev/null +++ b/pkgbuilds/catsync/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Bernard Bachmann + +pkgname=catsync +pkgver=0.5.0 +pkgrel=1 +pkgdesc='Google Drive sync daemon and tray for Omarchy' +arch=('any') +url='https://github.com/cytracon/catsync' +license=('MIT') +install='catsync.install' +depends=( + 'python' + 'python-gobject' + 'gtk3' + 'libayatana-appindicator' +) +optdepends=( + 'xdg-utils: open Drive links from the tray' +) +source=("$pkgname-$pkgver.tar.gz::https://github.com/cytracon/catsync/archive/refs/tags/v$pkgver.tar.gz") +sha256sums=('f43eb7a03e32ac3c43b8bb4c34189240956429ec485e87440757ebbe058abada') + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir/usr/lib/$pkgname" + cp -a catsyncd "$pkgdir/usr/lib/$pkgname/" + find "$pkgdir/usr/lib/$pkgname" -type d -name '__pycache__' -exec rm -rf {} + + find "$pkgdir/usr/lib/$pkgname" -type f -name '*.pyc' -delete + + install -Dm755 /dev/stdin "$pkgdir/usr/bin/catsyncd" <<'EOF' +#!/usr/bin/env bash +export PYTHONPATH="/usr/lib/catsync${PYTHONPATH:+:$PYTHONPATH}" +exec python3 -m catsyncd "$@" +EOF + install -Dm755 /dev/stdin "$pkgdir/usr/bin/catsync-tray" <<'EOF' +#!/usr/bin/env bash +export PYTHONPATH="/usr/lib/catsync${PYTHONPATH:+:$PYTHONPATH}" +exec python3 -m catsyncd.tray "$@" +EOF + install -Dm755 /dev/stdin "$pkgdir/usr/bin/catsync" <<'EOF' +#!/usr/bin/env bash +cmd="${1:-start}" +case "$cmd" in + start|tray) exec /usr/bin/catsync-tray ;; + settings) exec /usr/bin/catsync-tray --settings ;; + setup) exec /usr/bin/catsync-tray --setup ;; + *) exec /usr/bin/catsyncd "$@" ;; +esac +EOF + + install -Dm644 data/catsync.desktop "$pkgdir/usr/share/applications/catsync.desktop" + install -Dm644 data/catsync-settings.desktop "$pkgdir/usr/share/applications/catsync-settings.desktop" + install -Dm644 data/catsync-helper.desktop "$pkgdir/usr/share/applications/catsync-helper.desktop" + + install -Dm644 data/icons/catsync.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/catsync.svg" + install -Dm644 data/icons/catsyncd-tray.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/catsyncd-tray.svg" + install -Dm644 data/icons/catsyncd-tray-busy.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/catsyncd-tray-busy.svg" + install -Dm644 data/icons/catsyncd-tray-stopped.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/catsyncd-tray-stopped.svg" + + sed 's|ExecStart=%h/.local/bin/catsyncd daemon|ExecStart=/usr/bin/catsyncd daemon|' \ + data/systemd/catsyncd.service \ + | install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/catsyncd.service" + sed 's|ExecStart=%h/.local/bin/catsync-tray|ExecStart=/usr/bin/catsync-tray|' \ + data/systemd/catsync-tray.service \ + | install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/catsync-tray.service" + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 data/config.json.example "$pkgdir/usr/share/doc/$pkgname/config.json.example" +} diff --git a/pkgbuilds/catsync/catsync.install b/pkgbuilds/catsync/catsync.install new file mode 100644 index 00000000..0daa481b --- /dev/null +++ b/pkgbuilds/catsync/catsync.install @@ -0,0 +1,14 @@ +post_install() { + command -v update-desktop-database >/dev/null 2>&1 && update-desktop-database -q + command -v gtk-update-icon-cache >/dev/null 2>&1 && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + echo 'Enable the user daemon after Google auth: systemctl --user enable --now catsyncd.service' +} + +post_upgrade() { + post_install +} + +post_remove() { + command -v update-desktop-database >/dev/null 2>&1 && update-desktop-database -q + command -v gtk-update-icon-cache >/dev/null 2>&1 && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/pkgbuilds/cctv-lite/.omarchy/package.json b/pkgbuilds/cctv-lite/.omarchy/package.json new file mode 100644 index 00000000..b0ed9e91 --- /dev/null +++ b/pkgbuilds/cctv-lite/.omarchy/package.json @@ -0,0 +1,12 @@ +{ + "source": "local", + "upstream": { + "git_tags": "https://github.com/cytracon/cctv-lite.git", + "tag_pattern": "v{pkgver}", + "sources": { + "any": [ + "https://github.com/cytracon/cctv-lite/archive/refs/tags/{tag}.tar.gz" + ] + } + } +} diff --git a/pkgbuilds/cctv-lite/PKGBUILD b/pkgbuilds/cctv-lite/PKGBUILD new file mode 100644 index 00000000..cdaee0b4 --- /dev/null +++ b/pkgbuilds/cctv-lite/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Bernard Bachmann + +pkgname=cctv-lite +pkgver=0.2.0 +pkgrel=1 +pkgdesc='Live multi-camera RTSP viewer for Omarchy' +arch=('any') +url='https://github.com/cytracon/cctv-lite' +license=('MIT') +install='cctv-lite.install' +depends=( + 'python' + 'python-gobject' + 'python-yaml' + 'gtk4' + 'libadwaita' + 'gstreamer' + 'gst-plugins-base' + 'gst-plugins-good' + 'gst-plugins-bad' + 'gst-libav' + 'gst-plugin-gtk4' +) +source=("$pkgname-$pkgver.tar.gz::https://github.com/cytracon/cctv-lite/archive/refs/tags/v$pkgver.tar.gz") +sha256sums=('c58c457de5e84ce24edfb6ded088817769a30fd1c92c55b0b26c56453df59e8d') + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir/usr/lib/$pkgname" + cp -a cctv_lite "$pkgdir/usr/lib/$pkgname/" + find "$pkgdir/usr/lib/$pkgname" -type d -name '__pycache__' -exec rm -rf {} + + find "$pkgdir/usr/lib/$pkgname" -type f -name '*.pyc' -delete + + install -Dm755 /dev/stdin "$pkgdir/usr/bin/cctv-lite" <<'EOF' +#!/usr/bin/env bash +export PYTHONPATH="/usr/lib/cctv-lite${PYTHONPATH:+:$PYTHONPATH}" +exec python3 -m cctv_lite "$@" +EOF + + install -Dm644 data/com.bbachmann.cctv-lite.desktop \ + "$pkgdir/usr/share/applications/com.bbachmann.cctv-lite.desktop" + install -Dm644 data/icons/cctv-lite.svg \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/com.bbachmann.cctv-lite.svg" + install -Dm644 data/icons/cctv-lite.svg \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/cctv-lite.svg" + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 data/config.yaml.example "$pkgdir/usr/share/doc/$pkgname/config.yaml.example" +} diff --git a/pkgbuilds/cctv-lite/cctv-lite.install b/pkgbuilds/cctv-lite/cctv-lite.install new file mode 100644 index 00000000..53576025 --- /dev/null +++ b/pkgbuilds/cctv-lite/cctv-lite.install @@ -0,0 +1,12 @@ +post_install() { + command -v update-desktop-database >/dev/null 2>&1 && update-desktop-database -q + command -v gtk-update-icon-cache >/dev/null 2>&1 && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/pkgbuilds/syscare/.omarchy/package.json b/pkgbuilds/syscare/.omarchy/package.json new file mode 100644 index 00000000..96b4bbab --- /dev/null +++ b/pkgbuilds/syscare/.omarchy/package.json @@ -0,0 +1,12 @@ +{ + "source": "local", + "upstream": { + "git_tags": "https://github.com/cytracon/syscare.git", + "tag_pattern": "v{pkgver}", + "sources": { + "any": [ + "https://github.com/cytracon/syscare/archive/refs/tags/{tag}.tar.gz" + ] + } + } +} diff --git a/pkgbuilds/syscare/PKGBUILD b/pkgbuilds/syscare/PKGBUILD new file mode 100644 index 00000000..64a18e5d --- /dev/null +++ b/pkgbuilds/syscare/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Bernard Bachmann + +pkgname=syscare +pkgver=0.3.1 +pkgrel=1 +pkgdesc='System optimizer for Omarchy: clean caches, updates, processes, security' +arch=('any') +url='https://github.com/cytracon/syscare' +license=('MIT') +install='syscare.install' +depends=( + 'python' + 'python-gobject' + 'python-psutil' + 'gtk4' + 'libadwaita' + 'pacman-contrib' + 'polkit' +) +source=("$pkgname-$pkgver.tar.gz::https://github.com/cytracon/syscare/archive/refs/tags/v$pkgver.tar.gz") +sha256sums=('482a3eaa561b6671e726a8207f782d30e8435d9990fe217f64bc9f78121ca4ae') + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir/usr/lib/$pkgname" + cp -a syscare "$pkgdir/usr/lib/$pkgname/" + find "$pkgdir/usr/lib/$pkgname" -type d -name '__pycache__' -exec rm -rf {} + + find "$pkgdir/usr/lib/$pkgname" -type f -name '*.pyc' -delete + + install -Dm755 /dev/stdin "$pkgdir/usr/bin/syscare" <<'EOF' +#!/usr/bin/env bash +export PYTHONPATH="/usr/lib/syscare${PYTHONPATH:+:$PYTHONPATH}" +exec python3 -m syscare "$@" +EOF + + install -Dm644 data/com.bbachmann.syscare.desktop \ + "$pkgdir/usr/share/applications/com.bbachmann.syscare.desktop" + install -Dm644 data/icons/syscare.svg \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/com.bbachmann.syscare.svg" + install -Dm644 data/icons/syscare.svg \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/syscare.svg" + + if [[ -d data/icons/png ]]; then + for size in 16 22 24 32 48 64 128 256 512; do + src="data/icons/png/${size}x${size}/com.bbachmann.syscare.png" + if [[ -f "$src" ]]; then + install -Dm644 "$src" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/com.bbachmann.syscare.png" + fi + done + fi + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/pkgbuilds/syscare/syscare.install b/pkgbuilds/syscare/syscare.install new file mode 100644 index 00000000..53576025 --- /dev/null +++ b/pkgbuilds/syscare/syscare.install @@ -0,0 +1,12 @@ +post_install() { + command -v update-desktop-database >/dev/null 2>&1 && update-desktop-database -q + command -v gtk-update-icon-cache >/dev/null 2>&1 && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/pkgbuilds/tilix-cytracon/.omarchy/package.json b/pkgbuilds/tilix-cytracon/.omarchy/package.json new file mode 100644 index 00000000..2a9719d3 --- /dev/null +++ b/pkgbuilds/tilix-cytracon/.omarchy/package.json @@ -0,0 +1,3 @@ +{ + "source": "local" +} diff --git a/pkgbuilds/tilix-cytracon/PKGBUILD b/pkgbuilds/tilix-cytracon/PKGBUILD new file mode 100644 index 00000000..4bb7ab14 --- /dev/null +++ b/pkgbuilds/tilix-cytracon/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Bernard Bachmann + +pkgname=tilix-cytracon +_srcname=tilix +_tag=v1.9.8-cytracon.12 +pkgver=1.9.8.cytracon.12 +pkgrel=1 +pkgdesc='Cytracon Tilix: tiling terminal for Omarchy with split panes, bookmarks, and AI CLIs' +arch=('x86_64' 'aarch64') +url='https://github.com/cytracon/tilix' +license=('MPL-2.0') +depends=( + 'libx11' + 'gtkd' + 'vte3' + 'dconf' + 'gsettings-desktop-schemas' + 'liblphobos' + 'libunwind' +) +makedepends=( + 'ldc' + 'po4a' + 'meson' + 'appstream' + 'dub' +) +optdepends=( + 'python-nautilus: Open Tilix Here in Nautilus' + 'libsecret: password manager' +) +provides=('tilix') +conflicts=('tilix') +source=("$_srcname-$pkgver.tar.gz::https://github.com/cytracon/tilix/archive/refs/tags/$_tag.tar.gz") +sha256sums=('bc03b57ffe2d80730b41135b7f558e0af1d5d0be74f600950bf6a213402b0e5d') + +prepare() { + mv "$srcdir/$_srcname-${_tag#v}" "$srcdir/$_srcname-$pkgver" +} + +build() { + export DC=ldc + local srcdir_build="$srcdir/$_srcname-$pkgver" + if [[ -f "$srcdir_build/meson.build" ]]; then + arch-meson "$srcdir_build" build + meson compile -C build + else + cd "$srcdir_build" + dub build --compiler=ldc2 --build=release + fi +} + +package() { + local srcdir_build="$srcdir/$_srcname-$pkgver" + if [[ -d "$srcdir/build" ]]; then + meson install -C build --destdir "$pkgdir" + else + cd "$srcdir_build" + PREFIX="$pkgdir/usr" ./install.sh "$pkgdir/usr" + fi + install -Dm644 "$srcdir_build/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +}