{
 "app_id": "tech.dongdongbh.mindwtr",
 "source_url": "https://raw.githubusercontent.com/flathub/tech.dongdongbh.mindwtr/master/tech.dongdongbh.mindwtr.yml",
 "runtime": "org.gnome.Platform",
 "runtime_version": "51",
 "sdk": "org.gnome.Sdk",
 "finish_args": [
  "--share=ipc",
  "--share=network",
  "--socket=fallback-x11",
  "--socket=pulseaudio",
  "--socket=wayland",
  "--device=dri",
  "--talk-name=org.kde.StatusNotifierWatcher",
  "--talk-name=org.freedesktop.Notifications",
  "--talk-name=org.gnome.evolution.dataserver.Calendar8",
  "--talk-name=org.gnome.evolution.dataserver.Sources5",
  "--talk-name=org.gnome.evolution.dataserver.Subprocess.Backend.*"
 ],
 "module_count": 5,
 "fetched_at": "2026-09-18T07:45:40.804668+00:00",
 "manifest": {
  "id": "tech.dongdongbh.mindwtr",
  "runtime": "org.gnome.Platform",
  "runtime-version": "51",
  "sdk": "org.gnome.Sdk",
  "sdk-extensions": [
   "org.freedesktop.Sdk.Extension.node26",
   "org.freedesktop.Sdk.Extension.rust-stable",
   "org.freedesktop.Sdk.Extension.llvm22"
  ],
  "command": "mindwtr",
  "finish-args": [
   "--share=ipc",
   "--socket=fallback-x11",
   "--socket=wayland",
   "--socket=pulseaudio",
   "--device=dri",
   "--share=network",
   "--talk-name=org.freedesktop.Notifications",
   "--talk-name=org.kde.StatusNotifierWatcher",
   "--talk-name=org.gnome.evolution.dataserver.Calendar8",
   "--talk-name=org.gnome.evolution.dataserver.Sources5",
   "--talk-name=org.gnome.evolution.dataserver.Subprocess.Backend.*"
  ],
  "modules": [
   {
    "name": "libical",
    "cleanup": [
     "/lib/cmake"
    ],
    "buildsystem": "cmake-ninja",
    "config-opts": [
     "-DCMAKE_BUILD_TYPE=Release",
     "-DCMAKE_INSTALL_LIBDIR=lib",
     "-DLIBICAL_BUILD_DOCS=false",
     "-DLIBICAL_GLIB=true",
     "-DLIBICAL_GLIB_VAPI=false",
     "-DLIBICAL_JAVA_BINDINGS=false",
     "-DLIBICAL_GOBJECT_INTROSPECTION=false",
     "-DLIBICAL_BUILD_TESTING=false",
     "-DLIBICAL_CXX_BINDINGS=false"
    ],
    "sources": [
     {
      "type": "archive",
      "url": "https://github.com/libical/libical/releases/download/v4.0.5/libical-4.0.5.tar.gz",
      "sha256": "cc09a3ac41d60e6144e644bd3fcf97d47106d659c4a0b8965102581401e67c9c",
      "x-checker-data": {
       "type": "anitya",
       "project-id": 1637,
       "url-template": "https://github.com/libical/libical/releases/download/v$version/libical-$version.tar.gz"
      }
     }
    ]
   },
   {
    "name": "evolution-data-server",
    "cleanup": [
     "/lib/cmake",
     "/lib/evolution-data-server/*-backends",
     "/libexec",
     "/share/dbus-1/services"
    ],
    "buildsystem": "cmake-ninja",
    "config-opts": [
     "-DCMAKE_BUILD_TYPE=Release",
     "-DENABLE_CANBERRA=OFF",
     "-DENABLE_DOT_LOCKING=OFF",
     "-DENABLE_FILE_LOCKING=fcntl",
     "-DENABLE_GOA=OFF",
     "-DENABLE_GTK=OFF",
     "-DENABLE_GTK4=OFF",
     "-DENABLE_INTROSPECTION=OFF",
     "-DENABLE_TESTS=OFF",
     "-DENABLE_VALA_BINDINGS=OFF",
     "-DENABLE_WEATHER=OFF",
     "-DENABLE_INSTALLED_TESTS=OFF",
     "-DENABLE_GTK_DOC=OFF",
     "-DENABLE_EXAMPLES=OFF",
     "-DENABLE_OAUTH2_WEBKITGTK=OFF",
     "-DENABLE_OAUTH2_WEBKITGTK4=OFF",
     "-DWITH_LIBDB=OFF",
     "-DWITH_OPENLDAP=OFF",
     "-DWITH_PHONENUMBER=OFF"
    ],
    "sources": [
     {
      "type": "archive",
      "url": "https://download.gnome.org/sources/evolution-data-server/3.62/evolution-data-server-3.62.0.tar.xz",
      "sha256": "78be88e9a511f5afe7ff2e363eade84b622dd0282647fc576edb2d4ff2962cba",
      "x-checker-data": {
       "type": "gnome",
       "name": "evolution-data-server",
       "version-scheme": "odd-minor-is-unstable"
      }
     }
    ],
    "modules": [
     "shared-modules/intltool/intltool-0.51.json"
    ]
   },
   "shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json",
   {
    "name": "mindwtr",
    "buildsystem": "simple",
    "build-options": {
     "append-path": "/usr/lib/sdk/node26/bin:/usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm22/bin",
     "env": [
      "VITE_DONATION_PROMPT_ENABLED=true",
      "VITE_DROPBOX_APP_KEY=7ob82zg0lx0arkp",
      "VITE_ANALYTICS_HEARTBEAT_URL=https://analytics.mindwtr.app/",
      "CARGO_HOME=/run/build/mindwtr/cargo",
      "CARGO_NET_OFFLINE=true",
      "LIBCLANG_PATH=/usr/lib/sdk/llvm22/lib",
      "XDG_CACHE_HOME=/run/build/mindwtr/flatpak-node/cache",
      "npm_config_cache=/run/build/mindwtr/flatpak-node/npm-cache",
      "npm_config_nodedir=/usr/lib/sdk/node26",
      "npm_config_offline=true",
      "npm_config_audit=false",
      "npm_config_fund=false",
      "npm_config_update_notifier=false",
      "VITE_ANALYTICS_RELEASE_VERSION=v1.3.1",
      "VITE_FEEDBACK_ENDPOINT_URL=https://feedback.mindwtr.app"
     ]
    },
    "build-commands": [
     "python3 - <<'PY'\nimport json\nimport re\nfrom pathlib import Path\n\nlock_path = Path(\"apps/desktop/package-lock.json\")\npackage_path = Path(\"apps/desktop/package.json\")\nlock = json.loads(lock_path.read_text())\npackage = json.loads(package_path.read_text())\npackages = lock.get(\"packages\", {})\nlock_package_path = \"node_modules/eslint/node_modules/escape-string-regexp\"\nmeta = packages.get(lock_package_path)\nif not isinstance(meta, dict) or meta.get(\"version\") != \"4.0.0\":\n    raise SystemExit(f\"Unexpected package-lock entry at {lock_package_path}\")\n\nchanged = False\nif not meta.get(\"resolved\"):\n    meta[\"resolved\"] = \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\"\n    changed = True\nif not meta.get(\"integrity\"):\n    meta[\"integrity\"] = \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n    changed = True\n\nsynced_specs = []\nfor section_name in (\"dependencies\", \"devDependencies\", \"optionalDependencies\"):\n    section = package.get(section_name)\n    if not isinstance(section, dict):\n        continue\n    for dependency_name, requested_spec in list(section.items()):\n        if not isinstance(requested_spec, str):\n            continue\n        locked = packages.get(f\"node_modules/{dependency_name}\")\n        if requested_spec.startswith(\"workspace:\"):\n            locked_resolved = locked.get(\"resolved\") if isinstance(locked, dict) else None\n            if (\n                not isinstance(locked, dict)\n                or locked.get(\"link\") is not True\n                or not isinstance(locked_resolved, str)\n                or not locked_resolved\n                or Path(locked_resolved).is_absolute()\n            ):\n                raise SystemExit(\n                    f\"Expected a relative package-lock link for workspace dependency {dependency_name}\"\n                )\n            checkout_root = Path.cwd().resolve()\n            dependency_path = (package_path.parent / locked_resolved).resolve()\n            if dependency_path != checkout_root and checkout_root not in dependency_path.parents:\n                raise SystemExit(\n                    f\"Workspace dependency {dependency_name} resolves outside the source checkout\"\n                )\n            local_spec = f\"file:{locked_resolved}\"\n            section[dependency_name] = local_spec\n            synced_specs.append(\n                f\"{section_name}:{dependency_name}:{requested_spec}->{local_spec}\"\n            )\n            continue\n        if requested_spec.startswith((\"file:\", \"git+\", \"github:\", \"http:\", \"https:\", \"link:\", \"npm:\")):\n            continue\n        locked_version = locked.get(\"version\") if isinstance(locked, dict) else None\n        if not isinstance(locked_version, str) or not locked_version:\n            continue\n        if requested_spec == locked_version:\n            continue\n        section[dependency_name] = locked_version\n        synced_specs.append(f\"{section_name}:{dependency_name}:{requested_spec}->{locked_version}\")\n\nif changed:\n    lock_path.write_text(json.dumps(lock, indent=2) + \"\\n\")\n    print(f\"Repaired package-lock metadata for {lock_package_path}\")\nif synced_specs:\n    package_path.write_text(json.dumps(package, indent=2) + \"\\n\")\n    print(\"Aligned package.json specs to package-lock:\")\n    for item in synced_specs:\n        print(f\"  - {item}\")\n\nmetainfo_path = Path(\"apps/desktop/src-tauri/linux/Mindwtr.metainfo.xml\")\nmetainfo = metainfo_path.read_text()\nmetainfo, removed_prereleases = re.subn(\n    r'\\n    <release version=\"[^\"]*-(?:rc|beta|alpha|pre|preview)(?:[.-][^\"]*)?\".*?\\n    </release>',\n    '',\n    metainfo,\n    flags=re.DOTALL,\n)\nif removed_prereleases:\n    metainfo_path.write_text(metainfo)\n    print(f\"Removed {removed_prereleases} prerelease AppStream entries from the stable build\")\nPY\n",
     "mkdir -p .flatpak-core-install",
     "cp packages/core/package.json packages/core/package-lock.json .flatpak-core-install/",
     "npm ci --prefix=.flatpak-core-install --offline --legacy-peer-deps --workspaces=false",
     "rm -rf packages/core/node_modules",
     "mv .flatpak-core-install/node_modules packages/core/node_modules",
     "npm ci --prefix=apps/desktop --offline --legacy-peer-deps --workspaces=false",
     "cd apps/desktop && npm exec vite build",
     "mkdir -p .cargo",
     "cp cargo/config .cargo/config.toml",
     "cargo --offline build --manifest-path apps/desktop/src-tauri/Cargo.toml --bins --features tauri/custom-protocol --release",
     "install -Dm755 apps/desktop/src-tauri/target/release/mindwtr /app/bin/mindwtr",
     "install -Dm644 apps/desktop/src-tauri/icons/128x128.png /app/share/icons/hicolor/128x128/apps/tech.dongdongbh.mindwtr.png",
     "install -Dm644 apps/desktop/src-tauri/icons/128x128@2x.png /app/share/icons/hicolor/256x256/apps/tech.dongdongbh.mindwtr.png",
     "install -Dm644 apps/desktop/src-tauri/linux/tech.dongdongbh.mindwtr.desktop /app/share/applications/tech.dongdongbh.mindwtr.desktop",
     "install -Dm644 apps/desktop/src-tauri/linux/Mindwtr.metainfo.xml /app/share/metainfo/tech.dongdongbh.mindwtr.metainfo.xml",
     "install -Dm644 LICENSE /app/share/licenses/tech.dongdongbh.mindwtr/LICENSE"
    ],
    "sources": [
     {
      "type": "git",
      "url": "https://github.com/dongdongbh/Mindwtr.git",
      "commit": "6654425535d6a883d092d45b23a9dcbacecb6ecb"
     },
     "tech.dongdongbh.mindwtr.node-sources.json",
     "tech.dongdongbh.mindwtr.cargo-sources.json"
    ]
   }
  ]
 }
}