diff --git a/BUILD-TDE.sh b/BUILD-TDE.sh index 5e4f1c0..461941f 100755 --- a/BUILD-TDE.sh +++ b/BUILD-TDE.sh @@ -8,6 +8,8 @@ if [ ! -d $TMPVARS ]; then mkdir -p $TMPVARS fi +rm $TMPVARS/got-this-far ## testing + dialog --cr-wrap --no-shadow --colors --title " Introduction " --msgbox \ " This is the set up script for TDE SlackBuilds on Slackware 14.2/current for setting user preferences and options. @@ -70,7 +72,7 @@ build_core() export INST=1 TMP=${TMP:-/tmp} export LIBPNG_TMP=$TMP -ROOT=$(pwd) +export BUILD_TDE_ROOT=$(pwd) ################################################### @@ -81,31 +83,40 @@ ROOT=$(pwd) run_dialog() { rm -f $TMPVARS/TDEVERSION -dialog --cr-wrap --nocancel --no-shadow --colors --title " TDE Version " --inputbox \ +dialog --cr-wrap --nocancel --no-shadow --colors --title " TDE Version " --menu \ " Set the version of TDE to be built. + " \ -10 75 R14.0.4 \ +12 75 2 \ +"R14.0.4" "the latest released version" \ +"cgit" "development source from Trinity git" \ 2> $TMPVARS/TDEVERSION rm -f $TMPVARS/INSTALL_TDE -dialog --cr-wrap --nocancel --no-shadow --colors --title " TDE Installation Directory " --inputbox \ +dialog --cr-wrap --defaultno --no-shadow --colors --cancel-label "/opt/trinity" --ok-label "/usr" --title " TDE Installation Directory " --inputbox \ " -Set the directory that TDE is to be installed in. +Select the directory that TDE is to be installed in, \Zb\Zr\Z4\Zn. + +Use any arrow key x2 to activate the input box to edit for another installation directory. + " \ -10 75 /opt/trinity \ +14 75 /usr \ 2> $TMPVARS/INSTALL_TDE +[[ $? == 1 ]] && echo /opt/trinity > $TMPVARS/INSTALL_TDE rm -f $TMPVARS/COMPILER -dialog --cr-wrap --no-shadow --colors --yes-label "Clang" --no-label "Gcc" --defaultno --title " Compiler " --yesno \ +dialog --cr-wrap --nocancel --no-shadow --colors --title " Compiler " --menu \ " -Choose which compiler to use - <\Z1C\Zb\Z0lang/clang++\Zn> or \Zr\Z4\ZbGcc/g++\Zn +Choose which compiler to use. + " \ -8 75 -[[ $? == 0 ]] && echo clang > $TMPVARS/COMPILER -[[ $? == 1 ]] && echo gcc > $TMPVARS/COMPILER +12 75 2 \ +"gcc" "gcc/g++" \ +"clang" "clang/clang++" \ +2> $TMPVARS/COMPILER rm -f $TMPVARS/SET_MARCH @@ -496,13 +507,13 @@ There are three options that can be set up for building the imaging app in koffi " useGM" "Use GraphicsMagick" on "\Zb\Z6 \Zn" \ 2> $TMPVARS/Krita_OPTS ## If GM has been selected and isn't in the build list or installed, add it to the build list before koffice -GM_VERSION=$(grep VERSION:- $ROOT/Misc/GraphicsMagick/GraphicsMagick.SlackBuild|cut -d- -f2|cut -d} -f1) +GM_VERSION=$(grep VERSION:- $BUILD_TDE_ROOT/Misc/GraphicsMagick/GraphicsMagick.SlackBuild|cut -d- -f2|cut -d} -f1) [[ $(cat $TMPVARS/Krita_OPTS) == *useGM* ]] && \ [[ $(cat $TMPVARS/TDEbuilds) != *GraphicsMagick* ]] && \ [[ ! $(ls /var/log/packages/GraphicsMagick-$GM_VERSION*) ]] && \ sed -i 's|Apps/koffice|Misc/GraphicsMagick &|' $TMPVARS/TDEbuilds ## If libpng-1.4 has been selected and hasn't already been built, add it to the build list before koffice -PNG_VERSION=$(grep VERSION:- $ROOT/Misc/libpng/libpng.SlackBuild|cut -d- -f2|cut -d} -f1) +PNG_VERSION=$(grep VERSION:- $BUILD_TDE_ROOT/Misc/libpng/libpng.SlackBuild|cut -d- -f2|cut -d} -f1) [[ $(cat $TMPVARS/Krita_OPTS) == *libpng14* ]] && \ [[ ! $(ls $LIBPNG_TMP/libpng-$PNG_VERSION-*-1.txz) ]] && \ sed -i 's|Apps/koffice|Misc/libpng &|' $TMPVARS/TDEbuilds @@ -536,6 +547,30 @@ Do you want to read them? $(cat $TMPVARS/READMEs)" \ 30 75 } + + +[[ $(cat $TMPVARS/TDEVERSION) == cgit ]] && { +rm -f $TMPVARS/CGIT +dialog --cr-wrap --no-shadow --colors --defaultno --title " TDE development build " --yesno \ +" +This routine creates and updates the git repositories local copies. + +If this is a first run, answer 'yes' - be patient, downloads from git are slowwww... + +For subsequent runs, 'yes' will update only. + +Local repositories are created/updated as for the single downloads for R14.0.4 builds. +If the current build list includes new apps, and you don't want the existing repos updated, the new apps should be run as a new group initially as selective updating is not supported. + +Do you want to create or update the git repositories? + +" \ +20 75 +[[ $? == 0 ]] && echo yes > $TMPVARS/CGIT +[[ $? == 1 ]] && echo no > $TMPVARS/CGIT +} + + } [[ ! -e $TMPVARS/TDEbuilds ]] && run_dialog @@ -577,7 +612,7 @@ export EXIT_FAIL=$(cat $TMPVARS/EXIT_FAIL) export KEEP_BUILD=$(cat $TMPVARS/KEEP_BUILD) export PREPEND=$(cat $TMPVARS/PREPEND) export RUNLEVEL=$(cat $TMPVARS/RUNLEVEL) -export VIEWMODE=$(grep "$(cat $TMPVARS/VIEWMODE)" $0 | grep -o [a-z]*_[a-z]*) +export VIEWMODE=$(grep "$(cat $TMPVARS/VIEWMODE)" $0 | grep -o "[a-z]*_[a-z]*") # these exports are for koffice.SB [[ $(cat $TMPVARS/Krita_OPTS) == *krita* ]] && export REVERT=yes [[ $(cat $TMPVARS/Krita_OPTS) == *libpng14* ]] && export USE_PNG14=yes @@ -667,10 +702,15 @@ done ###################################################### # package(s) build starts here +## If there is a download failure in getsource_fn, it needs to be communicated to this script if the build is set to stop on failure +## getsource_fn is a function in get-source.sh which is a child of the SlackBuild script which is a child of this script and that failure needs to be carried back here +## $TMPVARS/download-failure will be created if needed for that purpose, so remove any possible previous file +rm -f $TMPVARS/download-failure # Loop for all packages for dir in $(cat $TMPVARS/TDEbuilds) do +[[ ! -e $TMPVARS/download-failure ]] && { { [[ $dir == Deps* ]] && export TDEMIR_SUBDIR="/dependencies"; } \ || { [[ $dir == Core* ]] && export TDEMIR_SUBDIR=""; } \ || { [[ $dir == Libs* ]] && export TDEMIR_SUBDIR="/libraries"; } \ @@ -681,7 +721,7 @@ do package=$(echo $dir | cut -f2- -d /) # Change to package directory - cd $ROOT/$dir || ${EXIT_FAIL:-"true"} + cd $BUILD_TDE_ROOT/$dir || ${EXIT_FAIL:-"true"} # Get the version version=$(cat $package.SlackBuild | grep "VERSION:" | head -n1 | cut -d "-" -f2 | rev | cut -c 2- | rev) @@ -704,6 +744,7 @@ checkinstall () { { [[ $package != libpng ]] && [[ $(ls /var/log/packages/$package-*$(eval echo $version)-*-$build*) ]] +## testing #echo $(ls /var/log/packages/$package-*$(eval echo $version)-*-$build*) > $TMPVARS/libcaldav-package-build-failed } || { [[ $package == libpng ]] && [[ $(ls $LIBPNG_TMP/$package-$(eval echo $version)-*-$build*.txz) ]] } @@ -717,7 +758,7 @@ echo " Check the build log $TMP/$package-build-log " ## if koffice was building with libpng14, restore the libpng16 headers for any following builds -[[ ${USE_PNG14:-} == yes ]] && source $ROOT/get-source.sh && libpng16_fn || true +[[ ${USE_PNG14:-} == yes ]] && source $BUILD_TDE_ROOT/get-source.sh && libpng16_fn || true ${EXIT_FAIL:-":"} } } @@ -734,7 +775,8 @@ elif [[ $package == libpng ]]; then checkinstall fi # back to original directory - cd $ROOT + cd $BUILD_TDE_ROOT +} done } diff --git a/Core/tde-i18n/tde-i18n.SlackBuild b/Core/tde-i18n/tde-i18n.SlackBuild index 787822c..59edb0c 100755 --- a/Core/tde-i18n/tde-i18n.SlackBuild +++ b/Core/tde-i18n/tde-i18n.SlackBuild @@ -34,53 +34,61 @@ getsource_fn ## the source unpacked is ~950MB, so to save on build space ## extract, build, and remove source for each language package one at a time -cd $TMP/tmp-${PRGNAM} +cd $TMP_BUILD/tmp-$PRGNAM +[[ $TDEVERSION == R14.0.4 ]] && { # extract the cmake source once only echo -e "\033[39;1m" -echo "Extracting the cmake source from the ${PRGNAM} archive ..." +echo "Extracting the cmake source from the $PRGNAM archive ..." echo -e "\033[0m" -tar xf ${SOURCE} ${PRGNAM}/cmake - +tar xf $SOURCE $PRGNAM/cmake +} for lang in $I18N do +[[ $TDEVERSION == R14.0.4 ]] && { # extract the source for one language at a time for each iteration of the loop echo -e "\033[39;1m" -echo "Extracting the ${PRGNAM}-$lang source from the ${PRGNAM} archive ..." +echo "Extracting the $PRGNAM-$lang source from the $PRGNAM archive ..." echo -e "\033[0m" -tar -xf ${SOURCE} ${PRGNAM}/${PRGNAM}-$lang +tar -xf $SOURCE $PRGNAM/$PRGNAM-$lang +cd $PRGNAM +} || { +mkdir $PRGNAM +cd $PRGNAM +cp -a $BUILD_TDE_ROOT/src/cgit/tdei18n/cgit/tde-i18n/plain/tde-i18n-$lang . +cp -a $BUILD_TDE_ROOT/src/cgit/{admin,cmake} tde-i18n-$lang/ +} -cd ${PRGNAM} chown_fn -mkdir -p ${PRGNAM}-$lang/build -cd ${PRGNAM}-$lang/build +mkdir -p $PRGNAM-$lang/build +cd $PRGNAM-$lang/build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_C_COMPILER=${COMPILER} \ - -DCMAKE_CXX_COMPILER=${COMPILER_CXX} \ + -DCMAKE_C_COMPILER=$COMPILER \ + -DCMAKE_CXX_COMPILER=$COMPILER_CXX \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_TDE} \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \ -DSYSCONF_INSTALL_DIR="/etc/trinity" \ - -DMAN_INSTALL_DIR=${INSTALL_TDE}/man \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=$INSTALL_TDE/man \ + -DLIB_SUFFIX=$LIBDIRSUFFIX \ -DBUILD_ALL="ON" \ .. make_fn -mkdir -p $PKG/${INSTALL_TDE}/doc/${PRGNAM}-$VERSION -#cp -a $DOCS $PKG${INSTALL_TDE}/doc/${PRGNAM}-$VERSION || true -cat $SRCDIR/$(basename $0) > $PKG${INSTALL_TDE}/doc/${PRGNAM}-$VERSION/${PRGNAM}-${lang}.SlackBuild -chown -R root:root $PKG${INSTALL_TDE}/doc/${PRGNAM}-$VERSION -find $PKG${INSTALL_TDE}/doc -type f -exec chmod 644 {} \; +mkdir -p $PKG/$INSTALL_TDE/doc/$PRGNAM-$VERSION +#cp -a $DOCS $PKG$INSTALL_TDE/doc/$PRGNAM-$VERSION || true +cat $SRCDIR/$(basename $0) > $PKG$INSTALL_TDE/doc/$PRGNAM-$VERSION/$PRGNAM-$lang.SlackBuild +chown -R root:root $PKG$INSTALL_TDE/doc/$PRGNAM-$VERSION +find $PKG$INSTALL_TDE/doc -type f -exec chmod 644 {} \; mkdir_install_fn # extract the name of the language from the source text - a bit messy but there is no standard format -Lang=$(grep Language-Team: $TMP/tmp-$PRGNAM/$PRGNAM/tde-i18n-${lang}/messages/tdebase/*.po|sort -k2 | sed -e 's|Team: |\n|' -e 's| <|\n|' -e 's|akh\\n"|akh|' -e 's|an S|#|' | grep "[A-Z][a-z][a-z]*$"|head -n 1) +Lang=$(grep Language-Team: $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/tde-i18n-$lang/messages/tdebase/*.po|sort -k2 | sed -e 's|Team: |\n|' -e 's| <|\n|' -e 's|akh\\n"|akh|' -e 's|an S|#|' | grep "[A-Z][a-z][a-z]*$"|head -n 1) [[ "$lang" == "pt" ]] && Lang="Portuguese" [[ "$lang" == "fy" ]] && Lang="Frisian" @@ -92,18 +100,18 @@ echo " # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -${PRGNAM}-$lang: -${PRGNAM}-$lang: ${PRGNAM}-$lang -${PRGNAM}-$lang: -${PRGNAM}-$lang: Language support for TDE: -${PRGNAM}-$lang: -${PRGNAM}-$lang: $(echo $Lang) -${PRGNAM}-$lang: -${PRGNAM}-$lang: -${PRGNAM}-$lang: -${PRGNAM}-$lang: -${PRGNAM}-$lang: -${PRGNAM}-$lang: +$PRGNAM-$lang: +$PRGNAM-$lang: $PRGNAM-$lang +$PRGNAM-$lang: +$PRGNAM-$lang: Language support for TDE: +$PRGNAM-$lang: +$PRGNAM-$lang: $(echo $Lang) +$PRGNAM-$lang: +$PRGNAM-$lang: +$PRGNAM-$lang: +$PRGNAM-$lang: +$PRGNAM-$lang: +$PRGNAM-$lang: " > $PKG/install/slack-desc cat <> $PKG/install/doinst.sh @@ -123,25 +131,24 @@ EOINS ARCH="noarch" cd $PKG -makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${lang}-${VERSION}-${ARCH}-${BUILD}.${PKGTYPE:-txz} +makepkg --linkadd y --chown n $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.${PKGTYPE:-txz} cd $OUTPUT -md5sum ${PRGNAM}-${lang}-${VERSION}-${ARCH}-${BUILD}.${PKGTYPE:-txz} > ${PRGNAM}-${lang}-${VERSION}-${ARCH}-${BUILD}.${PKGTYPE:-txz}.md5 -cat $PKG/install/slack-desc | grep "^${PRGNAM}" | grep -v handy > $OUTPUT/${PRGNAM}-${lang}-${VERSION}-${ARCH}-${BUILD}.txt +md5sum $PRGNAM-$lang-$VERSION-$ARCH-$BUILD.${PKGTYPE:-txz} > $PRGNAM-$lang-$VERSION-$ARCH-$BUILD.${PKGTYPE:-txz}.md5 +cat $PKG/install/slack-desc | grep "^$PRGNAM" | grep -v handy > $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txt # Restore the original umask: umask ${_UMASK_} rm -rf $PKG/* -cd $TMP/tmp-${PRGNAM} -rm -rf ${PRGNAM}/${PRGNAM}-${lang} +cd $TMP_BUILD/tmp-$PRGNAM +rm -rf $PRGNAM/$PRGNAM-$lang # Install i18n package(s) here because if more than one language pack is built, # upgradepkg [in BUILD-TDE.sh] can't process them in one command and the build will exit if [ $INST == 1 ] then -upgradepkg --install-new --reinstall $OUTPUT/${PRGNAM}-${lang}-${VERSION}-${ARCH}-${BUILD}.${PKGTYPE:-txz} +upgradepkg --install-new --reinstall $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.${PKGTYPE:-txz} fi - done echo $lang > $TMPVARS/LASTLANG diff --git a/Core/tdeaddons/tdeaddons.SlackBuild b/Core/tdeaddons/tdeaddons.SlackBuild index b65cf04..a749961 100755 --- a/Core/tdeaddons/tdeaddons.SlackBuild +++ b/Core/tdeaddons/tdeaddons.SlackBuild @@ -35,6 +35,7 @@ untar_fn listdocs_fn # patch for TDE bug 2043 +[[ $TDEVERSION == R14.0.4 ]] && { echo $' --- konq-plugins/arkplugin/arkplugin.cpp +++ konq-plugins/arkplugin/arkplugin.cpp @@ -62,6 +63,17 @@ do patch -p0 done +echo $' +--- konq-plugins/arkplugin/arkplugin.cpp ++++ konq-plugins/arkplugin/arkplugin.cpp +@@ -328 +328 @@ +- m_archiveMimeTypes << "application/x-rar" << "application/x-rar-compressed"; ++ m_archiveMimeTypes << "application/x-rar"; +' | while read line +do +patch -p0 +done +} ## Set the default compression as tar.xz ## enable jar & ar compression in Compress As menu ## remove application/x-rar-compressed @@ -77,9 +89,6 @@ echo $' @@ -323 +323 @@ - if ( m_conf->readBoolEntry( "UseJar", false ) ) + if ( m_conf->readBoolEntry( "UseJar", true ) ) -@@ -328 +328 @@ -- m_archiveMimeTypes << "application/x-rar" << "application/x-rar-compressed"; -+ m_archiveMimeTypes << "application/x-rar"; @@ -346 +346 @@ - if ( !TDEStandardDirs::findExe( "ar" ).isNull() && m_conf->readBoolEntry( "UseAr", false ) ) + if ( !TDEStandardDirs::findExe( "ar" ).isNull() && m_conf->readBoolEntry( "UseAr", true ) ) diff --git a/Core/tdelibs/tdelibs.SlackBuild b/Core/tdelibs/tdelibs.SlackBuild index b94da97..fcf9373 100644 --- a/Core/tdelibs/tdelibs.SlackBuild +++ b/Core/tdelibs/tdelibs.SlackBuild @@ -36,7 +36,7 @@ untar_fn ## remove x-rar-compressed.desktop sed -i '/x-rar-compressed.desktop/d' mimetypes/application/{CMakeLists.txt,Makefile.am} -## patch for building with clang +## patch for building with clang - added '-N' and '|| true' for cgit build echo $' --- tdeabc/tests/testaddresseelist.cpp +++ tdeabc/tests/testaddresseelist.cpp @@ -45,8 +45,8 @@ echo $' +int main(int /*argc*/, char** /*argv*/) ' | while read line do -patch -p0 -done +patch -N -p0 +done || true ## patch for 'Magic file type detection not working' - bug 2713 - commit f54496a1 echo $' @@ -60,8 +60,8 @@ echo $' + int magic_flags = MAGIC_ERROR|MAGIC_MIME_TYPE/*|MAGIC_DEBUG*/; ' | while read line do -patch -p0 -done +patch -N -p0 +done || true listdocs_fn diff --git a/Core/tdeutils/tdeutils.SlackBuild b/Core/tdeutils/tdeutils.SlackBuild index eebff8e..dde2f70 100755 --- a/Core/tdeutils/tdeutils.SlackBuild +++ b/Core/tdeutils/tdeutils.SlackBuild @@ -37,12 +37,15 @@ untar_fn ## tdeio (KMimeType): WARNING: mimetype not valid '' (missing entry in the file ?) ## the other removals are a general clear out of the mimetype before they cause problems ## application/x-rar-compressed causes a double entry in the Compress As menu without adding any functionality +## patch for ark/archiveformatinfo.cpp split to accommodate cgit build echo $' --- ark/archiveformatinfo.cpp +++ ark/archiveformatinfo.cpp @@ -55 +54,0 @@ - addFormatInfo( TAR_FORMAT, "application/x-tbz2", ".tar.bz2" ); -@@ -80 +78,0 @@ +--- ark/archiveformatinfo.cpp ++++ ark/archiveformatinfo.cpp +@@ -79 +78,0 @@ - addFormatInfo( RAR_FORMAT, "application/x-rar-compressed", ".rar" ); --- ark/tar.cpp +++ ark/tar.cpp @@ -70,8 +73,8 @@ echo $' +MimeType=application/x-gzip;application/x-lha;application/x-tar;application/x-tgz;application/x-tbz;application/x-zip;application/x-bzip;application/x-tzo;application/x-lzop;application/x-rar;application/x-zoo;application/x-tarz;application/x-archive;application/x-bzip2;application/x-jar;application/x-deb;application/x-ace;application/x-7z;application/x-arc;application/x-arj;application/x-compress;application/x-cpio;application/x-pak;application/x-lzma;application/x-xz;application/x-tlz;application/x-txz ' | while read line do -patch -p0 -done +patch -N -p0 +done || true ## to avoid build failure because patch has skipped already applied patches [cgit] ## fix bug 2794 - ark can't open rar files echo $' @@ -95,7 +98,7 @@ echo $' + m_version += versionRegExp.cap(5).toShort(); ' | while read line do -patch -p0 +patch -N -p0 done listdocs_fn diff --git a/Deps/arts/arts.SlackBuild b/Deps/arts/arts.SlackBuild index 0fdbbc8..40f5d2e 100755 --- a/Deps/arts/arts.SlackBuild +++ b/Deps/arts/arts.SlackBuild @@ -39,17 +39,15 @@ chown_fn cd_builddir_fn cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ - -DCMAKE_C_COMPILER=${COMPILER} \ - -DCMAKE_CXX_COMPILER=${COMPILER_CXX} \ + -DCMAKE_C_FLAGS:STRING=$SLKCFLAGS \ + -DCMAKE_CXX_FLAGS:STRING=$SLKCFLAGS \ + -DCMAKE_C_FLAGS_RELEASE:STRING=$SLKCFLAGS \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING=$SLKCFLAGS \ + -DCMAKE_C_COMPILER=$COMPILER \ + -DCMAKE_CXX_COMPILER=$COMPILER_CXX \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_TDE} \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -DSYSCONF_INSTALL_DIR="/etc/trinity" \ - -DMAN_INSTALL_DIR=${INSTALL_TDE}/man \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \ + -DLIB_SUFFIX=$LIBDIRSUFFIX \ -DCMAKE_SKIP_RPATH="OFF" \ .. make_fn diff --git a/Deps/tqt3/tqt3.SlackBuild b/Deps/tqt3/tqt3.SlackBuild index d02b5ba..2559a4b 100755 --- a/Deps/tqt3/tqt3.SlackBuild +++ b/Deps/tqt3/tqt3.SlackBuild @@ -39,6 +39,7 @@ untar_fn ## add -march and -mtune options to CFLAGS where they've been set in BUILD-TDE.sh sed -i "s|^QMAKE_CFLAGS[^_].*$|& $SET_march|" mkspecs/linux-g++/qmake.conf ## allow building with clang +[[ ! $(grep COMPILER mkspecs/linux-g++/qmake.conf) ]] && { echo $'--- mkspecs/linux-g++/qmake.conf +++ mkspecs/linux-g++/qmake.conf @@ -11 +11 @@ @@ -55,6 +56,7 @@ echo $'--- mkspecs/linux-g++/qmake.conf do patch -p0 done +} listdocs_fn diff --git a/README b/README index 48f8573..0e38232 100755 --- a/README +++ b/README @@ -2,6 +2,8 @@ Build TDE [Trinity Desktop Environment] for Slackware 14.2 and current** on i586 Run ./BUILD-TDE.sh - a dialog based script with a series of screens for user input. +This branch includes a beta build for the TDE development version from https://mirror.git.trinitydesktop.org/cgit/ [see README-git]. + ============================================================= Any package, or set of packages, can be built by running BUILD-TDE.sh and selecting them from the 'TDE Packages Selection' screen. diff --git a/README-git b/README-git new file mode 100644 index 0000000..a769dcc --- /dev/null +++ b/README-git @@ -0,0 +1,57 @@ +The individual TDE apps can be cloned from Trinity git, so the build is set up to do that - except for individual language packs of tde-i18n. The whole tde-i18n download is ~1x10^6 bytes, so to reduce that, wget is used to download individual tde-i18n-ab_CD packs as they are not git repositories. + +Once any git repository has been cloned, further downloads are updates only. + +This gives the best options - only fetching what is needed, and incremental updates. + +The git repositories are cloned to 'src/cgit', arranged in this tree format ignoring whether they are in Core, Deps, etc. + +src +: +└── cgit + ├── admin + ├── cmake + : + ├── tqt3 + : + ├── tdelibs + : + ├── tdei18n + : └── cgit + └── tde-i18n + └── plain + ├── tde-i18n-en_GB + └── tde-i18n-ru + +For the build, these repositories are copied to the build area where the R14.0.4 archives would otherwise be extracted. admin & cmake are also always copied, and libltdl where it's needed. + +This has resulted in most of the modifications being in the main scripts, BUILD-TDE.sh and get-source.sh [in getsource_fn and untar_fn]. tde-i18n.SlackBuild had to be modified because it doesn't use untar_fn. Some other *.SlackBuild modifications are work-arounds to accommodate the patching already included in the git sources. + +As this is in beta stage, I've left in the markers I use in get-source.sh to give a better idea of where the build is failing. + + +First upload: + modified: BUILD-TDE.sh + modified: Core/tde-i18n/tde-i18n.SlackBuild + modified: Core/tdeaddons/tdeaddons.SlackBuild + modified: Core/tdelibs/tdelibs.SlackBuild + modified: Core/tdeutils/tdeutils.SlackBuild + modified: Deps/arts/arts.SlackBuild + modified: Deps/tqt3/tqt3.SlackBuild + modified: README + modified: get-source.sh + tested: tqt3 + tested: tqtinterface + tested: arts + tested: dbus-tqt + tested: dbus-1-tqt + tested: libart_lgpl + tested: tqca-tls + tested: avahi-tqt + tested: tdelibs + tested: tdebase + tested: tde-i18n-en_GB + tested: tde-i18n-ru + tested: tdeaddons + tested: tdeutils + diff --git a/get-source.sh b/get-source.sh index 49394aa..f393963 100755 --- a/get-source.sh +++ b/get-source.sh @@ -20,8 +20,10 @@ # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. + echo yes1 >> $TMPVARS/got-this-far getsource_fn () { + echo yes2 >> $TMPVARS/got-this-far #!/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 @@ -47,52 +49,43 @@ getsource_fn () # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -# Where do we look for sources? -SRCDIR=$(cd $(dirname $0); pwd) -[[ ! -s $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} ]] && rm $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} 2>/dev/null -ln -sf $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} $SRCDIR - -# Place to build (TMP) package (PKG) and output (OUTPUT) the program: -TMP=${TMP:-/tmp/build} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -# remove any previous builds -[[ $KEEP_BUILD != "yes" ]] && rm -rf $TMP/{tmp,package}* - -SOURCE=$SRCDIR/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} -# SRCURL for non-TDE archives, set in the SB, will override the Trinity default *tar.bz2 URL -SRCURL=${SRCURL:-"http://$TDE_MIRROR/releases/$VERSION$TDEMIR_SUBDIR/$PRGNAM-$VERSION.tar.bz2"} - -# Automatically determine the architecture we're building on: -## 2017-09 removed - ARCH is set in BUILD-TDE.sh - -# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: - { [[ $ARCH == x86_64 ]] && SLKCFLAGS="-O2 -fPIC ${SET_march:-}" \ - SLKLDFLAGS="-L$INSTALL_TDE/lib$LIBDIRSUFFIX -L/usr/lib64"; } \ -|| { SLKCFLAGS="-O2 ${SET_march:-}" \ - SLKLDFLAGS="-L$INSTALL_TDE/lib$LIBDIRSUFFIX"; } - - -# Exit the script on errors: -set -e -trap 'echo "$0 FAILED at line $LINENO" | tee $OUTPUT/error-$PRGNAM.log' ERR -# Catch unitialized variables: -set -u -P1=${1:-1} +# Place to build (TMP_BUILD) package (PKG) and output (OUTPUT) the program: +TMP_BUILD=/tmp/build +PKG=$TMP_BUILD/package-$PRGNAM +OUTPUT=/tmp -# Save old umask and set to 0022: -_UMASK_=$(umask) -umask 0022 +# remove any previous builds if option chosen +[[ $KEEP_BUILD != "yes" ]] && rm -rf $TMP_BUILD/{tmp,package}* # Create working directories: mkdir -p $OUTPUT -mkdir -p $TMP/tmp-$PRGNAM +mkdir -p $TMP_BUILD/tmp-$PRGNAM mkdir -p $PKG rm -rf $PKG/* -rm -rf $TMP/tmp-$PRGNAM/* +rm -rf $TMP_BUILD/tmp-$PRGNAM/* rm -rf $OUTPUT/{checkout,configure,make,install,error,makepkg,patch}-$PRGNAM.log +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + echo "SRCDIR: $SRCDIR" >> $TMPVARS/got-this-far + echo yes3 >> $TMPVARS/got-this-far + + + +## if R14.0.4 or misc, do this: + +[[ $TDEVERSION == R14.0.4 || $TDEMIR_SUBDIR == misc ]] && \ +{ + echo yes4 >> $TMPVARS/got-this-far +[[ ! -s $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} ]] && rm $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} 2>/dev/null || true + echo yes5 >> $TMPVARS/got-this-far +ln -sf $SRCDIR/../../src/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} $SRCDIR + echo yes6 >> $TMPVARS/got-this-far +SOURCE=$SRCDIR/$PRGNAM-$VERSION.${ARCHIVE_TYPE:-"tar.bz2"} + echo "SOURCE: $SOURCE" >> $TMPVARS/got-this-far +# SRCURL for non-TDE archives, set in the SB, will override the Trinity default *tar.bz2 URL +SRCURL=${SRCURL:-"http://$TDE_MIRROR/releases/$VERSION$TDEMIR_SUBDIR/$PRGNAM-$VERSION.tar.bz2"} + echo "SRCURL: $SRCURL" >> $TMPVARS/got-this-far # Source file availability: if ! [ -f $SOURCE ]; then echo "Source '$(basename $SOURCE)' not available yet..." @@ -105,6 +98,8 @@ if ! [ -f $SOURCE ]; then if [ $? -ne 0 -o ! -s "$SOURCE" ]; then echo "Downloading '$(basename $SOURCE)' failed... aborting the build." mv -f "$SOURCE" "$SOURCE".FAIL +## set this for BUILD-TDE.sh to stop on failure + [[ $EXIT_FAIL == "exit 1" ]] && touch $TMPVARS/download-failure ${EXIT_FAIL:-":"} fi else @@ -112,19 +107,115 @@ if ! [ -f $SOURCE ]; then ${EXIT_FAIL:-":"} fi fi - + echo yes7 >> $TMPVARS/got-this-far if [ "$P1" == "--download" ]; then echo "Download complete." exit 0 fi +} || \ + +{ +## if not creating/updating git, nothing to do in this function for git builds +## otherwise, now not R14.0.4 or misc, and creating/updating git, do admin/cmake: + +[[ $(cat $TMPVARS/CGIT) == yes ]] && { +#mkdir -p $BUILD_TDE_ROOT/src/cgit +cd $BUILD_TDE_ROOT/src/cgit + echo yes8 >> $TMPVARS/got-this-far + +## if admin and cmake don't exist, clone them +[[ ! -d admin ]] && git clone https://mirror.git.trinitydesktop.org/cgit/tde-common-admin admin +[[ ! -d cmake ]] && git clone https://mirror.git.trinitydesktop.org/cgit/tde-common-cmake cmake +## update admin and cmake +[[ -d admin ]] && echo "Updating admin ..." && (cd admin +git checkout -- * +git pull) +[[ -d cmake ]] && echo "Updating cmake ..." && (cd cmake +git checkout -- * +git pull) + +## not tde-i18n, and creating/updating git, do PRGNAM + +[[ $PRGNAM != tde-i18n ]] && { + echo yes9 >> $TMPVARS/got-this-far + +## if the app repo doesn't exist, clone it .. +[[ ! -d $PRGNAM ]] && \ + echo "yes10 $PWD clone $PRGNAM" >> $TMPVARS/got-this-far && \ +git clone https://mirror.git.trinitydesktop.org/cgit/$PRGNAM +## get latest commits +[[ -d $PRGNAM ]] && echo "Updating $PRGNAM ..." && { +(cd $PRGNAM +git checkout -- * +git pull) + +## if arts/tdelibs, need libltdl + +[[ " arts tdelibs " == *$PRGNAM* ]] && { +[[ ! -d libltdl ]] && \ +#rm -rf $PRGNAM/libltdl +git clone https://mirror.git.trinitydesktop.org/cgit/libltdl +#ln -s ../libltdl $PRGNAM/ +[[ -d libltdl ]] && \ +(echo "Updating libltdl ..." +cd libltdl +git checkout -- * +git pull) +} +} + +true # stop the following i18n download (attempts) if this routine fails +} || \ + +{ +## for tde-i18n-$lang, and creating/updating git do this: + +## Use wget to download the required i18n repos to avoid the ~1x10^6 byte download for the full tde-i18n +## same for both creating and updating +## this test not strictly logically necessary, but can run a second time if the previous fails +## add this if the above 'true' causes problems +## [[ $PRGNAM == tde-i18n ]] && { +for lang in $I18N +do + echo "yes11 $PWD" >> $TMPVARS/got-this-far +cd tdei18n + echo "yes12 $PWD" >> $TMPVARS/got-this-far +wget -m --no-parent --no-host-directories https://mirror.git.trinitydesktop.org/cgit/tde-i18n/plain/tde-i18n-$lang/ +##will give: +##$BUILD_TDE_ROOT/src/cgit/tdei18n/cgit/tde-i18n/plain/tde-i18n-$lang/* +cd .. +done +#} +} +} +} + + + echo yes13 >> $TMPVARS/got-this-far +# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: + { [[ $ARCH == x86_64 ]] && SLKCFLAGS="-O2 -fPIC ${SET_march:-}" \ + SLKLDFLAGS="-L$INSTALL_TDE/lib$LIBDIRSUFFIX -L/usr/lib64"; } \ +|| { SLKCFLAGS="-O2 ${SET_march:-}" \ + SLKLDFLAGS="-L$INSTALL_TDE/lib$LIBDIRSUFFIX"; } + echo yes14 >> $TMPVARS/got-this-far +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line $LINENO" | tee $OUTPUT/error-$PRGNAM.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 } untar_fn () { -cd $TMP/tmp-$PRGNAM +cd $TMP_BUILD/tmp-$PRGNAM +[[ $TDEVERSION == R14.0.4 || $TDEMIR_SUBDIR == misc ]] && { echo -e "\n unpacking $(basename $SOURCE) ... \n" tar -xf $SOURCE -[[ $TDEMIR_SUBDIR != misc ]] && cd ./$(echo $TDEMIR_SUBDIR | cut -d / -f 2) && cd $PRGNAM || cd $PRGNAM-$VERSION ## patch to allow automake 1.16.x [[ -s admin/cvs.sh ]] && echo $' @@ -137,6 +228,15 @@ tar -xf $SOURCE do patch -p0 done || true +} || { + echo "yes15 $PWD" >> $TMPVARS/got-this-far +cp -a $BUILD_TDE_ROOT/src/cgit/$PRGNAM . +cp -a $BUILD_TDE_ROOT/src/cgit/{admin,cmake} $PRGNAM/ +[[ " arts tdelibs " == *$PRGNAM* ]] && cp -a $BUILD_TDE_ROOT/src/cgit/libltdl $PRGNAM/ + echo yes16 >> $TMPVARS/got-this-far +} && { +[[ $TDEVERSION == R14.0.4 && $TDEMIR_SUBDIR != misc ]] && cd ./$(echo $TDEMIR_SUBDIR | cut -d / -f 2) || true +} && cd $PRGNAM 2>/dev/null || cd $PRGNAM-$VERSION } listdocs_fn ()