Difference between revisions of "En/TDE tdesdk"
(Added page about Tdesdk, TDE and Slackware 14.0) |
(Page updated to new template) |
||
Line 1: | Line 1: | ||
− | + | {{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}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
== 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: | + | 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: | ||
− | + | <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: | ||
---- | ---- | ||
− | + | {{footer_en | link_page=TDE_tdesdk}} |
Revision as of 17:20, 21 December 2016
Welcome to Simone Giustetti's wiki pages.
Languages: English - Italiano
TDESDK
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