En/TDE tdeaccessibility

Revision as of 14:10, 21 March 2022 by Wikiuser (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDEACCESSIBILITY

TDE - Base Packages

The TDE Accessibility software aims to provide means for all users, even those with physical handicaps, to use the Trinity Desktop Environment and the many applications it includes. Several helpful programs are included in the package:

  • kmag: A screen magnifier.
  • kmousetool: Helps with mouse clicking.
  • kmouth: A vocal synthesizer.
  • KSayIt: A front-end for the vocal synthesizer.

Tdeaccessibility replaces the old kdeaccessibility package for KDE3.


Tdeaccessibility and Slackware

As previously mentioned tdeaccessibility replaces a KDE3 package providing the same functionality. A build script based on release 3.5.X of kdeadccessibility exists and can be used as a template. The build system has not been ported to cmake yet and still relies on autotools. Particular care should be put in configuring the source code including, were needs be, some hints from the deprecated TDE build kit for Slackware. The build phase should not require for large updates to the script.

Accordingly to the project guidelines /opt/trinity was configured as root directory for the package. The source code extracted from the archive lacks some configuration files needed by the build procedure. The missing files were created recurring to command make. Last a patch was applied to solve a libtool inconsistency between the source code expected version, 2.2.6, and the installed one: 2.4.2. Some script lines of code and related comments follow.

Some configuration scripts required by the build procedure are missing from the source tarball. They are created using the make command:

   # Prepare the package for building (Create the configure script).
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
   make -f admin/Makefile.common \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

A patch is needed to solve a libtool package version mismatch conflict:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

The script specifically sets Qt libraries paths in order for other 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

Finally the script runs the ./configure command with the proper option list. Among them a special mention goes to --enable-closure and the --enable-kttsd-* options required by the speech synthesizer:

   # Configure the package
   LDFLAGS="${SLKLDFLAGS}" \
   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ../${PRGNAM}-${VERSION}/configure \
      --prefix=${PREFIX} \
      --sysconfdir="/etc/trinity" \
      --libdir=${LIBDIR} \
      --mandir=${PREFIX}/man \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${PREFIX}/include \
      --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
      --disable-rpath \
      --enable-kttsd-epos=no \
      --enable-kttsd-festivalint=no \
      --enable-kttsd-flite=no \
      --enable-kttsd-freetts=no \
      --enable-kttsd-hadifix=no \
      --enable-closure \
      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