id: im.nheko.Nheko
command: im.nheko.Nheko
runtime: org.kde.Platform
runtime-version: '6.5'
sdk: org.kde.Sdk
finish-args:
  - --device=dri
  # needed for webcams, see #517
  - --device=all
  - --share=ipc
  - --share=network
  - --socket=pulseaudio
  - --socket=wayland
  - --socket=x11
  - --talk-name=org.freedesktop.Notifications
  - --talk-name=org.freedesktop.secrets
  - --talk-name=org.freedesktop.StatusNotifierItem
  - --talk-name=org.kde.*
  # needed for SingleApplication to work
  - --allow=per-app-dev-shm
cleanup:
  - /include
  - /lib/pkgconfig
  - /bin/mdb*
  - '*.a'
  - /libexec
  - /lib/cmake
  - /bin/cmark
  - /bin/event_rpcgen.py
  - /bin/playout
  - /bin/secret-tool
  - /bin/gst-*
  - /share/gdb
  - /share/gst*
  - /lib/girepository-1.0/
  - /lib/gst-validate-launcher/
  - /lib/gstreamer-1.0/include
  - /lib/gstreamer-1.0/include/
  - /lib/gstreamer-1.0/libgstcoreelements.so
  - /lib/gstreamer-1.0/libgstopengl*
  - /lib/gstreamer-1.0/libgstximagesink.so
  - /lib/gstreamer-1.0/validate/
  - /lib/libgst*
