diff options
author | Eric Hameleers <alien@slackware.com> | 2015-01-09 00:06:49 +0100 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2015-01-09 00:06:49 +0100 |
commit | da1be5a21ba06235b67a999f696ec66e35dc17a1 (patch) | |
tree | 6df637d821a6ac0ad65f8caaf967ea2a6956a862 /kde/KDE.SlackBuild | |
parent | b1b35d20ce6b70330b23a9d056dcb44b58795bd6 (diff) | |
download | ktown-da1be5a21ba06235b67a999f696ec66e35dc17a1.tar.gz ktown-da1be5a21ba06235b67a999f696ec66e35dc17a1.tar.xz |
Prepare for new KDE 5: Frameworks 5.6.0, Plasma 5.1.2, Applications 14.12.0.
KDE 5_1501
==========
This is going to be KDE 5 for Slackware-current, composed of Frameworks 5.6.0,
Plasma 5.1.2 and Applications 14.12.0.
Note that there is still a lot of KDE 4 stuff in here, which is necessary to
support all the Applications that have not yet been ported to KDE Frameworks 5.
The Applications 15.04 (march 2015) release should offer a lot more KF5 ports.
Preliminary build procedure (not verified 100% yet):
----------------------------------------------------
- (crude) get rid of Slackware's KDE: removepkg /var/log/packages/*-4.10.5-*
- build all the deps using "updates.SlackBuild" script in the "deps/" directory
- note that extra-cmake-modules is required here as well as when building the
frameworks, so I just copied it from frameworks to deps.
- logoff/login to activate Qt5 profile script.
- removepkg akonadi-qt5 or else kdepimlibs-4.14.3 picks up Qt5 dependencies and
its compilation will fail as a result
- build all the KDE 4 stuff in the "kde/" directory, using "./KDE.SlackBuild kde
libs kdebase:nepomuk-core kdepimlibs kdebase kdebindings kdebase:kde-workspace k
depim extragear"
- installpkg akonadi-qt5
- build the remaining KDE 5 stuff in the "kde/" directory, using "./KDE.SlackBui
ld frameworks plasma plasma-extra polkit-kde applications"
- build kdei
==============================================================================
Eric Hameleers / alien at slackware dot com / 09-jan-2015
Diffstat (limited to 'kde/KDE.SlackBuild')
-rwxr-xr-x | kde/KDE.SlackBuild | 90 |
1 files changed, 48 insertions, 42 deletions
diff --git a/kde/KDE.SlackBuild b/kde/KDE.SlackBuild index c420986..33d4902 100755 --- a/kde/KDE.SlackBuild +++ b/kde/KDE.SlackBuild @@ -149,27 +149,50 @@ precheck() { RETVAL=0 for SRCFILE in $(find $CWD/src -name "*.tar.?z*") ; do - if cat modules/* |grep "^ *#" |grep -wq $(echo $(basename $SRCFILE) | rev | cut -f2- -d- | rev)$ ; then - echo "Source file '$(basename $SRCFILE)' is commented out in 'modules' !" - elif cat package-blacklist |grep -v "^ *#" |grep -wq $(echo $(basename $SRCFILE) | rev | cut -f2- -d- | rev)$ ; then - echo "Source file '$(basename $SRCFILE)' is on the package-blacklist !" - elif ! cat modules/* |grep -v "^ *#" |grep -wq $(echo $(basename $SRCFILE) | rev | cut -f2- -d- | rev) ; then - echo "Source file '$(basename $SRCFILE)' is not mentioned in 'modules' !" + # Check if the source tarball is mentioned in pkgsrc/ + # meaning its package will get a different name: + PKGSRC=$(echo $SRCFILE |rev |cut -f2- -d- |cut -f1,2 -d/ |rev) + PKGBASE=$(basename $(grep -lw $PKGSRC $CWD/pkgsrc/*) 2>/dev/null) + if [ -z "$PKGBASE" ]; then + PKGBASE=$(echo $(basename $SRCFILE) |rev |cut -f2- -d- |rev) + fi + # We now have the package base name and we can start looking: + PKGTGT=$(grep -w ${PKGBASE}$ modules/*) + if [ -n "$(echo $PKGTGT |cut -d: -f2- |grep "^ *#")" ]; then + echo "Source file '$(basename $SRCFILE)' is commented out: ($PKGTGT) !" + elif cat package-blacklist |grep -v "^ *#" |grep -wq ${PKGBASE}$ ; then + echo "Source file '$(basename $SRCFILE)' is on the package-blacklist ($PKGBASE) !" + elif ! cat modules/* |grep -v "^ *#" |grep -wq ${PKGBASE} ; then + echo "Source file '$(basename $SRCFILE)' is not mentioned in 'modules' ($PKGBASE) !" RETVAL=1 fi done - for MODULE in $(cat $CWD/modules/* | grep -v "^#") ; do - #if [ -z "$(find $CWD/src -name ${MODULE}-*)" ] ; then - if [ -z "$(find $CWD/src -name $MODULE-*.tar.* |grep -E "$MODULE-[^-]+.tar.*$|$MODULE-[0-9].+.tar.*$")" ] ; then - echo "Module '$MODULE' does not have a matching source tarball !" + # Do we have duplicate package names? + PKGDUP="$(cat $CWD/modules/* |grep -v "^ *#" |grep -v "^$" |sort |uniq -d)" + if [ -n "$PKGDUP" ] ; then + echo "Multiply-defined package names: '$(echo $PKGDUP)'" + RETVAL=1 + fi + + for MODULE in $(cat $CWD/modules/* | grep -v "^ *#") ; do + # First find out if the pkg source is different from the actual pkg name: + if [ -f $CWD/pkgsrc/$MODULE ]; then + MODREF=$(cat $CWD/pkgsrc/$MODULE) + MODSRC="$(find $CWD/src -path $CWD/src/$MODREF-*.tar.* |grep -E "$MODREF-[^-]+.tar.*$|$MODREF-[0-9].+.tar.*$")" + else + MODREF=$MODULE + MODSRC="$(find $CWD/src -name $MODULE-*.tar.* |grep -E "$MODULE-[^-]+.tar.*$|$MODULE-[0-9].+.tar.*$")" + fi + if [ -z "$MODSRC" ] ; then + echo "Module '$MODULE' does not have a matching source tarball ($MODREF)!" if [ "$CHECKOUT" = "yes" -o "$CHECKOUT" = "YES" ]; then echo "Checking out KDE component at branch '$VERSION'." - git archive --format=tar --prefix {$MODULE}-${VERSION}/ --remote ${KDEGITURI}/${MODULE}.git v${VERSION} | xz -c > $CWD/src/${MODULE}-${VERSION}.tar.xz + git archive --format=tar --prefix {$(basename $MODREF)}-${VERSION}/ --remote ${KDEGITURI}/$(basename ${MODREF}).git v${VERSION} | xz -c > $CWD/src/${MODREF}-${VERSION}.tar.xz RETVAL=$? if [ $RETVAL -ne 0 ]; then - echo "Error while checking out '$MODULE' !" - mv $CWD/src/${MODULE}-${VERSION}.tar.xz $CWD/src/${MODULE}-${VERSION}.tar.xz.failed + echo "Error while checking out '$MODULE' ($MODREF) !" + mv $CWD/src/${MODREF}-${VERSION}.tar.xz $CWD/src/${MODREF}-${VERSION}.tar.xz.failed fi else RETVAL=1 @@ -184,9 +207,10 @@ precheck() { done if [ $RETVAL -eq 0 ]; then - echo "Check complete, build starts in 5 seconds" + echo "Check complete, build starts in 5 seconds.." sleep 5 else + echo "Precheck failed with error code '$RETVAL'." exit 1 fi } @@ -504,38 +528,20 @@ mkdir -p $SLACK_KDE_BUILD_DIR # And kde-baseapps is rebuilt after kdewebdev because it can then pickup # libtidy and enable the Konqueror validators plugin to validate HTML. KDEMODS=" \ + kdelibs \ + kdebase:nepomuk-core \ + kdepimlibs \ + kdebase \ + kdebindings + kdebase:kde-workspace \ + kdepim \ + extragear \ frameworks \ plasma \ plasma-extra \ + polkit-kde \ + applications \ " - #kdebase:nepomuk-core \ - #kdepimlibs \ - #kdebase \ - #kdesdk \ - #extragear:libkscreen \ - #kdegraphics \ - #kdebindings \ - #kdebase:kde-workspace \ - #kdeaccessibility \ - #kdeutils \ - #kdemultimedia \ - #extragear:libktorrent \ - #kdenetwork \ - #oxygen-icons \ - #kdeadmin \ - #kdeartwork \ - #kdegames \ - #kdetoys \ - #kdepim \ - #kdepim-runtime \ - #kdenetwork:kopete \ - #kdeedu \ - #kdewebdev \ - #kdebase:kde-baseapps \ - #kdeplasma-addons \ - #polkit-kde \ - #extragear \ - #" # Allow for specification of individual packages to be built: if [ -z "$1" ]; then |