mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 15:22:11 +02:00
102 lines
3.9 KiB
YAML
102 lines
3.9 KiB
YAML
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
name: "Windows"
|
|
jobs:
|
|
windows:
|
|
name: "Windows"
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
arch: [x86_64]
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Setup MSYS2
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MINGW64
|
|
update: true
|
|
install: |-
|
|
mingw-w64-${{ matrix.arch }}-meson
|
|
mingw-w64-${{ matrix.arch }}-gcc
|
|
mingw-w64-${{ matrix.arch }}-glib2
|
|
mingw-w64-${{ matrix.arch }}-gstreamer
|
|
mingw-w64-${{ matrix.arch }}-gst-plugins-base
|
|
mingw-w64-${{ matrix.arch }}-gst-plugins-good
|
|
mingw-w64-${{ matrix.arch }}-gst-plugins-bad
|
|
mingw-w64-${{ matrix.arch }}-gst-plugins-ugly
|
|
mingw-w64-${{ matrix.arch }}-gst-libav
|
|
mingw-w64-${{ matrix.arch }}-libpeas2
|
|
mingw-w64-${{ matrix.arch }}-libsoup3
|
|
mingw-w64-${{ matrix.arch }}-libmicrodns
|
|
mingw-w64-${{ matrix.arch }}-gtk4
|
|
mingw-w64-${{ matrix.arch }}-libadwaita
|
|
- name: Prepare
|
|
run: |
|
|
BUILD_PREFIX="$GITHUB_WORKSPACE/clapper-win-${{ matrix.arch }}"
|
|
|
|
mkdir -p $BUILD_PREFIX/bin
|
|
cp /mingw64/bin/gdbus.exe $BUILD_PREFIX/bin/
|
|
cp /mingw64/bin/gst-inspect-1.0.exe $BUILD_PREFIX/bin/
|
|
|
|
mkdir -p $BUILD_PREFIX/lib
|
|
cp -r /mingw64/lib/gio $BUILD_PREFIX/lib/
|
|
cp -r /mingw64/lib/gstreamer-1.0 $BUILD_PREFIX/lib/
|
|
cp -r /mingw64/lib/gdk-pixbuf-2.0 $BUILD_PREFIX/lib/
|
|
|
|
mkdir -p $BUILD_PREFIX/share/glib-2.0/schemas
|
|
cp -r /mingw64/share/glib-2.0/schemas/*.xml $BUILD_PREFIX/share/glib-2.0/schemas/
|
|
cp -r /mingw64/share/icons $BUILD_PREFIX/share/
|
|
|
|
mkdir -p $BUILD_PREFIX/share/xml/iso-codes
|
|
cp /mingw64/share/xml/iso-codes/iso_639.xml $BUILD_PREFIX/share/xml/iso-codes/
|
|
|
|
cd "$BUILD_PREFIX/lib/gstreamer-1.0"
|
|
rm -f \
|
|
libgstadpcmenc.dll libgstamfcodec.dll libgstdvbsubenc.dll libgstencoding.dll \
|
|
libgstfrei0r.dll libgstinter.dll libgstlame.dll libgstldac.dll libgstmpeg2enc.dll \
|
|
libgstmpegpsmux.dll libgstmpegtsmux.dll libgstmplex.dll libgstrealmedia.dll \
|
|
libgstsubenc.dll libgstsvtav1.dll libgstsvthevcenc.dll libgsttwolame.dll \
|
|
libgstvoamrwbenc.dll libgstwavenc.dll libgstx264.dll libgstx265.dll \
|
|
libgstxingmux.dll libgsty4menc.dll libgstzbar.dll
|
|
- name: Build
|
|
run: |
|
|
meson setup builddir --prefix=$GITHUB_WORKSPACE/clapper-win-${{ matrix.arch }}
|
|
cd builddir
|
|
meson compile
|
|
meson install
|
|
- name: Package
|
|
run: |
|
|
BUILD_PREFIX="$GITHUB_WORKSPACE/clapper-win-${{ matrix.arch }}"
|
|
|
|
ldd $BUILD_PREFIX/bin/clapper.exe | grep '\/mingw.*\.dll' -o | xargs -I{} cp -n "{}" $BUILD_PREFIX/bin
|
|
find $BUILD_PREFIX/lib/clapper-0.0/ -name '*\.dll' -type f -exec ldd "{}" \; | grep '\/mingw.*\.dll' -o | xargs -I{} cp -n "{}" $BUILD_PREFIX/bin
|
|
find $BUILD_PREFIX/lib/gstreamer-1.0/ -name '*\.dll' -type f -exec ldd "{}" \; | grep '\/mingw.*\.dll' -o | xargs -I{} cp -n "{}" $BUILD_PREFIX/bin
|
|
find $BUILD_PREFIX/lib/gio/ -name '*\.dll' -type f -exec ldd "{}" \; | grep '\/mingw.*\.dll' -o | xargs -I{} cp -n "{}" $BUILD_PREFIX/bin
|
|
- name: Cleanup
|
|
run: |
|
|
BUILD_PREFIX="$GITHUB_WORKSPACE/clapper-win-${{ matrix.arch }}"
|
|
|
|
rm -rf $BUILD_PREFIX/include
|
|
rm -rf $BUILD_PREFIX/lib/pkgconfig
|
|
- name: Installer
|
|
uses: Minionguyjpro/Inno-Setup-Action@v1.2.5
|
|
with:
|
|
path: builddir/pkgs/windows-installer/clapper.iss
|
|
options: /O+
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: clapper-win-${{ matrix.arch }}
|
|
path: builddir/pkgs/windows-installer/InstallerOutput/Clapper*.exe
|
|
if-no-files-found: error
|