5959 # packages/versions RISE doesn't happen to carry.
6060 UV_INDEX : ${{ matrix.config.os == 'ubuntu-24.04-riscv' && 'https://pypi.riseproject.dev/simple/' || '' }}
6161 UV_INDEX_STRATEGY : ${{ matrix.config.os == 'ubuntu-24.04-riscv' && 'unsafe-best-match' || 'first-index' }}
62+ # riscv64 uses a pyav-ffmpeg prebuilt to speed up smoke tests; its .pc
63+ # files bake in prefix=/tmp/vendor, so it must be extracted there
64+ # verbatim and pointed at explicitly.
65+ PKG_CONFIG_PATH : ${{ matrix.config.os == 'ubuntu-24.04-riscv' && '/tmp/vendor/lib/pkgconfig' || '' }}
66+ LD_LIBRARY_PATH : ${{ matrix.config.os == 'ubuntu-24.04-riscv' && '/tmp/vendor/lib' || '' }}
6267
6368 steps :
6469 - uses : actions/checkout@v7
7378 - name : OS Packages
7479 run : |
7580 case ${{ matrix.config.os }} in
76- ubuntu-24.04|ubuntu-24.04-riscv )
81+ ubuntu-24.04)
7782 sudo apt-get update
7883 sudo apt-get install -y \
7984 autoconf \
8994 sudo apt-get install -y doxygen
9095 fi
9196 ;;
97+ ubuntu-24.04-riscv)
98+ # Since we're using pyav-ffmpeg prebuilds, we don't need the full set
99+ # of packages installed on other runners. libxcb-shape0 is needed
100+ # for the prebuilt's X11 usage.
101+ sudo apt-get update
102+ sudo apt-get install -y \
103+ build-essential \
104+ pkg-config \
105+ zlib1g-dev \
106+ libxcb-shape0
107+ ;;
92108 macos-14)
93109 brew install automake libtool opus x264
94110 ;;
@@ -97,7 +113,12 @@ jobs:
97113 - name : Pip and FFmpeg
98114 run : |
99115 . scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
100- scripts/build-deps
116+ # don't build from source for riscv64
117+ if [ "${{ matrix.config.os }}" = "ubuntu-24.04-riscv" ]; then
118+ python scripts/fetch-vendor.py --config-file scripts/ffmpeg-latest.json /tmp/vendor
119+ else
120+ scripts/build
121+ fi
101122
102123 - name : Build
103124 run : |
0 commit comments