| Line 1: |
Line 1: |
| − | Welcome to Simone Giustetti's wiki pages.
| + | {{header_en|title=Building a Bindings package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Bindings package for TDE and Slackware Linux | link_page=TDE_tdebindings}} |
| − | | |
| − | | |
| − | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdebindings Italiano]
| |
| − | | |
| − | ----
| |
| | | | |
| | == TDEBINDINGS == | | == TDEBINDINGS == |
| − | [[En/trinity_desktop_environment#Base_Packages]] | + | [[En/trinity_desktop_environment#Base_Packages | TDE - Base Packages]] |
| | | | |
| | The '''Trinity Desktop Environment''' provides support for writing applications, modules and programs with many programming languages. Some well known and widely used programming languages are included: | | The '''Trinity Desktop Environment''' provides support for writing applications, modules and programs with many programming languages. Some well known and widely used programming languages are included: |
| Line 17: |
Line 12: |
| | * Ruby | | * Ruby |
| | The '''tdebindings''' package contains the libraries binding the listed languages to the desktop environment. | | The '''tdebindings''' package contains the libraries binding the listed languages to the desktop environment. |
| | + | |
| | | | |
| | == Tdebindings and Slackware == | | == Tdebindings and Slackware == |
| Line 46: |
Line 42: |
| | === Prerequisites (Ruby) === | | === Prerequisites (Ruby) === |
| | To write code in the [https://www.ruby-lang.org/en '''Ruby'''] programming language You need to install the related package before building tdebindings. | | To write code in the [https://www.ruby-lang.org/en '''Ruby'''] programming language You need to install the related package before building tdebindings. |
| | + | |
| | | | |
| | == Configuring == | | == Configuring == |
| | | | |
| − | After the programming language of choice is installed it is possible to '''go on with the configuration procedure'''. Directory '''/opt/trinity''' was configured as the package root directory in accordance to the project guidelines. Some precautions were taken to ensure a successful package configuration. Precautions born out of reading the official documentation and a study of the old Trinity build kit for Slackware. Some script lines of code and related comments follow. | + | After the programming language of choice is installed it is possible to '''go on with the configuration procedure'''. Directory ''/opt/trinity'' was configured as the package root directory in accordance to the project guidelines. Some precautions were taken to ensure a successful package configuration. Precautions born out of reading the official documentation and a study of the old Trinity build kit for Slackware. Some script lines of code and related comments follow. |
| | | | |
| | Some required configuration scripts are not present after decompressing the source code archive. They must be created by running the proper command: | | Some required configuration scripts are not present after decompressing the source code archive. They must be created by running the proper command: |
| | + | <syntaxhighlight lang="bash"> |
| | # Prepare the package for building (Create the configure script). | | # Prepare the package for building (Create the configure script). |
| | echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log | | echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log |
| | make -f admin/Makefile.common \ | | make -f admin/Makefile.common \ |
| | 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | | 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log |
| | + | </syntaxhighlight> |
| | The source code needs some patching in order to recognize the installed '''libtool''' package version: 2.4.2, instead of 2.2.6. | | The source code needs some patching in order to recognize the installed '''libtool''' package version: 2.4.2, instead of 2.2.6. |
| | + | <syntaxhighlight lang="bash"> |
| | # Patch the admin/ltmain.sh script in order to solve a version mismatch. | | # Patch the admin/ltmain.sh script in order to solve a version mismatch. |
| | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch | | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| | + | </syntaxhighlight> |
| | '''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time: | | '''The script specifically sets Qt libraries paths''' in order for other 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 66: |
Line 68: |
| | 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> |
| | Finally the script runs the '''./configure''' command with the proper option list. Among them a special mention goes to '''--enable-closure''', required by the package for not well documented reasons. | | Finally the script runs the '''./configure''' command with the proper option list. Among them a special mention goes to '''--enable-closure''', required by the package for not well documented reasons. |
| | + | <syntaxhighlight lang="bash"> |
| | # Configure the package | | # Configure the package |
| | LDFLAGS="${SLKLDFLAGS}" \ | | LDFLAGS="${SLKLDFLAGS}" \ |
| Line 80: |
Line 84: |
| | --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \ | | --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \ |
| | --disable-rpath \ | | --disable-rpath \ |
| − | '''--enable-closure''' \ | + | --enable-closure \ |
| | 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 93: |
Line 98: |
| | | | |
| | 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://techbase.kde.org/Development/Languages KDE.org programming languages relate page] | | * [http://techbase.kde.org/Development/Languages KDE.org programming languages relate page] |
| Line 100: |
Line 107: |
| | ---- | | ---- |
| | | | |
| − | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdebindings Italiano]
| + | {{footer_en | link_page=TDE_tdebindings}} |