Skip to content

Commit

Permalink
remove unneeded deps for build-linux and revert changes not related t…
Browse files Browse the repository at this point in the history
…o pr
  • Loading branch information
kvnp committed Jul 5, 2024
1 parent 6452d45 commit fc2a86d
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 35 deletions.
79 changes: 57 additions & 22 deletions .github/workflows/build-ffmpeg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: workflow_dispatch
jobs:
build-macos:
name: Build macOS
runs-on: macos-latest
runs-on: macos-12
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -55,25 +55,22 @@ jobs:
path: macOS-universal

build-win:
name: Build Windows (${{ matrix.arch }})
name: Build Windows
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
arch:
- x64
- x86
- arm64
container:
image: mstorsjo/llvm-mingw:latest
- x64
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install dependencies
run: |
apt-get update -y -qq
apt-get install -y nasm mingw-w64
sudo apt-get update -y -qq
sudo apt-get install -y nasm mingw-w64
- name: Build
run: osu.Framework.NativeLibs/scripts/ffmpeg/build-win.sh
Expand All @@ -86,6 +83,27 @@ jobs:
name: win-${{ matrix.arch }}
path: win-${{ matrix.arch }}

# The win-arm64 build runs in a special MinGW container to cross-compile successfully.
build-win-arm64:
name: Build Windows (arm64)
runs-on: ubuntu-22.04
container:
image: mstorsjo/llvm-mingw:latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build
run: osu.Framework.NativeLibs/scripts/ffmpeg/build-win.sh
env:
arch: arm64

- name: Upload
uses: actions/upload-artifact@v4
with:
name: win-arm64
path: win-arm64

build-linux:
name: Build Linux
# Use 20.04 to target glibc 2.31 like the other native libs
Expand All @@ -112,7 +130,7 @@ jobs:
options: -v ${{ github.workspace }}:/workspace -w /workspace -e DEBIAN_FRONTEND=noninteractive
run: |
apt-get update -y -qq
apt-get install -y build-essential curl nasm libva-dev libvdpau-dev
apt-get install -y build-essential curl${{ matrix.arch == 'x86' || matrix.arch == 'x64' && ' nasm' || '' }}
osu.Framework.NativeLibs/scripts/ffmpeg/build-linux.sh
- name: Upload
Expand All @@ -128,25 +146,42 @@ jobs:
- combine-macos
- build-win
- build-linux
strategy:
matrix:
include:
- { name: macOS-universal, path: osu.Framework.NativeLibs/runtimes/osx/native }
- { name: linux-arm64, path: osu.Framework.NativeLibs/runtimes/linux-arm64/native}
- { name: linux-arm, path: osu.Framework.NativeLibs/runtimes/linux-arm/native}
- { name: linux-x64, path: osu.Framework.NativeLibs/runtimes/linux-x64/native}
- { name: linux-x86, path: osu.Framework.NativeLibs/runtimes/linux-x86/native}
- { name: win-arm64, path: osu.Framework.NativeLibs/runtimes/win-arm64/native}
- { name: win-x64, path: osu.Framework.NativeLibs/runtimes/win-x64/native}
- { name: win-x86, path: osu.Framework.NativeLibs/runtimes/win-x86/native}
steps:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: ${{ matrix.name }}
path: ${{ matrix.path }}
name: macOS-universal
path: osu.Framework.NativeLibs/runtimes/osx/native
- uses: actions/download-artifact@v4
with:
name: linux-arm64
path: osu.Framework.NativeLibs/runtimes/linux-arm64/native
- uses: actions/download-artifact@v4
with:
name: linux-arm
path: osu.Framework.NativeLibs/runtimes/linux-arm/native
- uses: actions/download-artifact@v4
with:
name: linux-x64
path: osu.Framework.NativeLibs/runtimes/linux-x64/native
- uses: actions/download-artifact@v4
with:
name: linux-x86
path: osu.Framework.NativeLibs/runtimes/linux-x86/native
- uses: actions/download-artifact@v4
with:
name: win-arm64
path: osu.Framework.NativeLibs/runtimes/win-arm64/native
- uses: actions/download-artifact@v4
with:
name: win-x64
path: osu.Framework.NativeLibs/runtimes/win-x64/native
- uses: actions/download-artifact@v4
with:
name: win-x86
path: osu.Framework.NativeLibs/runtimes/win-x86/native

- uses: peter-evans/create-pull-request@v6
with:
Expand Down
26 changes: 13 additions & 13 deletions osu.Framework.NativeLibs/scripts/ffmpeg/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,6 @@ SCRIPT_PATH=$(pwd)
popd > /dev/null
source "$SCRIPT_PATH/common.sh"

FFMPEG_FLAGS+=(
# --enable-vaapi
# --enable-vdpau
# --enable-hwaccel='h264_vaapi,h264_vdpau'
# --enable-hwaccel='hevc_vaapi,hevc_vdpau'
# --enable-hwaccel='vp8_vaapi,vp8_vdpau'
# --enable-hwaccel='vp9_vaapi,vp9_vdpau'

--target-os=linux
)

pushd . > /dev/null

if [ $(uname -m) == "x86_64" ]; then
ARCH="x64"
elif [ $(uname -m) == "i686" ]; then
Expand All @@ -32,6 +19,19 @@ else
exit 1
fi

FFMPEG_FLAGS+=(
# --enable-vaapi
# --enable-vdpau
# --enable-hwaccel='h264_vaapi,h264_vdpau'
# --enable-hwaccel='hevc_vaapi,hevc_vdpau'
# --enable-hwaccel='vp8_vaapi,vp8_vdpau'
# --enable-hwaccel='vp9_vaapi,vp9_vdpau'

--target-os=linux
)

pushd . > /dev/null

prep_ffmpeg linux-$ARCH
# Apply patch from upstream to fix errors with new binutils versions:
# Ticket: https://fftrac-bg.ffmpeg.org/ticket/10405
Expand Down

0 comments on commit fc2a86d

Please sign in to comment.