Difference between revisions of "En/TDE tdesdk"

From Studiosg
Jump to navigationJump to search
(Created page with 'Welcome to Simone Giustetti's wiki pages. Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdesdk Italiano] ---- == TDESDK == [[En/trinity_deskto…')
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building a SDK for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working SDK package for TDE and Slackware Linux | link_page=TDE_tdesdk}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdesdk Italiano]
 
 
 
----
 
  
 
== TDESDK ==
 
== TDESDK ==
[[En/trinity_desktop_environment#Base_Packages]]
+
[[En/trinity_desktop_environment#Base_Packages | TDE - Base Packages]]
  
 
'''Tdesdk''' is a software package for the '''Trinity Desktop Environment''' aiming to provide a SDK ('''S'''oftware '''D'''evelopment '''K'''it): 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:
 
'''Tdesdk''' is a software package for the '''Trinity Desktop Environment''' aiming to provide a SDK ('''S'''oftware '''D'''evelopment '''K'''it): 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:
Line 22: Line 17:
 
=== Tdesdk and Slackware ===
 
=== 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 [http://www.cmake.org 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 [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild 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.
+
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 [http://www.cmake.org 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 [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild 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''':
 
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 39: Line 39:
 
   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 proper options:
 
Last the script runs the cmake command with the proper options:
  # Configure the package
+
<syntaxhighlight lang="bash">
 +
  # Configure the package
 
   cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \
 
   cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \
 
       -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
 
       -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
Line 56: Line 58:
 
       -DBUILD_ALL=ON \
 
       -DBUILD_ALL=ON \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${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 65: Line 68:
  
 
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://docs.kde.org/stable/en/kdesdk/ kdesdk official page]
 
* [http://docs.kde.org/stable/en/kdesdk/ kdesdk official page]
Line 72: Line 77:
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdelibs Italiano]
+
{{footer_en | link_page=TDE_tdesdk}}

Latest revision as of 14:27, 21 March 2022

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