/
build.sh
executable file
·100 lines (97 loc) · 2.89 KB
/
build.sh
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
94
95
96
97
98
99
100
# (c) 2014-2015 Sam Nazarko
# email@samnazarko.co.uk
#!/bin/bash
. ../common.sh
MESA_REV="ea9f8c26bc952c6e0e24e086e364d16aa7841bd9"
pull_source "https://github.com/mesa3d/mesa/archive/${MESA_REV}.tar.gz" "$(pwd)/src"
if [ $? != 0 ]; then echo -e "Error downloading" && exit 1; fi
# Build in native environment
build_in_env "${1}" $(pwd) "mesa-osmc"
build_return=$?
if [ $build_return == 99 ]
then
echo -e "Building mesa-osmc"
out=$(pwd)/files
if [ -d files/usr ]; then rm -rf files/usr; fi
if [ -d files-dev/usr ]; then rm -rf files-dev/usr; fi
sed '/Package/d' -i files/DEBIAN/control
sed '/Package/d' -i files-dev/DEBIAN/control
sed '/Depends/d' -i files-dev/DEBIAN/control
sed '/Version/d' -i files-dev/DEBIAN/control
VERSION_DEV=$(grep Version ${out}/DEBIAN/control)
VERSION_NUM=$(echo $VERSION_DEV | awk {'print $2'})
echo $VERSION_DEV >> files-dev/DEBIAN/control
echo "Depends: ${1}-mesa-osmc (=${VERSION_NUM})" >> files-dev/DEBIAN/control
update_sources
handle_dep "libdrm-dev"
handle_dep "python3-pip"
handle_dep "python3-mako"
handle_dep "flex"
handle_dep "pkg-config"
handle_dep "bison" # meson dep
handle_dep "git" # meson dep
handle_dep "cmake" # meson dep
handle_dep "zlib1g-dev"
handle_dep "libexpat1-dev"
handle_dep "meson"
echo "Package: ${1}-mesa-osmc" >> files/DEBIAN/control && echo "Package: ${1}-mesa-dev-osmc" >> files-dev/DEBIAN/control
pushd src/mesa-*
install_patch "../../patches" "{$1}"
rm -rf build
mkdir -p build
pushd build
FLAGS=-Wl,-rpath=/usr/osmc/lib
export CFLAGS=$FLAGS
export CXXFLAGS=$FLAGS
export CPPFLAGS=$FLAGS
if [ "$1" == "rbp2" ]; then
meson setup \
--prefix=/usr/osmc \
--libdir=/usr/osmc/lib \
-Dgallium-drivers=vc4,v3d,kmsro \
-Dgallium-extra-hud=false \
-Dgallium-omx=disabled \
-Dgallium-nine=false \
-Dgallium-opencl=disabled \
-Dshader-cache=enabled \
-Dshared-glapi=enabled \
-Dopengl=true \
-Dgbm=enabled \
-Degl=enabled \
-Dvalgrind=disabled \
-Dlibunwind=disabled \
-Dlmsensors=disabled \
-Dbuild-tests=false \
-Ddraw-use-llvm=false \
-Dselinux=false \
-Dosmesa=false \
-Dplatforms="" \
-Ddri3=disabled \
-Dglx=disabled \
-Dglvnd=false \
-Dllvm=disabled \
-Dgallium-vdpau=disabled \
-Dgallium-va=disabled \
-Dgallium-xa=disabled \
-Dgles1=disabled \
-Dgles2=enabled \
-Dvulkan-drivers=""
fi
if [ $? != 0 ]; then echo -e "MESA configuration failed" && exit 1; fi
ninja
if [ $? != 0 ]; then echo -e "MESA build failed" && exit 1; fi
DESTDIR=$out ninja install
if [ $? != 0 ]; then echo -e "MESA installation failed" && exit 1; fi
popd
popd
mkdir -p files-dev/usr/osmc
mv files/usr/osmc/include files-dev/usr/osmc
strip_files "${out}"
fix_arch_ctl "files/DEBIAN/control"
fix_arch_ctl "files-dev/DEBIAN/control"
dpkg_build files ${1}-mesa-osmc.deb
dpkg_build files-dev ${1}-mesa-dev-osmc.deb
build_return=$?
fi
teardown_env "${1}"
exit $build_return