Difference between revisions of "En/TDE qt3"

From Studiosg
Jump to navigationJump to search
(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…')
 
(Page updated to new template)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{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}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_qt3 Italiano]
 
 
 
----
 
  
 
== 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]
  
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_qt3 Italiano]
+
{{footer_en | link_page=TDE_qt3}}

Revision as of 14:32, 21 December 2016

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


QT3

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.

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