{
 "app_id": "io.github.doukutsu_rs.doukutsu-rs",
 "source_url": "https://raw.githubusercontent.com/flathub/io.github.doukutsu_rs.doukutsu-rs/master/io.github.doukutsu_rs.doukutsu-rs.yaml",
 "runtime": "org.freedesktop.Platform",
 "runtime_version": "25.08",
 "sdk": "org.freedesktop.Sdk",
 "finish_args": [
  "--share=ipc",
  "--socket=x11",
  "--socket=wayland",
  "--socket=pulseaudio",
  "--socket=fallback-x11",
  "--device=all",
  "--filesystem=xdg-run/app/com.discordapp.Discord:create"
 ],
 "module_count": 2,
 "fetched_at": "2026-09-17T16:10:54.665215+00:00",
 "manifest": {
  "app-id": "io.github.doukutsu_rs.doukutsu-rs",
  "runtime": "org.freedesktop.Platform",
  "runtime-version": "25.08",
  "sdk": "org.freedesktop.Sdk",
  "sdk-extensions": [
   "org.freedesktop.Sdk.Extension.rust-stable"
  ],
  "command": "doukutsu-rs",
  "finish-args": [
   "--device=all",
   "--filesystem=xdg-run/app/com.discordapp.Discord:create",
   "--share=ipc",
   "--socket=fallback-x11",
   "--socket=pulseaudio",
   "--socket=wayland"
  ],
  "cleanup": [
   "/share/applications/mimeinfo.cache",
   "/share/icons/hicolor/icon-theme.cache",
   "*.la",
   "*.a"
  ],
  "modules": [
   {
    "name": "doukutsu-rs",
    "buildsystem": "simple",
    "build-options": {
     "append-path": "/usr/lib/sdk/rust-stable/bin",
     "env": {
      "CARGO_HOME": "/run/build/doukutsu-rs/cargo"
     }
    },
    "build-commands": [
     "cargo --offline fetch --manifest-path Cargo.toml --verbose",
     "cargo --offline build --release --verbose",
     "install -Dpm0644 -t \"${FLATPAK_DEST}/share/applications/\" \"res/flatpak/${FLATPAK_ID}.desktop\"",
     "install -Dpm0644 -t \"${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/\" \"res/flatpak/${FLATPAK_ID}.png\"",
     "install -Dpm0644 -t \"${FLATPAK_DEST}/share/metainfo/\" \"res/flatpak/${FLATPAK_ID}.metainfo.xml\"",
     "install -Dpm0755 -t \"${FLATPAK_DEST}/bin/\" doukutsu-rs apply_extra",
     "install -Dpm0755 ./target/release/doukutsu-rs \"${FLATPAK_DEST}/bin/doukutsu-rs-binary\""
    ],
    "sources": [
     {
      "type": "archive",
      "archive-type": "tar-gzip",
      "url": "https://api.github.com/repos/doukutsu-rs/doukutsu-rs/tarball/1.0.0",
      "sha256": "b35aa4f1c71d1d163e3dba43505c41f6c960c5fdb91cc24ff20d186dd6b0d558",
      "x-checker-data": {
       "type": "json",
       "url": "https://api.github.com/repos/doukutsu-rs/doukutsu-rs/releases/latest",
       "version-query": ".tag_name | sub(\"^v\"; \"\")",
       "timestamp-query": ".published_at",
       "url-query": ".tarball_url"
      }
     },
     "cargo-sources-doukutsu.json",
     {
      "type": "extra-data",
      "filename": "cavestoryen.zip",
      "url": "https://www.cavestory.org/downloads/cavestoryen.zip",
      "sha256": "aa87fa30bee9b4980640c7e104791354e0f1f6411ee0d45a70af70046aa0685f",
      "size": 1136575
     },
     {
      "type": "script",
      "dest-filename": "apply_extra",
      "commands": [
       "unzip -n cavestoryen.zip CaveStory/data/* CaveStory/Doukutsu.exe\nmv CaveStory/data /app/extra/data\nmv CaveStory/Doukutsu.exe .\nvanilla-extractor\nrm -rf CaveStory cavestoryen.zip Doukutsu.exe\n"
      ]
     },
     {
      "type": "script",
      "dest-filename": "doukutsu-rs",
      "commands": [
       "export CAVESTORY_DATA_DIR=\"${FORCE_CAVESTORY_DATA_DIR:-/app/extra/data}\"\nmkdir -p \"${XDG_DATA_HOME}/doukutsu-rs/data\"\nif [ ! -n \"$(find \"${XDG_DATA_HOME}/doukutsu-rs/data\" -prune -empty 2>/dev/null)\" ] ; then\n  export CAVESTORY_DATA_DIR=\"${XDG_DATA_HOME}/doukutsu-rs/data\"\nfi\nexec doukutsu-rs-binary \"${@}\"\n"
      ]
     }
    ],
    "modules": [
     {
      "name": "vanilla-extractor",
      "buildsystem": "simple",
      "build-options": {
       "append-path": "/usr/lib/sdk/rust-stable/bin",
       "env": {
        "CARGO_HOME": "/run/build/vanilla-extractor/cargo"
       }
      },
      "build-commands": [
       "cargo --offline fetch --manifest-path Cargo.toml --verbose",
       "cargo --offline build --release --verbose",
       "install -Dpm0755 -t \"${FLATPAK_DEST}/bin/\" ./target/release/vanilla-extractor"
      ],
      "sources": [
       {
        "type": "archive",
        "url": "https://api.github.com/repos/doukutsu-rs/vanilla-extractor/tarball/v1.0.2",
        "archive-type": "tar-gzip",
        "sha256": "7672d90d48c6e2fae2edf57b59fa5b03432bd9f992297834a60c55147e6e39b3",
        "x-checker-data": {
         "type": "json",
         "url": "https://api.github.com/repos/doukutsu-rs/vanilla-extractor/releases/latest",
         "version-query": ".tag_name | sub(\"^v\"; \"\")",
         "timestamp-query": ".published_at",
         "url-query": ".tarball_url"
        }
       },
       "cargo-sources-vanilla-extractor.json"
      ]
     }
    ]
   }
  ]
 }
}