rustsynth-sys 0.5.6

Low level bindings to VapourSynth
Documentation
name: macOS

on: [push, pull_request, workflow_dispatch]

jobs:
  build-clang:
    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v4

    - name: Install Homebrew packages
      run: |
        brew update
        brew install automake libtool lld llvm

    - name: Set environment variables for Clang/LLVM
      run: |
        echo "CC=/opt/homebrew/opt/llvm/bin/clang" >> $GITHUB_ENV
        echo "CXX=/opt/homebrew/opt/llvm/bin/clang++" >> $GITHUB_ENV
        echo "LDFLAGS=-fuse-ld=lld" >> $GITHUB_ENV
        echo "PATH=/opt/homebrew/opt/llvm/bin:$PATH" >> $GITHUB_ENV
        echo "CPATH=/usr/local/include:$CPATH" >> $GITHUB_ENV
        echo "LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH" >> $GITHUB_ENV
        echo "nproc=$(sysctl -n hw.logicalcpu)" >> $GITHUB_ENV

    - name: Print compiler version
      run: |
        ${{ env.CXX }} --version

    - name: Install zimg
      run: |
        git clone https://github.com/sekrit-twc/zimg.git --depth 1 --recurse-submodules --shallow-submodules
        pushd zimg
        ./autogen.sh
        ./configure
        make -j${{ env.nproc }}
        sudo make install -j${{ env.nproc }}
        popd
        rm -rf zimg

    - uses: actions/setup-python@v5
      with:
        python-version: '3.13'

    - name: Install Python packages
      run: |
        python -m pip install -U pip
        pip install -U cython setuptools wheel

    - name: configure
      run: |
        ./autogen.sh
        ./configure

    - name: make
      run: |
        make -j${{ env.nproc }}

    - name: make install
      run: |
        sudo make install -j${{ env.nproc }}
        pip install .

    - name: Run test
      run: |
        python -m unittest discover -s test -p "*test.py"