Build omarchy-mac and omarchy-mac-boot from omacom/omarchy-mac-pkgs
Both recipes pin omacom/omarchy-mac-pkgs main 4399105 and stage the top-level omarchy-mac/ and omarchy-mac-boot/ directories, each tested from its own copy. omarchy-mac 0.1.0-11 and omarchy-mac-boot 20261004-1 sort above edge and every lab candidate. They carry the depends and the platform-root provide from #672 and #673 and drop the migration engine, legacy files and the Apple setup core now owns.
This commit is contained in:
1 parent
03b472525f
commit
c8f2257abb
4 files changed
+69
-43
No files matched your search
@@ -2,28 +2,32 @@
|
||||
# Ported from omarchy-mac/omarchy-pkgs-aarch64 pkgbuilds/omarchy-mac at 02ed7b250f7edcf7c5f748acaf7b21ef0a764e9d.
|
||||
|
||||
pkgname=omarchy-mac
|
||||
# pkgver matches packages/omarchy-mac/version at _commit. Bump pkgrel to re-pin
|
||||
# or rebuild the same add-on version; reset it to 1 when pkgver increases.
|
||||
# pkgver matches omarchy-mac/version at _commit. Bump pkgrel to re-pin or
|
||||
# rebuild the same add-on version; reset it to 1 when pkgver increases.
|
||||
pkgver=0.1.0
|
||||
pkgrel=6
|
||||
pkgrel=11
|
||||
pkgdesc='Apple Silicon configuration and support services for Omarchy'
|
||||
arch=('aarch64')
|
||||
groups=('omarchy-platform-apple-silicon')
|
||||
url='https://github.com/omacom/omarchy-mac'
|
||||
# Owns /usr/share/omarchy-platform: one platform package per machine. Nothing
|
||||
# may depend on omarchy-platform; the provide exists only for the conflict.
|
||||
provides=('omarchy-platform')
|
||||
conflicts=('omarchy-platform')
|
||||
url='https://github.com/omacom/omarchy-mac-pkgs'
|
||||
license=('MIT')
|
||||
makedepends=('git' 'findutils')
|
||||
checkdepends=('diffutils' 'python' 'systemd')
|
||||
# An exact quattro-upstream commit, never a branch.
|
||||
_commit=ff7ce0d4dfaea9e17270b3061e642ee095b7b265
|
||||
source=("omarchy-mac::git+https://github.com/omacom/omarchy-mac.git#commit=${_commit}")
|
||||
sha256sums=('7530c284cd323d451540205c0a677c4e187070f0b8c4081a2e85f487f2ebb985')
|
||||
# An exact omarchy-mac-pkgs main commit, never a branch.
|
||||
_commit=43991059e17bb0ab7e0ecf0010aef1fa73c3e2c9
|
||||
source=("omarchy-mac-pkgs::git+https://github.com/omacom/omarchy-mac-pkgs.git#commit=${_commit}")
|
||||
sha256sums=('654f54364a675ae9aa03728c49e5558121a7be70d60226cd8fdd4f901b195ee1')
|
||||
|
||||
prepare() {
|
||||
# Tests and staging must not be able to read the surrounding desktop source.
|
||||
# Tests and staging must not be able to read the other package's tree.
|
||||
rm -rf "$srcdir/addon"
|
||||
cp -a "$srcdir/omarchy-mac/packages/omarchy-mac" "$srcdir/addon"
|
||||
cp -a "$srcdir/omarchy-mac-pkgs/omarchy-mac" "$srcdir/addon"
|
||||
[[ $(<"$srcdir/addon/version") == "$pkgver" ]]
|
||||
[[ $(git -C "$srcdir/omarchy-mac" rev-parse HEAD) == "$_commit" ]]
|
||||
[[ $(git -C "$srcdir/omarchy-mac-pkgs" rev-parse HEAD) == "$_commit" ]]
|
||||
}
|
||||
|
||||
check() {
|
||||
@@ -32,10 +36,16 @@ check() {
|
||||
|
||||
package() {
|
||||
# Runtime-only: the builder does not need the Omarchy desktop to stage or
|
||||
# test the add-on.
|
||||
# test the add-on. What every Mac needs comes from here, so an image's first
|
||||
# boot has it offline and no owner can remove it: the speaker stack (whose
|
||||
# speakersafetyd unit this package presets), audio routing, the GPU's Vulkan
|
||||
# driver and the keyring of the Asahi repository the platform root names.
|
||||
# The runtime's Apple package list keeps the removable defaults (video
|
||||
# decode, wf-recorder, widevine, asahi-bless).
|
||||
depends=('omarchy' 'bash' 'coreutils' 'diffutils' 'grep' 'sed' 'gawk' 'systemd' 'pciutils' 'kmod'
|
||||
'mkinitcpio' 'networkmanager' 'iwd' 'python' 'pipewire' 'pipewire-pulse' 'libpulse' 'wireplumber'
|
||||
'asahi-audio' 'alsa-ucm-conf-asahi' 'rtkit' 'pipewire-alsa')
|
||||
'asahi-audio' 'speakersafetyd' 'alsa-ucm-conf-asahi' 'rtkit' 'pipewire-alsa'
|
||||
'vulkan-asahi' 'asahi-alarm-keyring')
|
||||
|
||||
"$srcdir/addon/install" "$pkgdir"
|
||||
install -Dm644 "$srcdir/addon/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
|
||||
@@ -1,23 +1,32 @@
|
||||
# omarchy-mac
|
||||
|
||||
Apple Silicon runtime support for Omarchy: Wi-Fi resume recovery, the headset microphone mapping, the notch modprobe default and the NetworkManager Wi-Fi backend. The source is `packages/omarchy-mac/` in omacom/omarchy-mac, with its own version and tests. The recipe pins an exact `quattro-upstream` commit and packages only that directory; `prepare()` copies it away from the surrounding desktop tree before `check()` runs its tests.
|
||||
Apple Silicon runtime support for Omarchy: the platform root (key names, notch cutouts, display and audio hints, keyrings), Wi-Fi resume recovery and the iwd backend, the headset microphone mapping, speaker safety, the audio watchdog, setup and app hooks, battery charge limits and the hardware video decode default. The source is `omarchy-mac/` in [omacom/omarchy-mac-pkgs](https://github.com/omacom/omarchy-mac-pkgs), with its own version and tests. The recipe pins an exact `main` commit and packages only that directory; `prepare()` copies it away from the rest of the checkout before `check()` runs its tests.
|
||||
|
||||
Ported from Scott Jones's recipe in omarchy-mac/omarchy-pkgs-aarch64 (`pkgbuilds/omarchy-mac` at `02ed7b250f7edcf7c5f748acaf7b21ef0a764e9d`). It supersedes the unpublished `omarchy-settings-asahi` recipe.
|
||||
Ported from Scott Jones's recipe in omarchy-mac/omarchy-pkgs-aarch64 (`pkgbuilds/omarchy-mac` at `02ed7b250f7edcf7c5f748acaf7b21ef0a764e9d`). It supersedes the unpublished `omarchy-settings-asahi` recipe. Up to 0.1.0-6 it built from `packages/omarchy-mac/` in omacom/omarchy-mac.
|
||||
|
||||
## Scope
|
||||
|
||||
The package is aarch64-only and published to edge only. It widens to rc and stable only after M1 and M2 cold-boot qualification. It depends on the generic `omarchy` package and has no `provides`, so nothing generic can pull it onto non-Apple aarch64 machines. It ships no kernel, boot, installer or trust configuration; those belong to `omarchy-mac-boot`.
|
||||
The package is aarch64-only and published to edge only. It widens to rc and stable only after M1 and M2 cold-boot qualification. It depends on the generic `omarchy` package. Its only `provides` is `omarchy-platform`, paired with `conflicts=('omarchy-platform')`: it owns `/usr/share/omarchy-platform`, the platform root Omarchy reads, so only one platform package can be installed. Nothing may depend on `omarchy-platform`, or a dependency could pull this package onto non-Apple aarch64 machines. It ships no kernel, boot, installer or trust configuration; those belong to `omarchy-mac-boot`.
|
||||
|
||||
Installing the package enables no services, but its vendor configuration applies on the next service start or module load: the iwd Wi-Fi backend for NetworkManager, the `appledrm` notch option and the WirePlumber headset microphone policy. `omarchy-mac-setup-system` and `omarchy-mac-setup-user` enable the Wi-Fi resume and microphone units, and they exit unless `omarchy-hw-apple-silicon` reports Apple Silicon. Stock Omarchy does not yet ship that detector or call these entrypoints, so on a stock install the units stay disabled until the platform detector and profile work lands.
|
||||
Installing the package enables no system services, but its vendor configuration applies on the next service start or module load: the iwd Wi-Fi backend for NetworkManager, the `appledrm` notch option and the WirePlumber headset microphone policy. The audio watchdog user unit is enabled by a vendor link and starts with the next graphical session; its `ExecCondition` skips it where `omarchy-hw-apple-silicon` is missing or says no. Omarchy runs the system and user setup through `omarchy-lifecycle-dispatch` (`/usr/lib/omarchy/mac`); a runtime without the dispatcher leaves them to `omarchy-mac-setup-system` and `omarchy-mac-setup-user`.
|
||||
|
||||
Runtime dependencies are declared in `package()`, so the builder stages and tests the add-on without installing the desktop.
|
||||
`depends` carries what every Mac needs, so an offline first boot has it and an owner can't remove it: the speaker stack with `speakersafetyd` named (its unit is this package's preset), `alsa-ucm-conf-asahi`, `rtkit`, `pipewire-alsa`, `pipewire-pulse`, `vulkan-asahi` and `asahi-alarm-keyring` (the keyring of the `[asahi-alarm]` repository, named in the platform root's `keyrings`). avd-fw, libva-v4l2_request-avd, wf-recorder and widevine stay out: they are removable defaults in the runtime's Apple package list. Runtime dependencies are declared in `package()`, so the builder stages and tests the add-on without installing the desktop.
|
||||
|
||||
## What 0.1.0-11 drops
|
||||
|
||||
From omacom/omarchy-mac-pkgs the package no longer ships the fork's `legacy/` copies (`/usr/share/omarchy-mac/legacy`) or the setup that retired them; pacman removes them on upgrade. The Apple pacman templates, the `omarchy-hw-apple` alias, the copies under `/usr/share/omarchy` and the platform Hyprland files that lab candidates 0.1.0-7 to 0.1.0-10 carried are gone too: Omarchy from omacom/omarchy#13362 owns the templates and the detector, and the Hyprland defaults wait for a core slot. Converting a fork or mx-mac Mac is a separate migration script, not this package.
|
||||
|
||||
## Publish order
|
||||
|
||||
- **Runtime.** Publish with or before the runtime from omacom/omarchy#13362, which reads `/usr/share/omarchy-platform` and dispatches setup to `/usr/lib/omarchy/mac`. That runtime with an older omarchy-mac loses the Mac's key names, notch cutouts and keyring refresh, and keeps Omarchy's generic setup.
|
||||
- **Boot package.** `omarchy-mac-boot` no longer presets `speakersafetyd`; this package does, from omacom/omarchy-mac#535. Every pin from omacom/omarchy-mac-pkgs includes it, so publish this pin with or before the matching `omarchy-mac-boot` pin.
|
||||
|
||||
## Updates
|
||||
|
||||
Updates are reviewed pins, never a branch. To release a change to the add-on:
|
||||
|
||||
1. Set `_commit` to the full `quattro-upstream` SHA and `pkgver` to `packages/omarchy-mac/version` at that commit.
|
||||
1. Set `_commit` to the full omacom/omarchy-mac-pkgs `main` SHA and `pkgver` to `omarchy-mac/version` at that commit.
|
||||
2. Reset `pkgrel` to 1 when `pkgver` increases; bump it to re-pin or rebuild the same version.
|
||||
3. Refresh `sha256sums` with `makepkg -g`.
|
||||
|
||||
Desktop-only commits on `quattro-upstream` do not need a new pin. `0.1.0-5` sorts above the `0.1.0-4.<run>` candidates the collaboration builder produced for test images.
|
||||
Commits that touch only `omarchy-mac-boot/`, the manual or the tools do not need a new pin. `0.1.0-11` sorts above edge's `0.1.0-6` and every lab candidate up to `0.1.0-10`.
|
||||
Reference in new issue
Block a user