En/TDE tdesdk

From Studiosg
Jump to: navigation, search

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDESDK

TDE - Base Packages

Tdesdk is a software package for the Trinity Desktop Environment aiming to provide a SDK (Software Development Kit): a bundle of libraries and tools to ease development of TDE integrated applications. The package is meant for developers and includes many tools to perform such tasks as: program localization, bug management and application profiling. Some included tools are:

  • Cervisia: A graphical interface for the Concurrent Versions System a file version control system.
  • KBabel: A tool to translate and localize applications.
  • KBugBuster: A tool for bug reporting and management.
  • KCachegrind: A graphical interface for performance analysis tools.
  • Kdesvn: A graphical interface for Subversion a version control system aiming to replace CVS.
  • Kompare: A graphical interface for patch files. Allows developers to preview the patch contained updates.
  • KUIViewer: A viewer for files created by Qt Designer a GUI development tool for the Qt libraries.
  • Umbrello: A program to draw UML diagrams.

and many more minor programs.

Tdesdk and Slackware

The tdesdk package replaces and updates the corresponding kdesdk distributed with KDE release 3.5. As a consequence it inherits a build script that can be used as reference to build a Slackware 14.0 installable binary package. The source code includes many autotools configuration files, but they are just remains and can be ignored: the package was ported to cmake which is now the default build system. The SlackBuild script is in need of heavy rewriting to adapt to the new build system. The project guidelines were strictly followed: /opt/trinity was configured as the root directory for the package ensuring TDE coexistence with KDE 4. The TDE building how-to suggests to enable the --enable-closure build option, but it is again remains from the automake days and as such can be safely ignored. The package was built after installing tdepim in order to enable some application requested features bond to the libkcal library and to the shared calendar. 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 proper options:

   # Configure the package
   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} \
      -DMAN_INSTALL_DIR=${PREFIX}/man \
      -DWITH_DBSEARCHENGINE=ON \
      -DBUILD_KSTARTPERF=ON \
      -DBUILD_KUIVIEWER=ON \
      -DWITH_KCAL=ON \
      -DBUILD_KBUGBUSTER=ON \
      -DBUILD_ALL=ON \
       2>&1 | tee -a ${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