Changes

156 bytes added ,  15:06, 21 December 2016
Page updated to new template
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}}