Skip to content

Add bankstown, the psychoacoustic bass LV2 plugin - #465

Open
michaeldeby wants to merge 1 commit into
omacom:masterfrom
michaeldeby:add-bankstown
Open

michaeldeby wants to merge 1 commit into
omacom:masterfrom
michaeldeby:add-bankstown

Conversation

@michaeldeby

Copy link
Copy Markdown

bankstown is James Calligeros's LV2 bass enhancer, MIT licensed, written for
the Asahi Linux MacBook audio stack: speakers too small to reproduce low notes
get their harmonics played instead, and the ear supplies the fundamental. It
does the same for any thin laptop, which is most of the machines Omarchy runs
on.

Why in the Omarchy repository: the Speaker Calibrator marketplace plugin
(omacom/omarchy-plugin-marketplace#5964) uses it for its optional Deep bass
feature. Arch only carries it in the AUR, so today the plugin has to build it
on the user's machine from a PKGBUILD pinned to one upstream commit, which
means a Rust toolchain download and a compile for every user who wants it. A
signed package here makes it omarchy pkg add bankstown, and the plugin
already prefers a repository package whenever one exists, without any change.

The recipe:

  • Versioned release tarball from the upstream tag, with its b2sum.
  • cargo fetch --locked in prepare(), cargo build --frozen --release in
    build(), so the crate set is exactly the upstream Cargo.lock.
  • package() uses upstream's make install with LIBDIR=/usr/lib, which
    places the bundle at /usr/lib/lv2/bankstown.lv2/ (bankstown.so,
    bankstown.ttl, manifest.ttl), plus the licence file.
  • depends=('lv2'), makedepends=('cargo'). Pure Rust, so aarch64 is
    listed as well; it is the plugin's home architecture.
  • .omarchy/package.json: git_tags watch on the upstream repository, as it
    publishes tags but no GitHub releases; origin records the AUR recipe
    (bankstown at 7decdf29a77b798d805fea3566fd6c53ec42c54e) this was rewritten
    from, replacing its git checkout by tag with a checksummed tarball.

Tested on x86_64 with makepkg: the tarball verifies, the build takes about
a minute, and the package is around 200 KB with the four files above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant