Difference between revisions of "TDE 14.0.0 libraries"

From Studiosg
Jump to navigationJump to search
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=How-to build TDE libraries| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring working packages for TDE optional libraries on Slackware Linux | link_page=TDE_14.0.0_librerie}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_librerie Italiano]
 
 
 
----
 
  
 
== '''TDE Libraries''' ==
 
== '''TDE Libraries''' ==
[[En/trinity_desktop_environment_14.0.0]]
+
[[En/trinity_desktop_environment_14.0.0 | Trinity Desktop Environment 14.0.0]]
  
 
Previous articles discussed building working '''Trinity Desktop Environment''' release 14.0.0 packages for Slackware 14.1 stable. Being a huge and complex project, TDE is made up of a large number of packages which are grouped in subsets for ease of use. This article will center on packages labeled '''Libraries''', which provide extensions for the base desktop environment adding functionality and plug-ins.
 
Previous articles discussed building working '''Trinity Desktop Environment''' release 14.0.0 packages for Slackware 14.1 stable. Being a huge and complex project, TDE is made up of a large number of packages which are grouped in subsets for ease of use. This article will center on packages labeled '''Libraries''', which provide extensions for the base desktop environment adding functionality and plug-ins.
Line 17: Line 12:
 
=== Custom Options ===
 
=== Custom Options ===
  
Before presenting each package and its specific build options, I'd like to point out that a general description of a SlackBuild script is available in page [[TDE_14.0.0_prerequisites#Common_Build_Script_Structure]]; for generic options used to build packages please consult page [[TDE_14.0.0_prerequisites#Generic_Options]]. Please refer to the package order provided in page [[En/trinity_desktop_environment_14.0.0#Build_order]] while building and installing packages in order to avoid errors, unexpected behavior and failures. Packages will be presented alphabetically and not in their build order.
+
Before presenting each package and its specific build options, I'd like to point out that a general description of a SlackBuild script is available in page [[TDE_14.0.0_prerequisites#Common_Build_Script_Structure |Common Build Script Structure]]; for generic options used to build packages please consult page [[TDE_14.0.0_prerequisites#Generic_Options |Generic Options]]. Please refer to the package order provided in page [[En/trinity_desktop_environment_14.0.0#Build_order |Build Order]] while building and installing packages in order to avoid errors, unexpected behavior and failures. Packages will be presented alphabetically and not in their build order.
  
 
==== KIPI-PLUGINS ====
 
==== KIPI-PLUGINS ====
  
 
'''Kipi Plugins''' includes a set of plug-ins for the '''libKipi''' library adding some functionality to image management programs and applications available in TDE: '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Plug-ins add new menus, keyboard shortcuts and optional features. Once installed plug-ins can be activated one by one in the configuration forms of the aforementioned programs. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
'''Kipi Plugins''' includes a set of plug-ins for the '''libKipi''' library adding some functionality to image management programs and applications available in TDE: '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Plug-ins add new menus, keyboard shortcuts and optional features. Once installed plug-ins can be activated one by one in the configuration forms of the aforementioned programs. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
   '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
Configuring the source code:
 
Configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--libdir=''${LIBDIR} \
+
       --libdir=${LIBDIR} \
       ''--prefix=''${PREFIX} \
+
       --prefix=${PREFIX} \
       ''--with-qt-dir=''${QTDIR} \
+
       --with-qt-dir=${QTDIR} \
       ''--with-qt-includes=''${QTDIR}/include \
+
       --with-qt-includes=${QTDIR}/include \
       ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX}
+
       --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}
 +
</syntaxhighlight>
 
Then invoking the '''make''' command to start the build procedure.
 
Then invoking the '''make''' command to start the build procedure.
  
Line 40: Line 39:
  
 
The '''Libkdcraw''' package includes a C++ interface library to the '''dcraw''' binary: a program to read images in RAW format. The library is used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
The '''Libkdcraw''' package includes a C++ interface library to the '''dcraw''' binary: a program to read images in RAW format. The library is used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
   '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:
 
The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:
 +
<syntaxhighlight lang="bash">
 
   # Do not create a directory where to build source as out of tree building does
 
   # Do not create a directory where to build source as out of tree building does
 
   # not seem to be supported and fails complaining for missing files.
 
   # not seem to be supported and fails complaining for missing files.
Line 47: Line 49:
 
   # mkdir build
 
   # mkdir build
 
   # cd build
 
   # cd build
 +
</syntaxhighlight>
 
Then go on configuring the source code:
 
Then go on configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--libdir=''${LIBDIR} \
+
       --libdir=${LIBDIR} \
       ''--prefix=''${PREFIX} \
