Changes

165 bytes added ,  14:33, 21 December 2016
Page updated to new template
Line 1: Line 1: −
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building a Tqt-Interface package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Tqt-Interface package for TDE and Slackware Linux | link_page=TDE_tqtinterface}}
 
  −
 
  −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tqtinterface Italiano]
  −
 
  −
----
      
== TQT-INTERFACE ==
 
== TQT-INTERFACE ==
[[En/trinity_desktop_environment#Prerequisites]]
+
[[En/trinity_desktop_environment#Prerequisites | TDE - Prerequisites]]
    
The name says it all: '''Tqt Interface is a library aiming to abstract class names, function names and namespaces of the underlying Qt toolkit'''. Initially designed as a mean to ease porting the Trinity Desktop Environment suite from Qt3 to Qt4, Tqt-interface evolved to consent the coexistence of code from both libraries. Code coexistence permits developers to use the latest library where needed to upgrade TDE while maintaining the remaining environment mostly unaltered. Tqt-interface is '''a mandatory prerequisite''' to successfully build the TDE desktop environment.
 
The name says it all: '''Tqt Interface is a library aiming to abstract class names, function names and namespaces of the underlying Qt toolkit'''. Initially designed as a mean to ease porting the Trinity Desktop Environment suite from Qt3 to Qt4, Tqt-interface evolved to consent the coexistence of code from both libraries. Code coexistence permits developers to use the latest library where needed to upgrade TDE while maintaining the remaining environment mostly unaltered. Tqt-interface is '''a mandatory prerequisite''' to successfully build the TDE desktop environment.
Line 13: Line 8:  
=== TQT-INTERFACE and Slackware ===  
 
=== TQT-INTERFACE and Slackware ===  
   −
Tqt-interface is a TDE specific software library with '''no equivalent in KDE'''. No build script to use as reference ever existed in Slackware Linux. Anyway the source code can be compiled and packaged following some basic rules found in the [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild official documentation] of the TDE project. Reading the documentation page you'll learn the designed build tool is [http://www.cmake.org cmake]. Documentation suggests the use of '''/usr''' as root directory for the package. The suggestion is constrained to cmake port completion. As the port seems concluded for Tqt-interface at least, '''/opt/trinity''' was chosen as root directory uniforming all packages to one standard. The last rule found in the documentation consists of '''imposing the -DQT_VERSION=3 flag to the cmake command'''.
+
Tqt-interface is a TDE specific software library with '''no equivalent in KDE'''. No build script to use as reference ever existed in Slackware Linux. Anyway the source code can be compiled and packaged following some basic rules found in the [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild official documentation] of the TDE project. Reading the documentation page you'll learn the designed build tool is [http://www.cmake.org cmake]. Documentation suggests the use of '''/usr''' as root directory for the package. The suggestion is constrained to cmake port completion. As the port seems concluded for Tqt-interface at least, ''/opt/trinity'' was chosen as root directory uniforming all packages to one standard. The last rule found in the documentation consists of '''imposing the -DQT_VERSION=3 flag to the cmake command'''.
    
A slackbuild script for the package can be extracted from the archive found at the following [http://www.giustetti.net/resource/slackbuild/tde/35132/tqtinterface.tar.gz link]. Some notes about the command issued by the script to ensure a smooth build follow.
 
A slackbuild script for the package can be extracted from the archive found at the following [http://www.giustetti.net/resource/slackbuild/tde/35132/tqtinterface.tar.gz link]. Some notes about the command issued by the script to ensure a smooth build follow.
    
First of all you need to '''clean the cmake cache'''. Task accomplished by lines:
 
First of all you need to '''clean the cmake cache'''. Task accomplished by lines:
 +
<syntaxhighlight lang="bash">
 
   # Clean cmake cache
 
   # Clean cmake cache
 
   find . -name CMakeCache.txt -exec rm {} \;
 
   find . -name CMakeCache.txt -exec rm {} \;
 +
</syntaxhighlight>
 
Then you must '''create a  directory''' where to compile the source code and store binary files. ''Cmake seems to have a preference for '''build''' as directory name. It won't work otherwise'':
 
Then you must '''create a  directory''' where to compile the source code and store binary files. ''Cmake seems to have a preference for '''build''' as directory name. It won't work otherwise'':
 +
<syntaxhighlight lang="bash">
 
   # Create a directory where to build source (cmake wants the name to be build).
 
   # Create a directory where to build source (cmake wants the name to be build).
 
   cd ${TMP}/tmp-${PRGNAM}
 
   cd ${TMP}/tmp-${PRGNAM}
 
   mkdir build
 
   mkdir build
 
   cd build
 
   cd build
 +
</syntaxhighlight>
 
'''Qt library paths are needed''' for scripts to find binary files while building the source code:
 
'''Qt library paths are needed''' for scripts to find binary files while building the source code:
 +
<syntaxhighlight lang="bash">
 
   # Add temporary paths to handle new libraries during build
 
   # Add temporary paths to handle new libraries during build
 
   export QTDIR=/opt/trinity
 
   export QTDIR=/opt/trinity
Line 32: Line 32:  
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 +
</syntaxhighlight>
 
Finally you can run cmake with the aforementioned option:
 
Finally you can run cmake with the aforementioned option:
 +
<syntaxhighlight lang="bash">
 
   cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \
 
   cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \
 
       -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
 
       -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
Line 39: Line 41:  
       -DSYSCONF_INSTALL_DIR="/etc/trinity" \
 
       -DSYSCONF_INSTALL_DIR="/etc/trinity" \
 
       -DLIB_SUFFIX=${LIBDIRSUFFIX} \
 
       -DLIB_SUFFIX=${LIBDIRSUFFIX} \
       '''-DQT_VERSION=3''' \
+
       -DQT_VERSION=3 \
 
       -DQT_INCLUDE_DIR=/opt/trinity/include \
 
       -DQT_INCLUDE_DIR=/opt/trinity/include \
 
       2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
The environment is now configured and you can go on running '''make''' followed by some minor packaging commands.
 
The environment is now configured and you can go on running '''make''' followed by some minor packaging commands.
   Line 51: Line 54:     
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/UnderstandingTheTQTInterface Tqt Interface page]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/UnderstandingTheTQTInterface Tqt Interface page]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/TQtForQt3 Tqt Interface for Qt3 development status]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/TQtForQt3 Tqt Interface for Qt3 development status]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/TQtForQt4 Tqt Interface for Qt4 porting status]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/TQtForQt4 Tqt Interface for Qt4 porting status]
 +
 
----
 
----
   −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tqtinterface Italiano]
+
{{footer_en | link_page=TDE_tqtinterface}}