diff --git a/Apps/k3b/README b/Apps/k3b/README index 651c3a3..6255ab7 100644 --- a/Apps/k3b/README +++ b/Apps/k3b/README @@ -1,16 +1,15 @@ -The checks for musepack and musicbrainz installed are done based on: +The k3b build includes options for the musepack decoder and musicbrainz. +The old versions required are: Musepack """""""" -The musepack decoder was built with gcc11.2 and libmpcdec source +The libmpcdec source for the musepack decoder https://files.musepack.net/source/libmpcdec-1.2.6.tar.bz2 -with default prefix /usr/local -and ./configure --libdir=/usr/local/lib64 --disable-static Musicbrainz """"""""""" -Libmusicbrainz 2.1.5 was built with the SBo libmusicbrainz script with gcc7.3 and Archlinux patch to fix gcc6 errors - https://bugs.archlinux.org/task/50754?getfile=14619 +The libmusicbrainz-2.1.5 source +http://ftp.musicbrainz.org/pub/musicbrainz/historical/libmusicbrainz-2.1.5.tar.gz - -Later versions cause FTBFS errors, either with gcc or k3b. +If these are placed in the 'src' directory, the packages will be built and installed during the k3b build. diff --git a/Apps/k3b/k3b.SlackBuild b/Apps/k3b/k3b.SlackBuild index 7cb0377..a75308b 100755 --- a/Apps/k3b/k3b.SlackBuild +++ b/Apps/k3b/k3b.SlackBuild @@ -32,6 +32,131 @@ TAG=${TAG:-_tde} source ../../get-source.sh getsource_fn +# Check for ffmpeg: +pkg-config libavcodec && FFMPEG="ON" +# Check for lame: +ldconfig -p|grep libmp3lame 1>/dev/null && LAME="ON" # [use ldconfig - no .pc file] + +# Check for musepack: +[[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && { +# ### musepack - start +musepack_installed_fn () { ldconfig -p|grep libmpcdec 1>/dev/null ;} # [use ldconfig - no .pc file] +## If it's already installed, go to MUSEPACK="ON" +musepack_installed_fn || { +## otherwise, if the source archive is in 'src' .. +[[ -s $BUILD_TDE_ROOT/src/libmpcdec-1.2.6.tar.bz2 ]] && { +## .. build, package, and install it +( +echo -e "\n building musepack decoder \n" + +cd /$TMP_BUILD +rm -rf *libmpcdec* +tar xf $BUILD_TDE_ROOT/src/libmpcdec-1.2.6.tar.bz2 +cd libmpcdec-1.2.6/ + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure --libdir=\${exec_prefix}/lib${LIBDIRSUFFIX} --disable-static + +make +DESTDIR=$TMP_BUILD/package-libmpcdec make install-strip + +cd $TMP_BUILD/package-libmpcdec +makepkg -l y -c n $OUTPUT/libmpcdec-1.2.6-$ARCH-$BUILD.txz +installpkg $OUTPUT/libmpcdec-1.2.6-$ARCH-$BUILD.txz +) +musepack_installed_fn || { echo -e " installation of musepack decoder failed \n" ; exit 1 ; } +touch $TMPVARS/k3b-opts-built +} +} && \ +MUSEPACK="ON" +# ### musepack - end +} + +# Check for musicbrainz: +[[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && { +# ### musicbrainz - start +musicbrainz_installed_fn () { pkg-config libmusicbrainz ;} +## If it's already installed, go to MUSICBRAINZ="ON" +musicbrainz_installed_fn || { +## otherwise, if the source archive is in 'src' .. +[[ -s $BUILD_TDE_ROOT/src/libmusicbrainz-2.1.5.tar.gz ]] && { +## .. build, package, and install it +( +echo -e "\n building libmusicbrainz \n" + +cd /$TMP_BUILD +rm -rf *libmusicbrainz* +tar xf $BUILD_TDE_ROOT/src/libmusicbrainz-2.1.5.tar.gz +cd libmusicbrainz-2.1.5/ + +## patch for string.h - thanks to SBo - see https://slackbuilds.org/slackbuilds/14.2/libraries/libmusicbrainz/libmusicbrainz-2.1.5-include_stringh.patch +echo $'--- lib/c_wrapper.cpp ++++ lib/c_wrapper.cpp +@@ -23,0 +24 @@ ++#include +--- lib/comhttpsocket.cpp ++++ lib/comhttpsocket.cpp +@@ -21,0 +22 @@ ++#include +--- lib/comsocket.cpp ++++ lib/comsocket.cpp +@@ -39,0 +40 @@ ++#include +--- lib/http.cpp ++++ lib/http.cpp +@@ -26,0 +27 @@ ++#include +--- lib/sigclient.cpp ++++ lib/sigclient.cpp +@@ -35,0 +36 @@ ++#include +' | patch -p0 + +## patch for gcc6 - thanks to Archlinux - see https://bugs.archlinux.org/task/50754?getfile=14619 +echo $'--- lib/sigclient.cpp ++++ lib/sigclient.cpp +@@ -42,4 +42,4 @@ +-char tooShortTRM[] = { 0xf9, 0x80, 0x9a, 0xb1, 0x2b, 0x0f, 0x4d, 0x78, +- 0x88, 0x62, 0xfb, 0x42, 0x5a, 0xde, 0x8a, 0xb9 }; +-char sigserverBusyTRM[] = { 0xc4, 0x57, 0xa4, 0xa8, 0xb3, 0x42, 0x4e, 0xc9, +- 0x8f, 0x13, 0xb6, 0xbd, 0x26, 0xc0, 0xe4, 0x00 }; ++char tooShortTRM[] = { (char)0xf9, (char)0x80, (char)0x9a, (char)0xb1, (char)0x2b, (char)0x0f, (char)0x4d, (char)0x78, ++ (char)0x88, (char)0x62, (char)0xfb, (char)0x42, (char)0x5a, (char)0xde, (char)0x8a, (char)0xb9 }; ++char sigserverBusyTRM[] = { (char)0xc4, (char)0x57, (char)0xa4, (char)0xa8, (char)0xb3, (char)0x42, (char)0x4e, (char)0xc9, ++ (char)0x8f, (char)0x13, (char)0xb6, (char)0xbd, (char)0x26, (char)0xc0, (char)0xe4, (char)0x00 }; +--- lib/signature.cpp ++++ lib/signature.cpp +@@ -48,2 +48,2 @@ +-char silenceTRM[] = { 0x7d, 0x15, 0x4f, 0x52, 0xb5, 0x36, 0x4f, 0xae, +- 0xb5, 0x8b, 0x06, 0x66, 0x82, 0x6c, 0x2b, 0xac, 0x00 }; ++char silenceTRM[] = { (char)0x7d, (char)0x15, (char)0x4f, (char)0x52, (char)0xb5, (char)0x36, (char)0x4f, (char)0xae, ++ (char)0xb5, (char)0x8b, (char)0x06, (char)0x66, (char)0x82, (char)0x6c, (char)0x2b, (char)0xac, (char)0x00 }; +' | patch -p0 + +## work-around for gcc11+ - see https://gcc.gnu.org/gcc-11/porting_to.html +[[ $(gcc --version) == *1[1-9]* ]] && CXXFLAGS_="-std=gnu++14" + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS ${CXXFLAGS_:-}" \ +./configure --libdir=\${exec_prefix}/lib${LIBDIRSUFFIX} --disable-static + +make +DESTDIR=$TMP_BUILD/package-libmusicbrainz make install-strip + +cd $TMP_BUILD/package-libmusicbrainz +makepkg -l y -c n $OUTPUT/libmusicbrainz-2.1.5-$ARCH-$BUILD.txz +installpkg $OUTPUT/libmusicbrainz-2.1.5-$ARCH-$BUILD.txz +) +musicbrainz_installed_fn || { echo -e " installation of Musicbrainz failed \n" ; exit 1 ; } +touch $TMPVARS/k3b-opts-built +} +} && \ +MUSICBRAINZ="ON" +# ### musicbrainz - end +} +[[ -e $TMPVARS/k3b-opts-built ]] && echo -e "\n now building k3b \n" && rm $TMPVARS/k3b-opts-built + untar_fn ## using cmake common rules @@ -58,15 +183,6 @@ chown_fn cd_builddir_fn -# Check for ffmpeg: -pkg-config libavcodec && FFMPEG="ON" -# Check for lame [no .pc file]: -ldconfig -p|grep libmp3lame 1>/dev/null && LAME="ON" -# Check for musepack [no .pc file]: -ldconfig -p|grep libmpcdec 1>/dev/null && MUSEPACK="ON" -# Check for musicbrainz: -pkg-config libmusicbrainz && MUSICBRAINZ="ON" - cmake ${G_NINJA:-} \ -DCMAKE_C_FLAGS="$SLKRCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKRCFLAGS" \ diff --git a/Apps/klamav/README b/Apps/klamav/README new file mode 100644 index 0000000..9c276ba --- /dev/null +++ b/Apps/klamav/README @@ -0,0 +1,8 @@ +klamav needs clamav as a build time requirement + +Download from: +https://www.clamav.net/downloads/production/clamav-0.103.3.tar.gz + +If using wget, include a user agent otherwise '403 Forbidden' is returned. +For example, wget --user-agent='Mozilla' + diff --git a/Apps/klamav/klamav.SlackBuild b/Apps/klamav/klamav.SlackBuild index f1c1aed..2e2e2a3 100644 --- a/Apps/klamav/klamav.SlackBuild +++ b/Apps/klamav/klamav.SlackBuild @@ -95,7 +95,7 @@ echo -e "\n returning to building klamav \n" clamav_installed_fn || { echo -e "\033[39;1m"" ## installation of clamav failed ##\n""\033[0m" ; exit 1 ; } } || { ## .. but if the source archive isn't in 'src', display message .. echo -e "\n ############ \n\n\033[39;1m clamav is not installed and is required for this build \n - Download \033[0m [including user-agent, otherwise returns '403 Forbidden']: + Download \033[0m [including user-agent, otherwise '403 Forbidden' is returned]: \n \033[39;1m wget -O $BUILD_TDE_ROOT/src/clamav-0.103.3.tar.gz --user-agent='Mozilla' https://www.clamav.net/downloads/production/clamav-0.103.3.tar.gz \033[0m \n and re-run this script .. \n\n ############ \n" ; exit 1 ; } } diff --git a/Apps/koffice/README b/Apps/koffice/README new file mode 100644 index 0000000..f20682b --- /dev/null +++ b/Apps/koffice/README @@ -0,0 +1,7 @@ +libpng14 is an optional build requirement for koffice. + +The source will be downloaded if selected with the koffice build, and on-line. + +Otherwise, download to the 'src' directory: +https://downloads.sourceforge.net/project/libpng/libpng14/1.4.22/libpng-1.4.22.tar.xz + diff --git a/BUILD-TDE.sh b/BUILD-TDE.sh index 7545f5b..68641ce 100755 --- a/BUILD-TDE.sh +++ b/BUILD-TDE.sh @@ -661,15 +661,16 @@ sed -i 's|Apps/koffice|Misc/libpng &|' $TMPVARS/TDEbuilds ## only run this if kvkbd has been selected rm -f $TMPVARS/Kvkbd_OPTS [[ $(grep -o kvkbd $TMPVARS/TDEbuilds) ]] && { -## the default exit status for the extra button is 3 - exit 2 from a help button is needed for Kvkbd_OPTS +## the extra button is used because its default exit status is 3 - the help button gives exit 2 which is needed to direct the output to Kvkbd_OPTS EXITVAL=3 until [[ $EXITVAL -lt 2 ]] ; do dialog --cr-wrap --nocancel --no-shadow --extra-button --extra-label "README" --colors --title " Kvkbd options " --checklist \ " See the README for further details .. -[1] Use Win keys either as modifier keys, -                     or to print characters set with xmodmap. +[1] Use Win keys +    either as modifier keys, +        or to print characters set with xmodmap. [2] Alternative text on the num pad keys. @@ -678,7 +679,7 @@ See the README for further details .. [4] Show blank keys where AltGr doesn't produce a character. " \ -23 75 4 \ +24 75 4 \ " Winlock" "Win keys as modifier keys" off \ " numpad" "replace default text" on \ " icons" "use small icons" on \ diff --git a/Core/tdeedu/README b/Core/tdeedu/README index d566ac1..7d05880 100644 --- a/Core/tdeedu/README +++ b/Core/tdeedu/README @@ -1,6 +1,10 @@ The Kalzium Chemical Equation Solver needs OCaml, and the FaCiLe module. -tdeedu.SlackBuild checks whether ocaml *and* facile are installed. If not, and the source archives are in the 'src' directory, they are then built, packages created, and installed. +tdeedu.SlackBuild checks whether ocaml *and* facile are installed. If not, and the source archives are in the 'src' directory, they are then built, packaged, and installed. + +Download from: +https://github.com/ocaml/ocaml/archive/4.05.0.tar.gz +http://www.recherche.enac.fr/opti/facile/distrib/facile-1.1.3.tar.gz As I'm not aware of any other uses, the builds have not been added to the build list and the source archives will have to be downloaded manually prior to the build. I believe that ocaml and facile are only build-time requirements and if so can be removed when the tdeedu build has completed - but won't know for sure until the crash has been fixed. diff --git a/Core/tdeedu/tdeedu.SlackBuild b/Core/tdeedu/tdeedu.SlackBuild index fe6a1c9..cba7682 100755 --- a/Core/tdeedu/tdeedu.SlackBuild +++ b/Core/tdeedu/tdeedu.SlackBuild @@ -55,8 +55,8 @@ 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-x86_64-1.txz -installpkg $OUTPUT/ocaml-4.05.0-x86_64-1.txz +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" @@ -72,8 +72,8 @@ 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-x86_64-1.txz -installpkg $OUTPUT/facile-1.1.3-x86_64-1.txz +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 ; } diff --git a/Misc/inkscape/README b/Misc/inkscape/README index 7a37eff..09ca68a 100644 --- a/Misc/inkscape/README +++ b/Misc/inkscape/README @@ -2,5 +2,8 @@ Inkscape v1* requires the non-Slackware package double-conversion. The source will need to be pre-downloaded and placed in the 'src' directory and will then be built, packaged, and installed during the inkscape build. +Download from: +https://github.com/google/double-conversion/archive/v3.1.5.tar.gz + The URL will be displayed when running the SlackBuild if the installation or source isn't found. diff --git a/README.md b/README.md index 7dc20d6..93558ba 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ which will build the release version 14.0.11, or the development versions 14.0.x The Required packages will need to be installed as they are built, because they provide dependencies for other TDE packages. -Only building the packages is a global option. It therefore can't be used where the build list includes packages which will need to be installed as dependencies for other packages in the build list [for example tdesdk needs tdepim to be installed]. - Any package, or set of packages, can be selected in the 'TDE Packages Selection' screen. Information about dependencies for some packages has been added at the bottom of the dialog screen. +Only building the packages is a global option. It therefore can't be used where the build list includes packages which will need to be installed as dependencies for other packages in the build list [for example tdesdk needs tdepim to be installed]. + 14.0.11 source archives will be downloaded from a geoIP located mirror site, or the development sources [14.0.x/14.1.0] cloned or updated from trinitydesktop gitea. Downloading can be done pre-build [useful for an off-line build], or during the build. @@ -54,6 +54,9 @@ get-source.sh - a chunk of common code for the SlackBuilds ``` There is an override in the Misc SlackBuilds for non-trinity source archive URLs. Non-trinity builds have been included where a TDE package requires a dependency that is not in Slackware, or where it's an alternative to a TDE package. +Some SlackBuilds require non-Slackware packages which aren't in the build list. These can be added to the build if they are not already installed by downloading the source archives to the 'src' directory. They will then be built and installed during the xxx.SlackBuild. +See the READMEs in Core/tdeedu, Apps/k3b, Apps/klamav, Apps/koffice and Misc/inkscape for details, which can also be viewed while running ./BUILD-TDE.sh. + --- ***Required packages*** for a basic working TDE are: @@ -126,11 +129,6 @@ 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] Building the kalzium equation solver needs ocaml and facile installed. They will be built, packaged, and installed during the tdeedu build if the source archives are pre-downloaded to the 'src' directory. -https://github.com/ocaml/ocaml/archive/4.05.0.tar.gz -http://www.recherche.enac.fr/opti/facile/distrib/facile-1.1.3.tar.gz -Further details are in the tdeedu README. - --- See https://wiki.trinitydesktop.org/How_to_Build_TDE_Core_Modules for more information