Difference between revisions of "En/TDE tdelibs"

From Studiosg
Jump to navigationJump to search
(Added page about Tdelibs, TDE and Slackware 14.0)
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building a Libs package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Libs package for TDE and Slackware Linux | link_page=TDE_tdelibs}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdelibs Italiano]
 
 
 
----
 
  
 
== TDELIBS ==
 
== TDELIBS ==
[[En/trinity_desktop_environment#Base_Packages]]
+
[[En/trinity_desktop_environment#Base_Packages | 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.
+
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:
 
Among other functionality tdelibs provides:
Line 25: Line 20:
 
=== Tdelibs and Slackware ===
 
=== 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.
+
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''':
 
First thing the build script '''has to clean the cmake cache''':
 +
<syntaxhighlight lang="bash">
 
   # Clean cmake cache
 
   # Clean cmake cache
 
   find . -name CMakeCache.txt -exec rm {} \;
 
   find . -name CMakeCache.txt -exec rm {} \;
 +
</syntaxhighlight>
 
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'':
 
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'':
 +
<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>
 
'''Specifically set Qt libraries paths''' in order for build scripts to find them at build time:
 
'''Specifically set Qt libraries paths''' in order for build scripts to find them at build time:
 +
<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 42: Line 42:
 
   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>
 
Last the script runs the cmake command with the '''-DCMAKE_SKIP_RPATH''' option:
 
Last the script runs the cmake command with the '''-DCMAKE_SKIP_RPATH''' 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 53: Line 55:
 
   -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>
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
  
Line 63: Line 66:
 
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://api.kde.org/3.5-api/kdelibs-apidocs/ kdelibs 3.5 API Documentation]
 
* [http://api.kde.org/3.5-api/kdelibs-apidocs/ kdelibs 3.5 API Documentation]
Line 69: Line 73:
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdelibs Italiano]
+
{{footer_en | link_page=TDE_tdelibs}}

Latest revision as of 14:27, 21 March 2022

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDELIBS

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} \
   -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 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