pidgin/pidgin

Update the demo protocol plugin to not depend on conversation names

We're starting to phase out conversation names as they don't work well with
modern stuff. So this goes ahead and fixes the not interactions in the demo
protocol.

I also generated the echo message in the send_message_async rather than in the
callback.

Testing Done:
Ran the turtles and send some messages to Echo on the demo protocol.

Reviewed at https://reviews.imfreedom.org/r/3135/
---
environment:
- BUILD_NUMBER
- REPOSITORY=pidgin/builders
- REGISTRY=docker.io
- DOCS_BUILD_IMAGE=${REGISTRY}/${REPOSITORY}:debian-trixie-amd64
tasks:
import:
type: docker/import
files: .:.
build:
type: docker/run
image: ${REGISTRY}/${REPOSITORY}:${TARGET}
clean:
type: convey/clean
files:
- alpine-edge-amd64
- clang
- debian-trixie-amd64
- debian-trixie-arm64
- debian-trixie-riscv64
- fedora-39-amd64
- fedora-rawhide-amd64
- scanbuild
- ubuntu-mantic-amd64
docs-clean:
type: convey/clean
files:
- pidgin3-docs.zip
- purple3-docs.zip
docs-build:
type: docker/run
image: ${DOCS_BUILD_IMAGE}
workdir: ${CONVEY_WORKSPACE}
shell: /bin/bash
script:
- set -ex
- meson setup build-docs -Ddoc=true
- ninja -C build-docs doc
- pushd build-docs/doc/reference/pidgin
- mv pidgin pidgin3
- zip -9r pidgin3-docs.zip pidgin3
- popd
- pushd build-docs/doc/reference/libpurple
- mv libpurple purple3
- zip -9r purple3-docs.zip purple3
docs-export:
type: docker/export
files:
- build-docs/doc/reference/libpurple/purple3-docs.zip:purple3-docs.zip
- build-docs/doc/reference/pidgin/pidgin3-docs.zip:pidgin3-docs.zip
export:
type: docker/export
files: build-${TARGET}:${TARGET}
bare-export:
type: docker/export
files: ${TARGET}:${TARGET}
girlint:
type: docker/run
image: docker.io/imfreedom/gir-tools:latest
script:
- cd ${CONVEY_WORKSPACE}
- xsltproc /gir-tools/girlint.xsl $(find build-${TARGET} -iname "*.gir" | grep -v subproject) | tee ${CONVEY_WORKSPACE}/log
- exit $(wc -l < ${CONVEY_WORKSPACE}/log)
plans:
alpine-edge-amd64:
environment: [TARGET=alpine-edge-amd64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
clang:
environment: [TARGET=clang]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
clean:
stages:
- tasks: [clean, docs-clean]
debian-trixie-amd64:
environment: [TARGET=debian-trixie-amd64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
debian-trixie-arm64:
environment: [TARGET=debian-trixie-arm64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
debian-trixie-riscv64:
environment: [TARGET=debian-trixie-riscv64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
docs:
stages:
- tasks: [docs-clean, import, docs-build, docs-export]
fedora-39-amd64:
environment: [TARGET=fedora-39-amd64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
fedora-rawhide-amd64:
environment: [TARGET=fedora-rawhide-amd64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
girlint:
environment: [TARGET=debian-trixie-amd64]
stages:
- tasks: [import, build, girlint]
scanbuild:
environment: [TARGET=scanbuild]
stages:
- tasks: [import, build]
- tasks: [export]
run: always
ubuntu-mantic-amd64:
environment: [TARGET=ubuntu-mantic-amd64]
stages:
- tasks: [import, build]
- tasks: [export]
run: always