Changes

From Studiosg
Jump to navigationJump to search
4,523 bytes added ,  11:14, 19 December 2013
Added page about Tdelibs, TDE and Slackware 14.0
Welcome to Simone Giustetti's wiki pages.


Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdelibs Italiano]

----

== TDELIBS ==
[[En/trinity_desktop_environment#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 [http://www.cmake.org 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 [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild 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 [http://www.cmake.org/Wiki/CMake_RPATH_handling 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} \
-DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DCMAKE_SKIP_RPATH=OFF \
-DSYSCONF_INSTALL_DIR="/etc/trinity" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DQT_VERSION=3 \
-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 [http://www.giustetti.net/resource/slackbuild/tde/35132/tdelibs.tar.gz 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
----
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
* [http://api.kde.org/3.5-api/kdelibs-apidocs/ kdelibs 3.5 API Documentation]
* [http://en.wikipedia.org/wiki/KDE_Platform kdelibs Wikipedia page]

----

Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdelibs Italiano]

Navigation menu