AkurAI Build
Menu

BifrOSt-Apps

public

Latest change f67fd8437552caf5eb9371b0012e81d27c807ca3 - Add native RÚV television application by Ólafur Búi Ólafsson

# BifrOSt RÚV

`org.bifrost.Ruv` is an Icelandic-first television application built natively
for COSMIC with Rust and libcosmic. It presents RÚV news, video on demand,
search, television schedules, and the RÚV and RÚV 2 live streams in a
remote-control-friendly interface. English is available as a complete fallback.

This is an independent client. RÚV owns its names, programming, editorial
content, imagery, streams, and trademarks; BifrOSt and this application are not
affiliated with or endorsed by RÚV. The application icon uses the official
square RÚV logo from [RÚV’s public brand-assets page](https://www.ruv.is/um-ruv/merki).

## Data and sandbox

The application reads public RÚV RSS, GraphQL, search, image, and HTTPS media
endpoints. Article HTML is converted to plain readable text before display.
Playback uses `iced_video_player` and GStreamer inside the application.

The Flatpak has network access for those services, display access for Wayland
with fallback X11, PulseAudio access for playback, and GPU acceleration. It has
no host filesystem, camera, microphone, device-wide, session-bus, or system-bus
permission. It stores no credentials and includes no analytics or tracking.

## Native development

Rust 1.93 or newer and the GStreamer development libraries are required:

```bash
cargo test --locked --manifest-path apps/ruv/Cargo.toml
cargo run --locked --manifest-path apps/ruv/Cargo.toml \
  --bin bifrost-ruv
```

`Cargo.lock` and `cargo-sources.json` are reviewed source-acquisition inputs,
not disposable build products. After intentionally changing dependencies,
refresh both from the repository root with a current checkout of
[`flatpak-builder-tools`](https://github.com/flatpak/flatpak-builder-tools):

```bash
cargo generate-lockfile --manifest-path apps/ruv/Cargo.toml
python3 /path/to/flatpak-builder-tools/cargo/flatpak-cargo-generator.py \
  apps/ruv/Cargo.lock -o apps/ruv/cargo-sources.json
cargo test --locked --manifest-path apps/ruv/Cargo.toml
```

Review the lockfile and generated source URLs, revisions, and checksums together.
The Flatpak build uses `cargo --offline --locked`; it does not resolve or fetch
Cargo dependencies in the build sandbox.

## Flatpak candidate

Install Flatpak Builder and the Freedesktop 25.08 SDK, Rust SDK extension, and
the stable `com.system76.Cosmic.BaseApp`, then run:

```bash
flatpak-builder --user --install-deps-from=flathub --force-clean \
  --default-branch=stable build/ruv apps/ruv/org.bifrost.Ruv.yml
```

To create an unsigned bundle for review:

```bash
flatpak-builder --user --install-deps-from=flathub --force-clean \
  --default-branch=stable --repo=repo/ruv build/ruv \
  apps/ruv/org.bifrost.Ruv.yml
flatpak build-bundle repo/ruv org.bifrost.Ruv.flatpak \
  org.bifrost.Ruv stable --arch=x86_64
sha256sum org.bifrost.Ruv.flatpak
```

The application repository never receives the BifrOSt application-release
private key and never publishes directly to the trusted catalog. A reviewed
candidate is admitted, signed, and published only by a release operator using
`dispatch-app-release.py` from `olibuijr/BifrOSt`.