diff --git a/CMakeLists.txt b/CMakeLists.txt index e2db1ae..0cb11b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20) -project(alakarte VERSION 0.1.0) +project(alakarte VERSION 0.1.1) set(PROJECT_DEP_VERSION "6.0.0") set(QT_MIN_VERSION "6.6.0") diff --git a/HACKING.md b/HACKING.md index 01ea248..9b8273b 100644 --- a/HACKING.md +++ b/HACKING.md @@ -10,6 +10,66 @@ This document is intended for contributors who want to build, run, and debug A-L cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug ``` +### SDL3 + +A-La-Karte uses SDL3 for gamepad navigation. + +There are two supported ways to satisfy the SDL3 dependency: + +#### Option 1: Use a system SDL3 package + +If your distribution provides SDL3 development packages, install them and configure normally. + +Common package names include `libsdl3-dev` (Debian/Ubuntu), `SDL3-devel` (Fedora/openSUSE), or similarly named SDL3 "-devel" packages. + +At CMake configure time, A-La-Karte uses `find_package(SDL3 REQUIRED)`. This requires that SDL3 provides a CMake package (e.g. `SDL3Config.cmake`) and that CMake can find it. + +If CMake cannot find SDL3, you can point it at the right prefix: + +```bash +cmake -B build -S . \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_PREFIX_PATH=/path/to/sdl3/prefix +``` + +Alternatively you can point directly at SDL3's CMake package directory: + +```bash +cmake -B build -S . \ + -DCMAKE_BUILD_TYPE=Debug \ + -DSDL3_DIR=/path/to/SDL3Config.cmake/parent +``` + +#### Option 2: Build SDL3 from a source tree + +If your distro does not ship SDL3 yet (or ships a version without a usable CMake package), you can build SDL3 as part of the A-La-Karte build by pointing CMake at an SDL3 source checkout: + +You can obtain a source tree by cloning upstream SDL: + +```bash +git clone https://github.com/libsdl-org/SDL.git +``` + +```bash +cmake -B build -S . \ + -DCMAKE_BUILD_TYPE=Debug \ + -DALAKARTE_SDL3_SOURCE_DIR=/path/to/SDL +``` + +`ALAKARTE_SDL3_SOURCE_DIR` must point at a directory that contains `CMakeLists.txt` from SDL3. + +This is intended for local development and CI setups. Distributions should prefer packaging SDL3 as a system dependency. + +#### Packaging guidance + +Packagers should depend on the system SDL3 development package and ensure CMake can discover it. + +In particular: + +- The build dependency must include SDL3 headers and the CMake package files. +- A-La-Karte links against `SDL3::SDL3`. +- Avoid using `ALAKARTE_SDL3_SOURCE_DIR` in distribution packaging. + ### Build ```bash @@ -82,4 +142,4 @@ Then: ## Notes - SteamGridDB cover fetching requires an API key. -- KRunner integration and gamepad navigation are optional at build time (depending on available dependencies). +- KRunner integration is optional at build time (depending on available dependencies). diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..b3e8a40 --- /dev/null +++ b/changelog.md @@ -0,0 +1,23 @@ +# Changelog + +## [0.1.1rc1] - 2026-01-24 + +### Added + +- SDL3-based gamepad navigation +- Bottom hint bar with keyboard/gamepad hints and controller icons +- UI mode setting (auto/desktop/handheld) + +### Changed + +- Import workflow skips sources that were already imported +- Steam importing filters out non-game entries (runtimes/redistributables) + +### Fixed + +- Heroic importing prefers cached cover images and imports sideload apps +- Safer QObject lifetime management for games and launcher processes + +## [0.1.0] - 2026-01-17 + +- First public preview release diff --git a/org.kde.alakarte.metainfo.xml b/org.kde.alakarte.metainfo.xml index 99f0e4a..0765ff1 100644 --- a/org.kde.alakarte.metainfo.xml +++ b/org.kde.alakarte.metainfo.xml @@ -75,6 +75,19 @@ + + +

Preview release with improved navigation and importing

+
    +
  • SDL3-based gamepad navigation
  • +
  • Bottom hint bar with keyboard/gamepad hints
  • +
  • UI mode setting (auto/desktop/handheld)
  • +
  • Steam importing filters non-game entries
  • +
  • Import workflow avoids re-importing already imported sources
  • +
  • Heroic importing prefers cached covers and imports sideload apps
  • +
+
+

First public preview release of A-La-Karte