Updates for Slackware current

tdeedu - patch for ocaml build with gcc10
 tdegraphics - workaround for error: cannot convert ‘XRef*’ to ‘PDFDoc*’
 tqt3 - extended libs and headers search paths
 inkscape - include v1.0.2 build, with gdl and double-conversion
 mp4v2 - patched for gcc10
moved some variables from get-source.sh to BUILD-TDE.sh to export for ocaml, facile, gdl, and double-conversion builds
pull/25/head
Ray-V 4 years ago
parent a616381cc0
commit 5f36f0e164

@ -1,7 +1,7 @@
#!/bin/sh
## suppress error messages
exec 2>/dev/null
[[ $VERBOSE != 1 ]] && exec 2>/dev/null
export TMPVARS=/tmp/build/vars
[[ ! -d $TMPVARS ]] && mkdir -p $TMPVARS
@ -83,6 +83,11 @@ TMP=${TMP:-/tmp}
export LIBPNG_TMP=$TMP
export BUILD_TDE_ROOT=$(pwd)
# Place to build (TMP_BUILD), package (PKG), and output (OUTPUT) the program:
## ### moved from get-source.sh to export variables for ocaml, facile, gdl, and double-conversion builds
export TMP_BUILD=$TMP/build
#export PKG=$TMP_BUILD/package-$PRGNAM
export OUTPUT=$TMP
###################################################
@ -413,7 +418,7 @@ Non-TDE apps are in the Misc category and don't need the \Zb\Zr\Z4R\Znequired TD
"Apps/kvkbd" "A virtual keyboard for TDE" off "\Zb\Z6 \Zn" \
"Apps/kvpnc" "TDE frontend for various vpn clients" off "\Zb\Z6 Miscellaneous documentation will be in $(cat $TMPVARS/INSTALL_TDE)/doc/kvpnc-$(cat $TMPVARS/TDEVERSION) \Zn" \
"Apps/piklab" "IDE for PIC microcontrollers" off "\Zb\Z6 \Zn" \
" Misc/potrace" "For tracing bitmaps to a vector graphics format" off "\Zb\Z6 Required for potracegui, optional for inkscape \Zn" \
" Misc/potrace" "For tracing bitmaps to a vector graphics format" off "\Zb\Z6 Required for potracegui, and inkscape \Zn" \
"Apps/potracegui" "A GUI for potrace" off "\Zb\Z6 Requires potrace \Zn" \
"Apps/rosegarden" "Audio sequencer and musical notation editor" off "\Zb\Z6 Requires jack-audio-connection-kit liblo and dssi for proper functionality \Zn" \
"Apps/soundkonverter" "Frontend to various audio converters" off "\Zb\Z6 \Zn" \
@ -426,7 +431,7 @@ Non-TDE apps are in the Misc category and don't need the \Zb\Zr\Z4R\Znequired TD
"Apps/twin-style-crystal" "Twin theme" off "\Zb\Z6 \Zn" \
"Apps/yakuake" "Quake-style terminal emulator" off "\Zb\Z6 \Zn" \
" Misc/lxml" "Python bindings for libxml2 and libxslt" off "\Zb\Z6 Required to use Inkscape online help \Zn" \
" Misc/inkscape" "SVG editor - an alternative to potrace, potracegui [and GraphicsMagick]." off "\Zb\Z6 Requires lxml if online help facility is required, potrace is a build-time option. \Zn" \
" Misc/inkscape" "SVG editor - an alternative to potracegui [and GraphicsMagick]." off "\Zb\Z6 Requires lxml if online help facility is required; potrace is a build-time dependency. \Zn" \
2> $TMPVARS/TDEbuilds
# successful builds are removed from the TDEbuilds list by '$dir ' so add a space to the last entry
# and the " needs to be removed because the Misc entries are double-quoted
@ -855,8 +860,8 @@ do
echo -e "\033[39;1m
Starting $package.SlackBuild
$(printf '%0.s\"' $(seq 1 $[${#package}+20]))
\033[0m"
$(printf '%0.s\"' $(seq 1 $[${#package}+20])) \033[0m"
## set 'noarch' for i18n packages
ARCH_i18n="" && [[ $package == *i18n* ]] && ARCH_i18n=noarch
## TDEPFX could be set '' from null [n/a], in which case set TDE_PFX="", or

@ -28,34 +28,6 @@ VERSION=$TDEVERSION
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
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
[[ $TDEVERSION == 14.0.9 ]] && EXTN=cc || EXTN=cpp
patch -N -p0 << EOF || true
--- kig/scripting/python_scripter.$EXTN
+++ kig/scripting/python_scripter.$EXTN
@@ -493,0 +494 @@
+ Py_XINCREF((objectvect.begin() +i)->ptr());
EOF
## for 14.0.9, already done in cgit
sed -i 's|Nome del file di input|Input filename|' kig/pykig/pykig.py
## add some files to html docs
sed -i 's|*.png|& *.svgz README|' cmake/modules/TDEMacros.cmake
listdocs_fn
chown_fn
cd_builddir_fn
# ### Kalzium Chemical Equation Solver - start
## Needs OCaml and facile
ocaml_installed_fn () { [[ -s /usr/local/lib$LIBDIRSUFFIX/ocaml/libnums.a ]] && \
@ -75,7 +47,8 @@ rm -rf *ocaml*
tar xf $BUILD_TDE_ROOT/src/4.05.0.tar.gz
cd ocaml-4.05.0/
./configure -cc $COMPILER -libdir /usr/local/lib$LIBDIRSUFFIX/ocaml
## 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
@ -108,6 +81,34 @@ ocaml_installed_fn || { echo -e " installation of ocaml/facile failed \n" ; exit
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
[[ $TDEVERSION == 14.0.9 ]] && EXTN=cc || EXTN=cpp
patch -N -p0 << EOF || true
--- kig/scripting/python_scripter.$EXTN
+++ kig/scripting/python_scripter.$EXTN
@@ -493,0 +494 @@
+ Py_XINCREF((objectvect.begin() +i)->ptr());
EOF
## for 14.0.9, already done in cgit
sed -i 's|Nome del file di input|Input filename|' kig/pykig/pykig.py
## 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"

@ -54,6 +54,11 @@ chown_fn
cd_builddir_fn
## Slackware current build with poppler v21....
## error: cannot convert XRef* to PDFDoc*
## Workaround until resolved:
[[ $(ls /var/log/packages/poppler-*) == *-2[1-9].* ]] && W_PDF=OFF
# If imlib is installed, include Kuickshow:
[[ -s /usr/include/Imlib.h ]] && KUICKSHOW=ON
cmake \
@ -69,7 +74,7 @@ cmake \
-DWITH_PAPER="OFF" \
-DWITH_TIFF="OFF" \
-DWITH_OPENEXR="OFF" \
-DWITH_PDF="ON" \
-DWITH_PDF=${W_PDF:-ON} \
-DBUILD_DOC="ON" \
-DBUILD_TDEFILE_PLUGINS="ON" \
-DBUILD_KUICKSHOW=${KUICKSHOW:-OFF} \

@ -45,6 +45,8 @@ sed -i "s|QMAKE_RPATH.*$|QMAKE_RPATH =|" mkspecs/linux-g++/qmake.conf
## tqt libs might be installed in $([T]QTDIR)/lib64
sed -i "s|QTDIR)/lib|&$LIBDIRSUFFIX|" mkspecs/linux-g++/qmake.conf
## [open]GL libs might be installed in ../lib64
sed -i "s|X11R6/lib|&$LIBDIRSUFFIX|" mkspecs/linux-g++/qmake.conf
## add -headerdir as set in configure
[[ $TDEVERSION == 14.1.0 ]] && QTDIR_PFX=T || QTDIR=$TQTDIR
sed -i "s|QMAKE_INCDIR =|& \$(${QTDIR_PFX:-}QTDIR)/include/tqt|" mkspecs/linux-g++/qmake.conf
@ -113,6 +115,7 @@ echo "yes" | \
-verbose \
-I/usr/include/freetype2 \
-I/usr/include/mysql \
-I/usr/include/tirpc \
-L/usr/lib$LIBDIRSUFFIX \
-system-zlib \
-qt-imgfmt-png \

@ -12,5 +12,5 @@ gts is an optional dependency.
------------------------------
pdf and html documentation is not built by default in the SlackBuild.
To build it, comment out 'rm -rf $PKG/usr/share/$PRGNAM/doc' in the script [c. line 110].
To build it, comment out 'rm -rf $PKG/usr/share/$PRGNAM/doc' in the script [c. line 95].

@ -0,0 +1,6 @@
inkscape v1.0.2 requires non-Slackware packages gdl and double-conversion.
The sources will need to be pre-downloaded and placed in the 'src' directory and will then be built, packaged, and installed during the inkscape build.
The URLs will be displayed when running the SlackBuild if the installations or sources aren't found.

@ -24,11 +24,80 @@
# SUCH DAMAGE.
PRGNAM=inkscape
VERSION=0.92.4
## store version for later use to set $version for package name -
## too late for log file name, but sort that out when Sl current is released as Sl 15
## and this script updated for v1.x.x only
echo 0.92.4 > $TMPVARS/INKSC_VERS && {
## v 1.0.2 for Slackware current
[[ $(ls /var/log/packages/poppler-*) == *-2[1-9].* ]] && echo 1.0.2 > $TMPVARS/INKSC_VERS ; }
VERSION=$(cat $TMPVARS/INKSC_VERS)
BUILD=${BUILD:-1}
SRCURL="https://media.inkscape.org/dl/resources/file/inkscape-$VERSION.tar.bz2"
ARCHIVE_TYPE="tar.bz2"
ARCHIVE_TYPE="tar.bz2" && [[ $VERSION == 1.0.2 ]] && ARCHIVE_TYPE="tar.xz"
SRCURL="https://media.inkscape.org/dl/resources/file/$PRGNAM-$VERSION.$ARCHIVE_TYPE"
## inkscape v1.0.2 for Slackware current needs gdl and double-conversion
# ### gdl and double-conversion - start
[[ $(ls /var/log/packages/poppler-*) == *-2[1-9].* ]] && {
## If they are already installed, go to end
[[ -s /usr/local/lib$LIBDIRSUFFIX/libgdl-3.so ]] && \
[[ -s /usr/local/lib$LIBDIRSUFFIX/libdouble-conversion.so ]] || {
## otherwise, if the source archives are in 'src' ..
[[ -s $BUILD_TDE_ROOT/src/gdl-3.34.0.tar.xz ]] && \
[[ -s $BUILD_TDE_ROOT/src/double-conversion-3.1.5.tar.gz ]] && {
## .. build, package, and install them
(
## gdl:
echo -e "\n building gdl \n"
cd /$TMP_BUILD
rm -rf *gdl*
tar xf $BUILD_TDE_ROOT/src/gdl-3.34.0.tar.xz
cd gdl-3.34.0
LOCALES=$(cat po/LINGUAS)
rm po/LINGUAS
for locale in $I18N
do
[[ $LOCALES == *$locale* ]] && echo $locale >> po/LINGUAS
done
./configure --libdir=/usr/local/lib$LIBDIRSUFFIX
make $NUMJOBS
DESTDIR=$TMP_BUILD/package-gdl make install
cd $TMP_BUILD/package-gdl
makepkg -l y -c n $OUTPUT/gdl-3.34.0-$ARCH-$BUILD.txz
installpkg $OUTPUT/gdl-3.34.0-$ARCH-$BUILD.txz
## double-conversion:
echo -e "\n building double-conversion \n"
cd /$TMP_BUILD
rm -rf *double-conversion*
tar xf $BUILD_TDE_ROOT/src/double-conversion-3.1.5.tar.gz
cd double-conversion-3.1.5/
cd cmake/
# LIBDIRSUFFIX not required - builds to lib$LIBDIRSUFFIX ..
cmake ../ -DBUILD_SHARED_LIBS=ON
make $NUMJOBS
DESTDIR=$TMP_BUILD/package-double-conversion make install
cd $TMP_BUILD/package-double-conversion
makepkg -l y -c n $OUTPUT/double-conversion-3.1.5-$ARCH-$BUILD.txz
installpkg $OUTPUT/double-conversion-3.1.5-$ARCH-$BUILD.txz
)
echo -e "\n returning to building inkscape \n"
} || { ## .. but if the source archives aren't in 'src', display message ..
echo -e "\n ############ \n\n\033[39;1m gdl and/or double-conversion are not installed and are required for this build \n \033[34;1m
Download:
\n wget -O $BUILD_TDE_ROOT/src/gdl-3.34.0.tar.xz https://download.gnome.org/sources/gdl/3.34/gdl-3.34.0.tar.xz
\n wget -O $BUILD_TDE_ROOT/src/double-conversion-3.1.5.tar.gz https://github.com/google/double-conversion/archive/v3.1.5.tar.gz
\n and re-run this script .. \n\n \033[0m ############ \n" ; exit 1 ; }
}
}
# ### gdl and double-conversion - end
source ../../get-source.sh
getsource_fn
@ -49,6 +118,7 @@ sed -i 's|lib/inkscape|lib${LIB_SUFFIX}/inkscape|' CMakeScripts/HelperMacros.cma
}
## only build for required locales
# ### TODO tidy up when Sl 15 released and v0.92.4 no longer built
{
## set up a directory to store the required locale files temporarily
TEMP_DIR=$TMP_BUILD/tmp-$PRGNAM/loc_tmp
@ -113,6 +183,10 @@ chown_fn
cd_builddir_fn
## default options have been pulled from CMakeLists.txt
## These next two determine the RPATH for the inkscape library relative to the binary:
## INKSCAPE_INSTALL_LIBDIR is an addition for v1.0.2 and is relative to CMAKE_INSTALL_PREFIX/
## LIB_SUFFIX is used for v0.92.4
# ### TODO docs and man to /usr/local ..
cmake \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
@ -120,25 +194,33 @@ cmake \
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINKSCAPE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX/inkscape \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DBUILD_SHARED_LIBS="ON" \
-DENABLE_BINRELOC="OFF" \
-DENABLE_LCMS="ON" \
-DENABLE_POPPLER="ON" \
-DENABLE_POPPLER_CAIRO="ON" \
-DWITH_ASAN="OFF" \
-DWITH_DBUS="OFF" \
-DWITH_FUZZ="OFF" \
-DWITH_GNOME_VFS="ON" \
-DWITH_SVG2="ON" \
-DWITH_LPETOOL="OFF" \
-DWITH_INKJAR="ON" \
-DWITH_OPENMP="ON" \
-DWITH_PROFILING="OFF" \
-DWITH_GRAPHICS_MAGICK="ON" \
-DWITH_GTK3_EXPERIMENTAL="OFF" \
-DWITH_GTKSPELL="OFF" \
-DWITH_IMAGE_MAGICK="ON" \
-DWITH_INKJAR="ON" \
-DWITH_JEMALLOC="OFF" \
-DWITH_LIBCDR="ON" \
-DWITH_LIBVISIO="ON" \
-DWITH_LIBWPG="ON" \
-DWITH_LPETOOL="OFF" \
-DLPE_ENABLE_TEST_EFFECTS="OFF" \
-DWITH_MANPAGE_COMPRESSION="ON" \
-DWITH_NLS="ON" \
-DWITH_GTK3_EXPERIMENTAL="OFF" \
-DWITH_GTKSPELL="OFF" \
-DENABLE_BINRELOC="OFF" \
-DWITH_OPENMP="ON" \
-DWITH_PROFILING="OFF" \
-DWITH_SVG2="ON" \
-Wno-dev \
..

@ -39,6 +39,41 @@ untar_fn
## patch for gcc7 ../src/rtphint.cpp:342:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
sed -i "s|(pSlash != '|(*pSlash != '|" src/rtphint.cpp
## patch for gcc10 - error: narrowing conversion of mp4v2::util::SubtitleUtility::LC_LIST from unsigned int to int, etc..
## thanks to https://bugs.gentoo.org/723098
patch -N -p0 << EOF || true
--- libutil/Utility.cpp
+++ libutil/Utility.cpp
@@ -496,1 +496,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int>( code ) ) {
--- util/mp4art.cpp
+++ util/mp4art.cpp
@@ -379,1 +379,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int> ( code ) ) {
--- util/mp4chaps.cpp
+++ util/mp4chaps.cpp
@@ -635,1 +635,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int> ( code ) ) {
--- util/mp4file.cpp
+++ util/mp4file.cpp
@@ -192,1 +192,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int>( code ) ) {
--- util/mp4subtitle.cpp
+++ util/mp4subtitle.cpp
@@ -167,1 +167,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int>( code ) ) {
--- util/mp4track.cpp
+++ util/mp4track.cpp
@@ -791,1 +791,1 @@
- switch( code ) {
+ switch( static_cast<unsigned int>( code ) ) {
EOF
listdocs_fn
chown_fn

@ -30,7 +30,7 @@ If you're curious about what this might involve, [take a look at a sample build
* TDE_MIRROR= - override the trinitydesktop.org geoIP redirector to use https - example, *https://trinitydesktop.mirrorservice.org/trinity*. URLs @ https://www.trinitydesktop.org/mirrorstatus.php
* BUILD= - sets the package build identifier, overriding the SlackBuild default of 1
* USE_CMAKE_MM=yes - to build tdemultimedia with cmake - see Core/tdemultimedia/README.
* VERBOSE=1 - show command lines during cmake builds
* VERBOSE=1 - show command lines during cmake builds; and error messages
---

@ -48,9 +48,10 @@ getsource_fn ()
# SUCH DAMAGE.
# Place to build (TMP_BUILD) package (PKG) and output (OUTPUT) the program:
TMP_BUILD=/tmp/build
## ### moved to BUILD-TDE.sh to export variables for ocaml, facile, gdl, and double-conversion builds
# ### TMP_BUILD=/tmp/build
PKG=$TMP_BUILD/package-$PRGNAM
OUTPUT=/tmp
# ### OUTPUT=/tmp
# remove any previous builds if option chosen
[[ $KEEP_BUILD != "yes" ]] && [[ $PRE_DOWNLOAD != yes ]] && echo -e "\n removing previous build data .." && rm -rf $TMP_BUILD/{tmp,package}*
@ -223,7 +224,7 @@ SLKRCFLAGS="$SLKRCFLAGS -fPIC"
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line $LINENO" | tee $OUTPUT/error-$PRGNAM.log' ERR
trap 'echo "$0 FAILED at line $LINENO"' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}

Loading…
Cancel
Save