Skip to content

Instantly share code, notes, and snippets.

@steveatinfincia
Created December 17, 2019 15:41
Show Gist options
  • Save steveatinfincia/bd3aa2aa4f5fb51044e917af13e9e7c5 to your computer and use it in GitHub Desktop.
Save steveatinfincia/bd3aa2aa4f5fb51044e917af13e9e7c5 to your computer and use it in GitHub Desktop.
QT_MAJOR_VERSION=5.13
QT_MINOR_VERSION=1
# fix broadcom opengl library names without breaking anything else
ln -sf /opt/vc/lib/libbrcmEGL.so /opt/vc/lib/libEGL.so
ln -sf /opt/vc/lib/libEGL.so /opt/vc/lib/libEGL.so.1
ln -sf /opt/vc/lib/libbrcmGLESv2.so /opt/vc/lib/libGLESv2.so
ln -sf /opt/vc/lib/libbrcmGLESv2.so /opt/vc/lib/libGLESv2.so.2
ln -sf /opt/vc/lib/libbrcmOpenVG.so /opt/vc/lib/libOpenVG.so
ln -sf /opt/vc/lib/libbrcmWFC.so /opt/vc/lib/libWFC.so
ln -sf /opt/vc/lib/pkgconfig/brcmegl.pc /opt/vc/lib/pkgconfig/egl.pc
ln -sf /opt/vc/lib/pkgconfig/brcmglesv2.pc /opt/vc/lib/pkgconfig/glesv2.pc
ln -sf /opt/vc/lib/pkgconfig/brcmvg.pc /opt/vc/lib/pkgconfig/vg.pc
if [ ! -f qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}.tar.xz ]; then
echo "Download Qt ${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}"
wget http://download.qt.io/official_releases/qt/${QT_MAJOR_VERSION}/${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}/single/qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}.tar.xz
fi
echo "Building Qt"
# blow away the old directory to guarantee clean source state
if [ -d qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION} ]; then
rm -rf qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}
fi
tar xvf qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}.tar.xz
git clone https://github.com/oniongarlic/qt-raspberrypi-configuration.git
cd qt-raspberrypi-configuration && make install DESTDIR=../qt-everywhere-src-${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}
cd ..
apt-get update
apt-get install build-essential \
libfontconfig1-dev \
libdbus-1-dev \
libfreetype6-dev \
libicu-dev \
libinput-dev \
libxkbcommon-dev \
libsqlite3-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libglib2.0-dev \
libraspberrypi-dev \
libasound2-dev \
pulseaudio libpulse-dev
rm -rf build
mkdir -p build
cd build
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig \
../qt-everywhere-src-5.12.5/configure -platform linux-rpi-g++ \
-v \
-opengl es2 -eglfs \
-no-gtk \
-opensource -confirm-license -release \
-reduce-exports \
-force-pkg-config \
-nomake examples -no-compile-examples \
-skip qtcharts \
-skip qtdatavis3d \
-skip qtwayland \
-skip qtwebengine \
-skip qtconnectivity \
-skip qtxmlpatterns \
-skip qtsensors \
-skip qtpurchasing \
-skip qtnetworkauth \
-skip qtwebchannel \
-skip qtwebsockets \
-skip qtwebview \
-no-feature-sql \
-no-feature-cups \
-no-feature-testlib \
-no-feature-dbus \
-no-feature-vnc \
-no-sql-sqlite \
-no-compile-examples \
-no-feature-xlib \
-no-xcb \
-qt-pcre \
-no-pch \
-ssl \
-evdev \
-system-freetype \
-fontconfig \
-glib \
-prefix /opt/Qt5.12 \
-qpa eglfs
make -j5
make install
mkdir -p debian/tmp
make install DESTDIR=debian/tmp
cd ..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment