En/TDE tdelibs

From Studiosg
Jump to: navigation, search

Welcome to Simone Giustetti's wiki pages.

Languages: English - Italiano


TDE - Base Packages

Package tdelibs includes a set of libraries serving as foundation for the Trinity Desktop Environment. Tdelibs were built upon the Qt3 framework with the intent to ease application writing while maintaining consistency in look and base functionality.

Among other functionality tdelibs provides:

  • Classes for inter process communication handling (dcop).
  • Shared access to the TDE address book (kabc).
  • Standard widgets for application interfaces design adding to the QT provided ones (kdeui).
  • Feature rich HTML and Javascript engines (khtml and kjs).
  • Low level access to input / output network data streams (kio).
  • A standard way to reuse parts of an application in another one (kparts).
  • Printing process control functions (kdeprint).
  • High level reusable functions as "Find and Replace" (kutils).
  • A MIDI management library (libkmid).

The tdelibs package replaces the old KDE 3 kdelibs one.

Tdelibs and Slackware

As stated above, the tdelibs framework replaces and updates kdelibs for KDE 3 and as a natural consequence inherits a build script which, with some updates, will be able to build a working binary package for Slackware 14.0. Tdelibs was ported to cmake as many other prerequisite packages; as a consequence the SlackBuild script is in need of heavy rewriting. The project guidelines were strictly followed: /opt/trinity was configured as the root directory for the package ensuring TDE coexistence with KDE 4. The last suggestion comes from the TDE building how-to. It consists of enabling the -DCMAKE_SKIP_RPATH="OFF" cmake option at configuration time to enable the package to execute binary files during the build process. For further information regarding cmake and its RPATH related options please consult the program documentation. Some script lines of code and related comments follow.

First thing the build script has to clean the cmake cache:

   # Clean cmake cache
   find . -name CMakeCache.txt -exec rm {} \;

Then it creates a directory where to build software and store output binaries. As for previously built packages the directory was named build in order for cmake to find it:

   # Create a directory where to build source (cmake wants the name to be build).
   cd ${TMP}/tmp-${PRGNAM}
   mkdir build
   cd build

Specifically set Qt libraries paths in order for build scripts to find them at build time:

   # Add temporary paths to handle new libraries during build
   export QTDIR=/opt/trinity
   export PATH=/opt/trinity/bin:/usr/bin:$PATH
   export LIBDIR=/usr/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

Last the script runs the cmake command with the -DCMAKE_SKIP_RPATH option:

   cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \
   -DSYSCONF_INSTALL_DIR="/etc/trinity" \
   -DQT_INCLUDE_DIR=/opt/trinity/include \
   2>&1 | tee ${OUTPUT}/${PRGNAM}_configure.log

Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.

A full script can be downloaded from the following link. The output package can be installed by mean of command installpkg as usual in Slackware Linux.

For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net

External Links

Languages: English - Italiano