{
 "app_id": "dev.slimevr.SlimeVR",
 "source_url": "https://raw.githubusercontent.com/flathub/dev.slimevr.SlimeVR/master/dev.slimevr.SlimeVR.yml",
 "runtime": "org.freedesktop.Platform",
 "runtime_version": "25.08",
 "sdk": "org.freedesktop.Sdk",
 "finish_args": [
  "--share=ipc",
  "--share=network",
  "--socket=fallback-x11",
  "--socket=pulseaudio",
  "--socket=wayland",
  "--device=all"
 ],
 "module_count": 3,
 "fetched_at": "2026-09-17T16:09:44.137168+00:00",
 "manifest": {
  "app-id": "dev.slimevr.SlimeVR",
  "runtime": "org.freedesktop.Platform",
  "sdk": "org.freedesktop.Sdk",
  "runtime-version": "25.08",
  "base": "org.electronjs.Electron2.BaseApp",
  "base-version": "25.08",
  "separate-locales": false,
  "command": "slimevr",
  "finish-args": [
   "--share=network",
   "--device=all",
   "--share=ipc",
   "--socket=fallback-x11",
   "--socket=wayland",
   "--socket=pulseaudio",
   "--env=PATH=/app/jre/bin:/usr/bin:/app/bin",
   "--env=JAVA_HOME=/app/jre",
   "--env=ELECTRON_TRASH=gio"
  ],
  "sdk-extensions": [
   "org.freedesktop.Sdk.Extension.openjdk21",
   "org.freedesktop.Sdk.Extension.node22"
  ],
  "modules": [
   {
    "name": "node",
    "buildsystem": "simple",
    "build-commands": [
     "/usr/lib/sdk/node22/install-sdk.sh"
    ]
   },
   {
    "name": "openjdk",
    "buildsystem": "simple",
    "build-commands": [
     "/usr/lib/sdk/openjdk21/install.sh"
    ]
   },
   {
    "name": "slimevr-gui",
    "buildsystem": "simple",
    "build-options": {
     "append-path": "/usr/lib/sdk/node22/bin:/run/build/slimevr-gui/pnpm/bin:/run/build/slimevr-gui/node_modules/.pnpm/node_modules/.bin",
     "env": {
      "TMPDIR": "/run/build/slimevr-gui/flatpak-node/tmp",
      "XDG_CACHE_HOME": "/run/build/slimevr-gui/flatpak-node/cache"
     }
    },
    "build-commands": [
     "mkdir -p $TMPDIR",
     "cmake -S bindings-provider/ -B bindings-provider/build -DCMAKE_BUILD_TYPE=Release",
     "cmake --build bindings-provider/build --config Release -j6",
     "case \"$FLATPAK_ARCH\" in\n  x86_64) EB_ARCH=x64 ;;\n  aarch64) EB_ARCH=arm64 ;;\nesac\ncd bindings-provider/build\nmkdir \"linux-$EB_ARCH/\"\nmv {libopenvr_api.so,slimevr-bindings-provider} \"linux-$EB_ARCH/\"\n",
     "ln -s $(pwd)/pnpm/bin/pnpm.cjs $(pwd)/pnpm/bin/pnpm",
     "pnpm i --offline --frozen-lockfile",
     "cd gui\npnpm run build\n",
     "mkdir -p server/desktop/build/libs\ncp slimevr.jar server/desktop/build/libs/slimevr.jar\n",
     "VERSION=$(git --no-pager tag --sort -taggerdate --points-at HEAD | head -1)\n[ -z \"$VERSION\" ] && VERSION=\"0.0.0\"\nVERSION=\"${VERSION#v}\"\necho \"Building version: $VERSION\"\n\ncd gui\nmkdir -p gui/dist/artifacts/linux\n\n. ../flatpak-node/electron-builder-arch-args.sh\nelectron-builder $ELECTRON_BUILDER_ARCH_ARGS --linux dir --publish never -c.extraMetadata.version=$VERSION --config.electronDownload.isVerifyChecksum=\"false\"\n",
     "cp -a gui/dist/artifacts/linux/linux*unpacked /app/main",
     "install -Dm755 slimevr-wrapper /app/bin/slimevr",
     "install -Dm644 dev.slimevr.SlimeVR.desktop -t /app/share/applications",
     "install -Dm644 gui/electron/resources/icons/icon.svg /app/share/icons/hicolor/scalable/apps/dev.slimevr.SlimeVR.svg",
     "install -Dm644 dev.slimevr.SlimeVR.metainfo.xml -t /app/share/metainfo"
    ],
    "sources": [
     {
      "type": "file",
      "url": "https://github.com/SlimeVR/SlimeVR-Server/releases/download/v21.0.0/slimevr.jar",
      "sha256": "0411d607aaf88c4a0d332704ebf85e1fadc0125b68bcb722c36b473ef9bf5442",
      "x-checker-data": {
       "type": "anitya",
       "project-id": 383505,
       "url-template": "https://github.com/SlimeVR/SlimeVR-Server/releases/download/v$version/slimevr.jar",
       "release-url-template": "https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v$version",
       "is-main-source": true
      }
     },
     {
      "type": "git",
      "url": "https://github.com/SlimeVR/SlimeVR-Server.git",
      "tag": "v21.0.0",
      "commit": "554976390b7ce27e789038fc8cc1ed04df7ae6de",
      "x-checker-data": {
       "type": "git",
       "tag-pattern": "^v([\\d.]+)$",
       "version-scheme": "semantic"
      }
     },
     {
      "type": "patch",
      "path": "clean.diff"
     },
     {
      "type": "file",
      "path": "dev.slimevr.SlimeVR.metainfo.xml"
     },
     {
      "type": "file",
      "path": "dev.slimevr.SlimeVR.desktop"
     },
     {
      "type": "archive",
      "url": "https://registry.npmjs.org/pnpm/-/pnpm-10.33.0.tgz",
      "sha512": "10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
      "dest": "pnpm",
      "x-checker-data": {
       "type": "json",
       "url": "https://raw.githubusercontent.com/SlimeVR/SlimeVR-Server/refs/heads/main/package.json",
       "version-query": ".packageManager[5:]",
       "url-query": "\"https://registry.npmjs.org/pnpm/-/pnpm-\" + $version + \".tgz\""
      }
     },
     "generated-sources.json",
     {
      "type": "script",
      "dest-filename": "slimevr-wrapper",
      "commands": [
       "export TMPDIR=\"$XDG_RUNTIME_DIR/app/$FLATPAK_ID\"",
       "exec zypak-wrapper /app/main/slimevr \"$@\""
      ]
     }
    ]
   }
  ]
 }
}