Changes

From Studiosg
Jump to navigationJump to search
7,053 bytes added ,  10:15, 23 January 2014
Aggiunto pagina dedicata a Tdebindings, Trinity Desktop Environment e Slackware 14.0
Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_tdebindings English] - '''Italiano'''

----

== TDEBINDINGS ==
[[trinity_desktop_environment#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 '''[http://www.cmake.org 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 &egrave; ovviamente un componente opzionale e Tdebindings pu&ograve; essere compilato anche senza.

=== Prerequisiti (Perl) ===
Per poter utilizzare il linguaggio [http://www.perl.org '''Perl'''] nello sviluppo di applicazioni integrate in TDE &egrave; necessario installare il pacchetto contenete tale linguaggio di sviluppo.

=== Prerequisiti (Python) ===
Per poter utilizzare i bindings al linguaggio Python &egrave; necessario installare i pacchetti relativi al linguaggio di programmazione, quindi alcuni pacchetti specifici per TDE:
* python-tqt
* pytdeextensions
* python-trinity
Purtroppo '''non &egrave; stato possibile compilare python-tqt'''; il pacchetto tdebindings sar&agrave;compilato senza il supporto per il linguaggio Python.

=== Prerequisiti (Ruby) ===
Per poter utilizzare il linguaggio [https://www.ruby-lang.org/it/ '''Ruby'''] nello sviluppo di applicazioni integrate in TDE &egrave; necessario installare il pacchetto contenete tale linguaggio di sviluppo.


Una volta installati i linguaggi di sviluppo desiderati si pu&ograve; '''procedere con la fase di configurazione'''. La directory '''/opt/trinity''' &egrave; 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&egrave; 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&agrave; possibile procedere lanciando il comando make ed eseguendo le restanti operazioni di pacchettizzazione.

Una versione completa dello script può essere scaricata dal seguente [http://www.giustetti.net/resource/slackbuild/tde/35132/tdebindings.tar.gz link]. Il pacchetto ottenuto potrà essere installato facendo ricorso al comando installpkg come è consuetudine in Slackware Linux.

Installato tdebindings sar&agrave; 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
----
* [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)]
* [https://mail.kde.org/mailman/listinfo/kde-bindings Mailing list di Kde Bindings (In Inglese)]

----

Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_tdebindings English] - '''Italiano'''

Navigation menu