Difference between revisions of "En/TDE qt3"
(Created page with 'Welcome to Simone Giustetti's wiki pages. Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_qt3 Italiano] ---- == QT3 == [[En/trinity_desktop_envi…') |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{header_en|title=Building Qt3 for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Qt3 package for TDE and Slackware Linux | link_page=TDE_qt3}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
== QT3 == | == QT3 == | ||
− | [[En/trinity_desktop_environment#Prerequisites]] | + | [[En/trinity_desktop_environment#Prerequisites | TDE - Prerequisites]] |
Qt is a cross-platform application framework used for developing portable graphical user interfaces and as such '''widely used as a basis for both KDE and TDE'''. Version 3 of the library is mandatory to build TDE and all of its related applications; sadly the Qt3 toolkit is not officially supported by its developers anymore. One among the early project Trinity goals consisted in porting the desktop environment to Qt4. The goal was later abandoned because of the many performance issues arising while rewriting the software. The Trinity project took Qt3 maintenance over, updating the library on the basis of its needs. The Qt3 toolkit was therefore part of the last TDE official release, '''3.5.13.2''', which included package '''qt3-trinity-3.5.13.2'''. | Qt is a cross-platform application framework used for developing portable graphical user interfaces and as such '''widely used as a basis for both KDE and TDE'''. Version 3 of the library is mandatory to build TDE and all of its related applications; sadly the Qt3 toolkit is not officially supported by its developers anymore. One among the early project Trinity goals consisted in porting the desktop environment to Qt4. The goal was later abandoned because of the many performance issues arising while rewriting the software. The Trinity project took Qt3 maintenance over, updating the library on the basis of its needs. The Qt3 toolkit was therefore part of the last TDE official release, '''3.5.13.2''', which included package '''qt3-trinity-3.5.13.2'''. | ||
Line 14: | Line 9: | ||
Packaging Qt3 for Slackware Linux resulted to be an easy and straightforward experience. The ad hoc slackbuild script is based on the '''official Qt3 Slackware 13.0 build script''' with some updates inspired by the '''TDE build kit for Slackware'''. The main difference consists of the root directory configured for the build process: '''/opt/trinity''' instead of '''/usr'''. Building in /opt/trinity required for some updates to the code. For example the following lines: | Packaging Qt3 for Slackware Linux resulted to be an easy and straightforward experience. The ad hoc slackbuild script is based on the '''official Qt3 Slackware 13.0 build script''' with some updates inspired by the '''TDE build kit for Slackware'''. The main difference consists of the root directory configured for the build process: '''/opt/trinity''' instead of '''/usr'''. Building in /opt/trinity required for some updates to the code. For example the following lines: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Add a temporary library path to handle new libraries during build | # Add a temporary library path to handle new libraries during build | ||
export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:${TMP}/tmp-${PRGNAM}/${PRGNAM}/lib | export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:${TMP}/tmp-${PRGNAM}/${PRGNAM}/lib | ||
+ | </syntaxhighlight> | ||
were added '''in order for the make script to find newly compiled libraries'''. | were added '''in order for the make script to find newly compiled libraries'''. | ||
The source code package has not been ported to '''cmake''' yet and uses '''autotools''' to build. The library path must be imposed while invoking the '''configure''' script: | The source code package has not been ported to '''cmake''' yet and uses '''autotools''' to build. The library path must be imposed while invoking the '''configure''' script: | ||
+ | <syntaxhighlight lang="bash"> | ||
../${PRGNAM}-${VERSION}/configure \ | ../${PRGNAM}-${VERSION}/configure \ | ||
-v \ | -v \ | ||
Line 24: | Line 22: | ||
-libdir ${PREFIX}/lib${LIBDIRSUFFIX} \ | -libdir ${PREFIX}/lib${LIBDIRSUFFIX} \ | ||
-release \ | -release \ | ||
+ | </syntaxhighlight> | ||
where '''PREFIX''' is a previously defined variable | where '''PREFIX''' is a previously defined variable | ||
+ | <syntaxhighlight lang="bash"> | ||
PREFIX=/opt/trinity | PREFIX=/opt/trinity | ||
+ | </syntaxhighlight> | ||
Similarly the environment variable '''QTDIR''' must be defined prior to invoking the '''make install''' command: | Similarly the environment variable '''QTDIR''' must be defined prior to invoking the '''make install''' command: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Set QTDIR environment variable. | # Set QTDIR environment variable. | ||
QTDIR=${PREFIX} | QTDIR=${PREFIX} | ||
Line 32: | Line 34: | ||
make -i symlinks sub-src sub-tools 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log | make -i symlinks sub-src sub-tools 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log | ||
make install INSTALL_ROOT=${PKG} 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log | make install INSTALL_ROOT=${PKG} 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log | ||
+ | </syntaxhighlight> | ||
Another difference from the original slackbuild is '''the inclusion of the Qt source code examples'''. The official script ignored such code in order to minimize package size. The inclusion results in a size increase of about 15 Mb. Were You not interested in the code examples, their inclusion can be avoided '''by commenting the following lines:''' | Another difference from the original slackbuild is '''the inclusion of the Qt source code examples'''. The official script ignored such code in order to minimize package size. The inclusion results in a size increase of about 15 Mb. Were You not interested in the code examples, their inclusion can be avoided '''by commenting the following lines:''' | ||
+ | <syntaxhighlight lang="bash"> | ||
# Add code examples | # Add code examples | ||
mkdir -p ${PKG}/${PREFIX}/doc/examples | mkdir -p ${PKG}/${PREFIX}/doc/examples | ||
cp -a ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION}/examples/* ${PKG}/${PREFIX}/doc/examples/ | cp -a ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION}/examples/* ${PKG}/${PREFIX}/doc/examples/ | ||
+ | </syntaxhighlight> | ||
The remaining updates regard some specific TDE features as file and directory locations. | The remaining updates regard some specific TDE features as file and directory locations. | ||
Line 47: | Line 52: | ||
External Links | External Links | ||
+ | |||
---- | ---- | ||
+ | |||
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide] | * [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide] | ||
+ | * [http://www.trinitydesktop.org/wiki/bin/view/Developers/Qt3 Qt3 development status page] | ||
---- | ---- | ||
− | + | {{footer_en | link_page=TDE_qt3}} |
Latest revision as of 14:10, 21 March 2022
Welcome to Simone Giustetti's wiki pages.
Languages: English - Italiano
QT3
Qt is a cross-platform application framework used for developing portable graphical user interfaces and as such widely used as a basis for both KDE and TDE. Version 3 of the library is mandatory to build TDE and all of its related applications; sadly the Qt3 toolkit is not officially supported by its developers anymore. One among the early project Trinity goals consisted in porting the desktop environment to Qt4. The goal was later abandoned because of the many performance issues arising while rewriting the software. The Trinity project took Qt3 maintenance over, updating the library on the basis of its needs. The Qt3 toolkit was therefore part of the last TDE official release, 3.5.13.2, which included package qt3-trinity-3.5.13.2.
QT3 and Slackware
Packaging Qt3 for Slackware Linux resulted to be an easy and straightforward experience. The ad hoc slackbuild script is based on the official Qt3 Slackware 13.0 build script with some updates inspired by the TDE build kit for Slackware. The main difference consists of the root directory configured for the build process: /opt/trinity instead of /usr. Building in /opt/trinity required for some updates to the code. For example the following lines:
# Add a temporary library path to handle new libraries during build
export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:${TMP}/tmp-${PRGNAM}/${PRGNAM}/lib
were added in order for the make script to find newly compiled libraries.
The source code package has not been ported to cmake yet and uses autotools to build. The library path must be imposed while invoking the configure script:
../${PRGNAM}-${VERSION}/configure \
-v \
-prefix ${PREFIX} \
-libdir ${PREFIX}/lib${LIBDIRSUFFIX} \
-release \
where PREFIX is a previously defined variable
PREFIX=/opt/trinity
Similarly the environment variable QTDIR must be defined prior to invoking the make install command:
# Set QTDIR environment variable.
QTDIR=${PREFIX}
make install INSTALL_ROOT=${PKG} 2>&1 |tee ${OUTPUT}/${PRGNAM}_install.log
make -i symlinks sub-src sub-tools 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log
make install INSTALL_ROOT=${PKG} 2>&1 |tee -a ${OUTPUT}/${PRGNAM}_install.log
Another difference from the original slackbuild is the inclusion of the Qt source code examples. The official script ignored such code in order to minimize package size. The inclusion results in a size increase of about 15 Mb. Were You not interested in the code examples, their inclusion can be avoided by commenting the following lines:
# Add code examples
mkdir -p ${PKG}/${PREFIX}/doc/examples
cp -a ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION}/examples/* ${PKG}/${PREFIX}/doc/examples/
The remaining updates regard some specific TDE features as file and directory locations.
A full version of the script is included in the archive available from the following link.
For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net
External Links
Languages: English - Italiano