Difference between revisions of "TDE 14.0.0 supporto python"

From Studiosg
Jump to navigationJump to search
(Aggiunto pagina dedicata al supporto Python per TDE 14.0.0)
 
(Aggiornamento pagine a nuova struttura)
Line 1: Line 1:
Benvenuti nella pagina Wiki di Simone Giustetti.
+
{{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}}
 
 
 
 
Lingue: [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_python_support English] - '''Italiano'''
 
 
 
----
 
  
 
== '''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:-"${PREFIX}/man"}
+
   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}
+
   python ./setup.py install --verbose --root=${PKG}
 +
</syntaxhighlight>
 
Lo script eseguir&agrave; automaticamente tutti i passi necessari a compilare ed installare il pacchetto. Un archivio contenente lo script SlackBuild completo ed i file di configurazione pu&ograve; essere scaricato dal seguente [http://www.giustetti.net/resource/slackbuild/tde/1400/pytdeextensions.tar.gz indirizzo].
 
Lo script eseguir&agrave; automaticamente tutti i passi necessari a compilare ed installare il pacchetto. Un archivio contenente lo script SlackBuild completo ed i file di configurazione pu&ograve; 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&agrave; 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&agrave; 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&agrave; rendendo errore. Configurare il codice sorgente invocando lo script '''configure.py''':
 
Altrimenti la procedura fallir&agrave; rendendo errore. Configurare il codice sorgente invocando lo script '''configure.py''':
 +
<syntaxhighlight lang="bash">
 
   echo "yes" | \
 
   echo "yes" | \
   '''python''' configure.py \
+
   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"
+
   mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/examples2"
   '''cp''' ''-aR'' ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/examples2/* ${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"
+
   mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/examples3"
   '''cp''' ''-aR'' ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/examples3/* ${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&ograve; 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&ograve; 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&agrave; 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&agrave; necessario impostare alcune variabili di ambiente e altre variabili relative  alla configurazione di Python:
   '''export''' TDE_PREFIX=${PREFIX}
+
<syntaxhighlight lang="bash">
   '''export''' TDE_INCLUDEDIR="${TDE_PREFIX}/include"
+
   export TDE_PREFIX=${PREFIX}
   '''export''' TDE_LIBDIR="${TDE_PREFIX}/lib${LIBDIRSUFFIX}"
+
   export TDE_INCLUDEDIR="${TDE_PREFIX}/include"
   '''export''' PYTHON_VER=$('''python''' ''-V'' 2>&1 | '''cut''' ''-f'' 2 ''-d''<nowiki>' '</nowiki> | '''cut''' ''-f'' 1-2 ''-d''.)
+
   export TDE_LIBDIR="${TDE_PREFIX}/lib${LIBDIRSUFFIX}"
   '''export''' PYTHON_LIB=$( '''python''' ''-c'' 'from distutils.sysconfig import get_python_lib; print get_python_lib()' )
+
   export PYTHON_VER=$( python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
   '''export''' PYTHON_INCLUDE="/usr/include/python${PYTHON_VER}"
+
   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 \
+
   python ./configure.py \
       ''-d'' "${PYTHON_LIB}" \
+
       -d "${PYTHON_LIB}" \
       ''-k'' "${TDE_PREFIX}" \
+
       -k "${TDE_PREFIX}" \
       ''-L'' "${PYTHON_INCLUDE}" \
+
       -L "${PYTHON_INCLUDE}" \
       ''-n'' "${TDE_LIBDIR}" \
+
       -n "${TDE_LIBDIR}" \
       ''-o'' "${TDE_INCLUDEDIR}"
+
       -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''' &egrave; una conversione di '''Scintilla''' alle librerie '''TQt'''. '''TQScintilla''' fornisce molte funzionalit&agrave; 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 &egrave; necessario impostare alcune variabili d'ambiente:
 
'''TQScintilla''' &egrave; una conversione di '''Scintilla''' alle librerie '''TQt'''. '''TQScintilla''' fornisce molte funzionalit&agrave; 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 &egrave; 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. &Egrave; 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. &Egrave; necessario poi applicare una patch, che corregge un problema con la variabile '''DESTDIR''' sostituendola con '''INSTALL_ROOT''':
   '''patch''' ''-p0 -i'' ${SRCDIR}/qscintilla.patch
+
<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} ''-fno-exceptions''" \
+
   CXXFLAGS="${SLKCFLAGS} -fno-exceptions" \
   '''tqmake''' qscintilla.pro
+
   tqmake qscintilla.pro
 +
</syntaxhighlight>
 
Si potr&agrave; procedere con la compilazione mediante '''make''':
 
Si potr&agrave; procedere con la compilazione mediante '''make''':
   '''make''' VERBOSE=1 2>&1
+
<syntaxhighlight lang="bash">
   '''make''' install INSTALL_ROOT=${PKG}
+
   make VERBOSE=1 2>&1
 +
   make install INSTALL_ROOT=${PKG}
 +
</syntaxhighlight>
 
Infine, come per il pacchetto python-tqt, si installer&agrave; alcuni file di documentazione dedicati agli sviluppatori e alcuni esempi di codice:
 
Infine, come per il pacchetto python-tqt, si installer&agrave; 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"
+
   mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/html"
   '''cp''' ''-a'' ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/doc/html/* ${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"
+
   mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/Scintilla"
   '''cp''' ''-a'' ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/doc/Scintilla/* ${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"
+
   mkdir -p ${PKG}/usr/doc/${PRGNAM}"-"$VERSION"/example"
   '''cp''' ''-aR'' ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/example/* ${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&ograve; 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&ograve; 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''.
  
python
+
 
 
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 - Sito Ufficiale]
+
* [http://www.python.it Pagina dedicata al linguaggio Python]
  
 
----
 
----
  
Lingue: [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_python_support English] - '''Italiano'''
+
{{footer_it | link_page=TDE_14.0.0_python_support}}

Revision as of 14:20, 21 December 2016

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:

SISTEMA DI COMPILAZIONE
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 Struttura di uno Script mentre per una trattazione incentrata sulle opzioni generiche di compilazione si rimanda alla pagina 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 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.


Link esterni





Lingue: English - Italiano