Changes

249 bytes added ,  14:33, 21 December 2016
Page updated to new template
Line 1: Line 1: −
Welcome to Simone Giustetti's wiki pages.
+
{{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}}
    +
== ARTS ==
 +
[[En/trinity_desktop_environment#Prerequisites | TDE - Prerequisites]]
   −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_dbus-tqt Italiano]
+
'''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.
   −
----
+
=== ARts and Slackware ===
 
  −
== DBUS-1-TQT ==
  −
[[En/trinity_desktop_environment#Prerequisites]]
  −
 
  −
'''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.
     −
=== 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">
 
   # Clean cmake cache
 
   # Clean cmake cache
 
   find . -name CMakeCache.txt -exec rm {} \;
 
   find . -name CMakeCache.txt -exec rm {} \;
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>
 +
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'':
 +
<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
The build script '''specifically sets Qt libraries path''' in order for build scripts to find them at build time:
+
</syntaxhighlight>
 +
'''Qt library paths are needed''' for scripts to find binary files while building the source code:
 +
<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 30: Line 32:  
   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
And eventually runs the cmake command with standard options as suggested in the official documentation:
+
</syntaxhighlight>
  cmake ${TMP}/tmp-${PRGNAM}/${PRGNAM}-${VERSION} \1
+
Finally you can run cmake with the aforementioned option:
      -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
+
<syntaxhighlight lang="bash">
 +
    -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
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
+
</syntaxhighlight>
 +
And go on running the '''make''' command to build all then execute the packaging steps.
   −
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.
+
The outcome package can be installed recurring to the '''installpkg''' command as usual in Slackware linux.  
      Line 51: Line 56:  
----
 
----
 
* [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://www.freedesktop.org/wiki/Software/dbus Project freedesktop D-Bus page]
+
* [http://en.wikipedia.org/wiki/ARts Wikipedia ARts page]
* [http://qt-project.org/doc/qt-4.8/intro-to-dbus.html D-Bus QT page]
+
* [http://www.arts-project.org Arts project home page]
* [http://en.wikipedia.org/wiki/D-Bus Wikipedia D-Bus page]
+
* [http://www.arts-project.org/doc/mcop-doc/artsd-faq.html Arts project FAQ]
 +
* [http://multimedia.kde.org Phonon: ARts replacement]
    
----
 
----
   −
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_dbus-tqt Italiano]
+
{{footer_en | link_page=TDE_arts}}