Skip to content

update

update #300

Workflow file for this run

name: enigma2 build
on:
push:
branches: [ 7.3, ]
pull_request:
branches: [ 7.3, ]
workflow_dispatch:
jobs:
build:
name: Build Enigma2
runs-on: ubuntu-24.04
strategy:
matrix:
gcc: [13, 14]
python: ['3.12', '3.13']
steps:
- name: Install prerequisites
run: |
sudo apt-get -q update
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt remove -y libunwind-14-dev
sudo apt-get install -y \
g++-${{ matrix.gcc }} linux-libc-dev git build-essential automake autoconf libtool \
python${{ matrix.python }}-dev zlib1g-dev gettext swig \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libfreetype6-dev \
libfribidi-dev libavahi-client-dev libjpeg-turbo8-dev libgif-dev \
libcurl4-openssl-dev mm-common
- name: Cache build dependencies
uses: actions/cache@v3
with:
path: /usr/local/lib
key: ${{ runner.os }}-libs-${{ matrix.gcc }}-${{ matrix.python }}
restore-keys: |
${{ runner.os }}-libs-
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Clear Python bytecode cache
run: |
find . -name "*.pyc" -delete
- name: Build dependencies
id: depends
env:
CC: "gcc-${{ matrix.gcc }}"
CXX: "g++-${{ matrix.gcc }}"
run: |
echo "Installing libdvbsi++"
git clone --depth 1 https://github.com/oe-alliance/libdvbsi.git /tmp/libdvbsi
(cd /tmp/libdvbsi && autoreconf -i && ./configure && make && sudo make install)
echo "Installing libsigc++-3.0"
git clone --depth 1 https://github.com/TwolDE2/libsigc--3.0.git /tmp/libsigc++
(cd /tmp/libsigc++ && autoreconf -i && ./configure && make && sudo make install)
echo "Installing tuxbox"
git clone --depth 1 https://github.com/oe-alliance/tuxtxt.git /tmp/tuxtxt
(cd /tmp/tuxtxt/libtuxtxt && autoreconf -i && ./configure --with-boxtype=generic DVB_API_VERSION=5 && make && sudo make install)
(cd /tmp/tuxtxt/tuxtxt && autoreconf -i && ./configure --with-boxtype=generic DVB_API_VERSION=5 && make && sudo make install)
- name: Check dependency build
if: steps.depends.outcome != 'success'
run: |
echo "Dependencies failed to build. Check logs:"
find /tmp -name "*.log" -exec cat {} \;
exit 1
- name: Build Enigma2
env:
CC: "gcc-${{ matrix.gcc }}"
CXX: "g++-${{ matrix.gcc }}"
run: |
pip install --upgrade pip six
echo "Compiling Enigma2"
sed -i "s/sigc++-2.0/sigc++-3.0/g" ./configure.ac
sed -i "s/sigc++-2.0/sigc++-3.0/g" ./enigma2.pc.in
autoreconf -i
./configure --with-libsigcversion=3.0 \
--with-libsdl=no \
--with-boxtype=nobox \
--enable-dependency-tracking \
ac_cv_prog_c_openmp=-fopenmp \
--with-gstversion=1.0 \
--with-textlcd
make
python -m compileall . || true
echo "Build completed successfully!"
- name: Collect build artifacts and logs
if: failure()
run: |
echo "Collecting logs for debugging..."
find . -name "*.log" -exec cat {} \;
- name: Upload Logs
if: failure()
uses: actions/upload-artifact@v3
with:
name: build-logs
path: ./**/*.log