Line 1: |
Line 1: |
− | {{header_en|title=Building an Arts package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Arts package for TDE and Slackware Linux | link_page=TDE_arts}} | + | {{header_en|title=Building a dbus-tqt package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working dbus-tqt package for TDE and Slackware Linux | link_page=TDE_dbus-tqt}} |
| | | |
− | == ARTS ==
| |
| [[En/trinity_desktop_environment#Prerequisites | TDE - Prerequisites]] | | [[En/trinity_desktop_environment#Prerequisites | TDE - Prerequisites]] |
| | | |
− | '''A'''nalog '''R'''eal '''T'''ime '''S'''ynthesizer is a multimedia library used by KDE 2, KDE 3 and TDE whose main goal consists of simulating an analog synthesizer used by the desktop environments and their many applications. '''An integrated sound server''', the '''artsd''' daemon, is part of the library and is used to merge distinct sound streams in real time. In later Linux distributions the mixer function shifted to [http://www.alsa-project.org/main/index.php/Main_Page '''ALSA'''] the Linux kernel sound subsystem. ARts '''is no longer in active development and hasn't been since 2004''' when it was replaced by '''the Phonon API''' in KDE 4. | + | '''D-Bus''' is a software library used for easy inter process communication and message handling. D-Bus was adopted by many modern desktop environments such as [http://www.gnome.org GNOME] or [http://www.kde.org KDE] to allow applications to talk to one another. The '''dbus-tqt package contains libraries integrating D-Bus to QT3''' and, together with its twin dbus-1-tqt, is a prerequisite for building and running the '''Trinity Desktop Environment'''. More information about D-Bus can be found at the web site of project [http://www.freedesktop.org/wiki/Software/dbus freedesktop] which coordinates software development and documentation management. |
| | | |
− | === ARts and Slackware === | + | === D-Bus-Tqt and Slackware === |
| | | |
− | ARts is part of the prerequisite packages for TDE. Its build scripts '''were ported to [http://www.cmake.org cmake]''' therefore the '''autotools''' build suite is no longer needed to configure and compile the source code. A build script was written based on the official ''' Slackware 13.0 slackbuild script for ARts''' with some updates to integrate cmake. The '''/opt/trinity''' directory was used as root directory for the package both to ensure a pacific coexistence with KDE 4 and to uniform ARts configuration to the other packages. The '''-DCMAKE_SKIP_RPATH="OFF"''' flag was imposed to the cmake command as suggested int the [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build how-to]. The flag will allow ARTs to execute command during the build process.
| + | There is no dbus-tqt equivalent among the Slackware 13.0 KDE 3 packages. A build script was written using the [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE documentation] and the out of support TDE build kit for Slackware as reference. All packages listed in the prerequisite category were '''ported from autotools to [http://www.cmake.org cmake]''' and dbus-tqt is no exception. Cmake is used to configure and execute a full build from source code. In accordance to other packages configuration, '''/opt/trinity''' was used ad root directory for dbus-tqt. Cmake was configured to use standard TDE build options as no special requirement emerged from the documentation. Some of the main script lines and related comments will follow. |
| | | |
− | The slackbuild script for the ARts package is part of the archive found at the following [http://www.giustetti.net/resource/slackbuild/tde/35132/arts.tar.gz link]. Some comments to the commands used through the script to ensure a smooth build follow. | + | The build script '''must clean the cmake cache''': |
− | | |
− | First of all you need to '''clean the cmake cache'''. Task accomplished by lines:
| |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| # Clean cmake cache | | # Clean cmake cache |
| find . -name CMakeCache.txt -exec rm {} \; | | find . -name CMakeCache.txt -exec rm {} \; |
| </syntaxhighlight> | | </syntaxhighlight> |
− | Then you must '''create a directory''' where to compile the source code and store output files. ''Cmake seems to have a preference for '''build''' as directory name. It won't work otherwise'': | + | Then '''create a new directory''' where to build source code and save output binary files. As for previously built packages ''the directory was named '''build''' in order for cmake to find it'': |
| <syntaxhighlight lang="bash"> | | <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). |
Line 24: |
Line 21: |
| cd build | | cd build |
| </syntaxhighlight> | | </syntaxhighlight> |
− | '''Qt library paths are needed''' for scripts to find binary files while building the source code: | + | The build script '''specifically sets Qt libraries path''' in order for build scripts to find them at build time: |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| # Add temporary paths to handle new libraries during build | | # Add temporary paths to handle new libraries during build |
Line 33: |
Line 30: |
| 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> | | </syntaxhighlight> |
− | Finally you can run cmake with the aforementioned option:
| + | And eventually runs the cmake command with standard options as suggested in the official documentation: |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
− | -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
| + | cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \1 |
| + | -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \ |
| -DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS}" \ | | -DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS}" \ |
| -DCMAKE_INSTALL_PREFIX=${PREFIX} \ | | -DCMAKE_INSTALL_PREFIX=${PREFIX} \ |
− | '''-DCMAKE_SKIP_RPATH="OFF"''' \
| |
| -DSYSCONF_INSTALL_DIR="/etc/trinity" \ | | -DSYSCONF_INSTALL_DIR="/etc/trinity" \ |
| -DLIB_SUFFIX=${LIBDIRSUFFIX} \ | | -DLIB_SUFFIX=${LIBDIRSUFFIX} \ |
| -DQT_VERSION=3 \ | | -DQT_VERSION=3 \ |
| -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> | | </syntaxhighlight> |
− | And go on running the '''make''' command to build all then execute the packaging steps.
| + | Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software. |
| | | |
− | The outcome package can be installed recurring to the '''installpkg''' command as usual in Slackware linux. | + | A full script can be downloaded from the following [http://www.giustetti.net/resource/slackbuild/tde/35132/dbus-tqt.tar.gz link]. The output package can be installed by mean of command '''installpkg''' as usual in Slackware Linux. |
| | | |
| | | |
Line 54: |
Line 51: |
| | | |
| 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://en.wikipedia.org/wiki/ARts Wikipedia ARts page] | + | * [http://www.freedesktop.org/wiki/Software/dbus Project freedesktop D-Bus page] |
− | * [http://www.arts-project.org Arts project home page]
| + | * [http://qt-project.org/doc/qt-4.8/intro-to-dbus.html D-Bus QT page] |
− | * [http://www.arts-project.org/doc/mcop-doc/artsd-faq.html Arts project FAQ] | + | * [http://en.wikipedia.org/wiki/D-Bus Wikipedia D-Bus page] |
− | * [http://multimedia.kde.org Phonon: ARts replacement] | |
| | | |
| ---- | | ---- |
| | | |
− | {{footer_en | link_page=TDE_arts}} | + | {{footer_en | link_page=TDE_dbus-tqt}} |