TDE 14.0.0 supporto python: Difference between revisions
Aggiunto pagina dedicata al supporto Python per TDE 14.0.0 |
Aggiornamento pagine a nuova struttura |
||
| Line 1: | Line 1: | ||
{{header_it|title=Compilazione del supporto Python per TDE| keyword={{Template:keyword_it_tde}}| description=Compilare pacchetti funzionanti per supportare Python in Trinity Desktop Environment su Slackware Linux | link_page=TDE_14.0.0_python_support}} | |||
== '''Supporto al Linguaggio Python''' == | == '''Supporto al Linguaggio Python''' == | ||
[[trinity_desktop_environment_14.0.0]] | [[trinity_desktop_environment_14.0.0 | 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 '''S'''oftware '''D'''evelopment '''K'''it 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'''. | 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 '''S'''oftware '''D'''evelopment '''K'''it 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'''. | ||
| Line 28: | Line 23: | ||
|} | |} | ||
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. | Per una discussione generale circa la struttura di uno script SlackBuild si rimanda alla pagina [[TDE_14.0.0_prerequisiti#Struttura_di_uno_Script |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 |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 === | === 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. | Si rammenta di compilare ed installare i pacchetti nell'ordine riportato nella pagina [[Trinity_desktop_environment_14.0.0#Ordine_di_compilazione |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 ==== | ==== 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: | 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: | ||
<syntaxhighlight lang="bash"> | |||
PREFIX=${PREFIX:-"/usr"} | PREFIX=${PREFIX:-"/usr"} | ||
MANDIR=${MANDIR:- | MANDIR=${MANDIR:-${PREFIX}/man} | ||
</syntaxhighlight> | |||
Quindi lanciare lo script setup.py con l'opzione '''install''': | Quindi lanciare lo script setup.py con l'opzione '''install''': | ||
<syntaxhighlight lang="bash"> | |||
# Configure, build and install the package | # Configure, build and install the package | ||
python ./setup.py install --verbose --root=${PKG} | |||
</syntaxhighlight> | |||
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 [http://www.giustetti.net/resource/slackbuild/tde/1400/pytdeextensions.tar.gz indirizzo]. | 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 [http://www.giustetti.net/resource/slackbuild/tde/1400/pytdeextensions.tar.gz indirizzo]. | ||
| Line 47: | Line 46: | ||
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: | 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: | ||
<syntaxhighlight lang="bash"> | |||
PREFIX=${PREFIX:-"/usr/local"} | PREFIX=${PREFIX:-"/usr/local"} | ||
MANDIR=${MANDIR:-"/usr/man"} | MANDIR=${MANDIR:-"/usr/man"} | ||
</syntaxhighlight> | |||
Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE: | Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE: | ||
<syntaxhighlight lang="bash"> | |||
SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include" | SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include" | ||
</syntaxhighlight> | |||
Altrimenti la procedura fallirà rendendo errore. Configurare il codice sorgente invocando lo script '''configure.py''': | Altrimenti la procedura fallirà rendendo errore. Configurare il codice sorgente invocando lo script '''configure.py''': | ||
<syntaxhighlight lang="bash"> | |||
echo "yes" | \ | echo "yes" | \ | ||
python configure.py \ | |||
CFLAGS="${SLKCFLAGS}" \ | CFLAGS="${SLKCFLAGS}" \ | ||
CXXFLAGS="${SLKCFLAGS}" | CXXFLAGS="${SLKCFLAGS}" | ||
</syntaxhighlight> | |||
E infine lanciare la compilazione mediante il comando '''make'''. | E infine lanciare la compilazione mediante il comando '''make'''. | ||
Per facilitare gli sviluppatori alcuni esempi di codice verranno aggiunti alla directory contenente la documentazione: | Per facilitare gli sviluppatori alcuni esempi di codice verranno aggiunti alla directory contenente la documentazione: | ||
<syntaxhighlight lang="bash"> | |||
# Add some examples to the documentation directory | # 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" | |||
</syntaxhighlight> | |||
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente [http://www.giustetti.net/resource/slackbuild/tde/1400/python-tqt.tar.gz indirizzo]. | Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente [http://www.giustetti.net/resource/slackbuild/tde/1400/python-tqt.tar.gz indirizzo]. | ||
| Line 70: | Line 77: | ||
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: | 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: | ||
<syntaxhighlight lang="bash"> | |||
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}" | |||
</syntaxhighlight> | |||
Quindi configurare il codice sorgente mediante lo script '''configure.py''': | Quindi configurare il codice sorgente mediante lo script '''configure.py''': | ||
<syntaxhighlight lang="bash"> | |||
CFLAGS="${SLKCFLAGS}" \ | CFLAGS="${SLKCFLAGS}" \ | ||
CXXFLAGS="${SLKCFLAGS}" \ | CXXFLAGS="${SLKCFLAGS}" \ | ||
python ./configure.py \ | |||
-d "${PYTHON_LIB}" \ | |||
-k "${TDE_PREFIX}" \ | |||
-L "${PYTHON_INCLUDE}" \ | |||
-n "${TDE_LIBDIR}" \ | |||
-o "${TDE_INCLUDEDIR}" | |||
</syntaxhighlight> | |||
E infine lanciare la procedura di compilazione mediante il comando '''make'''. | E infine lanciare la procedura di compilazione mediante il comando '''make'''. | ||
| Line 92: | Line 103: | ||
'''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: | '''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: | ||
<syntaxhighlight lang="bash"> | |||
PREFIX=${PREFIX:-"/usr/local"} | PREFIX=${PREFIX:-"/usr/local"} | ||
MANDIR=${MANDIR:-"/usr/man"} | MANDIR=${MANDIR:-"/usr/man"} | ||
</syntaxhighlight> | |||
Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE: | Aggiungere alcuni percorsi che puntino a file include siti nel percorso di installazione di TDE: | ||
<syntaxhighlight lang="bash"> | |||
SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include" | SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I${PREFIX_TDE}/include" | ||
</syntaxhighlight> | |||
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''': | 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''': | ||
<syntaxhighlight lang="bash"> | |||
patch -p0 -i ${SRCDIR}/qscintilla.patch | |||
</syntaxhighlight> | |||
Una volta configurato il codice sorgente mediante '''tqmake''' e lo script '''qscintilla.pro''': | Una volta configurato il codice sorgente mediante '''tqmake''' e lo script '''qscintilla.pro''': | ||
<syntaxhighlight lang="bash"> | |||
CFLAGS="${SLKCFLAGS}" \ | CFLAGS="${SLKCFLAGS}" \ | ||
CXXFLAGS="${SLKCFLAGS} | CXXFLAGS="${SLKCFLAGS} -fno-exceptions" \ | ||
tqmake qscintilla.pro | |||
</syntaxhighlight> | |||
Si potrà procedere con la compilazione mediante '''make''': | Si potrà procedere con la compilazione mediante '''make''': | ||
<syntaxhighlight lang="bash"> | |||
make VERBOSE=1 2>&1 | |||
make install INSTALL_ROOT=${PKG} | |||
</syntaxhighlight> | |||
Infine, come per il pacchetto python-tqt, si installerà alcuni file di documentazione dedicati agli sviluppatori e alcuni esempi di codice: | Infine, come per il pacchetto python-tqt, si installerà alcuni file di documentazione dedicati agli sviluppatori e alcuni esempi di codice: | ||
<syntaxhighlight lang="bash"> | |||
# Add HTML and SGML files to the documentation directory | # 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 | # 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" | |||
</syntaxhighlight> | |||
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente [http://www.giustetti.net/resource/slackbuild/tde/1400/tqscintilla.tar.gz indirizzo]. | Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente [http://www.giustetti.net/resource/slackbuild/tde/1400/tqscintilla.tar.gz indirizzo]. | ||
| Line 126: | Line 149: | ||
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''. | Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''. | ||
Link esterni | Link esterni | ||
---- | ---- | ||
* [http://www.trinitydesktop.org/ Home page del progetto TDE (En)] | * [http://www.trinitydesktop.org/ Home page del progetto TDE (En)] | ||
* [http://www.slackware.com/ Home page di Slackware (En)] | * [http://www.slackware.com/ Home page di Slackware (En)] | ||
* [http://www.python.it Python | * [http://www.python.it Pagina dedicata al linguaggio Python] | ||
---- | ---- | ||
{{footer_it | link_page=TDE_14.0.0_python_support}} | |||