modules:
  - name: lmdb
    sources:
      - sha256: 8c5a93ac3cc97427c54571ad5a6140b7469389d01e6d2f43df39f96d3a4ccef7
        type: archive
        url: https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.30/openldap-LMDB_0.9.30.tar.gz
    make-install-args:
      - prefix=/app
    no-autogen: true
    subdir: libraries/liblmdb
  - name: libevent
    buildsystem: autotools
    config-opts:
      - --disable-shared
      - --prefix=/app
      - --disable-openssl
    sources:
      - sha256: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
        type: archive
        url: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
    make-install-args:
      - prefix=/app
    no-autogen: true
  - name: cmark
    buildsystem: cmake-ninja
    builddir: true
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMARK_TESTS=OFF
    sources:
      - sha256: 6c7d2bcaea1433d977d8fed0b55b71c9d045a7cdf616e3cd2dce9007da753db3
        type: archive
        url: https://github.com/commonmark/cmark/archive/0.30.2.tar.gz
  - name: spdlog
    buildsystem: cmake-ninja
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DSPDLOG_BUILD_EXAMPLES=0
      - -DSPDLOG_BUILD_BENCH=0
      - -DSPDLOG_BUILD_TESTING=0
    sources:
      - sha256: 5197b3147cfcfaa67dd564db7b878e4a4b3d9f3443801722b3915cdeced656cb
        type: archive
        url: https://github.com/gabime/spdlog/archive/v1.8.1.tar.gz
  - config-opts:
      - -DCMAKE_BUILD_TYPE=Release
    buildsystem: cmake-ninja
    name: olm
    sources:
      - commit: 92769cec711c604a1f682b95d6944578d2a1bb3d
        disable-shallow-clone: true
        tag: 3.2.12
        type: git
        url: https://gitlab.matrix.org/matrix-org/olm.git
  - buildsystem: meson
    name: libsecret
    config-opts:
      - -Dmanpage=false
      - -Dvapi=false
      - -Dgtk_doc=false
      - -Dintrospection=false
      # https://gitlab.gnome.org/GNOME/libsecret/-/issues/49
      - -Dgcrypt=false
    sources:
      - commit: 3fe635e64efd4b8dbc9ec3548b0bc8034c7665c4
        tag: 0.20.4
        type: git
        url: https://gitlab.gnome.org/GNOME/libsecret.git
  #- config-opts:
  #    - -DCMAKE_BUILD_TYPE=Release
  #    - -DAVIF_CODEC_AOM=ON
  #    #- -DBUILD_SHARED_LIBS=OFF
  #  buildsystem: cmake-ninja
  #  name: libavif
  #  sources:
  #    - sha256: 66e82854ceb84a3e542bc140a343bc90e56c68f3ecb4fff63e636c136ed9a05e
  #      type: archive
  #      url: https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.10.1.tar.gz
  #- config-opts:
  #    - -DCMAKE_BUILD_TYPE=Release
  #    - -DWITH_EXAMPLES=OFF
  #    #- -DBUILD_SHARED_LIBS=OFF
  #  buildsystem: cmake-ninja
  #  name: libheif
  #  sources:
  #    - sha256: e1ac2abb354fdc8ccdca71363ebad7503ad731c84022cf460837f0839e171718
  #      type: archive
  #      url: https://github.com/strukturag/libheif/releases/download/v1.12.0/libheif-1.12.0.tar.gz
  #- config-opts:
  #    - -DCMAKE_BUILD_TYPE=Release
  #    - -DKIMAGEFORMATS_HEIF=ON
  #  buildsystem: cmake-ninja
  #  name: KImageFormats
  #  sources:
  #    - commit: ae6b724824fc2fdf71d50dc7ae0052ad1551b25a
  #      tag: v5.93.0
  #      type: git
  #      url: https://invent.kde.org/frameworks/kimageformats.git
  - config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DBUILD_TEST_APPLICATION=OFF
      - -DQTKEYCHAIN_STATIC=ON
      - -DBUILD_WITH_QT6=ON
    buildsystem: cmake-ninja
    name: QtKeychain
    sources:
      - commit: 69f993c47efed7e557d79a30a367014d9a27d809
        tag: 0.14.1
        type: git
        url: https://github.com/frankosterfeld/qtkeychain.git
  - config-opts:
      - -DJSON_BuildTests=OFF
    buildsystem: cmake
    name: nlohmann
    sources:
      - sha256: 1155fd1a83049767360e9a120c43c578145db3204d2b309eba49fbbedd0f4ed3
        type: archive
        url: https://github.com/nlohmann/json/archive/v3.10.4.tar.gz
  - buildsystem: simple
    build-commands:
      - make static
      - make prefix=/app static-install
    name: re2
    sources:
      - sha256: f89c61410a072e5cbcf8c27e3a778da7d6fd2f2b5b1445cd4f4508bee946ab0f
        type: archive
        url: https://github.com/google/re2/archive/refs/tags/2022-06-01.tar.gz
  - buildsystem: meson
    name: gstreamer
    sources:
      - commit: ecd471f5ea4645102b206a43d863f0f0fe7d04ec
        tag: 1.22.3
        type: git
        url: https://gitlab.freedesktop.org/gstreamer/gstreamer.git
    config-opts:
      - --auto-features=disabled
      -  -Dgood=enabled
      -  -Dgst-plugins-good:qt6=enabled
      #-  -Dqt6=enabled <- not available on 1.22
      -  -Dbase=enabled
      -  -Dgst-plugins-base:gl=enabled
      -  -Dgst-plugins-base:gl_platform=glx,egl
      -  -Dgst-plugins-base:gl_winsys=x11,wayland
      -  -Dgst-plugins-base:x11=enabled
      -  -Dgst-plugins-base:xshm=enabled
  - buildsystem: qmake
    name: qt-jdenticon
    no-make-install: true
    build-commands:
      - mkdir -p /app/bin/
      - cp libqtjdenticon.so /app/bin/
    sources:
      - commit: 0346c228f1d544581dfd72a4dceb84f8714570dd
        tag: v0.3.0
        type: git
        url: https://github.com/Nheko-Reborn/qt-jdenticon.git
  - buildsystem: meson
    config-opts:
      - -Ddefault_library=static
    name: coeurl
    sources:
      - commit: 2a20a129240a1a017b37b6874faab499ca4e523b
        tag: v0.3.0
        type: git
        url: https://nheko.im/nheko-reborn/coeurl.git
  - config-opts:
      - -DBUILD_LIB_TESTS=OFF
      - -DBUILD_LIB_EXAMPLES=OFF
      - -DCMAKE_BUILD_TYPE=Release
      - -DBUILD_SHARED_LIBS=OFF
    buildsystem: cmake-ninja
    name: mtxclient
    sources:
      - commit: 0a4cc9421a97bea81a8921f3f5e040f0a34278fc
        #tag: v0.9.2
        type: git
        url: https://github.com/Nheko-Reborn/mtxclient.git
  - config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DLMDBXX_INCLUDE_DIR=.deps/lmdbxx
      - -DCOMPILE_QML=ON
      - -DMAN=OFF
      - -DFLATPAK=ON
    buildsystem: cmake-ninja
    name: nheko
    sources:
      - path: .
        type: dir
        skip:
          - build-flatpak
      - dest: .deps/lmdbxx
        sha256: 5e12eb3aefe9050068af7df2c663edabc977ef34c9e7ba7b9d2c43e0ad47d8df
        type: archive
        url: https://github.com/hoytech/lmdbxx/archive/1.0.0.tar.gz
