name=qt5 submodule=base majver=5.11 version=$majver.1 dlextract "http://download.qt.io/official_releases/qt/$majver/$version/submodules/qt$submodule-everywhere-src-$version.tar.xz" \ 'c656471f138d3810187a523293e2cc28' _ cd "qt$submodule-everywhere-src-$version" # Build using custom CFLAGS, CXXFLAGS and LDFLAGS (Shamelessly stolen from ArchLinux) sed -i -e "s/^\(QMAKE_CFLAGS_RELEASE.*\)/\1 $(safe_sed "$CFLAGS")/" mkspecs/common/gcc-base.conf sed -i -e "s/^\(QMAKE_CXXFLAGS_RELEASE.*\)/\1 $(safe_sed "$CXXFLAGS")/" mkspecs/common/gcc-base.conf sed -i -e "s/^\(QMAKE_LFLAGS_RELEASE.*\)/\1 $(safe_sed "$LDFLAGS")/" mkspecs/common/g++-unix.conf # Make sure all the possible libraries are linked from the OS, as Qt might use its own if they aren't available. optional="" for opt in libpng libjpeg freetype harfbuzz xcb xkbcommon-x11; do lib="$opt" opts= [ "$lib" = 'freetype' ] && lib=freetype2 [ "$lib" = 'harfbuzz' ] && opts='--atleast-version 1.6.0' pkg-config --exists $opts "$lib" && optional+=" -system-$opt" || optional+=" -no-$opt" done # TODO: Use system double-conversion ./configure -v -confirm-license -opensource \ -prefix "/$dir_prefix" \ -libdir "/$dir_prefix/$dir_lib" \ -headerdir "/$dir_prefix/$dir_include/$name" \ -sysconfdir "/$dir_prefix/$dir_sysconf/xdg" \ -datadir "/$dir_prefix/$dir_data/$name" \ -bindir "/$dir_prefix/$dir_lib/$name/bin" \ -archdatadir "/$dir_prefix/$dir_lib/$name" \ -docdir "/$dir_prefix/$dir_doc/$name" \ -examplesdir "/$dir_prefix/$dir_doc/$name/examples" \ -system-pcre \ -system-zlib \ -system-sqlite \ -qt-doubleconversion \ -dbus-linked \ -openssl-linked \ -nomake examples \ $optional make make INSTALL_ROOT="$dir_install" install mkdir -p "$dir_install/$dir_prefix/$dir_bin" find "$dir_install/$dir_prefix/$dir_lib/$name/bin/" -type f -printf '%P\n' | while IFS= read bin; do ln -s "/$dir_prefix/$dir_lib/$name/bin/$bin" "$dir_install/$dir_prefix/$dir_bin/$bin-$name" done # vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab: