pidgin/pidgin

b82b5609c044
Use PurpleProtocol.can_connect_async in the login process

Also implement it for all the new protocol plugins.

Testing Done:
Attempted connections for the new bonjour, ircv3, and new xmpp accounts and verified them made it past the checks.
Attempted and ircv3 account with a bad DNS name and verified it failed in the `can_reach_async` functions.
Also ran with the turtles.

Reviewed at https://reviews.imfreedom.org/r/3005/
---
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/finch
# - mv finch finch3
# - zip -9r finch3-docs.zip finch3
# - popd
- 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