+
       --prefix=${PREFIX} \
       ''--with-qt-dir=''${QTDIR} \
+
       --with-qt-dir=${QTDIR} \
       ''--with-qt-includes=''${QTDIR}/include \
+
       --with-qt-includes=${QTDIR}/include \
       ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX}
+
       --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}
 +
</syntaxhighlight>
 
And invoking the '''make''' command to start the build procedure.
 
And invoking the '''make''' command to start the build procedure.
  
Line 64: Line 69:
  
 
The '''Libkexiv2''' package includes an interface library to ease the use of '''Exiv2''': a library written to manage image metadata used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
The '''Libkexiv2''' package includes an interface library to ease the use of '''Exiv2''': a library written to manage image metadata used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
   '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
Then configuring the source code:
 
Then configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--libdir=''${LIBDIR} \
+
       --libdir=${LIBDIR} \
       ''--prefix=''${PREFIX} \
+
       --prefix=${PREFIX} \
       ''--with-qt-dir=''${QTDIR} \
+
       --with-qt-dir=${QTDIR} \
       ''--with-qt-includes=''${QTDIR}/include \
+
       --with-qt-includes=${QTDIR}/include \
       ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX}
+
       --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}
 +
</syntaxhighlight>
 
And invoking the '''make''' command to start the build procedure.
 
And invoking the '''make''' command to start the build procedure.
  
Line 82: Line 91:
  
 
'''Kipi''' is an effort to build a coherent and easy to use plug-in infrastructure to use with all of the TDE included graphic applications. Kipi architecture, named '''TDE Image Plugin Interface''', is based on the old digikam plug-in system and is used by '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
'''Kipi''' is an effort to build a coherent and easy to use plug-in infrastructure to use with all of the TDE included graphic applications. Kipi architecture, named '''TDE Image Plugin Interface''', is based on the old digikam plug-in system and is used by '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
    '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
  patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
Configuring the source code:
 
Configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--libdir=''${LIBDIR} \
+
       --libdir=${LIBDIR} \
       ''--prefix=''${PREFIX} \
+
       --prefix=${PREFIX} \
       ''--with-qt-dir=''${QTDIR} \
+
       --with-qt-dir=${QTDIR} \
       ''--with-qt-includes=''${QTDIR}/include \
+
       --with-qt-includes=${QTDIR}/include \
       ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX}
+
       --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}
 +
</syntaxhighlight>
 
Then start the build procedure invoking the '''make''' command.
 
Then start the build procedure invoking the '''make''' command.
  
Line 100: Line 113:
  
 
The '''Ksquirrel''' libraries includes codecs for popular image file formats like: BMP, GIF, JPEG, PNG, PSD, TIFF and more. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
The '''Ksquirrel''' libraries includes codecs for popular image file formats like: BMP, GIF, JPEG, PNG, PSD, TIFF and more. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
    '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
  patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:
 
The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:
 +
<syntaxhighlight lang="bash">
 
   # Do not create a directory where to build source as out of tree building does
 
   # Do not create a directory where to build source as out of tree building does
 
   # not seem to be supported and fails complaining for missing files.
 
   # not seem to be supported and fails complaining for missing files.
Line 107: Line 123:
 
   # mkdir build
 
   # mkdir build
 
   # cd build
 
   # cd build
 +
</syntaxhighlight>
 
Then go on to configure the source code invoking the '''configure''' script with option '''--disable-dxf''':
 
Then go on to configure the source code invoking the '''configure''' script with option '''--disable-dxf''':
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--disable-dxf'' \
+
       --disable-dxf \
       ''--libdir=''${LIBDIR} \
+
       --libdir=${LIBDIR} \
       ''--prefix=''${PREFIX}
+
       --prefix=${PREFIX}
 +
</syntaxhighlight>
 
And invoking the '''make''' command to start the build procedure.
 
And invoking the '''make''' command to start the build procedure.
  
Line 122: Line 141:
  
 
The '''Libtdeldap''' package adds LDAP protocol support to TDE. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
The '''Libtdeldap''' package adds LDAP protocol support to TDE. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
    '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
  patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
Configuring the source code:
 
Configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--prefix=''${PREFIX}
+
       --prefix=${PREFIX}
 +
</syntaxhighlight>
 
Then invoking the '''make''' command to start the build procedure.
 
Then invoking the '''make''' command to start the build procedure.
  
Line 136: Line 159:
  
 
The '''PerlTQt''' library interfaces '''[http://www.perl.org Perl]''', a diffused general purpose interpreted programming language, and the TQt library used to build TDE. The library can be used to write TDE integrated programs and scripts using the Perl 5 language. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
 
