diff --git a/pkgbuilds/elsewhen/.omarchy/README.md b/pkgbuilds/elsewhen/.omarchy/README.md index 21b3341..9195490 100644 --- a/pkgbuilds/elsewhen/.omarchy/README.md +++ b/pkgbuilds/elsewhen/.omarchy/README.md @@ -1,12 +1,12 @@ # elsewhen -Installs the Elsewhen world clock plugin from the `v{pkgver}` GitHub tag archive into `/usr/share/omarchy/plugins/omacom.elsewhen/` (the directory name is the plugin id the shell scans for, not the package name), plus `LICENSE` under `/usr/share/licenses/elsewhen/` and the upstream `README.md` under `/usr/share/doc/elsewhen/`. That directory is the packaged plugin root that omarchy PR [#12051](https://github.com/omacom/omarchy/pull/12051) teaches the shell to scan between its bundled plugins and `~/.config/omarchy/plugins`; on an Omarchy without it the package installs cleanly and the shell never looks, so it must ship alongside that change. `depends` carries no version floor for `omarchy` because no release carries #12051 yet; add one once it does. +Installs the Elsewhen world clock plugin from the `v{pkgver}` GitHub tag archive into `/usr/share/omarchy/shell/plugins/omacom.elsewhen/` (the directory name is the plugin id the shell scans for, not the package name), plus `LICENSE` under `/usr/share/licenses/elsewhen/` and the upstream `README.md` under `/usr/share/doc/elsewhen/`. The shell scans this directory alongside its bundled plugins. `package()` copies an explicit allow-list (`manifest.json`, every `*.qml` and `*.js`, `cities.json`, `world.json`, `worldclock-data.py`), so `tests/`, `.github/` and `.gitignore` never ship, and it fails the build if `manifest.json` is missing, does not declare `omacom.elsewhen`, or does not name a present `Panel.qml` as the entry point. An upstream release that adds a runtime file outside those patterns needs the allow-list extended here; the sync only moves versions and checksums. Every file is 0644: `Panel.qml` runs the script as `python3 /worldclock-data.py`, so it needs no execute bit. No install hook: Omarchy restarts the shell after `omarchy update`, and nothing here may write into a user home. The script's only writes go to `$XDG_CACHE_HOME/omacom-elsewhen/`, which it creates itself at runtime. Dependencies, cited as `file: tool` in the upstream tree: -- `omarchy`: `ArcText.qml`, `Chip.qml`, `EarthRow.qml`, `Globe.qml`, `MiniGlobe.qml`, `MoonDot.qml`, `Panel.qml: import qs.Commons`; `EarthRow.qml`, `Globe.qml`, `Panel.qml: import qs.Ui`. Owns `/usr/share/omarchy` and the packaged plugin root the shell scans. +- `omarchy`: `ArcText.qml`, `Chip.qml`, `EarthRow.qml`, `Globe.qml`, `MiniGlobe.qml`, `MoonDot.qml`, `Panel.qml: import qs.Commons`; `EarthRow.qml`, `Globe.qml`, `Panel.qml: import qs.Ui`. Owns `/usr/share/omarchy` and the shell plugin directory. - `quickshell`: `Globe.qml`, `Panel.qml: import Quickshell`; `Globe.qml`, `MiniGlobe.qml`, `Panel.qml: import Quickshell.Io` (`Process`, `FileView`, `StdioCollector`). - `python`: `Panel.qml: python3 /worldclock-data.py` (the facts process). `worldclock-data.py` imports only `json`, `os`, `sys`, `time`, `urllib`. - Left implicit as members of `base`, per Arch convention: `bash` (`Panel.qml`, `Globe.qml: bash -c` wraps every probe), `coreutils` (`Panel.qml`, `Globe.qml: date`, one probe per refresh), `systemd` (`Panel.qml: timedatectl show`, `timedatectl list-timezones`, each with a fallback: `/etc/localtime` for the home zone and `find /usr/share/zoneinfo` for the catalog), `sed` and `grep` (`Panel.qml`: the symlink target of `/etc/localtime` and the zoneinfo catalog filter), `findutils` and `tzdata` (that fallback; `worldclock-data.py: /usr/share/zoneinfo/zone1970.tab`). `omarchy` cannot run without any of them either. diff --git a/pkgbuilds/elsewhen/PKGBUILD b/pkgbuilds/elsewhen/PKGBUILD index 902a5e5..93639b1 100644 --- a/pkgbuilds/elsewhen/PKGBUILD +++ b/pkgbuilds/elsewhen/PKGBUILD @@ -2,7 +2,7 @@ pkgname=elsewhen pkgver=1.0.0 -pkgrel=1 +pkgrel=2 pkgdesc='World clock plugin for the Omarchy shell' arch=('any') url='https://github.com/omacom/elsewhen' @@ -24,11 +24,8 @@ source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") sha256sums=('3124f0c0a19ebc1b158bcf04151cddd6c733ceeead88052186b6a54c46bee263') package() { - # The packaged plugin root, scanned by the shell between its bundled - # plugins and ~/.config/omarchy/plugins since omarchy PR #12051. An older - # shell never looks here, so on it this package installs cleanly and does - # nothing; there is no omarchy version to pin until a release carries #12051. - local plugin="$pkgdir/usr/share/omarchy/plugins/omacom.elsewhen" + # Install alongside the bundled plugins in the shell's plugin directory. + local plugin="$pkgdir/usr/share/omarchy/shell/plugins/omacom.elsewhen" cd "$srcdir/$pkgname-$pkgver" || return 1 # The shell loads the entry point each manifest declares. A tree without