From 92794137b84a937fe1510ad24a53e2b268683534 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 00:55:02 +0100 Subject: [PATCH 01/37] add workflow to build mpv binary Changes to be committed: new file: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/build_mpv_binary.yml diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml new file mode 100644 index 0000000..bfa7d3c --- /dev/null +++ b/.github/workflows/build_mpv_binary.yml @@ -0,0 +1,35 @@ +name: Build mpv binary (without Docker) + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y build-essential clang yasm git meson ninja-build \ + autoconf automake libtool pkg-config libfreetype6-dev libfribidi-dev \ + libfontconfig1-dev libasound2-dev pulseaudio libx11-dev libvdpau-dev \ + libgl-dev libxv-dev libjpeg-dev libssl-dev libx264-dev libmp3lame-dev + libfdk-aac-dev + + - name: Build mpv binary + run: | + ./rebuild -j4 + + - name: Verify mpv binary + run: | + ./mpv/build/mpv --version + From ae4bc756a958b6d415e691c90452fcb4fda2bc16 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 01:05:42 +0100 Subject: [PATCH 02/37] minor fixes 1- change the name of the workflow 2- change the branch name from main to master 3- add workflow_dispatch Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index bfa7d3c..4f7c294 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -1,12 +1,13 @@ -name: Build mpv binary (without Docker) +name: Build mpv binary on: push: branches: - - main + - master pull_request: branches: - - main + - master + workflow_dispatch: jobs: build: From 9c1955f8ab2c046e43fccd552eae6de84291bbef Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 01:20:03 +0100 Subject: [PATCH 03/37] fix syntax error by adding backslash Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index 4f7c294..8e96b7e 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -23,7 +23,7 @@ jobs: sudo apt install -y build-essential clang yasm git meson ninja-build \ autoconf automake libtool pkg-config libfreetype6-dev libfribidi-dev \ libfontconfig1-dev libasound2-dev pulseaudio libx11-dev libvdpau-dev \ - libgl-dev libxv-dev libjpeg-dev libssl-dev libx264-dev libmp3lame-dev + libgl-dev libxv-dev libjpeg-dev libssl-dev libx264-dev libmp3lame-dev \ libfdk-aac-dev - name: Build mpv binary From b6b4a36f7877ebb03d41ae32fa88986989b1aa41 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 01:26:06 +0100 Subject: [PATCH 04/37] add the remaining dependencies Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 66 ++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index 8e96b7e..a864fdc 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -20,11 +20,67 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install -y build-essential clang yasm git meson ninja-build \ - autoconf automake libtool pkg-config libfreetype6-dev libfribidi-dev \ - libfontconfig1-dev libasound2-dev pulseaudio libx11-dev libvdpau-dev \ - libgl-dev libxv-dev libjpeg-dev libssl-dev libx264-dev libmp3lame-dev \ - libfdk-aac-dev + sudo apt install -y \ + build-essential \ + clang \ + 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 \ + python3-pip \ + python3.12-venv \ + libharfbuzz-dev \ + nasm \ + liblua5.1-0-dev \ + liblua5.2-dev \ + libxext-dev \ + libxrandr-dev \ + libxinerama-dev \ + libxv-dev \ + libwayland-dev \ + nodejs \ + 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 \ + libdrm-dev \ + libsixel-dev \ + wayland-protocols \ + libxkbcommon-dev \ + libxpresent-dev \ + libegl1-mesa-dev \ + libvulkan-dev \ + libva-dev \ + libshaderc-dev \ + && apt clean - name: Build mpv binary run: | From 789743b978e9343e98c5b3f1b74899216a7ed52a Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 01:31:41 +0100 Subject: [PATCH 05/37] delete trailing space --- .github/workflows/build_mpv_binary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index a864fdc..2684eae 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -71,7 +71,7 @@ jobs: libpulse-dev \ libsndio-dev \ libcaca-dev \ - libdrm-dev \ + libdrm-dev \ libsixel-dev \ wayland-protocols \ libxkbcommon-dev \ From 1c5e4ca407f2ecc6e608762440d19d5db47489b5 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 01:35:39 +0100 Subject: [PATCH 06/37] add sudo to `apt clean` command Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index 2684eae..bfb4999 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -80,7 +80,7 @@ jobs: libvulkan-dev \ libva-dev \ libshaderc-dev \ - && apt clean + && sudo apt clean - name: Build mpv binary run: | From 60b578c408d7d3a4f198a3add0851fd5a3534cd5 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 9 Dec 2024 16:07:24 +0100 Subject: [PATCH 07/37] add install step and change the verifying command Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index bfb4999..dda5679 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -86,7 +86,11 @@ jobs: run: | ./rebuild -j4 + - name: Install mpv binary + run: | + sudo ./install + - name: Verify mpv binary run: | - ./mpv/build/mpv --version + mpv --version From 308a24e6bcc0395d1b292bbf1301013b9d42dcc0 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Sun, 15 Dec 2024 09:52:18 +0100 Subject: [PATCH 08/37] first attempt to create `.deb` package for mpv Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index dda5679..cc4d9b9 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -94,3 +94,38 @@ jobs: run: | mpv --version + - name: create debian package + run: | + # enable source repositories + sudo sed -i 's/^Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources + sudo apt update + # install dependencies mentioned in debian/control + sudo apt 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 clean + + # build dependencies + sudo apt build-dep mpv + + # build package + sudo dpkg-buildpackage -us -uc From ade7fad336bcab9e6307de7e6bbe1f55773c65aa Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Sun, 15 Dec 2024 10:43:19 +0100 Subject: [PATCH 09/37] add checking mechanism for the existence of `.deb` file Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index cc4d9b9..bec3941 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -94,7 +94,7 @@ jobs: run: | mpv --version - - name: create debian package + - name: Create debian package run: | # enable source repositories sudo sed -i 's/^Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources @@ -129,3 +129,11 @@ jobs: # 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 From d080a14038ee7aadfa44a805e2f1df8105e2106e Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Sun, 15 Dec 2024 11:16:21 +0100 Subject: [PATCH 10/37] rename the workflow and make it more descriptive Changes to be committed: renamed: build_mpv_binary.yml -> build_mpv_binary_and_deb_package.yml --- ...nary.yml => build_mpv_binary_and_deb_package.yml} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename .github/workflows/{build_mpv_binary.yml => build_mpv_binary_and_deb_package.yml} (94%) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml similarity index 94% rename from .github/workflows/build_mpv_binary.yml rename to .github/workflows/build_mpv_binary_and_deb_package.yml index bec3941..31557f2 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -1,4 +1,4 @@ -name: Build mpv binary +name: Build mpv binary and create debian package on: push: @@ -19,8 +19,8 @@ jobs: - name: Install dependencies run: | - sudo apt update - sudo apt install -y \ + sudo apt-get update + sudo apt-get install -y \ build-essential \ clang \ yasm \ @@ -98,9 +98,9 @@ jobs: run: | # enable source repositories sudo sed -i 's/^Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources - sudo apt update + sudo apt-get update # install dependencies mentioned in debian/control - sudo apt install -y \ + sudo apt-get install -y \ ladspa-sdk \ libbs2b-dev \ libdisplay-info-dev \ @@ -125,7 +125,7 @@ jobs: && sudo apt clean # build dependencies - sudo apt build-dep mpv + sudo apt-get build-dep mpv # build package sudo dpkg-buildpackage -us -uc From 927966dedb7844546608c0b071567f1315e2210f Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Sun, 15 Dec 2024 11:27:45 +0100 Subject: [PATCH 11/37] use `apt-get` instead of `apt` in the script Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 31557f2..748c1b9 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -80,7 +80,7 @@ jobs: libvulkan-dev \ libva-dev \ libshaderc-dev \ - && sudo apt clean + && sudo apt-get clean - name: Build mpv binary run: | @@ -122,7 +122,7 @@ jobs: libunwind-dev \ libvpx-dev \ libxvidcore-dev \ - && sudo apt clean + && sudo apt-get clean # build dependencies sudo apt-get build-dep mpv From f33b5f7c58618570538cf44903e56f11f09ff703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lker=20Melik=20S=C4=B1tk=C4=B1?= <87070556+ilkermeliksitki@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:12:50 +0100 Subject: [PATCH 12/37] Update .github/workflows/build_mpv_binary_and_deb_package.yml add `actions/checkout@v4` Co-authored-by: sfan5 --- .github/workflows/build_mpv_binary_and_deb_package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 748c1b9..cab0a4d 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install dependencies run: | From e7126e13e23e458208e80ed91d708805a6155321 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 17:18:28 +0100 Subject: [PATCH 13/37] delete `clang` Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index cab0a4d..622a6fe 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -22,7 +22,6 @@ jobs: sudo apt-get update sudo apt-get install -y \ build-essential \ - clang \ yasm \ git \ meson \ From 3d9f74b7343b293937f908446a657cee88e3eb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lker=20Melik=20S=C4=B1tk=C4=B1?= <87070556+ilkermeliksitki@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:38:40 +0100 Subject: [PATCH 14/37] simplify the step of checking debian package Co-authored-by: sfan5 --- .github/workflows/build_mpv_binary_and_deb_package.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 622a6fe..2fa3c3b 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -130,9 +130,4 @@ jobs: 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 + ls -lh ../mpv*.deb || exit 1 From 4cf74d775f909600b1a597561f797d6503a7b2f3 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:00:22 +0100 Subject: [PATCH 15/37] delete `python3-pip` and `python3.12-venv` Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 2fa3c3b..433841a 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -45,8 +45,6 @@ jobs: libx264-dev \ libmp3lame-dev \ libfdk-aac-dev \ - python3-pip \ - python3.12-venv \ libharfbuzz-dev \ nasm \ liblua5.1-0-dev \ From fe01d850351e67a80607179ddd5a9a38c35ed0ae Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:01:38 +0100 Subject: [PATCH 16/37] delete one of the `lua` versions Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 433841a..d236de3 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -47,7 +47,6 @@ jobs: libfdk-aac-dev \ libharfbuzz-dev \ nasm \ - liblua5.1-0-dev \ liblua5.2-dev \ libxext-dev \ libxrandr-dev \ From 63171fc990f6df4b68d06664804cbe208248b4ee Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:15:00 +0100 Subject: [PATCH 17/37] delete unnecessary encoders Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index d236de3..74e22d7 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -42,9 +42,6 @@ jobs: libxv-dev \ libjpeg-dev \ libssl-dev \ - libx264-dev \ - libmp3lame-dev \ - libfdk-aac-dev \ libharfbuzz-dev \ nasm \ liblua5.2-dev \ From 8911434831742e45601581a03ca2f1ff2ece6f11 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:19:27 +0100 Subject: [PATCH 18/37] delete `nodejs` Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 74e22d7..e734185 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -50,7 +50,6 @@ jobs: libxinerama-dev \ libxv-dev \ libwayland-dev \ - nodejs \ libmujs-dev \ liblcms2-dev \ libarchive-dev \ From b86ae11e4f29d3d95df7c86c2f480cf24198b74b Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:23:46 +0100 Subject: [PATCH 19/37] delete `libcaca` Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index e734185..4a91ba7 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -62,7 +62,6 @@ jobs: libpipewire-0.3-dev \ libpulse-dev \ libsndio-dev \ - libcaca-dev \ libdrm-dev \ libsixel-dev \ wayland-protocols \ From 87f0c1e0b7da5c76fc96db9cd8b1e96bb978da19 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 18:47:19 +0100 Subject: [PATCH 20/37] add `libmp3lame-dev` and `libx264-dev` Changes to be committed: modified: build_mpv_binary_and_deb_package.yml --- .github/workflows/build_mpv_binary_and_deb_package.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_mpv_binary_and_deb_package.yml index 4a91ba7..cf9e57f 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_mpv_binary_and_deb_package.yml @@ -113,6 +113,8 @@ jobs: libunwind-dev \ libvpx-dev \ libxvidcore-dev \ + libmp3lame-dev \ + libx264-dev \ && sudo apt-get clean # build dependencies From a664c8d604466ce62f0ab93ac058975c9482e172 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 20:45:44 +0100 Subject: [PATCH 21/37] replace debian/compat with debhelper-compat While building the package, by using equivs-build and debian/control file, I got the following error: ``` root@a625b7a1de7c:/mpv-build# equivs-build --full debian/control dpkg-buildpackage: info: source package mpv dpkg-buildpackage: info: source version 1.0 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Kevin Mitchell dpkg-buildpackage: info: host architecture amd64 dpkg-source --before-build . debian/rules clean dh clean dh: error: Please specify the compatibility level in debian/compat or via Build-Depends: debhelper-compat (= X) make: *** [debian/rules:3: clean] Error 255 dpkg-buildpackage: error: debian/rules clean subprocess returned exit status 2 Error in the build process: exit status 2 ``` Based on the error message, I replaced debian/compat with debhelper-compate (= 12) in debian/control file. The existing compat file didn't help to build the package. [Reference](https://github.com/FooBarWidget/debian-packaging-for-the-modern-developer/issues/8#issue-665598885) Changes to be committed: deleted: compat modified: control --- debian/compat | 1 - debian/control | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 debian/compat diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 48082f7..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/debian/control b/debian/control index a6986e5..d58ad44 100644 --- a/debian/control +++ b/debian/control @@ -8,6 +8,7 @@ Build-Depends: automake, c-compiler | gcc, debhelper (>= 12), + debhelper-compat (= 12), glslang-dev, ladspa-sdk, libasound2-dev [linux-any], From 3dda039d5d6ec65d28f087380142545caabc9e23 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 21:57:37 +0100 Subject: [PATCH 22/37] Revert "replace debian/compat with debhelper-compat" This reverts commit a664c8d604466ce62f0ab93ac058975c9482e172. Changes to be committed: new file: debian/compat modified: debian/control --- debian/compat | 1 + debian/control | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 debian/compat diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/control b/debian/control index d58ad44..a6986e5 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,6 @@ Build-Depends: automake, c-compiler | gcc, debhelper (>= 12), - debhelper-compat (= 12), glslang-dev, ladspa-sdk, libasound2-dev [linux-any], From d0f10f53005ec610400baf02dca945a025e6f924 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 22:11:13 +0100 Subject: [PATCH 23/37] suggested changes applied 1. installation step is deleted during binary building 2. building `.deb` package is moved to `build_debian_package.yml` 3. `build_mpv_binary_and_deb_package.yml` is renamed to `build_debian_package.yml` Changes to be committed: renamed: build_mpv_binary_and_deb_package.yml -> build_debian_package.yml new file: build_mpv_binary.yml --- ...b_package.yml => build_debian_package.yml} | 47 ++--------- .github/workflows/build_mpv_binary.yml | 83 +++++++++++++++++++ 2 files changed, 88 insertions(+), 42 deletions(-) rename .github/workflows/{build_mpv_binary_and_deb_package.yml => build_debian_package.yml} (62%) create mode 100644 .github/workflows/build_mpv_binary.yml diff --git a/.github/workflows/build_mpv_binary_and_deb_package.yml b/.github/workflows/build_debian_package.yml similarity index 62% rename from .github/workflows/build_mpv_binary_and_deb_package.yml rename to .github/workflows/build_debian_package.yml index cf9e57f..0b9f1fb 100644 --- a/.github/workflows/build_mpv_binary_and_deb_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -1,4 +1,4 @@ -name: Build mpv binary and create debian package +name: Build debian package on: push: @@ -77,51 +77,14 @@ jobs: run: | ./rebuild -j4 - - name: Install mpv binary - run: | - sudo ./install - - - name: Verify mpv binary - run: | - mpv --version - - name: Create debian package run: | # 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 - 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 \ - libmp3lame-dev \ - libx264-dev \ - && sudo apt-get clean - # build dependencies - sudo apt-get build-dep mpv + # install build dependencies + sudo apt-get install -y build-essential devscripts equivs - # build package - sudo dpkg-buildpackage -us -uc + # create debian package + mk-build-deps -s sudo -i - # check if package is created - ls -lh ../mpv*.deb || exit 1 diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml new file mode 100644 index 0000000..2871291 --- /dev/null +++ b/.github/workflows/build_mpv_binary.yml @@ -0,0 +1,83 @@ +name: Build mpv binary + +on: + push: + branches: + - master + pull_request: + branches: + - master + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + 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 \ + libharfbuzz-dev \ + nasm \ + liblua5.2-dev \ + libxext-dev \ + libxrandr-dev \ + libxinerama-dev \ + libxv-dev \ + libwayland-dev \ + 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 \ + 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: Verify mpv binary + run: | + ./mpv/build/mpv --version || exit 1 + From 7c362f7d44e7025909d0c7ea7da6c6397de40daf Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 22:47:32 +0100 Subject: [PATCH 24/37] check the existence of `.deb` file Changes to be committed: modified: build_debian_package.yml --- .github/workflows/build_debian_package.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index 0b9f1fb..1639d6c 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -88,3 +88,6 @@ jobs: # create debian package mk-build-deps -s sudo -i + # check if the package is created + ls mpv*.deb || exit 1 + From 8fe14cc3b27a452bb35d17843a5e4e82c6894898 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 23:40:59 +0100 Subject: [PATCH 25/37] delete enable source repository part Changes to be committed: modified: build_debian_package.yml --- .github/workflows/build_debian_package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index 1639d6c..e426d99 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -79,9 +79,6 @@ jobs: - name: Create debian package run: | - # enable source repositories - sudo sed -i 's/^Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources - # install build dependencies sudo apt-get install -y build-essential devscripts equivs From 6c8b5db8549d48f5ce0c171e1f2afb0a8fefca8b Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Wed, 18 Dec 2024 23:43:48 +0100 Subject: [PATCH 26/37] build-essential package is already installed Changes to be committed: modified: build_debian_package.yml --- .github/workflows/build_debian_package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index e426d99..9d146b0 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -80,7 +80,7 @@ jobs: - name: Create debian package run: | # install build dependencies - sudo apt-get install -y build-essential devscripts equivs + sudo apt-get install -y devscripts equivs # create debian package mk-build-deps -s sudo -i From 7fdaf7f53549de11e7d726e4cc4e1a36703fd748 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Thu, 13 Mar 2025 22:27:16 +0100 Subject: [PATCH 27/37] debian package build attempt 1 Changes to be committed: modified: build_debian_package.yml --- .github/workflows/build_debian_package.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index 9d146b0..ac96798 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -73,18 +73,15 @@ jobs: libshaderc-dev \ && sudo apt-get clean - - name: Build mpv binary + - name: Prepare Debian package run: | - ./rebuild -j4 + ./update.sh + mk-build-deps -s sudo -i - - name: Create debian package + - name: Build Debian package run: | - # install build dependencies - sudo apt-get install -y devscripts equivs - - # create debian package - mk-build-deps -s sudo -i + dpkg-buildpackage -uc -us -b -j4 - # check if the package is created - ls mpv*.deb || exit 1 + - name: Verify package creation + ls ../mpv_*.deb || exit 1 From 6ea66d24e790db887529041ce943f7a7ef1cfdd7 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Thu, 13 Mar 2025 22:35:28 +0100 Subject: [PATCH 28/37] add the run key for `verify package creation` step Changes to be committed: modified: build_debian_package.yml --- .github/workflows/build_debian_package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index ac96798..930d543 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -83,5 +83,6 @@ jobs: dpkg-buildpackage -uc -us -b -j4 - name: Verify package creation + run: | ls ../mpv_*.deb || exit 1 From b0a19d74cbddfcb7b69e1e13bb45d535a3b9e6de Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Thu, 13 Mar 2025 23:25:32 +0100 Subject: [PATCH 29/37] add libmpv-dev library during the build procedure, the following error was encountered: ``` ... [303/307] Compiling C object libmpv.so.2.5.0.p/video_out_vo_vdpau.c.o [304/307] Linking target libmpv.so.2.5.0 FAILED: libmpv.so.2.5.0 cc -o libmpv.so.2.5.0 libmpv.so.2.5.0.p/audio_aframe.c.o libmpv.so.2.5.0.p/audio_chmap.c.o libmpv.so.2.5.0.p/audio_chmap_avchannel.c.o libmpv.so.2.5.0.p/audio_chmap_sel.c.o libmpv.so.2.5.0.p/audio_decode_ad_lavc.c.o libmpv.so.2.5.0.p/audio_decode_ad_spdif.c.o libmpv.so.2.5.0.p/audio_filter_af_drop.c.o libmpv.so.2.5.0.p/audio_filter_af_format.c.o libmpv.so.2.5.0.p/audio_filter_af_lavcac3enc.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2.c.o libmpv.so.2.5.0.p/audio_filter_af_scaletempo2_internals.c.o libmpv.so.2.5.0.p/audio_fmt-conversion.c.o libmpv.so.2.5.0.p/audio_format.c.o libmpv.so.2.5.0.p/audio_out_ao.c.o libmpv.so.2.5.0.p/audio_out_ao_lavc.c.o libmpv.so.2.5.0.p/audio_out_ao_null.c.o libmpv.so.2.5.0.p/audio_out_ao_pcm.c.o libmpv.so.2.5.0.p/audio_out_buffer.c.o libmpv.so.2.5.0.p/common_av_common.c.o libmpv.so.2.5.0.p/common_av_log.c.o ...``` Changes to be committed: modified: build_mpv_binary.yml --- .github/workflows/build_mpv_binary.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index 2871291..70a9245 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -71,6 +71,7 @@ jobs: libvulkan-dev \ libva-dev \ libshaderc-dev \ + libmpv-dev \ && sudo apt-get clean - name: Build mpv binary From 3f6ce9e39f0851cd3bd0f001fbda007118c26539 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Thu, 13 Mar 2025 23:39:20 +0100 Subject: [PATCH 30/37] Revert "add libmpv-dev library" This reverts commit b0a19d74cbddfcb7b69e1e13bb45d535a3b9e6de. --- .github/workflows/build_mpv_binary.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_mpv_binary.yml b/.github/workflows/build_mpv_binary.yml index 70a9245..2871291 100644 --- a/.github/workflows/build_mpv_binary.yml +++ b/.github/workflows/build_mpv_binary.yml @@ -71,7 +71,6 @@ jobs: libvulkan-dev \ libva-dev \ libshaderc-dev \ - libmpv-dev \ && sudo apt-get clean - name: Build mpv binary From cce2eb6f9e2f1902129b74c9eafdd0ecde403b24 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Sun, 6 Apr 2025 19:05:54 +0300 Subject: [PATCH 31/37] Fix trial of linkage error of libass during "rebuild" step Changes to be committed: modified: scripts/libass-build --- scripts/libass-build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/libass-build b/scripts/libass-build index 6fcce6c..4ab688b 100755 --- a/scripts/libass-build +++ b/scripts/libass-build @@ -1,4 +1,7 @@ #!/bin/sh set -e +# set CFLAGS to ensure position-independent code +export CFLAGS="-fPIC" + make -C libass install "$@" From c489fdfa3d50a8eec9de901f9ea6366770ee7d8c Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 12:46:24 +0300 Subject: [PATCH 32/37] Revert "Fix trial of linkage error of libass during "rebuild" step" This reverts commit cce2eb6f9e2f1902129b74c9eafdd0ecde403b24. The trial didn't work. Changes to be committed: modified: scripts/libass-build --- scripts/libass-build | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/libass-build b/scripts/libass-build index 4ab688b..6fcce6c 100755 --- a/scripts/libass-build +++ b/scripts/libass-build @@ -1,7 +1,4 @@ #!/bin/sh set -e -# set CFLAGS to ensure position-independent code -export CFLAGS="-fPIC" - make -C libass install "$@" From 98f76f13cd6d757aec156bf916fc35cabafe9bea Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 12:54:10 +0300 Subject: [PATCH 33/37] add pwd for debugging purposes Changes to be committed: modified: .github/workflows/build_debian_package.yml --- .github/workflows/build_debian_package.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index 930d543..ea60e46 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -73,6 +73,9 @@ jobs: libshaderc-dev \ && sudo apt-get clean + - name: Print working directory + run: pwd + - name: Prepare Debian package run: | ./update.sh From a91fae35df48a483e02bc655a938ba3c84d0bfb1 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 13:02:47 +0300 Subject: [PATCH 34/37] change update.sh to update Changes to be committed: modified: .github/workflows/build_debian_package.yml --- .github/workflows/build_debian_package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index ea60e46..905b225 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -78,7 +78,7 @@ jobs: - name: Prepare Debian package run: | - ./update.sh + ./update mk-build-deps -s sudo -i - name: Build Debian package From 471da57fb4b19ec086dd0ee4e747460efc54a9ec Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 13:13:53 +0300 Subject: [PATCH 35/37] add devscript to build debian package devscripst include the following command to be used in the workflow: - dpkg-buildpackage - mk-build-deps Changes to be committed: modified: .github/workflows/build_debian_package.yml --- .github/workflows/build_debian_package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index 905b225..b90531a 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -71,6 +71,7 @@ jobs: libvulkan-dev \ libva-dev \ libshaderc-dev \ + devscripts \ && sudo apt-get clean - name: Print working directory From fbf558ea7b3db8ea3b1fabd7c19b8553cba41bae Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 13:20:09 +0300 Subject: [PATCH 36/37] add equivs package The workflow gave the following error: mk-build-deps: You must have equivs installed to use this program. Error: Process completed with exit code 127. So equivs package is added as dependency. Changes to be committed: modified: .github/workflows/build_debian_package.yml --- .github/workflows/build_debian_package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index b90531a..f611f89 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -72,6 +72,7 @@ jobs: libva-dev \ libshaderc-dev \ devscripts \ + equivs \ && sudo apt-get clean - name: Print working directory From 4a1d8cbab46fab432bcd7532478a7745316ef1c1 Mon Sep 17 00:00:00 2001 From: "ilker m. sitki" Date: Mon, 7 Apr 2025 13:32:53 +0300 Subject: [PATCH 37/37] delete the debuggin pwd line Changes to be committed: modified: .github/workflows/build_debian_package.yml --- .github/workflows/build_debian_package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build_debian_package.yml b/.github/workflows/build_debian_package.yml index f611f89..ee06a75 100644 --- a/.github/workflows/build_debian_package.yml +++ b/.github/workflows/build_debian_package.yml @@ -75,9 +75,6 @@ jobs: equivs \ && sudo apt-get clean - - name: Print working directory - run: pwd - - name: Prepare Debian package run: | ./update