The '''PerlTQt''' library interfaces '''[http://www.perl.org Perl]''', a diffused general purpose interpreted programming language, and the TQt library used to build TDE. The library can be used to write TDE integrated programs and scripts using the Perl 5 language. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library:
    '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
+
<syntaxhighlight lang="bash">
 +
  patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
Configuring the source code:
 
Configuring the source code:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS="${SLKCFLAGS}" \
 
   CFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   CXXFLAGS="${SLKCFLAGS}" \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
 
       ${DEBUG_AUTOTOOL_OPT} \
 
       ${DEBUG_AUTOTOOL_OPT} \
       ''--prefix=''${PREFIX} \
+
       --prefix=${PREFIX} \
       ''--with-qt-dir=''${PREFIX}
+
       --with-qt-dir=${PREFIX}
 +
</syntaxhighlight>
 
Then invoking the '''make''' command to start the build procedure.
 
Then invoking the '''make''' command to start the build procedure.
  
Line 151: Line 178:
  
 
'''MLT''' is a software framework developed for television broadcasting. Sadly package building proved to be impossible. My first attempt compiling the source code extracted from its archive failed due to some include files missing: '''qimage.h''' for example. After checking for the file location I passed it explicitly to the compiler along the architecture specific options:
 
'''MLT''' is a software framework developed for television broadcasting. Sadly package building proved to be impossible. My first attempt compiling the source code extracted from its archive failed due to some include files missing: '''qimage.h''' for example. After checking for the file location I passed it explicitly to the compiler along the architecture specific options:
   SLKCFLAGS="${SLKCFLAGS} ''-I''/usr/include/tqt ''-I''/usr/include/tqt/Qt ''-I''${PREFIX_TDE}/include"
+
<syntaxhighlight lang="bash">
 +
   SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I/usr/include/tqt/Qt -I${PREFIX_TDE}/include"
 +
</syntaxhighlight>
 
The update proved to have no effect. I then updated the '''./libraries/mlt/src/modules/qimage/Makefile''' file replacing line:
 
The update proved to have no effect. I then updated the '''./libraries/mlt/src/modules/qimage/Makefile''' file replacing line:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS+=-I../../
 
   CFLAGS+=-I../../
 +
</syntaxhighlight>
 
with:
 
with:
 +
<syntaxhighlight lang="bash">
 
   CFLAGS+=-I../../ -I/usr/include/tqt -I/usr/include/tqt/Qt
 
   CFLAGS+=-I../../ -I/usr/include/tqt -I/usr/include/tqt/Qt
 +
</syntaxhighlight>
 
This solved the issue temporarily as the build procedure failed shortly after reporting another missing include file: '''QtGui/qtransform.h''' which is not included in the '''TQt''' package, but in the '''Qt4''' one instead. Installing the Qt4 library solved the problem, replacing it with dozens of issues regarding the declaration of '''qtwrapper''' included structures and classes. In the end, realizing the Mlt library is affected by some TQt, Qt4 coexistence issues, I gave up on building the package waiting for the release of a proper patch or update from the developers.
 
This solved the issue temporarily as the build procedure failed shortly after reporting another missing include file: '''QtGui/qtransform.h''' which is not included in the '''TQt''' package, but in the '''Qt4''' one instead. Installing the Qt4 library solved the problem, replacing it with dozens of issues regarding the declaration of '''qtwrapper''' included structures and classes. In the end, realizing the Mlt library is affected by some TQt, Qt4 coexistence issues, I gave up on building the package waiting for the release of a proper patch or update from the developers.
  
Line 181: Line 214:
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_librerie Italiano]
+
{{footer_en | link_page=TDE_14.0.0_librerie}}

Latest revision as of 14:39, 21 March 2022

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDE Libraries

Trinity Desktop Environment 14.0.0

Previous articles discussed building working Trinity Desktop Environment release 14.0.0 packages for Slackware 14.1 stable. Being a huge and complex project, TDE is made up of a large number of packages which are grouped in subsets for ease of use. This article will center on packages labeled Libraries, which provide extensions for the base desktop environment adding functionality and plug-ins.

Build System

TDE origin was discussed in previous papers of the series along with the history of the build system used by the project for its releases. Packages were partly migrated to Cmake, but some still rely on Autotools and its usual configure scripts. The libraries sub-set is easy to manage as no package was migrated to Cmake yet. The build system all packages rely on is Autotools.

Custom Options

Before presenting each package and its specific build options, I'd like to point out that a general description of a SlackBuild script is available in page Common Build Script Structure; for generic options used to build packages please consult page Generic Options. Please refer to the package order provided in page Build Order while building and installing packages in order to avoid errors, unexpected behavior and failures. Packages will be presented alphabetically and not in their build order.

