Skip to content

Fix ePicLoad WebP: Add LIBS, pkg-config check, and --with-webp flag #1781

Fix ePicLoad WebP: Add LIBS, pkg-config check, and --with-webp flag

Fix ePicLoad WebP: Add LIBS, pkg-config check, and --with-webp flag #1781

Workflow file for this run

name: Enigma2 Python 3
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
jobs:
build:
runs-on: ubuntu-24.04
strategy:
matrix:
gcc: [14]
python: ['3.13']
steps:
- name: install dev packages
run: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get -q update
sudo apt remove -y libunwind-14-dev
sudo apt-get install g++-${{ matrix.gcc }}
sudo apt-get install linux-libc-dev
sudo apt-get install git
sudo apt-get install build-essential
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install python3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install gettext
sudo apt-get install swig
sudo apt-get install libgstreamer1.0-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libfribidi-dev
sudo apt-get install libssl-dev
sudo apt-get install libavahi-client-dev
sudo apt-get install libjpeg-turbo8-dev
sudo apt-get install libgif-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install mm-common
sudo apt-get install libwebp-dev
sudo apt-get install libwebp-bin
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install python ${{ matrix.python }} packages
run: |
pip3 install flake8
- name: Check format PEP8
run: |
echo "checking locale format..."
find . -type f -name "*.po" -exec msgfmt {} -o {}.mo \;
echo "checking PEP8 validation..."
flake8 --builtins="_,ngettext,pgettext" --ignore=W191,W503,W504,E123,E126,E128,E501,E722,F824 . --exit-zero
# PEP8 :- IGNORE CODES
# W191 : indentation contains tabs
# W503 : line break before binary operator
# W504 : line break after binary operator
# E128 : continuation line under-indented for visual indent
# E501 : line too long (> 79 characters)
# E722 : do not use bare 'except'
# F824 : is unused: name is never assigned in scope
- name: Build enigma2 dependencies, gcc-${{ matrix.gcc }}
env:
CC: "gcc-${{ matrix.gcc }}"
CXX: "g++-${{ matrix.gcc }}"
run: |
echo "installing libdvbsi++"
pushd .
cd /tmp
git clone --depth 1 https://github.com/oe-alliance/libdvbsi.git
cd libdvbsi
autoreconf -i
./configure
make
sudo make install
popd
echo "installing libsigc++-3"
pushd .
cd /tmp
git clone --depth 1 https://github.com/dbus-cxx/libsigc--3.0.git
cd libsigc--3.0
autoreconf -i
./configure
make
sudo make install
popd
echo "installing tuxbox"
pushd .
cd /tmp
git clone --depth 1 https://github.com/oe-alliance/tuxtxt.git
cd tuxtxt/libtuxtxt
autoreconf -i
./configure --with-boxtype=generic DVB_API_VERSION=5
make
sudo make install
cd ../tuxtxt
autoreconf -i
./configure --with-boxtype=generic DVB_API_VERSION=5
make
sudo make install
popd
- name: build enigma2
env:
CC: "gcc-${{ matrix.gcc }}"
CXX: "g++-${{ matrix.gcc }}"
LDFLAGS: "-lwebp"
LIBS: "-lwebp" # NEW: Ensures WebP is linked early in configure/make
PKG_CONFIG_PATH: "/usr/lib/x86_64-linux-gnu/pkgconfig"
run: |
echo "compiling enigma2"
# NEW: Verify pkg-config detects WebP
pkg-config --exists libwebp && echo "libwebp detected OK" || { echo "libwebp NOT detected - failing early"; exit 1; }
pkg-config --libs --cflags libwebp
autoreconf -i
./configure --with-libsdl=no --with-boxtype=nobox --enable-dependency-tracking ac_cv_prog_c_openmp=-fopenmp --with-gstversion=1.0 --with-textlcd --with-webp # NEW: Explicit WebP flag if supported
make V=1 # Verbose for debugging (remove once fixed)
python -m compileall .
echo "checking enigma2 compiles completed"