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}} |