Fix ePicLoad WebP: Add LIBS, pkg-config check, and --with-webp flag #1781
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |