diff --git a/BUILD-TDE.sh b/BUILD-TDE.sh index 4024394..53e5e38 100755 --- a/BUILD-TDE.sh +++ b/BUILD-TDE.sh @@ -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 diff --git a/Core/tdeedu/tdeedu.SlackBuild b/Core/tdeedu/tdeedu.SlackBuild index d94d18e..439357a 100755 --- a/Core/tdeedu/tdeedu.SlackBuild +++ b/Core/tdeedu/tdeedu.SlackBuild @@ -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" diff --git a/Core/tdegraphics/tdegraphics.SlackBuild b/Core/tdegraphics/tdegraphics.SlackBuild index e03eec2..9cd288b 100755 --- a/Core/tdegraphics/tdegraphics.SlackBuild +++ b/Core/tdegraphics/tdegraphics.SlackBuild @@ -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} \ diff --git a/Deps/tqt3/tqt3.SlackBuild b/Deps/tqt3/tqt3.SlackBuild index 77ae733..cbefd4b 100755 --- a/Deps/tqt3/tqt3.SlackBuild +++ b/Deps/tqt3/tqt3.SlackBuild @@ -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 \ diff --git a/Misc/graphviz/README b/Misc/graphviz/README index 7a0c76d..b4bc1a2 100644 --- a/Misc/graphviz/README +++ b/Misc/graphviz/README @@ -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]. diff --git a/Misc/inkscape/README b/Misc/inkscape/README new file mode 100644 index 0000000..4ded2fd --- /dev/null +++ b/Misc/inkscape/README @@ -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. + diff --git a/Misc/inkscape/inkscape.SlackBuild b/Misc/inkscape/inkscape.SlackBuild index 4165936..c1eef4a 100755 --- a/Misc/inkscape/inkscape.SlackBuild +++ b/Misc/inkscape/inkscape.SlackBuild @@ -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 \ .. diff --git a/Misc/mp4v2/mp4v2.SlackBuild b/Misc/mp4v2/mp4v2.SlackBuild index 59cc4a4..4f29c9c 100644 --- a/Misc/mp4v2/mp4v2.SlackBuild +++ b/Misc/mp4v2/mp4v2.SlackBuild @@ -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( code ) ) { +--- util/mp4art.cpp ++++ util/mp4art.cpp +@@ -379,1 +379,1 @@ +- switch( code ) { ++ switch( static_cast ( code ) ) { +--- util/mp4chaps.cpp ++++ util/mp4chaps.cpp +@@ -635,1 +635,1 @@ +- switch( code ) { ++ switch( static_cast ( code ) ) { +--- util/mp4file.cpp ++++ util/mp4file.cpp +@@ -192,1 +192,1 @@ +- switch( code ) { ++ switch( static_cast( code ) ) { +--- util/mp4subtitle.cpp ++++ util/mp4subtitle.cpp +@@ -167,1 +167,1 @@ +- switch( code ) { ++ switch( static_cast( code ) ) { +--- util/mp4track.cpp ++++ util/mp4track.cpp +@@ -791,1 +791,1 @@ +- switch( code ) { ++ switch( static_cast( code ) ) { +EOF + listdocs_fn chown_fn diff --git a/README.md b/README.md index cd2e0b1..35567fb 100644 --- a/README.md +++ b/README.md @@ -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 --- diff --git a/get-source.sh b/get-source.sh index 3127ea3..85c5a5e 100755 --- a/get-source.sh +++ b/get-source.sh @@ -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}