You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
6.5 KiB

#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands
# Copyright 2015-2017 Thorn Inurcide
# Copyright 2015-2017 tde-slackbuilds project on GitHub
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
PRGNAM=tdeedu
VERSION=$TDEVERSION
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
[[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && {
# ### Kalzium Chemical Equation Solver - start
## Needs OCaml and facile
ocaml_installed_fn () { [[ -s /usr/local/lib$LIBDIRSUFFIX/ocaml/libnums.a ]] && \
[[ -s /usr/local/lib$LIBDIRSUFFIX/ocaml/facile/facile.a ]] ;}
## If they are already installed, go to OCAML="ON"
ocaml_installed_fn || {
## otherwise, if the source archives are in 'src' ..
[[ -s $BUILD_TDE_ROOT/src/4.05.0.tar.gz ]] && \
[[ -s $BUILD_TDE_ROOT/src/facile-1.1.3.tar.gz ]] && {
## .. build, package, and install them
(
## ocaml:
echo -e "\n building ocaml \n"
cd /$TMP_BUILD
rm -rf *ocaml*
tar xf $BUILD_TDE_ROOT/src/4.05.0.tar.gz
cd ocaml-4.05.0/
## force "gcc -fcommon" for gcc10 build - see https://github.com/ocaml/ocaml/issues/9622
./configure -cc "gcc -fcommon" -libdir /usr/local/lib$LIBDIRSUFFIX/ocaml
## finish build with -j1 if there are race condition errors
make ${NUMJOBS:-} world.opt || make world.opt
DESTDIR=$TMP_BUILD/package-ocaml make install
cd $TMP_BUILD/package-ocaml
makepkg -l y -c n $OUTPUT/ocaml-4.05.0-$ARCH-$BUILD.txz
installpkg $OUTPUT/ocaml-4.05.0-$ARCH-$BUILD.txz
## facile:
echo -e "\n building facile \n"
cd /$TMP_BUILD
rm -rf *facile*
tar xf $BUILD_TDE_ROOT/src/facile-1.1.3.tar.gz
cd facile-1.1.3/
sed -i 's|mkdir|& -p|' Makefile
./configure
make
make FACILEDIR=$TMP_BUILD/package-facile/usr/local/lib$LIBDIRSUFFIX/ocaml/facile install
cd $TMP_BUILD/package-facile
makepkg -l y -c n $OUTPUT/facile-1.1.3-$ARCH-$BUILD.txz
installpkg $OUTPUT/facile-1.1.3-$ARCH-$BUILD.txz
)
echo -e "\n returning to building tdeedu \n"
ocaml_installed_fn || { echo -e " installation of ocaml/facile failed \n" ; exit 1 ; }
}
} && \
OCAML="ON"
# ### Kalzium Chemical Equation Solver - end
}
source ../../get-source.sh
getsource_fn
untar_fn
## patch for kig python scripting error:
## kig: /usr/include/boost/python/object_core.hpp:422: boost::python::api::object_base::~object_base(): Assertion `Py_REFCNT(m_ptr) > 0' failed.
## Re: https://bugs.kde.org/show_bug.cgi?id=401512#c5
patch -N -p0 << EOF || true
--- kig/scripting/python_scripter.cpp
+++ kig/scripting/python_scripter.cpp
@@ -493,0 +494 @@
+ Py_XINCREF((objectvect.begin() +i)->ptr());
EOF
## add some files to html docs
sed -i 's|*.png|& *.svgz README|' cmake/modules/TDEMacros.cmake
listdocs_fn
chown_fn
cd_builddir_fn
## kig python scripting support
[[ $(ls -1 /usr/lib$LIBDIRSUFFIX/libboost_python*.so) ]] && KIG_PS="ON"
cmake ${G_NINJA:-} \
-DCMAKE_C_FLAGS="$SLKRCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKRCFLAGS" \
-DCMAKE_C_COMPILER=$COMPILER \
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \
-DPLUGIN_INSTALL_DIR=$INSTALL_TDE/lib$LIBDIRSUFFIX/$PLUGIN_INSTALL_DIR \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DMAN_INSTALL_DIR=$INSTALL_TDE/man \
-DWITH_ARTS="ON" \
-DWITH_GCC_VISIBILITY=${GCC_VIS:-} \
-DWITH_KIG_PYTHON_SCRIPTING=${KIG_PS:-"OFF"} \
-DWITH_LIBUSB="ON" \
-DWITH_OCAML_SOLVER=${OCAML:-"OFF"} \
-DWITH_V4L="ON" \
-DBUILD_BLINKEN="ON" \
-DBUILD_KALZIUM="ON" \
-DBUILD_KANAGRAM="ON" \
-DBUILD_KBRUCH="ON" \
-DBUILD_KEDUCA="ON" \
-DBUILD_KGEOGRAPHY="ON" \
-DBUILD_KHANGMAN="ON" \
-DBUILD_KIG="ON" \
-DBUILD_KITEN="ON" \
-DBUILD_KLATIN="ON" \
-DBUILD_KLETTRES="ON" \
-DBUILD_KMPLOT="ON" \
-DBUILD_KPERCENTAGE="ON" \
-DBUILD_KSTARS="ON" \
-DBUILD_KTOUCH="ON" \
-DBUILD_KTURTLE="ON" \
-DBUILD_KVERBOS="ON" \
-DBUILD_KVOCTRAIN="ON" \
-DBUILD_KWORDQUIZ="ON" \
-DBUILD_DOC="ON" \
-Wno-dev \
..
## remove obsolete tags
doxygen -u doc/kig/scripting-api/Doxyfile.scripting-api
make_fn
installdocs_fn
strip_fn
mkdir_install_fn
doinst_sh_fn
echo "
# HOW TO EDIT THIS FILE:
# The 'handy ruler' below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
$PRGNAM: tdeedu (TDE educational software)
$PRGNAM:
$PRGNAM: * blinken: the KDE version of the well-known game Simon Says
$PRGNAM: * kalzium: periodic table of elements
$PRGNAM: * kanagram: an anagram game
$PRGNAM: * kbruch: fraction excercise trainer
$PRGNAM: * keduca: creation and revision of form-based tests and exams.
$PRGNAM: * kgeography: geography learning program
$PRGNAM: * khangman: hangman game.
$PRGNAM: * kig: interactive geometry
$PRGNAM: * kiten: japanese reference tool
$PRGNAM: * klatin: aims to help revise or learn Latin
$PRGNAM: * klettres: helps to learn the alphabet and to read some syllables
$PRGNAM: * kmplot: mathematical function plotter
$PRGNAM: * kpercentage: improve skills in calculating percentages
$PRGNAM: * kstars: desktop planetarium
$PRGNAM: * ktouch: program for learning touch typing
$PRGNAM: * kturtle: programming environment using the Logo programming language
$PRGNAM: * kverbos: study Spanish verb forms
$PRGNAM: * kvoctrain: vocabulary trainer
$PRGNAM: * kwordquiz: a powerful way to master new vocabularies
" > $PKG/install/slack-desc
makepkg_fn