Difference between revisions of "TDE 14.0.0 supporto python"
(Aggiunto pagina dedicata al supporto Python per TDE 14.0.0) |
(No difference)
|
Revision as of 17:40, 15 March 2015
Benvenuti nella pagina Wiki di Simone Giustetti.
Lingue: English - Italiano
Supporto al Linguaggio Python
trinity_desktop_environment_14.0.0
Il Trinity Desktop Environment viene distribuito con a corredo molte utili applicazioni. Non essendo possibile soddisfare tutte le necessità dell'utenza viene inoltre distribuito un Software Development Kit per sviluppare nuovi programmi che si integrino facilmente nell'ambiente desktop. TDE è sviluppato in linguaggio C++, che risulta pertanto essere il linguaggio preferenziale per lo sviluppo di nuovi programmi ed integrazioni a quelli esistenti. Per venire incontro alle necessità di tutti gli sviluppatori sono distribuite librerie di collegamento per una moltitudine di linguaggi di programmazione diversi da C++. Tra questi veste un ruolo di primaria importanza Python un linguaggio interpretato ricco di funzionalità e librerie di espansione. Per abilitare il supporto al linguaggio Python in TDE è necessario installare alcuni pacchetti prima di compilare tdebindings. L'elenco dei pacchetti comprende: pytdeextensions, python-tqt, python-trinity e infine tqscintilla. Nel proseguo dell'articolo si illustrerà la procedura di compilazione per generare pacchetti funzionanti per Slackware Linux 14.1.
Sistema di Compilazione
I pacchetti correlati al linguaggio Python sono distribuiti in due dei raggruppamenti principali dei pacchetti TDE: Librerie e Prerequisiti. I pacchetti sono opzionali ed è possibile ometterne l'installazione rinunciando alla possibilitè di scrivere in Python applicazioni integrate nell'ambiente. Data la natura particolare tutti i pacchetti richiedono un sistema di compilazione diverso da Cmake o Autotools. Segue l'elenco dei pacchetti ed il sistema di compilazione adottato per ciascuno di essi:
Pacchetto | Famiglia del Pacchetto | Sistema |
---|---|---|
pytdeextensions | Librerie | Script configure.py Richiede un interprete Python |
python-tqt | Prerequisiti | Script configure.py Richiede un interprete Python |
python-trinity | Librerie | Script configure.py Richiede un interprete Python |
tqscintilla | Prerequisiti | Script qscintilla.pro per qmake Richiede che siano installate le librerie TQt3 |
Per una discussione generale circa la struttura di uno script SlackBuild si rimanda alla pagina TDE_14.0.0_prerequisiti#Struttura_di_uno_Script mentre per una trattazione incentrata sulle opzioni generiche di compilazione si rimanda alla pagina TDE_14.0.0_prerequisiti#Opzioni_Generali in cui analoghe considerazioni venivano esposte per i pacchetti appartenenti alla famiglia Prerequisiti. Di seguito verranno trattate le opzioni specifiche utilizzate per compilare i singoli pacchetti e verranno forniti collegamenti agli script SlackBuild completi.
Opzioni Specifiche
Si rammenta di compilare ed installare i pacchetti nell'ordine riportato nella pagina Trinity_desktop_environment_14.0.0#Ordine_di_compilazione in caso contrario la procedura di compilazione potrebbe fallire non trovando le necessarie librerie. Nel proseguo dell'articolo i pacchetti verranno trattati in ordine alfabetico.
PYTDEEXTENSIONS
La libreria Pytdeextensions contiene una moltitudine di classi e metodi scritti in Python, che possono essere utilizzati dagli sviluppatori per scrivere le proprie applicazioni integrate in TDE. Per compilare il pacchetto è necessario definire alcune variabili di ambiente:
PREFIX=${PREFIX:-"/usr"} MANDIR=${MANDIR:-"${PREFIX}/man"}
Quindi lanciare lo script setup.py con l'opzione install:
# Configure, build and install the package python ./setup.py install --verbose --root=${PKG}
Lo script eseguirà automaticamente tutti i passi necessari a compilare ed installare il pacchetto. Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo.
PYTHON-TQT
La libreria Python-tqt contiene i collegamenti delle librerie TQt al linguaggio Python. Senza non sarà possibile sviluppare applicazioni per TDE. Per funzionare, python-tqt necessita che sia installato Sip: il generatore di collegamenti per Python a librerie scritte in C o C++. Per compilare un pacchetto funzionante bisogna dichiarare alcune variabili di ambiente:
PREFIX=${PREFIX:-"/usr/local"} MANDIR=${MANDIR:-"/usr/man"}
Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE:
SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include"
Altrimenti la procedura fallirà rendendo errore. Configurare il codice sorgente invocando lo script configure.py:
echo "yes" | \ python configure.py \ CFLAGS="${SLKCFLAGS}" \ CXXFLAGS="${SLKCFLAGS}"
E infine lanciare la compilazione mediante il comando make.
Per facilitare gli sviluppatori alcuni esempi di codice verranno aggiunti alla directory contenente la documentazione:
# Add some examples to the documentation directory mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/examples2" cp -aR ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/examples2/* ${PKG}/usr/doc/${PRGNAM}"-"${VERSION}"/examples2" mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/examples3" cp -aR ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/examples3/* ${PKG}/usr/doc/${PRGNAM}"-"${VERSION}"/examples3"
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo.
PYTHON-TRINITY
La libreria Python-trinity contiene ulteriori collegamenti delle librerie TQt al linguaggio Python. Anche in questo caso per compilare il pacchetto sarà necessario impostare alcune variabili di ambiente e altre variabili relative alla configurazione di Python:
export TDE_PREFIX=${PREFIX} export TDE_INCLUDEDIR="${TDE_PREFIX}/include" export TDE_LIBDIR="${TDE_PREFIX}/lib${LIBDIRSUFFIX}" export PYTHON_VER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.) export PYTHON_LIB=$( python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()' ) export PYTHON_INCLUDE="/usr/include/python${PYTHON_VER}"
Quindi configurare il codice sorgente mediante lo script configure.py:
CFLAGS="${SLKCFLAGS}" \ CXXFLAGS="${SLKCFLAGS}" \ python ./configure.py \ -d "${PYTHON_LIB}" \ -k "${TDE_PREFIX}" \ -L "${PYTHON_INCLUDE}" \ -n "${TDE_LIBDIR}" \ -o "${TDE_INCLUDEDIR}"
E infine lanciare la procedura di compilazione mediante il comando make.
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo.
TQSCINTILLA
TQScintilla è una conversione di Scintilla alle librerie TQt. TQScintilla fornisce molte funzionalità di manipolazione di testo particolarmente indicate per scrivere codice sorgente o eseguirne il debug. Unico dei pacchetti fin qui trattati ad utilizzare tqmake, per compilare un pacchetto per Slackware 14.1 è necessario impostare alcune variabili d'ambiente:
PREFIX=${PREFIX:-"/usr/local"} MANDIR=${MANDIR:-"/usr/man"}
Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE:
SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include"
Per evitare che la procedura di compilazione fallisca rendendo un errore. È necessario poi applicare una patch, che corregge un problema con la variabile DESTDIR sostituendola con INSTALL_ROOT:
patch -p0 -i ${SRCDIR}/qscintilla.patch
Una volta configurato il codice sorgente mediante tqmake e lo script qscintilla.pro:
CFLAGS="${SLKCFLAGS}" \ CXXFLAGS="${SLKCFLAGS} -fno-exceptions" \ tqmake qscintilla.pro
Si potrà procedere con la compilazione mediante make:
make VERBOSE=1 2>&1 make install INSTALL_ROOT=${PKG}
Infine, come per il pacchetto python-tqt, si installerà alcuni file di documentazione dedicati agli sviluppatori e alcuni esempi di codice:
# Add HTML and SGML files to the documentation directory mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/html" cp -a ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/doc/html/* ${PKG}/usr/doc/${PRGNAM}"-"${VERSION}"/html" mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/Scintilla" cp -a ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/doc/Scintilla/* ${PKG}/usr/doc/${PRGNAM}"-"${VERSION}"/Scintilla" # Add some examples to the documentation directory mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/example" cp -aR ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/example/* ${PKG}/usr/doc/${PRGNAM}"-"${VERSION}"/example"
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo.
Tutti i pacchetti fin qui trattati potranno essere installati mediante il comando installpkg standard in ogni distribuzione Slackware.
Conclusioni
Nel corso del presente articolo ci si è occupati di discutere le procedure di compilazione per i pacchetti necessari ad estendere il supporto al linguaggio Python per il Trinity Desktop Environment. Per ognuno dei pacchetti sono state illustrate le opzioni principali di configurazione ed è stato fornito un link allo script SlackBuild prodotto durante la stesura dell'articolo. Gli script sono distribuiti nella speranza che possano essere utili a quegli utenti di Slackware Linux che volessero cimentarsi nell'impresa di compilare da zero l'intero ambiente desktop.
Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.
python Link esterni
Lingue: English - Italiano