Prepare extra files for the PKGBUILD install #44

Open
opened 2026-10-27 15:33:34 +00:00 by Vylpes · 0 comments
Owner

Part of milestone 0.1.0 — desktop integration for the Arch vyxcalc package (PKGBUILD on release/0.1.0).

Context: The GUI already defines APP_ID / icon name com.vylpes.vyxcalc and embeds assets/icon.png (src/gui.rs). Today’s PKGBUILD only installs /usr/bin/vyxcalc and the license. #20 notes the .desktop launcher is this packaged flow’s job.

User story

AS a Linux user who installed vyxcalc from the Arch package
I WANT a desktop launcher and system-wide application icon
SO THAT I can start the calculator from my desktop environment’s app menu with correct branding.

Acceptance criteria

  1. Desktop entry in repo
    GIVEN the calculator repository
    WHEN packaging assets are reviewed
    THEN a Freedesktop .desktop file is versioned in the repo (e.g. beside PKGBUILD or under packaging/) including at minimum: Type=Application, Name, Comment, Exec=vyxcalc, Icon=com.vylpes.vyxcalc, Categories containing Calculator, and Terminal=false.

  2. Install desktop entry
    GIVEN a successful package build from the updated PKGBUILD
    WHEN the vyxcalc package is installed
    THEN the .desktop file is installed under /usr/share/applications/ as e.g. com.vylpes.vyxcalc.desktop with file mode 644.

  3. Install icon system-wide
    GIVEN assets/icon.png in the repository
    WHEN the package is installed
    THEN the icon is installed to /usr/share/icons/hicolor/128x128/apps/com.vylpes.vyxcalc.png (matching GUI ICON_NAME), file mode 644.

  4. Launcher behaviour
    GIVEN the package is installed on a GTK-based desktop
    WHEN the user launches Vyxcalc from the application menu
    THEN the GUI opens (equivalent to running vyxcalc with no subcommand — default GUI in main.rs).

  5. Launcher icon
    GIVEN the package is installed
    WHEN the app entry appears in the application menu
    THEN it shows the com.vylpes.vyxcalc icon (not a missing/generic placeholder).

  6. Existing install steps unchanged
    GIVEN the current vyxcalc package
    WHEN this change is delivered
    THEN installation of /usr/bin/vyxcalc and /usr/share/licenses/vyxcalc/LICENSE behaves as today.

  7. Production pipeline
    GIVEN the Forgejo production workflow builds the Arch package from PKGBUILD on tag
    WHEN this work is on the release branch used for builds
    THEN makepkg / the publish job still succeeds and the produced package contains the new desktop and icon files.

Subtasks

  • Add com.vylpes.vyxcalc.desktop source file
  • Update PKGBUILD package() to install the .desktop file
  • Update PKGBUILD package() to install assets/icon.png into hicolor 128x128/apps
  • Confirm Exec, Icon, binary name, and GUI ICON_NAME all align (vyxcalc / com.vylpes.vyxcalc)
  • Document post-install launcher verification in README
  • Confirm tagged production package build still succeeds

Notes

  • Original ask: .desktop for DE integration + system-wide icon install.
  • Additional hicolor sizes beyond 128x128 are optional unless product wants multi-size icons later.
Part of milestone **0.1.0** — desktop integration for the Arch `vyxcalc` package (`PKGBUILD` on `release/0.1.0`). **Context:** The GUI already defines `APP_ID` / icon name `com.vylpes.vyxcalc` and embeds `assets/icon.png` (`src/gui.rs`). Today’s `PKGBUILD` only installs `/usr/bin/vyxcalc` and the license. [#20](https://git.vylpes.xyz/RabbitLabs/calculator/issues/20) notes the `.desktop` launcher is this packaged flow’s job. ## User story AS a Linux user who installed `vyxcalc` from the Arch package I WANT a desktop launcher and system-wide application icon SO THAT I can start the calculator from my desktop environment’s app menu with correct branding. ## Acceptance criteria 1. **Desktop entry in repo** GIVEN the calculator repository WHEN packaging assets are reviewed THEN a Freedesktop `.desktop` file is versioned in the repo (e.g. beside `PKGBUILD` or under `packaging/`) including at minimum: `Type=Application`, `Name`, `Comment`, `Exec=vyxcalc`, `Icon=com.vylpes.vyxcalc`, `Categories` containing `Calculator`, and `Terminal=false`. 2. **Install desktop entry** GIVEN a successful package build from the updated `PKGBUILD` WHEN the `vyxcalc` package is installed THEN the `.desktop` file is installed under `/usr/share/applications/` as e.g. `com.vylpes.vyxcalc.desktop` with file mode `644`. 3. **Install icon system-wide** GIVEN `assets/icon.png` in the repository WHEN the package is installed THEN the icon is installed to `/usr/share/icons/hicolor/128x128/apps/com.vylpes.vyxcalc.png` (matching GUI `ICON_NAME`), file mode `644`. 4. **Launcher behaviour** GIVEN the package is installed on a GTK-based desktop WHEN the user launches **Vyxcalc** from the application menu THEN the GUI opens (equivalent to running `vyxcalc` with no subcommand — default GUI in `main.rs`). 5. **Launcher icon** GIVEN the package is installed WHEN the app entry appears in the application menu THEN it shows the `com.vylpes.vyxcalc` icon (not a missing/generic placeholder). 6. **Existing install steps unchanged** GIVEN the current `vyxcalc` package WHEN this change is delivered THEN installation of `/usr/bin/vyxcalc` and `/usr/share/licenses/vyxcalc/LICENSE` behaves as today. 7. **Production pipeline** GIVEN the Forgejo production workflow builds the Arch package from `PKGBUILD` on tag WHEN this work is on the release branch used for builds THEN `makepkg` / the publish job still succeeds and the produced package contains the new desktop and icon files. ## Subtasks - [ ] Add `com.vylpes.vyxcalc.desktop` source file - [ ] Update `PKGBUILD` `package()` to install the `.desktop` file - [ ] Update `PKGBUILD` `package()` to install `assets/icon.png` into hicolor `128x128/apps` - [ ] Confirm `Exec`, `Icon`, binary name, and GUI `ICON_NAME` all align (`vyxcalc` / `com.vylpes.vyxcalc`) - [ ] Document post-install launcher verification in README - [ ] Confirm tagged production package build still succeeds ## Notes - Original ask: `.desktop` for DE integration + system-wide icon install. - Additional hicolor sizes beyond `128x128` are optional unless product wants multi-size icons later.
Vylpes added this to the 0.1.0 milestone 2026-10-27 15:33:34 +00:00
Smithy-bot stopped working 2026-11-08 11:01:29 +00:00
57 seconds
Sign in to join this conversation.
No description provided.