Difference between revisions of "TDE tdebindings"

From Studiosg
Jump to navigationJump to search
(Aggiunto pagina dedicata a Tdebindings, Trinity Desktop Environment e Slackware 14.0)
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Benvenuti nella pagina Wiki di Simone Giustetti.
+
{{header_it|title=Compilazione di TDE Bindings per TDE| keyword={{Template:keyword_it_tde}}| description=Compilare un pacchetto funzionante di TDE Bindings per il Trinity Desktop Environment e Slackware Linux | link_page=En/TDE_tdebindings}}
 
 
 
 
Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_tdebindings English] - '''Italiano'''
 
 
 
----
 
  
 
== TDEBINDINGS ==
 
== TDEBINDINGS ==
[[trinity_desktop_environment#Pacchetti_Base]]
+
[[trinity_desktop_environment#Pacchetti_Base | TDE - Pacchetti Base]]
  
 
Il '''Trinity Desktop Environment''' supporta svariati linguaggi di programmazione attraverso i quali è possibile scrivere applicazioni, moduli e programmi in grado di girare nell'ambiente Desktop. Tra i linguaggi di programmazione supportati vale la pena citare:
 
Il '''Trinity Desktop Environment''' supporta svariati linguaggi di programmazione attraverso i quali è possibile scrivere applicazioni, moduli e programmi in grado di girare nell'ambiente Desktop. Tra i linguaggi di programmazione supportati vale la pena citare:
Line 17: Line 12:
 
* Ruby
 
* Ruby
 
Il pacchetto '''tdebindings''' contiene le librerie di interfacccia tra l'ambiente desktop ed i linguaggi elencati.
 
Il pacchetto '''tdebindings''' contiene le librerie di interfacccia tra l'ambiente desktop ed i linguaggi elencati.
 +
  
 
== Tdebindings su Slackware ==
 
== Tdebindings su Slackware ==
Line 42: Line 38:
 
* pytdeextensions
 
* pytdeextensions
 
* python-trinity
 
* python-trinity
Purtroppo '''non è stato possibile compilare python-tqt'''; il pacchetto tdebindings saràcompilato senza il supporto per il linguaggio Python.
+
Purtroppo '''non è stato possibile compilare python-tqt'''; il pacchetto tdebindings sarà compilato senza il supporto per il linguaggio Python.
  
 
=== Prerequisiti (Ruby) ===
 
=== Prerequisiti (Ruby) ===
Line 48: Line 44:
  
  
Una volta installati i linguaggi di sviluppo desiderati si può '''procedere con la fase di configurazione'''. La directory '''/opt/trinity''' è stata impostata come base per il pacchetto coerentemente con le linee guida stabilite all'inizio del progetto. Sono stati inoltre presi alcuni accorgimenti per assicurarsi della corretta configurazione del pacchetto. Tali accorgimenti derivano dalla lettura della documentazione ufficiale e da analisi del vecchio build kit di Trinity per Slackware. Sono di seguito riportate alcune righe dello script di compilazione corredate dai relativi commenti.
+
Una volta installati i linguaggi di sviluppo desiderati si può '''procedere con la fase di configurazione'''. La directory ''/opt/trinity'' è stata impostata come base per il pacchetto coerentemente con le linee guida stabilite all'inizio del progetto. Sono stati inoltre presi alcuni accorgimenti per assicurarsi della corretta configurazione del pacchetto. Tali accorgimenti derivano dalla lettura della documentazione ufficiale e da analisi del vecchio build kit di Trinity per Slackware. Sono di seguito riportate alcune righe dello script di compilazione corredate dai relativi commenti.
  
 
Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Devono essere creati lanciando un apposito comando:
 
Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Devono essere creati lanciando un apposito comando:
 +
<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>
 
Il codice sorgente deve essere modificato in modo che riconosca la versione del pacchetto '''libtool''' presente sul sistema: 2.4.2, non 2.2.6 come erroneamente riportato nel codice.
 
Il codice sorgente deve essere modificato in modo che riconosca la versione del pacchetto '''libtool''' presente sul sistema: 2.4.2, non 2.2.6 come erroneamente riportato nel codice.
 +
<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>
 
'''Lo script deve imporre esplicitamente i percorsi delle librerie Qt''' affinch&egrave; sia possibile reperire le stesse durante la compilazione:
 
'''Lo script deve imporre esplicitamente i percorsi delle librerie Qt''' affinch&egrave; sia possibile reperire le stesse durante la compilazione:
 +
<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 65: Line 66:
 
   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>
 
Infine deve lanciare il comando '''./configure''' con le opportune opzioni di configurazione tra cui vale la pena citare '''--enable-closure''', richiesta dal pacchetto anche se per ragioni non documentate.
 
Infine deve lanciare il comando '''./configure''' con le opportune opzioni di configurazione tra cui vale la pena citare '''--enable-closure''', richiesta dal pacchetto anche se per ragioni non documentate.
 +
<syntaxhighlight lang="bash">
 
   # Configure the package
 
   # Configure the package
 
   LDFLAGS="${SLKLDFLAGS}" \
 
   LDFLAGS="${SLKLDFLAGS}" \
Line 79: Line 82:
 
       --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>
 
A configurazione ultimata, sar&agrave; possibile procedere lanciando il comando make ed eseguendo le restanti operazioni di pacchettizzazione.
 
A configurazione ultimata, sar&agrave; possibile procedere lanciando il comando make ed eseguendo le restanti operazioni di pacchettizzazione.
  
Line 92: Line 96:
  
 
Link esterni
 
Link esterni
 +
 
----
 
----
 +
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild Istruzioni per compilare TDE]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild Istruzioni per compilare TDE]
 
* [http://techbase.kde.org/Development/Languages Pagina di KDE.org dedicata ai linguaggi di programmazione (In Inglese)]
 
* [http://techbase.kde.org/Development/Languages Pagina di KDE.org dedicata ai linguaggi di programmazione (In Inglese)]
Line 99: Line 105:
 
----
 
----
  
Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_tdebindings English] - '''Italiano'''
+
{{footer_it | link_page=En/TDE_tdebindings}}

Latest revision as of 14:30, 21 March 2022

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


TDEBINDINGS

TDE - Pacchetti Base

Il Trinity Desktop Environment supporta svariati linguaggi di programmazione attraverso i quali è possibile scrivere applicazioni, moduli e programmi in grado di girare nell'ambiente Desktop. Tra i linguaggi di programmazione supportati vale la pena citare:

  • C++
  • Java
  • JavaScript (ECMAScript)
  • Perl
  • Python
  • Ruby

Il pacchetto tdebindings contiene le librerie di interfacccia tra l'ambiente desktop ed i linguaggi elencati.


Tdebindings su Slackware

Di tdebindings esiste uno script di compilazione basato su kdebindings versione 3.5.X. Contrariamente ad altri pacchetti, il sistema di compilazione non è ancora stato portato a cmake e si basa su autotools. Per configurare correttamente il pacchetto è necessario installare preventivamente i linguaggi di sviluppo che si desidera utilizzare:

Prerequisiti (Java)

Nel caso si volesse scrivere codice in linguaggio Java è necessario installare una versione recente del JRE (Java Runtime Engine) oppure del JDK (Java Development Kit) prima di compilare tdebindings. A seguito di una modifica alla licenza di Java imposta da Oracle non è più possibile per le distribuzioni Linux fornire direttamente un pacchetto Java. Regola che vale purtroppo anche per Slackware. Per generare un pacchetto di installazione standard sarà necessario:

  • Scaricare un JRE o un JDK dal sito ufficiale di Oracle, prestando attenzione che la versione corrisponda all'architettura desiderata: i486 oppure x86_64 e che il formato dell'archivio sia .tar.gz.
  • Modificare i parametri dello script java.SlackBuild reperibile nella directory /extra/source/java/ del Cd / Dvd di installazione in accordo con quanto scaricato.
  • Lanciare la procedura di conversione come nell'esempio riportato più sotto:
  ./java.SlackBuild /tmp/jre-7u5-linux-x64.tar.gz
  • Installare il pacchetto Slackware creato nella directory /tmp mediante il comando:
  installpkg <java_package>

oppure

  upgradepkg --install-new <java_package>

Java è ovviamente un componente opzionale e Tdebindings può essere compilato anche senza.

Prerequisiti (Perl)

Per poter utilizzare il linguaggio Perl nello sviluppo di applicazioni integrate in TDE è necessario installare il pacchetto contenete tale linguaggio di sviluppo.

Prerequisiti (Python)

Per poter utilizzare i bindings al linguaggio Python è necessario installare i pacchetti relativi al linguaggio di programmazione, quindi alcuni pacchetti specifici per TDE:

  • python-tqt
  • pytdeextensions
  • python-trinity

Purtroppo non è stato possibile compilare python-tqt; il pacchetto tdebindings sarà compilato senza il supporto per il linguaggio Python.

Prerequisiti (Ruby)

Per poter utilizzare il linguaggio Ruby nello sviluppo di applicazioni integrate in TDE è necessario installare il pacchetto contenete tale linguaggio di sviluppo.


Una volta installati i linguaggi di sviluppo desiderati si può procedere con la fase di configurazione. La directory /opt/trinity è stata impostata come base per il pacchetto coerentemente con le linee guida stabilite all'inizio del progetto. Sono stati inoltre presi alcuni accorgimenti per assicurarsi della corretta configurazione del pacchetto. Tali accorgimenti derivano dalla lettura della documentazione ufficiale e da analisi del vecchio build kit di Trinity per Slackware. Sono di seguito riportate alcune righe dello script di compilazione corredate dai relativi commenti.

Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Devono essere creati lanciando un apposito comando:

   # 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

Il codice sorgente deve essere modificato in modo che riconosca la versione del pacchetto libtool presente sul sistema: 2.4.2, non 2.2.6 come erroneamente riportato nel codice.

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

Lo script deve imporre esplicitamente i percorsi delle librerie Qt affinchè sia possibile reperire le stesse durante la compilazione:

   # 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

Infine deve lanciare il comando ./configure con le opportune opzioni di configurazione tra cui vale la pena citare --enable-closure, richiesta dal pacchetto anche se per ragioni non documentate.

   # 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-closure \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

A configurazione ultimata, sarà possibile procedere lanciando il comando make ed eseguendo le restanti operazioni di pacchettizzazione.

Una versione completa dello script può essere scaricata dal seguente link. Il pacchetto ottenuto potrà essere installato facendo ricorso al comando installpkg come è consuetudine in Slackware Linux.

Installato tdebindings sarà possibile sviluppare applicazioni per l'ambiente desktop e far girare programmi scritti in linguaggi diversi al quello nativo.


Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.


Link esterni





Lingue: English - Italiano