From 6410929e17d642618f284d5c97d457f1ac653e6e Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 14 Feb 2026 15:40:33 -0600 Subject: Migrate data paths to ~/.local/share/fluorine/, add native build, fix %command% and system Proton scanning - All data paths migrated from ~/.var/app/com.fluorine.manager/ to ~/.local/share/fluorine/ so native and Flatpak builds share the same instances, plugins, and configs - New fluorinepaths.h/.cpp with fluorineDataDir() helper and one-time migration from old path (writes MOVED.txt breadcrumb) - New libs/nak/src/paths.rs as Rust equivalent (data_dir()) - Strip %command% tokens from launch wrapper in protonlauncher.cpp - Always scan /usr/share/steam/compatibilitytools.d/ for system Proton packages (Arch installs Proton there); add Flatpak filesystem permission - Native build (build-native.sh) installs to ~/.local/share/fluorine/ with desktop entry and ~/.local/bin symlink instead of portable zip - build-flatpak.sh wrapper for Flatpak builds - Fix container locale (LANG=C.UTF-8) for AutoUic warnings - Fix prefixExists() to handle both compatdata and pfx directory layouts - Fix globalInstancesRootPath() to use fluorineDataDir() on Linux - Fix umu-run Flatpak lookup to use fluorineDataDir() - Update README with build instructions and Arch dependency list Co-Authored-By: Claude Opus 4.6 --- flatpak/com.fluorine.manager.yml | 3 +-- flatpak/fluorine-manager-wrapper.sh | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'flatpak') diff --git a/flatpak/com.fluorine.manager.yml b/flatpak/com.fluorine.manager.yml index 834d8e9..a8ad61c 100644 --- a/flatpak/com.fluorine.manager.yml +++ b/flatpak/com.fluorine.manager.yml @@ -19,6 +19,7 @@ finish-args: - --filesystem=~/.steam:ro - --filesystem=~/.local/share/Steam - --filesystem=~/.var/app/com.valvesoftware.Steam:ro + - --filesystem=/usr/share/steam:ro - --talk-name=org.freedesktop.Flatpak cleanup: @@ -228,8 +229,6 @@ modules: cmake -S . -B _build -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=/app \ - -DPython3_ROOT_DIR=/app/lib/fluorine/python \ - -DPython3_EXECUTABLE=/app/lib/fluorine/python/bin/python3 \ -DBUILD_PLUGIN_PYTHON=ON - cmake --build _build --parallel diff --git a/flatpak/fluorine-manager-wrapper.sh b/flatpak/fluorine-manager-wrapper.sh index fabe535..2e05fcb 100755 --- a/flatpak/fluorine-manager-wrapper.sh +++ b/flatpak/fluorine-manager-wrapper.sh @@ -27,7 +27,8 @@ if [ -n "$INSTANCE_DIR" ] && [ -d "$INSTANCE_DIR" ]; then USER_DIR="$INSTANCE_DIR" else # Global instance: shared overlay at ~/.local/share/fluorine/ - USER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/fluorine" + # Use $HOME directly to bypass Flatpak's XDG_DATA_HOME remapping. + USER_DIR="$HOME/.local/share/fluorine" fi # ── Create writable overlay with symlinks to bundled files ── @@ -78,7 +79,7 @@ setup_overlay() { # VFS helper must be a real binary copy (not a symlink to /app/) because # it runs on the host via flatpak-spawn --host, where /app/ doesn't exist. # libfuse3 is statically linked, so no extra .so files needed. - VFS_HELPER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/fluorine/bin" + VFS_HELPER_DIR="$HOME/.local/share/fluorine/bin" if [ -e "${BUNDLED}/mo2-vfs-helper" ]; then mkdir -p "${VFS_HELPER_DIR}" cp -f "${BUNDLED}/mo2-vfs-helper" "${VFS_HELPER_DIR}/mo2-vfs-helper" -- cgit v1.3.1