{
 "app_id": "io.github.mlm_games.mages",
 "source_url": "https://raw.githubusercontent.com/flathub/io.github.mlm_games.mages/master/io.github.mlm_games.mages.yml",
 "runtime": "org.freedesktop.Platform",
 "runtime_version": "25.08",
 "sdk": "org.freedesktop.Sdk",
 "finish_args": [
  "--share=ipc",
  "--share=network",
  "--socket=pulseaudio",
  "--socket=x11",
  "--device=dri",
  "--filesystem=xdg-download",
  "--talk-name=org.freedesktop.Notifications",
  "--talk-name=org.freedesktop.secrets"
 ],
 "module_count": 2,
 "fetched_at": "2026-09-19T12:46:43.561294+00:00",
 "manifest": {
  "app-id": "io.github.mlm_games.mages",
  "runtime": "org.freedesktop.Platform",
  "runtime-version": "25.08",
  "sdk": "org.freedesktop.Sdk",
  "sdk-extensions": [
   "org.freedesktop.Sdk.Extension.openjdk21",
   "org.freedesktop.Sdk.Extension.openjdk25",
   "org.freedesktop.Sdk.Extension.rust-stable"
  ],
  "command": "mages",
  "finish-args": [
   "--share=ipc",
   "--share=network",
   "--socket=x11",
   "--device=dri",
   "--socket=pulseaudio",
   "--filesystem=xdg-download",
   "--talk-name=org.freedesktop.Notifications",
   "--talk-name=org.freedesktop.secrets"
  ],
  "build-options": {
   "env": {
    "JAVA_HOME": "/usr/lib/sdk/openjdk25/jvm/openjdk-25",
    "PATH": "/usr/lib/sdk/openjdk25/bin:/usr/lib/sdk/openjdk21/bin:/usr/lib/sdk/rust-stable/bin:/app/bin:/usr/bin",
    "CARGO_HOME": "/run/build/mages/cargo",
    "CARGO_NET_OFFLINE": "true",
    "GRADLE_USER_HOME": "/run/build/mages/gradle-deps",
    "RUST_BACKTRACE": "1",
    "ORG_GRADLE_PROJECT_org.gradle.java.installations.auto-download": "false",
    "ORG_GRADLE_PROJECT_org.gradle.java.installations.paths": "/usr/lib/sdk/openjdk21/jvm/openjdk-21,/usr/lib/sdk/openjdk25/jvm/openjdk-25"
   }
  },
  "modules": [
   {
    "name": "openjdk",
    "buildsystem": "simple",
    "build-commands": [
     "/usr/lib/sdk/openjdk25/install.sh"
    ]
   },
   {
    "name": "mages",
    "buildsystem": "simple",
    "sources": [
     {
      "type": "archive",
      "url": "https://github.com/mlm-games/Mages/releases/download/4.11.6/mages-4.11.6-vendored-sources.tar.gz",
      "sha256": "5c1036ff1da414b43f2844d8c1edd90c77d74c0cee5856ada2ac6cd3b6e3019f",
      "strip-components": 1,
      "x-checker-data": {
       "type": "json",
       "url": "https://api.github.com/repos/mlm-games/mages/releases",
       "tag-query": "map(select(.draft == false)) | max_by(.published_at) | .tag_name",
       "version-query": "map(select(.draft == false)) | max_by(.published_at) | .tag_name",
       "timestamp-query": "map(select(.draft == false)) | max_by(.published_at) | .published_at",
       "url-query": "map(select(.draft == false)) | max_by(.published_at) | .assets[] | select(.name | test(\"vendored-sources\\\\.tar\\\\.gz$\")) | .browser_download_url"
      }
     },
     {
      "type": "script",
      "dest-filename": "mages",
      "commands": [
       "export PATH=/app/lib/mages/lib/runtime/bin:$PATH",
       "exec /app/lib/mages/bin/Mages \"$@\""
      ]
     }
    ],
    "build-commands": [
     "mkdir -p cargo",
     "cp -r .cargo/* cargo/ 2>/dev/null || true",
     "cat cargo/config.toml",
     "pushd rust/uniffi-bindgen && cargo build --release --offline && popd",
     "pushd rust && cargo build --release --offline && popd",
     "pushd rust\n./uniffi-bindgen/target/release/uniffi-bindgen generate \\\n  --library target/release/libmages_ffi.so \\\n  --language kotlin \\\n  --out-dir ../shared/src/commonMain/kotlin/\npopd\n\n  # Copy native library (based on arch)\n",
     "case \"$FLATPAK_ARCH\" in\n  \"x86_64\")\n    JNA_DIR=\"linux-x86-64\"\n    ;;\n  \"aarch64\")\n    JNA_DIR=\"linux-aarch64\"\n    ;;\n  *)\n    echo \"Unsupported architecture: $FLATPAK_ARCH\"\n    exit 1\n    ;;\nesac\n\ninstall -D rust/target/release/libmages_ffi.so -t \"shared/src/jvmMain/resources/$JNA_DIR/\"\n\n  # Build desktop app with Gradle (offline)\n",
     "./gradlew :desktopApp:createDistributable --offline --no-daemon --no-configuration-cache --no-build-cache",
     "mkdir -p /app/lib/mages",
     "cp -r desktopApp/build/compose/binaries/main/app/Mages/* /app/lib/mages/",
     "if [ -f cargo/config.toml ]; then\n  sed -i 's|directory = \"vendor\"|directory = \"../vendor\"|g' cargo/config.toml || true\n  cat cargo/config.toml\nfi\n",
     "install -Dm755 mages ${FLATPAK_DEST}/bin/mages",
     "install -Dm644 fastlane/metadata/android/en-US/images/icon.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png",
     "install -Dm644 packaging/${FLATPAK_ID}.desktop /app/share/applications/${FLATPAK_ID}.desktop",
     "install -Dm644 packaging/${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml"
    ]
   }
  ]
 }
}