From 4a9e6c63e14d4332638cb98b2f2a3d19c6eba4ee Mon Sep 17 00:00:00 2001 From: Ray-V Date: Thu, 3 Oct 2024 15:31:47 +0100 Subject: [PATCH] 03 October 2024 - fix issues and development builds issue 35 - removed INCDIR path from tqt3.SlackBuild mkspecs patch - no longer required to differentiate development builds issue 36 - PATHs set from tde.sh/tqt3.sh conditionally on TDE being the chosen DE - added tqt.conf for tqt libs paths issue 37 - added command line option for sudo plugins for tdelibs and tdebase builds - defaults to su BUILD-TDE.sh - replaced KDE_HAVE_GCC_VISIBILITY with DE_HAVE_GCC_VISIBILITY to allow for development renaming development builds - - added tde-ebook-reader - soundkonverter locale files location - GCC visibility test adjusted for change to TDE_HAVE_GCC_VISIBILITY - tdebase change for man page source directories - tdelibs added webp support - revised FEAT option - tdegraphics - more kmrml patching some misc build revisions - clamav-1.4.1, graphviz-12.1.1, imlib2-1.12.3, xmedcon-0.24.0 --- Apps/klamav/klamav.SlackBuild | 10 +- Apps/soundkonverter/soundkonverter.SlackBuild | 5 +- Apps/tde-ebook-reader/README | 8 ++ .../tde-ebook-reader.SlackBuild | 93 ++++++++++++++++ BUILD-TDE.sh | 14 ++- Core/tdebase/tdebase.SlackBuild | 102 ++++++++++-------- Core/tdegraphics/tdegraphics.SlackBuild | 4 + Core/tdelibs/tdelibs.SlackBuild | 8 +- Deps/tqt3/tqt3.SlackBuild | 101 ++++++++++------- Misc/graphviz/graphviz.SlackBuild | 2 +- Misc/imlib2/imlib2.SlackBuild | 2 +- Misc/xmedcon/xmedcon.SlackBuild | 2 +- README.md | 6 +- get-source.sh | 21 +++- 14 files changed, 278 insertions(+), 100 deletions(-) create mode 100644 Apps/tde-ebook-reader/README create mode 100755 Apps/tde-ebook-reader/tde-ebook-reader.SlackBuild diff --git a/Apps/klamav/klamav.SlackBuild b/Apps/klamav/klamav.SlackBuild index 5e93753..cf70922 100755 --- a/Apps/klamav/klamav.SlackBuild +++ b/Apps/klamav/klamav.SlackBuild @@ -33,7 +33,7 @@ source ../../get-source.sh ## klamav needs clamav as a build time requirement [[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && { # ### clamav - start -clamav_VERS=1.3.1 +clamav_VERS=1.4.1 clamav_installed_fn () { pkg-config --atleast-version=$clamav_VERS libclamav ;} ## If it's already installed, go to end clamav_installed_fn || { @@ -41,6 +41,7 @@ clamav_installed_fn || { [[ -s $BUILD_TDE_ROOT/src/clamav-$clamav_VERS.tar.gz ]] && { ## .. build, package, and install it ( + echo " building clamav " @@ -53,6 +54,13 @@ tar xf $BUILD_TDE_ROOT/src/clamav-$clamav_VERS.tar.gz cd clamav-$clamav_VERS/ +RUSTC_MIN_REQd=$(grep rust-version .cargo/vendor/home/Cargo.toml | grep -o \"1\..*) # eg "1.70.0" +RUSTC_MIN_REQd2=$(echo $RUSTC_MIN_REQd | grep -o "1\..."|sed 's|\.||') # eg 170 +# +[[ ! $(rustc --version | grep -o "1\..."|sed 's|\.||') -ge $RUSTC_MIN_REQd2 ]] && { echo -e "\033[39;1m + ## rust version $RUSTC_MIN_REQd or greater is required to build clamav-$clamav_VERS ## + \033[0m" ; exit 1 ; } + ## set RPATH relative to ORIGIN always sed -i 's|set(CMAKE_INSTALL_RPATH.*$|set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")|' CMakeLists.txt diff --git a/Apps/soundkonverter/soundkonverter.SlackBuild b/Apps/soundkonverter/soundkonverter.SlackBuild index c91dc9b..8a944df 100755 --- a/Apps/soundkonverter/soundkonverter.SlackBuild +++ b/Apps/soundkonverter/soundkonverter.SlackBuild @@ -34,7 +34,8 @@ getsource_fn untar_fn ## for slack-desc -langs="";for Lang in $I18N;do [[ -s po/$Lang.po ]] && langs="$langs $Lang";done +[[ $TDEVERSION != 14.1.2 ]] && PO_DIR=translations/messages +langs="";for Lang in $I18N;do [[ -s ${PO_DIR:-po}/$Lang.po ]] && langs="$langs $Lang";done listdocs_fn @@ -42,8 +43,6 @@ chown_fn cd_builddir_fn -sed -i 's|FILES soundkonverterui.rc$|& userscript.sh|' ../src/CMakeLists.txt - cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} make_fn diff --git a/Apps/tde-ebook-reader/README b/Apps/tde-ebook-reader/README new file mode 100644 index 0000000..7beae6f --- /dev/null +++ b/Apps/tde-ebook-reader/README @@ -0,0 +1,8 @@ +The SlackBuild has some options to change build-time defaults, all of which can be changed from the toolbar in the running program, but which are included for an alternative initial presentation. + +1] font family and size +2] line spacing +3] auto hyphenation + +All can be commented out in the SlackBuild if not wanted. + diff --git a/Apps/tde-ebook-reader/tde-ebook-reader.SlackBuild b/Apps/tde-ebook-reader/tde-ebook-reader.SlackBuild new file mode 100755 index 0000000..67fb6e9 --- /dev/null +++ b/Apps/tde-ebook-reader/tde-ebook-reader.SlackBuild @@ -0,0 +1,93 @@ +#!/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=tde-ebook-reader +VERSION=$TDEVERSION +BUILD=${BUILD:-1} +TAG=${TAG:-_tde} + +source ../../get-source.sh +getsource_fn + +untar_fn + +## default font +sed -i 's|Georgia|Liberation Sans|;s|16|13|' reader/data/default/config.xml +## default line spacing +sed -i 's|1.4|1.2|;s|140|120|' reader/src/options/FBTextStyle.cpp +## no auto hyphenation +sed -i 's|AutoHyphenation", true|AutoHyphenation", false|' zlibrary/text/src/style/ZLTextStyleCollection.cpp + +## work-around for desktop files translations pending translations/desktop_files being set up +for locn in ar es hu pl ru zh_CN +do +[[ $I18N != *$locn* ]] && sed -i "/\[$locn\]/d" reader/desktop/tde-ebook-reader.desktop +done + +## for slack-desc -> although no translations yet +langs="en";for Lang in $I18N;do [[ -s translations/messages/$Lang.po ]] && langs="$langs $Lang";done + +listdocs_fn + +chown_fn + +cd_builddir_fn + +cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} + +make_fn + +installdocs_fn + +mangzip_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: TDE Ebook Reader is a TQt port of FBReader, +$PRGNAM: supporting several e-book formats: ePub, fb2, chm, rtf, plucker, etc. +$PRGNAM: +$PRGNAM: Direct reading from zip, tar, gzip and bzip2 archives is supported. +$PRGNAM: +$PRGNAM: With language support for: +$PRGNAM: $langs +$PRGNAM: +$PRGNAM: +$PRGNAM: +$PRGNAM: +" > $PKG/install/slack-desc + +makepkg_fn diff --git a/BUILD-TDE.sh b/BUILD-TDE.sh index a3dc3dd..883408d 100755 --- a/BUILD-TDE.sh +++ b/BUILD-TDE.sh @@ -312,6 +312,15 @@ If following the build method on the previous screen, the answer here should pro [[ $? == 1 ]] && echo no > $TMPVARS/KEEP_BUILD +## new app for 14.1.3+ & 14.2.0 +# Use non-breaking space - U00a0 - in strings for this to work with 'dialog' +[[ $(cat $TMPVARS/TDEVERSION) != 14.1.2 ]] && { +app_1="Apps/tde-ebook-reader" +about_1="Ebook reader .." +status_1=off +comment_1="\Zb\Z6 \Zn" +} + rm -f $TMPVARS/TDEbuilds dialog --cr-wrap --nocancel --no-shadow --colors --title " TDE Packages Selection " --item-help --checklist \ " @@ -410,6 +419,7 @@ Non-TDE apps are in the Misc category and don't need the \Zb\Zr\Z4R\Znequired TD "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" \ +${app_1:-} ${about_1:-} ${status_1:-} ${comment_1:-} \ "Apps/tde-style-lipstik" "Lipstik theme" off "\Zb\Z6 \Zn" \ "Apps/tde-style-qtcurve" "QtCurve theme" off "\Zb\Z6 \Zn" \ "Apps/tdebluez" "Bluetooth Bluez5 functionality" off "\Zb\Z6 \Zn" \ @@ -516,7 +526,7 @@ ${DLG_BOX:-0 0} ## GCC visibility option ## If tdelibs has been built, the header will exist: -[[ $(grep "KDE_HAVE_GCC_VISIBILITY 1" $(cat $TMPVARS/INSTALL_TDE)/include/kdemacros.h) ]] && \ +[[ $(grep "DE_HAVE_GCC_VISIBILITY 1" $(cat $TMPVARS/INSTALL_TDE)/include/?demacros.h) ]] && \ GCC_VIS_M=ON || GCC_VIS_M=OFF # ## only run this if any of listed Deps or tdelibs has been selected @@ -922,7 +932,7 @@ INST_PACKAGE=yes && [[ $INST == 0 ]] && INST_PACKAGE=no ## If GCC_VIS has been set on the command line, use that value [[ $GCC_VIS ]] && export GCC_VIS || { ## Otherwise, if tdelibs has been built before, the header will exist, so test that, and set GCC_VIS accordingly: -[[ $(grep "KDE_HAVE_GCC_VISIBILITY 1" $INSTALL_TDE/include/kdemacros.h) ]] && \ +[[ $(grep "DE_HAVE_GCC_VISIBILITY 1" $INSTALL_TDE/include/?demacros.h) ]] && \ GCC_VIS=ON || GCC_VIS=OFF ## But, if tdelibs or any listed Deps package is being built, or re-built, override any set value with the dialog output: [[ -s $TMPVARS/GCC_VIS ]] && GCC_VIS=$(cat $TMPVARS/GCC_VIS) diff --git a/Core/tdebase/tdebase.SlackBuild b/Core/tdebase/tdebase.SlackBuild index d300a09..46eab14 100755 --- a/Core/tdebase/tdebase.SlackBuild +++ b/Core/tdebase/tdebase.SlackBuild @@ -132,6 +132,15 @@ sed -i 's|HINTS|&\n /var/www/cgi-bin|' khelpcenter/searchhandlers/CMakeList [[ $TDEVERSION == 14.1.2 ]] && { sed -i 's|MATCHES ";${_lang};" ))|MATCHES ";1;" ))|' cmake/modules/TDEMacros.cmake } +## + a related change to man source directories for development versions +[[ $TDEVERSION != 14.1.2 ]] && { +MAN_SRC_DIR=*/ +} + +## correct test for sudo +sed -i 's|^if( TDESU_BACKEND-NOTFOUND )|if( ${TDESU_BACKEND} STREQUAL "TDESU_BACKEND-NOTFOUND" )|' tdesu/CMakeLists.txt +sed -i 's|endif( TDESU_BACKEND-NOTFOUND )|endif()|' tdesu/CMakeLists.txt +sed -i 's|"sudo su"|sudo|' konsole/other/CMakeLists.txt listdocs_fn @@ -139,12 +148,12 @@ chown_fn cd_builddir_fn -sed -i "s|/etc/trinity|$INSTALL_TDE/share/config|" ../doc/man/{gentdmconf,tdm}.1 +sed -i "s|/etc/trinity|$INSTALL_TDE/share/config|" ../doc/man/${MAN_SRC_DIR:-}{gentdmconf,tdm}.1 [[ $TDE_CNF_DIR == *tde* ]] && \ -sed -i 's|trinity,kde,kde2,kde1|tde|' ../doc/man/*.1 && \ -sed -i 's|trinity|tde|g' ../doc/man/*.1 || \ -sed -i 's|trinity,kde,kde2,kde1|trinity|' ../doc/man/*.1 -sed -i "s|http://bugs.*desktop.org|https://mirror.git.trinitydesktop.org/gitea/TDE/$PRGNAM/issues|" ../doc/man/*.1 +sed -i 's|trinity,kde,kde2,kde1|tde|' ../doc/man/${MAN_SRC_DIR:-}*.1 && \ +sed -i 's|trinity|tde|g' ../doc/man/${MAN_SRC_DIR:-}*.1 || \ +sed -i 's|trinity,kde,kde2,kde1|trinity|' ../doc/man/${MAN_SRC_DIR:-}*.1 +sed -i "s|http://bugs.*desktop.org|https://mirror.git.trinitydesktop.org/gitea/TDE/$PRGNAM/issues|" ../doc/man/${MAN_SRC_DIR:-}*.1 ## kfrontend/CMakeLists.txt runs gentdmconf to set up the tdm configuration files ## - after that, add the TDM configuration README @@ -158,7 +167,7 @@ install( endif( ) ' >> ../tdm/kfrontend/CMakeLists.txt # -sed -i "s|/opt/.*/share/doc/tdm/README.gz|$INSTALL_TDE/share/config/tdm/README-config|" ../doc/man/tdm{,ctl}.1 +sed -i "s|/opt/.*/share/doc/tdm/README.gz|$INSTALL_TDE/share/config/tdm/README-config|" ../doc/man/${MAN_SRC_DIR:-}tdm{,ctl}.1 cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DWITH_ARTS="ON" \ @@ -177,8 +186,8 @@ cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DWITH_SASL="OFF" \ -DWITH_SENSORS="ON" \ -DWITH_SHADOW="ON" \ - -DWITH_SUDO_KONSOLE_SUPER_USER_COMMAND="ON" \ - -DWITH_SUDO_TDESU_BACKEND="ON" \ + -DWITH_SUDO_KONSOLE_SUPER_USER_COMMAND=${W_SUDO:-"OFF"} \ + -DWITH_SUDO_TDESU_BACKEND=${W_SUDO:-"OFF"} \ -DWITH_TDEHWLIB="ON" \ -DWITH_UPOWER="ON" \ -DWITH_XCOMPOSITE="ON" \ @@ -296,27 +305,56 @@ ln -sf xinitrc.tde xinitrc) mkdir -p $PKG/etc/profile.d echo '#!'"/bin/sh + +# Only add TDE PATHs if TDE is the chosen DE +[[ \$(readlink -e /etc/X11/xinit/xinitrc) == *xinitrc.tde ]] && { + # TDE additions: export TDEDIR=$INSTALL_TDE # upgradepkg runs installpkg twice, so test for the second run: -[[ \"\$XDG_CONFIG_DIRS\" != *$INSTALL_TDE/etc/xdg* ]] && { -if [ ! \"\$XDG_CONFIG_DIRS\" = \"\" ]; then - export XDG_CONFIG_DIRS=\$XDG_CONFIG_DIRS:$INSTALL_TDE/etc/xdg -else - export XDG_CONFIG_DIRS=/etc/xdg:$INSTALL_TDE/etc/xdg -fi +[[ \$XDG_CONFIG_DIRS != *$INSTALL_TDE/etc/xdg* ]] && { +export XDG_CONFIG_DIRS=\${XDG_CONFIG_DIRS:-/etc/xdg}:$INSTALL_TDE/etc/xdg } ## Re: https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html ## If XDG_DATA_DIRS is null or unset, the default is /usr/local/share:/usr/share -[[ \$XDG_DATA_DIRS == \"\" ]] && \\ -export XDG_DATA_DIRS=/usr/local/share:/usr/share:$INSTALL_TDE/share || { -[[ \$XDG_DATA_DIRS != *$INSTALL_TDE/share* ]] && \\ -export XDG_DATA_DIRS=\$XDG_DATA_DIRS:$INSTALL_TDE/share +[[ \$XDG_DATA_DIRS != *$INSTALL_TDE/share* ]] && { +export XDG_DATA_DIRS=\${XDG_DATA_DIRS:-/usr/local/share:/usr/share}:$INSTALL_TDE/share } " > $PKG/etc/profile.d/tde.sh +echo ' +# update PATH +# upgradepkg runs installpkg twice, so even though '"$TQTDIR"'/bin might be +# a new PATH, it needs to be tested for the second run to avoid duplication +[[ $PATH != *'"$TQTDIR"'/bin* ]] && PATH='"$TQTDIR"'/bin:$PATH +' >> $PKG/etc/profile.d/tde.sh + +[[ $INSTALL_TDE != $TQTDIR ]] && { +echo ' +[[ $PATH != *'"$INSTALL_TDE"'/bin* ]] && PATH='"$INSTALL_TDE"'/bin:$PATH +' >> $PKG/etc/profile.d/tde.sh +} + +echo ' +# update MANPATH +[[ $MANPATH != */opt/tde/man* ]] && { +export MANPATH=$MANPATH:'"$INSTALL_TDE"'/man +} +' >> $PKG/etc/profile.d/tde.sh + +## set TDEHOME and TDEROOTHOME variables - defaults ~/.trinity and /root/.trinity +[[ $TDE_CNF_DIR == *tde* ]] && { +echo ' +export TDEHOME=~/.tde +export TDEROOTHOME=/root/.tde +' >> $PKG/etc/profile.d/tde.sh +} + +echo '} +' >> $PKG/etc/profile.d/tde.sh + echo '#!'"/bin/csh # TDE additions: if ( ! \$?TDEDIR ) then @@ -479,24 +517,6 @@ config() { config .'"$INSTALL_TDE"'/share/config/tdm/tdmrc.new config .'"$INSTALL_TDE"'/share/config/tdm/backgroundrc.new -# update PATH -# upgradepkg runs installpkg twice, so even though '"$TQTDIR"'/bin might be -# a new PATH, it needs to be tested for the second run -if ! grep '"$TQTDIR"'/bin /etc/profile -then -echo "PATH='"$TQTDIR"'/bin:\$PATH" >> /etc/profile -fi -if ! grep '"$INSTALL_TDE"'/bin /etc/profile -then -echo "PATH='"$INSTALL_TDE"'/bin:\$PATH" >> /etc/profile -fi - -# update MANPATH -if ! grep '"$INSTALL_TDE"'/man /etc/profile -then -echo "export MANPATH=\$MANPATH:'"$INSTALL_TDE"'/man" >> /etc/profile -fi - ## you may not want to do this ## # start a '\''konsole'\'' with system-wide profile [[ ! $(grep -x "source /etc/profile" $HOME/.bashrc ) ]] && echo "source /etc/profile" >> $HOME/.bashrc || true @@ -504,15 +524,6 @@ fi sed -i '\''s|source /etc/profile.d/mc.sh|#source /etc/profile.d/mc.sh|'\'' $HOME/.bashrc || true ' > $PKG/install/doinst.sh -## set TDEHOME and TDEROOTHOME variables - defaults ~/.trinity and /root/.trinity -[[ $TDE_CNF_DIR == *tde* ]] && { -echo "# upgradepkg runs installpkg twice, so firstly remove any previous TDE*HOME entries -sed -i '/TDE.*HOME/d' /etc/profile -echo 'export TDEHOME=~/.tde' >> /etc/profile -echo 'export TDEROOTHOME=/root/.tde' >> /etc/profile -" >> $PKG/install/doinst.sh -} - ## Set up doinst.sh according to the TDM options selected [[ $(cat $TMPVARS/RUNLEVEL) == *rc4l* ]] && { echo '## login manager TDM selected @@ -526,7 +537,6 @@ sed -i 's|id:[1-5]|id:4|' etc/inittab " >> $PKG/install/doinst.sh } - doinst_sh_fn ############################################################################## diff --git a/Core/tdegraphics/tdegraphics.SlackBuild b/Core/tdegraphics/tdegraphics.SlackBuild index ec41e03..a6def10 100755 --- a/Core/tdegraphics/tdegraphics.SlackBuild +++ b/Core/tdegraphics/tdegraphics.SlackBuild @@ -110,6 +110,10 @@ sed -i 's|tqt_TQOBJECT|TQT_TQOBJECT_H|' kmrml/kmrml/kcontrol/mainpage.cpp sed -i 's|TQT_|TQ_|g' kmrml/kmrml/*.cpp sed -i 's|TQT_|TQ_|' kmrml/kmrml/server/*.cpp # +[[ $TDEVERSION == 14.1.x ]] && { +sed -i 's|KDE_EXPORT|TDE_EXPORT|' kmrml/kmrml/*.cpp +sed -i 's|KDE_EXPORT|TDE_EXPORT|' kmrml/kmrml/server/*.cpp +} ## display deprecation message sed -i 's|AUTHOR_WARNING|WARNING|' kmrml/CMakeLists.txt } diff --git a/Core/tdelibs/tdelibs.SlackBuild b/Core/tdelibs/tdelibs.SlackBuild index ab1e447..6eff770 100755 --- a/Core/tdelibs/tdelibs.SlackBuild +++ b/Core/tdelibs/tdelibs.SlackBuild @@ -136,6 +136,10 @@ patch -N -p0 << EOF || true + EOF +## correct test for sudo +sed -i 's|^if( TDESU_BACKEND-NOTFOUND )|if( ${TDESU_BACKEND} STREQUAL "TDESU_BACKEND-NOTFOUND" )|' CMakeLists.txt +sed -i 's|endif( TDESU_BACKEND-NOTFOUND )|endif()|' CMakeLists.txt + listdocs_fn chown_fn @@ -155,6 +159,7 @@ pkg-config jasper && JASPER="ON" ## just show message without failing if no spell checker is installed sed -i 's|tde_message_fatal( "Spell checker|message( "Spell checker|' ../CMakeLists.txt +[[ $TDEVERSION != 14.1.2 ]] && pkg-config libwebp && W_WEBP=-DWITH_WEBP=ON cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DDEFAULT_SPELL_CHECKER=${DEF_SP_CHKR:-"ASPELL"} \ -DTDE_MALLOC="OFF" \ @@ -190,7 +195,7 @@ cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DWITH_PCSC="OFF" \ -DWITH_PKCS="OFF" \ -DWITH_SSL="ON" \ - -DWITH_SUDO_TDESU_BACKEND="ON" \ + -DWITH_SUDO_TDESU_BACKEND=${W_SUDO:-"OFF"} \ -DWITH_TDEHWLIB="ON" \ -DWITH_TDEHWLIB_DAEMONS="ON" \ -DWITH_TDEICONLOADER_DEBUG="OFF" \ @@ -200,6 +205,7 @@ cmake ${G_NINJA:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DWITH_UDISKS="ON" \ -DWITH_UPOWER="OFF" \ -DWITH_UTEMPTER="OFF" \ + ${W_WEBP:-} \ -DWITH_XCOMPOSITE="ON" \ -DWITH_XRANDR="ON" diff --git a/Deps/tqt3/tqt3.SlackBuild b/Deps/tqt3/tqt3.SlackBuild index 4a85fc9..2d09253 100755 --- a/Deps/tqt3/tqt3.SlackBuild +++ b/Deps/tqt3/tqt3.SlackBuild @@ -54,9 +54,6 @@ echo $'--- mkspecs/linux-g++/qmake.conf @@ -29 +29 @@ -QMAKE_CXX = g++ +QMAKE_CXX = $(COMPILER_CXX) -@@ -40 +40 @@ --QMAKE_INCDIR = -+QMAKE_INCDIR = $(TQTDIR)/include/tqt @@ -42,2 +42,2 @@ -QMAKE_INCDIR_X11 = /usr/X11R6/include -QMAKE_LIBDIR_X11 = /usr/X11R6/lib @@ -66,7 +63,7 @@ echo $'--- mkspecs/linux-g++/qmake.conf -QMAKE_LIBDIR_TQT = $(TQTDIR)/lib -QMAKE_INCDIR_OPENGL = /usr/X11R6/include -QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib -+QMAKE_LIBDIR_TQT = $(TQTDIR)/lib'"$LIBDIRSUFFIX"$' ++QMAKE_LIBDIR_TQT = $(TQTDIR)/lib'"$LIBDIRSUFFIX"$' +QMAKE_INCDIR_OPENGL = /usr/include/GL +QMAKE_LIBDIR_OPENGL = /usr/lib'"$LIBDIRSUFFIX"$' @@ -49,2 +49,2 @@ @@ -164,7 +161,7 @@ echo "yes" | \ #| cc1plus: error: one or more PCH files were found, but they were invalid #| : fatal error: tqtdesignercore: No such file or directory ## Not a fatal error causing a build failure - qmake_image_collection.o compiles later -## at its correct position in the Makefile OBJECTS list - but it's misleading +## at its correct position in the Makefile OBJECTS list - but the error message is misleading sed -i 's|./qmake_image_collection.o:.*$|& tqtdesignercore.gch/c++|' tools/designer/designer/Makefile ## don't build tutorial and examples which won't be installed because the release version is being built @@ -185,57 +182,72 @@ rm bin/tqm2ts installdocs_fn +## Ref issue #37 +## Set up tqt3.sh to add TDE PATHs only if xinitrc -> xinitrc.tde mkdir -p $PKG/etc/profile.d # echo '#!'"/bin/sh + +# Only add TDE PATHs if TDE is set as the chosen DE +[[ \$(readlink -e /etc/X11/xinit/xinitrc) == *xinitrc.tde ]] && { + # Environment path variable for the tQt package. export TQTDIR=$TQTDIR " > $PKG/etc/profile.d/tqt3.sh + +echo "echo '# Add TDE library directory: +$INSTALL_TDE/lib$LIBDIRSUFFIX +' > /etc/ld.so.conf.d/tqt3.conf +" >> $PKG/etc/profile.d/tqt3.sh + +[[ $TQTDIR != $INSTALL_TDE ]] && { +echo "echo '# Add TQT library directory: +$TQTDIR/lib$LIBDIRSUFFIX +' >> /etc/ld.so.conf.d/tqt3.conf +" >> $PKG/etc/profile.d/tqt3.sh +} + +[[ $(cat $TMPVARS/PKG_CONFIG_PATH_MOD) != set ]] && PC_HASH="#" +echo " +# Update PKG_CONFIG_PATH for TDE: +# +## add path for INSTALL_TDE .. +[[ \$PKG_CONFIG_PATH != *$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\ +PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig +## .. and for TQTDIR if different" >> $PKG/etc/profile.d/tqt3.sh + +[[ $TQTDIR != $INSTALL_TDE ]] && \ +echo "[[ \$PKG_CONFIG_PATH != *$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\ +PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig" >> $PKG/etc/profile.d/tqt3.sh + +echo "# +## remove duplicated paths: +${PC_HASH:-}PKG_CONFIG_PATH=\$(echo \$PKG_CONFIG_PATH| tr : \\\\n | awk '!seen[\$0]++' | tr \\\\n :|sed 's|:\$||') # +export PKG_CONFIG_PATH +} || { +[[ -e /etc/ld.so.conf.d/tqt3.conf ]] && { +echo '# TDE library directory to be added: +' > /etc/ld.so.conf.d/tqt3.conf +} +}" >> $PKG/etc/profile.d/tqt3.sh + +## set up a placeholder file to enable removal with removepkg - +## contents will be added from tqt3.sh +mkdir -p $PKG/etc/ld.so.conf.d +echo '# Placeholder - TDE library directory to be added: +' > $PKG/etc/ld.so.conf.d/tqt3.conf + echo '#!'"/bin/csh # Environment path variable for the tQt package: setenv TQTDIR $TQTDIR " > $PKG/etc/profile.d/tqt3.csh -# -chmod 755 $PKG/etc/profile.d/* strip_fn mkdir_install_fn -# Add this to the doinst.sh: cat <> $PKG/install/doinst.sh -# Add TDE library directory: -[[ \$(cat etc/ld.so.conf|head -n1) != $INSTALL_TDE/lib$LIBDIRSUFFIX ]] && \ -sed -i "1i $INSTALL_TDE/lib$LIBDIRSUFFIX" etc/ld.so.conf - -# Add TQt library directory: -[[ \$(cat etc/ld.so.conf|head -n1) != $TQTDIR/lib$LIBDIRSUFFIX ]] && \ -sed -i "1i $TQTDIR/lib$LIBDIRSUFFIX" etc/ld.so.conf - -[[ -x /sbin/ldconfig ]] && /sbin/ldconfig - -EOINS - -[[ $(cat $TMPVARS/PKG_CONFIG_PATH_MOD) != set ]] && PC_HASH="#" -cat <> $PKG/install/doinst.sh -## This could be a rebuild or upgradepkg running installpkg twice, -## so delete any previous routine -sed -i '/Update PKG_CONFIG_PATH for TDE/,+11d' etc/profile.d/pkgconfig.sh - -echo '# Update PKG_CONFIG_PATH for TDE: -## remove duplicated paths: -${PC_HASH:-}PKG_CONFIG_PATH=\$(echo \$PKG_CONFIG_PATH| tr : \\\\n | awk '"'!seen[\\\$0]++'"' | tr \\\\n :|sed '"'s|:\$||'"') -# -## add path for INSTALL_TDE .. -[[ ! \$PKG_CONFIG_PATH == *$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\ -PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig -## .. and for TQTDIR if different -[[ ! \$PKG_CONFIG_PATH == *$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\ -PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig -# -export PKG_CONFIG_PATH' >> etc/profile.d/pkgconfig.sh - ## csh # Update PKG_CONFIG_PATH: [[ ! \$( grep $INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig etc/profile.d/pkgconfig.csh ) ]] && \\ @@ -244,6 +256,17 @@ sed -i "s|pkgconfig$|pkgconfig:$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig|" etc/pro sed -i "s|pkgconfig$|pkgconfig:$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig|" etc/profile.d/pkgconfig.csh EOINS +chmod 755 $PKG/etc/profile.d/* + +# Add this to the doinst.sh: +cat <> $PKG/install/doinst.sh +# May need to add ld.so.conf.d to /etc/ld.so.conf for Slackware 14.2 users: +[[ ! \$(grep ld.so.conf.d /etc/ld.so.conf) ]] && \\ +sed -i '1 i include /etc/ld.so.conf.d/*.conf' /etc/ld.so.conf + +[[ -x /sbin/ldconfig ]] && /sbin/ldconfig +EOINS + doinst_sh_fn echo " diff --git a/Misc/graphviz/graphviz.SlackBuild b/Misc/graphviz/graphviz.SlackBuild index a880142..6e4507e 100755 --- a/Misc/graphviz/graphviz.SlackBuild +++ b/Misc/graphviz/graphviz.SlackBuild @@ -26,7 +26,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=graphviz -VERSION=10.0.1 +VERSION=12.1.1 BUILD=${BUILD:-1} TAG=${TAG:-} diff --git a/Misc/imlib2/imlib2.SlackBuild b/Misc/imlib2/imlib2.SlackBuild index 6fd00d4..f631209 100755 --- a/Misc/imlib2/imlib2.SlackBuild +++ b/Misc/imlib2/imlib2.SlackBuild @@ -21,7 +21,7 @@ # SUCH DAMAGE. PRGNAM=imlib2 -VERSION=1.12.2 +VERSION=1.12.3 BUILD=${BUILD:-1} TAG=${TAG:-} diff --git a/Misc/xmedcon/xmedcon.SlackBuild b/Misc/xmedcon/xmedcon.SlackBuild index c62895a..2c6dbd6 100755 --- a/Misc/xmedcon/xmedcon.SlackBuild +++ b/Misc/xmedcon/xmedcon.SlackBuild @@ -25,7 +25,7 @@ # # PRGNAM=xmedcon -VERSION=0.23.0 +VERSION=0.24.0 BUILD=${BUILD:-1} TAG=${TAG:-} diff --git a/README.md b/README.md index 6af3919..1d85c1e 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,11 @@ If you're curious about what this might involve, [take a look at a sample build URLs for this and other locations are @ https://www.trinitydesktop.org/mirrorstatus.php * BUILD= - sets the package build identifier, overriding the SlackBuild default of 1 * GCC_VIS=0 - override setting gcc visibility if it has been set ON in tdelibs -* FEAT= - test a pre-merge feature for development builds - see get-source.sh +* FEAT= - test a pre-merge feature for development builds - see notes in get-source.sh * build_regextester=[yp] - build the regex tester from the tqt3 example - see the tqt3 README * mailmerge=n - build kword without mailmerge - see the koffice README and SlackBuild * KP_BTN=n - build ksnapshot without the dedicated KolourPaint button - see the tdegraphics README and SlackBuild - +* W_SUDO=ON - set backends for using sudo as the super user command [default is su] --- ***The directory structure*** for the SlackBuild scripts is in line with the Trinity release source repositories: @@ -134,6 +134,8 @@ Includes: [4] The README for a [native build for Raspberry Pi3](./README-Raspberry-Pi3.md) is out-of-date and cross compiling is a better option. +[5] The options for including features into any build are detailed in the *.SlackBuild - under `../configure` or `cmake -D*`. Those chosen in these scripts are a selection which work for my builds, so if your installation requires a different set of options, the *.SlackBuild should be edited for the option[s] required. + --- See https://wiki.trinitydesktop.org/How_to_Build_TDE_Core_Modules for more information diff --git a/get-source.sh b/get-source.sh index 0fdb5eb..8ea9f56 100755 --- a/get-source.sh +++ b/get-source.sh @@ -275,22 +275,37 @@ cd $BUILD_TDE_ROOT/src/cgit/$PRGNAM/ echo -e "\n copying $PRGNAM git sources to build area ... \n" ## remove any old .git/worktrees records - only being used here as a build source rm -rf .git/worktrees/* -## use FEAT as a command line option to checkout any other development branch .. +## Use FEAT as a command line option to checkout any other development branch .. ## .. plus FEATa for admin, FEATc for cmake if required git worktree add -f $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/ ${FEAT:-$DEV_BRANCH} - cd ../admin echo -e "\n copying admin git sources to build area ... \n" rm -rf .git/worktrees/* git worktree add -f $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/admin/ ${FEATa:-$DEV_BRANCH} - cd ../cmake echo -e "\n copying cmake git sources to build area ... \n" rm -rf .git/worktrees/* git worktree add -f $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/cmake/ ${FEATc:-$DEV_BRANCH} +echo -e "\033[39;1m" +## The FEAT commits are based on master branch, so +## rebase the FEAT master branch commit onto the +## r14.1.x branch where that is being built +[[ ${FEAT:-} ]] && feat=${FEAT:-} +[[ ${FEATa:-} ]] && feat=${FEATa:-} && cm_ad=admin/ +[[ ${FEATc:-} ]] && feat=${FEATc:-} && cm_ad=cmake/ +[[ ${feat:-} != "" && $DEV_BRANCH == r14.1.x ]] && { +( cd $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/${cm_ad:-} +git rebase --onto r14.1.x master $feat +) || { echo -e "\033[39;1m + rebasing $feat onto the r14.1.x branch failed + - try doing a 14.2.0 build instead +\033[0m" ; exit 1 ; } +} +echo -e "\033[0m" + [[ " arts tdelibs " == *$PRGNAM* ]] && { cd ../libltdl echo -e "\n copying libltdl git sources to build area ... \n"