Skip to content

Default the AIM settings to use MD5 Auth and not use TLS #110

Default the AIM settings to use MD5 Auth and not use TLS

Default the AIM settings to use MD5 Auth and not use TLS #110

Workflow file for this run

name: Cross compile for Windows
on:
- push
- pull_request
env:
PIDGIN_VERSION: 2.14.14
GLIB_VERSION: 2.28.8
jobs:
build:
name: build
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Make cross directory
run: mkdir -p $RUNNER_TEMP
- name: Write cross file
run: |
cat << EOF | tee $RUNNER_TEMP/cross-file.ini
[binaries]
c = '/usr/bin/i686-w64-mingw32-gcc'
ar = '/usr/bin/i686-w64-mingw32-gcc-ar'
strip = '/usr/bin/i686-w64-mingw32-strip'
pkg-config = ['/usr/bin/pkg-config', '--define-prefix']
windres = '/usr/bin/i686-w64-mingw32-windres'
[host_machine]
system = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
[properties]
sys_root = '$RUNNER_TEMP'
pidgin_top = sys_root / 'pidgin'
win32_dev = sys_root / 'win32-dev'
pkg_config_libdir = [win32_dev / 'lib/pkgconfig', pidgin_top / 'libpurple/data/']
c_args = ['-I' + win32_dev / 'include']
c_link_args = ['-L' + win32_dev / 'lib']
EOF
- name: Install native packages
run: |
sudo apt update -yy
sudo apt install -yy --no-install-recommends \
codespell \
gcc-mingw-w64-i686-win32 \
meson \
pkg-config
- name: Load Pidgin from cache
id: pidgin-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ${{ runner.temp }}/pidgin
key: pidgin-${{ env.PIDGIN_VERSION }}
- name: Download Pidgin
if: steps.pidgin-cache.outputs.cache-hit != 'true'
run: |
curl -L https://sourceforge.net/projects/pidgin/files/Pidgin/$PIDGIN_VERSION/pidgin-$PIDGIN_VERSION.tar.bz2/download -o pidgin.tar.bz2
mkdir -p $RUNNER_TEMP/pidgin
tar -xf pidgin.tar.bz2 --strip-components=1 --directory=$RUNNER_TEMP/pidgin
curl -L https://sourceforge.net/projects/pidgin/files/Pidgin/$PIDGIN_VERSION/pidgin-$PIDGIN_VERSION-win32-bin.zip/download -o pidgin-win32bin.zip
unzip -j pidgin-win32bin.zip pidgin-*-win32bin/libpurple.dll -d $RUNNER_TEMP/pidgin/libpurple/
- name: Create purple.pc
run : |
cat << 'EOF' | tee $RUNNER_TEMP/pidgin/libpurple/data/purple.pc
prefix=${{ runner.temp }}/pidgin/libpurple
exec_prefix=${prefix}
libdir=${exec_prefix}
includedir=${prefix}
datarootdir=${prefix}/share
datadir=${datarootdir}
sysconfdir=${prefix}/etc
plugindir=${libdir}/purple-2
Name: libpurple
Description: libpurple is a GLib-based instant messenger library.
Version: ${{ env.PIDGIN_VERSION }}
Requires: glib-2.0
Cflags: -I${prefix} -I${prefix}/win32
Libs: -L${libdir} -lpurple
EOF
- name: Load Win32 deps from cache
id: win32-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ${{ runner.temp }}/win32-dev
key: win32-dev
- name: Setup WinPidgin build
if: steps.win32-cache.outputs.cache-hit != 'true'
run: |
curl -L http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib-dev_2.28.8-1_win32.zip -o glib-dev.zip
unzip glib-dev.zip -d $RUNNER_TEMP/win32-dev
curl -L http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev_0.18.1.1-2_win32.zip -o gettext-runtime.zip
unzip gettext-runtime.zip -d $RUNNER_TEMP/win32-dev
curl -L http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev_1.2.5-2_win32.zip -o zlib-dev.zip
unzip zlib-dev.zip -d $RUNNER_TEMP/win32-dev
- name: Setup Meson Build
run: meson setup --cross-file $RUNNER_TEMP/cross-file.ini --prefix=/usr -Duse-purple-prefix=false build
- name: Build Project
run: meson compile -C build
- name: Install build results
run: DESTDIR=$PWD/dist meson install -C build
- name: archive
if: ${{ !env.ACT }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: "Win32 cross compiled"
path: |
./dist/
!./dist/**/*.dll.a