# qt4/cfg - "Build" settings for package #--------------------------------------------------------------------- [technotes] 1. This distro's copy of "qt4" no longer supports "openssl" through either "libressl" or "openssl" per se. So, "qt4"-based programs that haven't been updated to work with "qt5" aren't able to use SSL. #--------------------------------------------------------------------- 2. The configure-time switch "-no-exceptions" for this package should not be used as this may break "shiboken" and other packages. #--------------------------------------------------------------------- 3. For the releases listed below, the final sizes of the "install" tree were as follows (after the post-build operations listed in this file's "postbuild" block were done, and with "exepack" set to "yes"): qt4 4.3.5: 41MB - Uncompressed size 12MB - When stored in a squashfs-lzma filesystem qt4 4.4.3: 59MB - Uncompressed size 17MB - When stored in a squashfs-lzma filesystem qt4 4.5.2: 63MB - Uncompressed size 18MB - When stored in a squashfs-lzma filesystem qt4 4.6.1: 75MB - Uncompressed size 23MB - When stored in a squashfs-lzma filesystem qt4 4.7.4: 92MB - Uncompressed size 23MB - When stored in a squashfs-xzm filesystem (same as release 4.6.1 with squashfs-lzma) qt4 4.8.6: 105MB - Uncompressed size 28MB - When stored in a squashfs-xzm filesystem Removing the Qt4 "include" directory reduced the semi-final sizes by 12MB (release 4.3.5) to 18MB (release 4.6.1). However, it reduced the post-"squashfs-lzma" sizes by less than one MB. Removing Qt3 compatibility reduced the uncompressed sizes by approx. 5MB. As shown above, there was a size increase of approx. 18MB (in the semi-final sizes) from release 4.3.5 to 4.4.3. Roughly 12MB of the difference was due to the addition of two libraries: libQtCLucene.so* libQtWebKit.so* #--------------------------------------------------------------------- 4. In late 2008, a review of numerous typical Qt4-based programs built against Qt4 4.4.3 suggested that most Qt4 programs used only 9 of Qt4 4.4.3's then-18 libraries: libQt3Support.so* # Used by one program (fet) libQtCore.so* libQtGui.so* libQtNetwork.so* libQtOpenGL.so* libQtScript.so* # Used by one program (stellarium) libQtSql.so* libQtSvg.so* libQtXml.so* #--------------------------------------------------------------------- [buildtimes] 00.19 hours (or 011.40 minutes) - 2021 L.A. dedi box: 6x2 CPU 32GB RAM 00.21 hours (or 012.85 minutes) - 2023 dedi Xeon E3-1200 v3 4x2 32GB RAM 00.34 hours (or 020.27 minutes) - HP EliteBook 8560w 32GB RAM 00.35 hours (or 021.02 minutes) - ThinkPad W530 i7 4x2 32GB RAM 01.07 hours (or 064.05 minutes) - ThinkPad E540 i7 4x2 16GB RAM #--------------------------------------------------------------------- [settings] altpkg = yes cppstd = gnu++98 exepack = yes large = yes license = To be documented nosyslinks = yes nowerror = yes revision = numeric unpack = relaxed dontfind = libressl openssl setpaths = libaubio lcms2 xorg tmpsize = 1120M #--------------------------------------------------------------------- [depends] libaubio audiofile brotli cups expat fontconfig freetype2 gtkcore jpeg lcms2 libpng nas sqlite2 xorg zlib #--------------------------------------------------------------------- [configure] sed -i -e '631a if (image->isNull()) { state = Error; return -1; }' \ src/gui/image/qgifhandler.cpp export QT4DIR=$PKGDIR_PROD sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \ config.tests/unix/libmng/libmng.cpp sed -i '/CONFIG -/ a\isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..' \ src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro bash ./configure \ -prefix $PKGDIR_PROD \ -confirm-license \ -dbus-linked \ -fast \ -fontconfig \ -nomake demos \ -nomake docs \ -nomake examples \ -optimized-qmake \ \ -no-3dnow \ -no-avx \ -no-libmng \ -no-nas-sound \ -no-nis \ -no-openssl \ -no-openvg \ -no-pch \ -no-phonon \ -no-phonon-backend \ -no-separate-debug-info \ -no-sse3 \ -no-ssse3 \ -no-sse4.1 \ -no-sse4.2 \ -no-xinerama \ \ -opensource \ -release \ -shared \ -stl \ -system-libjpeg \ -system-libpng \ -system-sqlite \ -system-zlib \ -webkit \ -verbose M=$PKGDIR_SPECIAL/Makefile.skip for dir in demos examples do mkdir -p $dir/ cp -p $M $dir/Makefile done #--------------------------------------------------------------------- [build] smpmake smpmake install #--------------------------------------------------------------------- [postbuild] export QT4DIR=$PKGDIR_PROD for file in `basename -a -s .prl $QT4DIR/lib/lib*.prl`; do sed -r -e '/^QMAKE_PRL_BUILD_DIR/d' \ -e 's/(QMAKE_PRL_LIBS =).*/\1/' \ -i $QT4DIR/lib/${file}.prl perl -pi \ -e "s, -L$PWD/?\S+,,g" \ $QT4DIR/lib/pkgconfig/${file##lib}.pc done unset file SHADIR=$PKGDIR_PROD/share PIXDIR=$SHADIR/pixmaps mkdir -p $PIXDIR install -v -Dm644 \ src/gui/dialogs/images/qtlogo-64.png \ $PIXDIR/qt4logo.png install -v -Dm644 \ tools/assistant/tools/assistant/images/assistant-128.png \ $PIXDIR/assistant-qt4.png install -v -Dm644 \ tools/designer/src/designer/images/designer.png \ $PIXDIR/designer-qt4.png install -v -Dm644 \ tools/linguist/linguist/images/icons/linguist-128-32.png \ $PIXDIR/linguist-qt4.png install -v -Dm644 \ tools/qdbus/qdbusviewer/images/qdbusviewer-128.png \ $PIXDIR/qdbusviewer-qt4.png cd $PKGDIR_PROD rm -fr demos doc examples rm -fr `find . -name \*.debug | grep -v " "` #--------------------------------------------------------------------- # Original URLs. These URLs were valid at one point, but may have died # since then. If you download newer versions of tarballs [etc.], don't # delete the original versions, as you may not be able to replace # them. [urls] url_debian = http://packages.debian.org/unstable/source/\ qt-x11-free url_debian_pool = http://ftp.debian.org/debian/pool/main/q/\ qt-x11-free/ url_home = http://www.trolltech.com/products/qt/ url_lfs = http://www.linuxfromscratch.org/blfs/view/stable/\ x/lib.html#qt url_tarball = http://download.qt.io/archive/qt/4.8/4.8.7/\ qt-everywhere-opensource-src-4.8.7.tar.gz #--------------------------------------------------------------------- [history] 170512 Updated from 4.8.6 to 4.8.7