PyQt4 for Embedded Linux Patches

Author: David Boddie
Date: 2015-07-22
Version: 0.2

Note: This text is marked up using reStructuredText formatting. It should be readable in a text editor but can be processed to produce versions of this document in other formats.

Contents

Creating Patch Archives section later in this document.

The Settings directory contains a collection of configuration files that describe local settings, such as the location of cross-compilers, and information about different profiles of Qt. One of these will need to be customised with the appropriate values for your system.

http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
zlib:
http://www.zlib.net/zlib-1.2.5.tar.bz2
Qt:
http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0.tar.gz
SIP:
http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.11.2.tar.gz
PyQt4:
http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.8.tar.gz

Later versions of these may work. Earlier versions may cause problems with the patching mechanism used by the install.py program.

Recently, only Python 2.6 has been tested. Earlier versions of the patches worked with Python 2.5:

http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tar.bz2

Before Qt 4.7 became available, the patches were used with Qt 4.6 and PyQt 4.7:

http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.11.1.tar.gz http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.6.tar.gz

As mentioned, the current patches may work with these older components, but they have not been tested recently.

http://github.com/kergoth/tslib http://prdownload.berlios.de/tslib/tslib-1.0.tar.bz2
libtool (required for tslib):
http://www.gnu.org/software/libtool/

If you want to use tslib to handle touchscreen input, you will need to download the source code for this library as well.

tslib requires libtool as part of the build process so, if you choose to build tslib, you need to find a suitable version of this and install it on your system.

The development version of tslib, available from GitHub, contains changes that fix plugin loading, so creating an archived unofficial version of this for use with the install.py script is preferred. You should take a snapshot of the sources from the git repository and give the archive a file name of tslib-1.1-unofficial.tar.gz or similar. Later released versions of tslib should contain the necessary fixes.

Creating Patch Archives section later in this document.

To begin with, you need to copy a suitable settings file from the Settings directory and change it to describe the architecture of the host (desktop) and target (device) systems, the location of cross-compilers, and the installation directory for the Python, SIP, Qt and PyQt packages. Examine each value carefully as many of the interdependencies between them have not yet been factored out of the configuration file.

To make things simple, place your new configuration file in the directory alongside the install.py file and rename it to local_settings.py.

Once you are happy with your chosen settings, enter the directory containing the install.py file in a terminal and enter the following at the command line:

./install.py local_settings.py

The program will display the configuration and ask you whether you want to continue or exit. If you are happy with the configuration, enter c to continue.

At this point, the program may exit, asking you to locate one or more of the source archives mentioned above and place them in the current directory. Once this has been done, run install.py again with the -q option to skip the "Continue or exit" question:

./install.py local_settings.py -q

The build should now begin, and will take some time to complete. Currently, the build system does not record how much it has done, so it is not designed to be interrupted and resumed again later. However, you can interrupt it and resume later if you know which actions have been performed. Just comment out the appropriate function calls starting with build_ near the end of the install.py file.

Licenses for Additional Tools

The tools and modules supplied in the Tools directory are licensed under the GNU General Public License (version 3 or later):

Copyright (C) 2007-2010 David Boddie <david@boddie.org.uk>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.