im.pidgin.Pidgin3.yml

Thu, 24 Apr 2025 22:19:39 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 24 Apr 2025 22:19:39 -0500
changeset 43242
a9bc19e23c36
parent 43214
c338c4f15f0b
child 43269
1523eab3b5a0
permissions
-rw-r--r--

IRCv3: check if a member is in a conversation before adding them

Awhile ago we update the NAMREPLY handler to build a separate
Purple.ConversationMembers and then splice that onto the existing one to help
with sorting and other performance issues. However, we didn't check if the
users already existed in the existing list, so we would get duplicates. This
address that.

Also fixed a reference leak.

Testing Done:
Joined a channel and sent `/quote names #channel` multiple times and verified that the member list did not grow to include a bunch of duplicates.

Reviewed at https://reviews.imfreedom.org/r/3987/

id: im.pidgin.Pidgin3
runtime: org.gnome.Platform
runtime-version: '47'
branch: default
sdk: org.gnome.Sdk
command: pidgin3
separate-locales: false
tags:
  - dev
add-extensions:
  im.pidgin.Purple3.Plugin:
    directory: plugins
    version: default
    add-ld-path: lib
    merge-dirs: purple-3
    no-autodownload: true
    autodelete: true
    subdirectories: true
  im.pidgin.Pidgin3.Plugin:
    directory: plugins
    version: default
    add-ld-path: lib
    merge-dirs: pidgin-3
    no-autodownload: true
    autodelete: true
    subdirectories: true
modules:
  - name: mercurial
    buildsystem: simple
    build-commands:
      - make PREFIX=/app install-bin
    sources:
      - type: archive
        url: https://www.mercurial-scm.org/release/mercurial-6.9.tar.gz
        sha256: 629604293df2be8171ec856bf4f8b4faa8e4305af13607dce0f89f74132836d6
  - name: libidn
    buildsystem: autotools
    cleanup:
      - /lib/*.la
    config-opts:
      - "--disable-static"
    sources:
      - type: archive
        url: https://ftp.gnu.org/gnu/libidn/libidn-1.42.tar.gz
        sha256: d6c199dcd806e4fe279360cb4b08349a0d39560ed548ffd1ccadda8cdecb4723
  - name: birb
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://sourceforge.net/projects/pidgin/files/birb/0.3.1/birb-0.3.1.tar.xz/download
        sha256: 70fa6462042f7d7c86a495eb93355fa14af057136b691e23838290bbcf57465c
  - name: hasl
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://sourceforge.net/projects/pidgin/files/hasl/0.4.0/hasl-0.4.0.tar.xz/download
        sha256: e78c244a259f13d43d230e9a8909bf0437a9466bef6757770a54a60c7c720036
  - name: ibis
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://sourceforge.net/projects/pidgin/files/ibis/0.13.1/ibis-0.13.1.tar.xz/download
        sha256: 31da8257d75370f0b5c9f02c33af326fc1f4c71076533f07a977ab2102bbeca0
  - name: xeme
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-gzip
        url: https://keep.imfreedom.org/xeme/xeme/archive/5d0707ab10a2.tar.gz
        sha256: eabb0f88fdc54775e9aab63d277d0d0cf54c456ee09580d45bd516d1117088da
  - name: gplugin
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "-Dlua=false"
      - "-Dpython3=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://sourceforge.net/projects/pidgin/files/gplugin/0.44.2/gplugin-0.44.2.tar.xz/download
        sha256: aea244e1add9628b50ec042c54cf93803f4577f8f142678f09b91fd4c0b20f72
  - name: seagull
    buildsystem: meson
    config-opts:
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://sourceforge.net/projects/pidgin/files/seagull/0.1.1/seagull-0.1.1.tar.xz
        sha256: 499fc45b6a8539bc2293b362fec1c847fe25697355a0572f07ace3f359a38873
  - name: libspelling
    buildsystem: meson
    config-opts:
      - "--wrap-mode=nofallback"
    sources:
      - type: archive
        archive-type: tar-xz
        url: https://download.gnome.org/sources/libspelling/0.4/libspelling-0.4.6.tar.xz
        sha256: 3248a9b5336ea2f727d2db912d2f0083accc0505ce707679b3d9b8266c0101f5
  - name: pidgin3
    buildsystem: meson
    config-opts:
      - "-Ddoc=false"
      - "--wrap-mode=nofallback"
    sources:
      - type: dir
        path: .
    post-install:
      - install -d /app/plugins
      - install -d /app/plugins/pidgin-3
      - install -d /app/plugins/purple-3
finish-args:
  # X11 + XShm access
  - "--share=ipc"
  - "--socket=fallback-x11"
  # Wayland access
  - "--socket=wayland"
  # GPU acceleration if needed
  - "--device=dri"
  # Needs to talk to the network:
  - "--share=network"
  # Audio
  - "--socket=pulseaudio"
  # Notifications (purple-toast)
  - "--talk-name=org.freedesktop.Notifications"
  # Accessibility
  - "--talk-name=org.a11y.Bus"
  # libsecret plugin
  - "--talk-name=org.freedesktop.secrets"
  # kwallet plugin
  - "--talk-name=org.kde.kwalletd5"
  - "--talk-name=org.kde.kwalletd6"
  # Bonjour
  - "--system-talk-name=org.freedesktop.Avahi"
  # Plugin Paths
  - "--env=PURPLE_PLUGIN_PATH=/app/plugins/purple-3"
  - "--env=PIDGIN_PLUGIN_PATH=/app/plugins/pidgin-3"

mercurial