app-id: org.ppsspp.PPSSPP
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
rename-icon: ppsspp
rename-desktop-file: PPSSPPSDL.desktop
command: PPSSPPSDL
finish-args:
  - --device=all
  - --filesystem=host:ro
  - --socket=pulseaudio
  - --socket=x11
  - --socket=wayland
  - --share=ipc
  - --share=network
  - --talk-name=org.freedesktop.ScreenSaver
  - --env=SDL_VIDEO_X11_WMCLASS=org.ppsspp.PPSSPP
  - --env=SDL_VIDEO_WAYLAND_WMCLASS=org.ppsspp.PPSSPP
  # required for Gamescope on Steam Deck
  - --filesystem=xdg-run/gamescope-0:ro
modules:
  - shared-modules/glu/glu-9.json
  - shared-modules/glew/glew.json

  - name: ppsspp
    buildsystem: cmake
    config-opts:
      - -DUSE_SYSTEM_FFMPEG=OFF
      - -DUSE_SYSTEM_LIBZIP=ON
      - -DUSE_SYSTEM_ZSTD=ON

      - -DUSE_WAYLAND_WSI=ON
      - -DUSING_QT_UI=OFF

      - -DBUILD_TESTING=OFF
      - -DOpenGL_GL_PREFERENCE=GLVND
    build-options:
      arch:
        aarch64:
          config-opts:
            - -DUSING_EGL=ON
            - -DUSING_GLES2=ON
    post-install:
      - desktop-file-edit --set-name=PPSSPP ${FLATPAK_DEST}/share/applications/PPSSPPSDL.desktop
      - install -Dm644 icons/icon-512.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/ppsspp.svg
      - install -Dm644 ${FLATPAK_ID}.metainfo.xml -t ${FLATPAK_DEST}/share/metainfo
    cleanup:
      - /share/ppsspp/assets/lang/README.md
    sources:
      - type: git
        url: &ppsspp-url https://github.com/hrydgard/ppsspp.git
        tag: v1.17.1
        commit: d479b74ed9c3e321bc3735da29bc125a2ac3b9b2
        x-checker-data:
          type: json
          url: https://api.github.com/repos/hrydgard/ppsspp/releases/latest
          version-query: .tag_name | sub("^v"; "")
          tag-query: .tag_name
          timestamp-query: .published_at

      - type: file
        path: org.ppsspp.PPSSPP.metainfo.xml