-
Notifications
You must be signed in to change notification settings - Fork 7
94 lines (81 loc) · 3.22 KB
/
enigma2.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
- 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 .
echo "Build completed successfully!"
- name: Collect build artifacts and logs
if: failure()
run: |
echo "Collecting logs for debugging..."
find . -name "*.log" -exec cat {} \;