Default the AIM settings to use MD5 Auth and not use TLS #110
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |