id: im.nheko.Nheko
command: im.nheko.Nheko
runtime: org.kde.Platform
runtime-version: '6.8'
sdk: org.kde.Sdk
finish-args:
  # needed for webcams, see https://github.com/Nheko-Reborn/nheko/issues/517
  - --device=all
  - --share=ipc
  - --share=network
  - --socket=pulseaudio
  - --socket=x11
  - --socket=wayland
  - --talk-name=org.freedesktop.Notifications
  - --talk-name=org.freedesktop.secrets
  - --talk-name=org.kde.kwalletd5
  - --talk-name=org.kde.kwalletd6
  - --talk-name=org.freedesktop.StatusNotifierItem
  # needed for tray icon
  - --talk-name=org.kde.StatusNotifierWatcher
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: 476801f5239c88c7de61c3390502a5d13965ecedef80105b5fb0fcb8373d1e53
        type: archive
        url: https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.33/openldap-LMDB_0.9.33.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
      - -DBUILD_TESTING=OFF
      - -DBUILD_SHARED_LIBS=OFF
    sources:
      - sha256: 3da93db5469c30588cfeb283d9d62edfc6ded9eb0edc10a4f5bbfb7d722ea802
        type: archive
        url: https://github.com/commonmark/cmark/archive/0.31.1.tar.gz
  - name: fmt
    buildsystem: cmake-ninja
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DFMT_DOC=OFF
      - -DFMT_TEST=OFF
    sources:
      - sha256: 40fc58bebcf38c759e11a7bd8fdc163507d2423ef5058bba7f26280c5b9c5465
        type: archive
        url: https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip
  - name: spdlog
    buildsystem: cmake-ninja
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DSPDLOG_BUILD_BENCH=OFF
      - -DSPDLOG_BUILD_TESTING=OFF
      - -DSPDLOG_BUILD_EXAMPLE=OFF
      - -DSPDLOG_FMT_EXTERNAL=ON
    sources:
      - sha256: 1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b
        type: archive
        url: https://github.com/gabime/spdlog/archive/v1.14.1.tar.gz
  - name: olm
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
    buildsystem: cmake-ninja
    sources:
      - commit: 7e0c8277032e40308987257b711b38af8d77cc69
        disable-shallow-clone: true
        tag: 3.2.16
        type: git
        url: https://gitlab.matrix.org/matrix-org/olm.git
  - name: libsecret
    buildsystem: meson
    config-opts:
      - -Dmanpage=false
      - -Dvapi=false
      - -Dgtk_doc=false
      - -Dintrospection=false
    sources:
      - commit: 6b5a6c28afc6dd93c232a4907a87c881079ff91b
        tag: 0.21.4
        type: git
        url: https://gitlab.gnome.org/GNOME/libsecret.git
  - name: QtKeychain
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DBUILD_WITH_QT6=ON
      - -DBUILD_TEST_APPLICATION=OFF
      - -DBUILD_SHARED_LIBS=OFF
    buildsystem: cmake-ninja
    sources:
      - commit: 38ff50766c7e4ec490fecb2d9939b7cdc4b74b8e
        tag: 0.14.3
        type: git
        url: https://github.com/frankosterfeld/qtkeychain.git
  - name: nlohmann
    config-opts:
      - -DJSON_BuildTests=OFF
    buildsystem: cmake-ninja
    sources:
      - sha256: 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406
        type: archive
        url: https://github.com/nlohmann/json/archive/v3.11.3.tar.gz
  - name: kdsingleapplication
    config-opts:
      - -DKDSingleApplication_EXAMPLES=OFF
      - -DKDSingleApplication_QT6=ON
    buildsystem: cmake-ninja
    sources:
      - sha256: 31029fffa4873e2769c555668e8edaa6bd5721edbc445bff5e66cc6af3b9ed78
        type: archive
        url: https://github.com/KDAB/KDSingleApplication/releases/download/v1.1.0/kdsingleapplication-1.1.0.tar.gz
  - name: abseil-cpp
    buildsystem: cmake-ninja
    sources:
      - type: archive
        url: https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz
        sha256: 733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc
  - name: re2
    buildsystem: simple
    build-commands:
      - make static
      - make prefix=/app static-install
    sources:
      - sha256: 7326c74cddaa90b12090fcfc915fe7b4655723893c960ee3c2c66e85c5504b6c
        type: archive
        url: https://github.com/google/re2/releases/download/2024-06-01/re2-2024-06-01.tar.gz
  - name: gstreamer
    buildsystem: meson
    sources:
      - commit: 9137f539a022ec3f5f7c5ee704198dbf35a41940
        tag: 1.24.4
        type: git
        url: https://gitlab.freedesktop.org/gstreamer/gstreamer.git
        disable-submodules: true
    config-opts:
      - --auto-features=disabled
      -  -Dgood=enabled
      -  -Dgst-plugins-good:qt6=enabled
      -  -Dgst-plugins-good:qt-egl=enabled
      -  -Dgst-plugins-good:qt-wayland=enabled
      -  -Dgst-plugins-good:qt-x11=enabled
      -  -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
  - name: qt-jdenticon
    buildsystem: cmake-ninja
    no-make-install: true
    build-commands:
      - mkdir -p /app/bin/
      - cp libqtjdenticon.so /app/bin/
    sources:
      - commit: 39cde33d4b23b57aa5b94e94071d6ff18d2bd92a
        tag: v0.3.1
        type: git
        url: https://github.com/Nheko-Reborn/qt-jdenticon.git
  - name: coeurl
    buildsystem: meson
    config-opts:
      - -Ddefault_library=static
    sources:
      - commit: f49993e6ad3b2f4fa6503f46d547351fa276ac84
        tag: v0.3.1
        type: git
        url: https://nheko.im/nheko-reborn/coeurl.git
  - name: mtxclient
    config-opts:
      - -DBUILD_LIB_TESTS=OFF
      - -DBUILD_LIB_EXAMPLES=OFF
      - -DCMAKE_BUILD_TYPE=Release
      - -DBUILD_SHARED_LIBS=OFF
    buildsystem: cmake-ninja
    sources:
      - commit: 873911e352a0845dfb178f77b1ddea796a5d3455
        #tag: v0.10.1
        type: git
        url: https://github.com/Nheko-Reborn/mtxclient.git
  - name: nheko
    config-opts:
      - -DCMAKE_BUILD_TYPE=Release
      - -DLMDBXX_INCLUDE_DIR=.deps/lmdbxx
      - -DCOMPILE_QML=ON
      - -DMAN=OFF
      - -DFLATPAK=ON
    buildsystem: cmake-ninja
    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
