Difference between revisions of "En/TDE tdeedu"

From Studiosg
Jump to navigationJump to search
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building an Edu package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Edu package for TDE and Slackware Linux | link_page=TDE_tdeedu}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdeedu Italiano]
 
 
 
----
 
  
 
== TDEEDU ==
 
== TDEEDU ==
[[En/trinity_desktop_environment#Base_Packages]]
+
[[En/trinity_desktop_environment#Base_Packages | TDE - Base Packages]]
  
 
The '''tdeedu''' package includes some free programs developed by the KDE project for educational purposes. All programs are integrated in the '''Trinity Desktop Environment''' and translated in the project supported languages. All of the applications for students are grouped in four main categories:
 
The '''tdeedu''' package includes some free programs developed by the KDE project for educational purposes. All programs are integrated in the '''Trinity Desktop Environment''' and translated in the project supported languages. All of the applications for students are grouped in four main categories:
Line 15: Line 10:
 
* '''Miscellaneous''': Generic programs that cannot be included in any of the previously listed categories. An example is '''Ktouch''' a tool to learn typing.
 
* '''Miscellaneous''': Generic programs that cannot be included in any of the previously listed categories. An example is '''Ktouch''' a tool to learn typing.
 
The package is fully optional and '''no TDE functionality will go missing by not installing it'''.
 
The package is fully optional and '''no TDE functionality will go missing by not installing it'''.
 +
  
 
== Tdeedu and Slackware ==
 
== Tdeedu and Slackware ==
  
 
The tdeedu package replaces kdeedu for KDE 3.5. The build system relies on '''autotools''' and has not been ported to [http://www.cmake.org cmake] yet. The kdeedu build script can be used for tdeedu, but some updates and tweaks are due. The following rules were applied when compiling the package to ensure a clean build:
 
The tdeedu package replaces kdeedu for KDE 3.5. The build system relies on '''autotools''' and has not been ported to [http://www.cmake.org cmake] yet. The kdeedu build script can be used for tdeedu, but some updates and tweaks are due. The following rules were applied when compiling the package to ensure a clean build:
* Directory '''/opt/trinity''' was set as package root directory.
+
* Directory ''/opt/trinity'' was set as package root directory.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
No specific options were used for the '''configure''' command as the package seems not to need any. Some script lines of code and related comments follow.  
+
No specific options were used for the '''configure''' command as the package seems not to need any. Some script lines of code and related comments follow.
  
 
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 +
<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>
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 +
<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>
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 +
<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 39: Line 40:
 
   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>
 
Finally the script runs the '''./configure''' command to configure source code in accordance to the destination environment:
 
Finally the script runs the '''./configure''' command to configure source code in accordance to the destination environment:
 +
<syntaxhighlight lang="bash">
 
   # Configure the package
 
   # Configure the package
 
   LDFLAGS="${SLKLDFLAGS}" \
 
   LDFLAGS="${SLKLDFLAGS}" \
Line 55: Line 58:
 
       --enable-closure \
 
       --enable-closure \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
  
Line 64: Line 68:
  
 
External Links
 
External Links
 +
 
----
 
----
 +
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://edu.kde.org Official KDE EDU page]
 
* [http://edu.kde.org Official KDE EDU page]
Line 71: Line 77:
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdeedu Italiano]
+
{{footer_en | link_page=TDE_tdeedu}}

Latest revision as of 14:26, 21 March 2022

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDEEDU

TDE - Base Packages

The tdeedu package includes some free programs developed by the KDE project for educational purposes. All programs are integrated in the Trinity Desktop Environment and translated in the project supported languages. All of the applications for students are grouped in four main categories:

  • Languages: Some tools helpful to learn Yours or a foreign language.
  • Mathematics: Some applications useful to learn algebra and geometry.
  • Sciences: Offers a virtual planetarium and an element periodic table.
  • Miscellaneous: Generic programs that cannot be included in any of the previously listed categories. An example is Ktouch a tool to learn typing.

The package is fully optional and no TDE functionality will go missing by not installing it.


Tdeedu and Slackware

The tdeedu package replaces kdeedu for KDE 3.5. The build system relies on autotools and has not been ported to cmake yet. The kdeedu build script can be used for tdeedu, but some updates and tweaks are due. The following rules were applied when compiling the package to ensure a clean build:

  • Directory /opt/trinity was set as package root directory.
  • Some missing makefiles were created running the make command from inside the main directory of the code extracted from the source archive.
  • The source code was patched in order to solve a version mismatch issue with libtool: the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.

No specific options were used for the configure command as the package seems not to need any. Some script lines of code and related comments follow.

Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:

   # 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

A patch is needed to solve a libtool package version mismatch conflict:

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

The script specifically sets Qt libraries paths in order for other scripts to find them at build time:

   # 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

Finally the script runs the ./configure command to configure source code in accordance to the destination environment:

   # 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

Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.

A full script can be downloaded from the following link. The output package can be installed using command installpkg as usual in Slackware Linux.


For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net


External Links





Languages: English - Italiano