Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding CI workflow for creating mpv binary and debian .deb package #245

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Changes from 11 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
9279413
add workflow to build mpv binary
ilkermeliksitki Dec 8, 2024
ae4bc75
minor fixes
ilkermeliksitki Dec 9, 2024
9c1955f
fix syntax error by adding backslash
ilkermeliksitki Dec 9, 2024
b6b4a36
add the remaining dependencies
ilkermeliksitki Dec 9, 2024
789743b
delete trailing space
ilkermeliksitki Dec 9, 2024
1c5e4ca
add sudo to `apt clean` command
ilkermeliksitki Dec 9, 2024
60b578c
add install step and change the verifying command
ilkermeliksitki Dec 9, 2024
308a24e
first attempt to create `.deb` package for mpv
ilkermeliksitki Dec 15, 2024
ade7fad
add checking mechanism for the existence of `.deb` file
ilkermeliksitki Dec 15, 2024
d080a14
rename the workflow and make it more descriptive
ilkermeliksitki Dec 15, 2024
927966d
use `apt-get` instead of `apt` in the script
ilkermeliksitki Dec 15, 2024
f33b5f7
Update .github/workflows/build_mpv_binary_and_deb_package.yml
ilkermeliksitki Dec 18, 2024
e7126e1
delete `clang`
ilkermeliksitki Dec 18, 2024
3d9f74b
simplify the step of checking debian package
ilkermeliksitki Dec 18, 2024
4cf74d7
delete `python3-pip` and `python3.12-venv`
ilkermeliksitki Dec 18, 2024
fe01d85
delete one of the `lua` versions
ilkermeliksitki Dec 18, 2024
63171fc
delete unnecessary encoders
ilkermeliksitki Dec 18, 2024
8911434
delete `nodejs`
ilkermeliksitki Dec 18, 2024
b86ae11
delete `libcaca`
ilkermeliksitki Dec 18, 2024
87f0c1e
add `libmp3lame-dev` and `libx264-dev`
ilkermeliksitki Dec 18, 2024
a664c8d
replace debian/compat with debhelper-compat
ilkermeliksitki Dec 18, 2024
3dda039
Revert "replace debian/compat with debhelper-compat"
ilkermeliksitki Dec 18, 2024
d0f10f5
suggested changes applied
ilkermeliksitki Dec 18, 2024
7c362f7
check the existence of `.deb` file
ilkermeliksitki Dec 18, 2024
8fe14cc
delete enable source repository part
ilkermeliksitki Dec 18, 2024
6c8b5db
build-essential package is already installed
ilkermeliksitki Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions .github/workflows/build_mpv_binary_and_deb_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
name: Build mpv binary and create debian package

on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-24.04

steps:
- name: Checkout repository
uses: actions/checkout@v2
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
clang \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
yasm \
git \
meson \
ninja-build \
autoconf \
automake \
libtool \
pkg-config \
libfreetype6-dev \
libfribidi-dev \
libfontconfig1-dev \
libasound2-dev \
pulseaudio \
libx11-dev \
libxss-dev \
libvdpau-dev \
libgl-dev \
libxv-dev \
libjpeg-dev \
libssl-dev \
libx264-dev \
libmp3lame-dev \
libfdk-aac-dev \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
python3-pip \
python3.12-venv \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
libharfbuzz-dev \
nasm \
liblua5.1-0-dev \
liblua5.2-dev \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
libxext-dev \
libxrandr-dev \
libxinerama-dev \
libxv-dev \
libwayland-dev \
nodejs \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
libmujs-dev \
liblcms2-dev \
libarchive-dev \
libbluray-dev \
libavdevice-dev \
cmake \
libuchardet-dev \
libjack-dev \
libopenal-dev \
libpipewire-0.3-dev \
libpulse-dev \
libsndio-dev \
libcaca-dev \
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
libdrm-dev \
libsixel-dev \
wayland-protocols \
libxkbcommon-dev \
libxpresent-dev \
libegl1-mesa-dev \
libvulkan-dev \
libva-dev \
libshaderc-dev \
&& sudo apt-get clean

- name: Build mpv binary
run: |
./rebuild -j4

- name: Install mpv binary
run: |
sudo ./install
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved

- name: Verify mpv binary
run: |
mpv --version

- name: Create debian package
run: |
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
# enable source repositories
sudo sed -i 's/^Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
# install dependencies mentioned in debian/control
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved
sudo apt-get install -y \
ladspa-sdk \
libbs2b-dev \
libdisplay-info-dev \
libdav1d-dev \
libepoxy-dev \
libgl1-mesa-dev \
libgnutls28-dev \
libmodplug-dev \
libopus-dev \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
librtmp-dev \
libssh-dev \
libsoxr-dev \
libspeex-dev \
libv4l-dev \
libvorbis-dev \
libvo-amrwbenc-dev \
libunwind-dev \
libvpx-dev \
libxvidcore-dev \
&& sudo apt-get clean

# build dependencies
sudo apt-get build-dep mpv
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved

# build package
sudo dpkg-buildpackage -us -uc

# check if package is created
if [ -f ../mpv*.deb ]; then
echo "mpv debian package creation is successful"
else
echo "mpv debian package creation failed!"
exit 1
fi
ilkermeliksitki marked this conversation as resolved.
Show resolved Hide resolved