app-id: io.github.tobagin.karere runtime: org.gnome.Platform runtime-version: '50' sdk: org.gnome.Sdk command: karere finish-args: - --share=network - --share=ipc - --socket=fallback-x11 - --socket=wayland # Full device access required for camera and microphone in WebRTC calls - --device=all - --talk-name=org.kde.StatusNotifierWatcher - --filesystem=xdg-download - --filesystem=xdg-run/pipewire-0 # Audio for notification sounds and media - --socket=pulseaudio # Configure WebKit spell checker dictionary paths (bundled and runtime) - --env=WEBKIT_SPELL_CHECKER_DIR=/app/share/hunspell # Enable SharedArrayBuffer without requiring cross-origin isolation headers - --env=JSC_useSharedArrayBuffer=1 sdk-extensions: - org.freedesktop.Sdk.Extension.rust-stable cleanup: - /include - /lib/pkgconfig - /man - /share/doc - /share/gtk-doc - /share/man - /share/pkgconfig - '*.la' - '*.a' build-options: append-path: /usr/lib/sdk/rust-stable/bin env: CARGO_HOME: /run/build/karere/cargo modules: # Pre-compiled WebKitGTK 2.50.5 built inside the GNOME Platform 50 SDK # with WebRTC enabled (-DENABLE_WEB_RTC=ON). Built by the build-webkitgtk # GitHub Actions workflow — see packaging/webkitgtk-builder.yml. # The GNOME Platform runtime ships WebKitGTK without WebRTC; this replaces it. - name: webkitgtk buildsystem: simple build-commands: - mkdir -p /app/lib/webkitgtk-6.0/injected-bundle /app/libexec/webkitgtk-6.0 - install -m755 libwebkitgtk-6.0.so.*.*.* /app/lib/ - install -m755 libjavascriptcoregtk-6.0.so.*.*.* /app/lib/ - ln -sf $(basename libwebkitgtk-6.0.so.*.*.*) /app/lib/libwebkitgtk-6.0.so.4 - ln -sf libwebkitgtk-6.0.so.4 /app/lib/libwebkitgtk-6.0.so - ln -sf $(basename libjavascriptcoregtk-6.0.so.*.*.*) /app/lib/libjavascriptcoregtk-6.0.so.1 - ln -sf libjavascriptcoregtk-6.0.so.1 /app/lib/libjavascriptcoregtk-6.0.so - install -m755 webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so /app/lib/webkitgtk-6.0/injected-bundle/ - install -m755 webkitgtk-6.0/WebKitWebProcess /app/libexec/webkitgtk-6.0/ - install -m755 webkitgtk-6.0/WebKitNetworkProcess /app/libexec/webkitgtk-6.0/ - install -m755 webkitgtk-6.0/WebKitGPUProcess /app/libexec/webkitgtk-6.0/ - install -m755 webkitgtk-6.0/jsc /app/libexec/webkitgtk-6.0/ sources: - type: archive url: https://github.com/tobagin/karere/releases/download/webkitgtk-2.50.5-gnome50/webkitgtk-x86_64.tar.gz sha256: 2c1ff69b14e53e44c05fba94d4acbc06fa7fead529ae4f812695620253600ae8 only-arches: [x86_64] - type: archive url: https://github.com/tobagin/karere/releases/download/webkitgtk-2.50.5-gnome50/webkitgtk-aarch64.tar.gz sha256: 02e50da56419704883702048d008f591ee899c5bbf98f17e888fd911c1e83550 only-arches: [aarch64] # Pre-compiled gst-plugin-audiofx (gst-plugins-rs 0.14.4) built inside the # GNOME Platform 50 SDK. Provides the audiornnoise GStreamer element required # by WebKitGTK's WebRTC audio pipeline. Built by the build-gst-plugin-audiofx # GitHub Actions workflow — see packaging/gst-plugin-audiofx-builder.yml. - name: gst-plugin-audiofx buildsystem: simple build-commands: - install -Dm755 libgstrsaudiofx.so /app/lib/gstreamer-1.0/libgstrsaudiofx.so sources: - type: file url: https://github.com/tobagin/karere/releases/download/gst-plugin-audiofx-0.14.4-gnome50/libgstrsaudiofx-x86_64.so sha256: 1acb3fe0f4ef712d709d4c557dd9d2949ca3adb749f69c9c9414708e1a138d98 dest-filename: libgstrsaudiofx.so only-arches: [x86_64] - type: file url: https://github.com/tobagin/karere/releases/download/gst-plugin-audiofx-0.14.4-gnome50/libgstrsaudiofx-aarch64.so sha256: 8c199baa76e76fa8a28da0410672a097229de0757547fbd73b4f4136fe501774 dest-filename: libgstrsaudiofx.so only-arches: [aarch64] - name: hunspell-dictionaries buildsystem: simple build-commands: - mkdir -p /app/share/hunspell - | find . -type f \( -name "*.dic" -o -name "*.aff" \) ! -path "*/hyph_*" ! -path "*/.git/*" ! -path "*/util/*" | while read -r file; do filename=$(basename "$file") if [[ ! "$filename" =~ ^hyph_ ]]; then install -Dm644 "$file" "/app/share/hunspell/$filename" fi done sources: - type: archive url: https://github.com/LibreOffice/dictionaries/archive/refs/tags/libreoffice-26.2.0.2.zip sha256: 4b076ff20485af78036fc896804754c64f760b227aa692de84200f762ee471bc - name: karere buildsystem: meson sources: - type: git url: https://github.com/tobagin/karere tag: v3.0.2 commit: 80190c2bd087297b6c2912b63a93803af8804ec0 - cargo-sources.json