KIPI-PLUGINS

Kipi Plugins includes a set of plug-ins for the libKipi library adding some functionality to image management programs and applications available in TDE: digiKam, Gwenview, KimDaBa and ShowImg. Plug-ins add new menus, keyboard shortcuts and optional features. Once installed plug-ins can be activated one by one in the configuration forms of the aforementioned programs. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --libdir=${LIBDIR} \
      --prefix=${PREFIX} \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${QTDIR}/include \
      --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}

Then invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBKDCRAW

The Libkdcraw package includes a C++ interface library to the dcraw binary: a program to read images in RAW format. The library is used by digiKam, kipi plug-ins and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:

   # Do not create a directory where to build source as out of tree building does
   # not seem to be supported and fails complaining for missing files.
   # cd ${TMP}/tmp-${PRGNAM}
   # mkdir build
   # cd build

Then go on configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --libdir=${LIBDIR} \
      --prefix=${PREFIX} \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${QTDIR}/include \
      --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}

And invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBKEXIV2

The Libkexiv2 package includes an interface library to ease the use of Exiv2: a library written to manage image metadata used by digiKam, kipi plug-ins and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Then configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --libdir=${LIBDIR} \
      --prefix=${PREFIX} \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${QTDIR}/include \
      --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}

And invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBKIPI

Kipi is an effort to build a coherent and easy to use plug-in infrastructure to use with all of the TDE included graphic applications. Kipi architecture, named TDE Image Plugin Interface, is based on the old digikam plug-in system and is used by digiKam, Gwenview, KimDaBa and ShowImg. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --libdir=${LIBDIR} \
      --prefix=${PREFIX} \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${QTDIR}/include \
      --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX}

Then start the build procedure invoking the make command.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBKSQUIRREL

The Ksquirrel libraries includes codecs for popular image file formats like: BMP, GIF, JPEG, PNG, PSD, TIFF and more. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly:

   # Do not create a directory where to build source as out of tree building does
   # not seem to be supported and fails complaining for missing files.
   # cd ${TMP}/tmp-${PRGNAM}
   # mkdir build
   # cd build

Then go on to configure the source code invoking the configure script with option --disable-dxf:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --disable-dxf \
      --libdir=${LIBDIR} \
      --prefix=${PREFIX}

And invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBTDELDAP

The Libtdeldap package adds LDAP protocol support to TDE. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --prefix=${PREFIX}

Then invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

LIBTQT-PERL

The PerlTQt library interfaces Perl, a diffused general purpose interpreted programming language, and the TQt library used to build TDE. The library can be used to write TDE integrated programs and scripts using the Perl 5 language. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the libtool library:

   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

Configuring the source code:

   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \
      ${DEBUG_AUTOTOOL_OPT} \
      --prefix=${PREFIX} \
      --with-qt-dir=${PREFIX}

Then invoking the make command to start the build procedure.

A compressed archive containing the SlackBuild script and the related configuration files can be downloaded from the following link.

MLT

MLT is a software framework developed for television broadcasting. Sadly package building proved to be impossible. My first attempt compiling the source code extracted from its archive failed due to some include files missing: qimage.h for example. After checking for the file location I passed it explicitly to the compiler along the architecture specific options:

   SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I/usr/include/tqt/Qt -I${PREFIX_TDE}/include"

The update proved to have no effect. I then updated the ./libraries/mlt/src/modules/qimage/Makefile file replacing line:

   CFLAGS+=-I../../

with:

   CFLAGS+=-I../../ -I/usr/include/tqt -I/usr/include/tqt/Qt

This solved the issue temporarily as the build procedure failed shortly after reporting another missing include file: QtGui/qtransform.h which is not included in the TQt package, but in the Qt4 one instead. Installing the Qt4 library solved the problem, replacing it with dozens of issues regarding the declaration of qtwrapper included structures and classes. In the end, realizing the Mlt library is affected by some TQt, Qt4 coexistence issues, I gave up on building the package waiting for the release of a proper patch or update from the developers.

MLT++

This library is based on the previous one. Being unable to build a working package for Mlt I had to renounce to Mlt++ too.

Conclusions

The present paper discussed the procedure to build many libraries aimed at adding functionality to the Trinity Desktop Environment. Custom options were documented for each package and links for all of the used SlackBuild scripts were provided in the hope for them to be useful to Slackware Linux users wishing to give a try at building the desktop environment from scratch. All of the output packages can be found in the /tmp directory of Your machine and can be installed invoking the installpkg command standard in every Slackware distribution.


For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net


External links





Languages: English - Italiano