Changes

From Studiosg
Jump to navigationJump to search
264 bytes added ,  14:32, 21 December 2016
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}}

Navigation menu