From f4f83660bd73e9c9ccf87c0eed420d855ef537c9 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Mon, 26 Jan 2015 21:57:57 +0100 Subject: Final KDE.SlackBuild harness, ready for the upcoming release of Plasma 5.2.0. All bugs have bee ironed out I hope... Final changes: eigen2: updated to latest version so 'step' can compile. kde-workspace: required to build this, or else kdeartwork won't compile. Frameworks as well as Plasma use /usr/lib{,64} as the libexec directory (not sure if this is the best solution but it solves a lot of path issues). Applications: modified the build order so that KF5 applications are built first (before kde-workspace overwrites part of plasma-workspace). My final package set will not have kde-workspace but if you compile this yourself, your last step needs to be: # removepkg kde-workspace # upgradepkg --reinstall /path/to/plasma-workspace --- README | 22 ++---- deps/alldeps.SlackBuild | 1 + deps/eigen2/eigen2.SlackBuild | 95 ++++++++++++++++++++++++++ deps/eigen2/slack-desc | 19 ++++++ deps/strigi/strigi.info | 4 -- deps/updates.SlackBuild | 1 + deps/wayland/wayland.SlackBuild | 14 ++-- kde/cmake/baloo5 | 1 + kde/cmake/frameworks | 1 + kde/cmake/kwayland | 1 + kde/cmake/plasma | 1 + kde/cmake/polkit-kde-framework | 1 + kde/cmake/sddm-kcm | 1 + kde/doinst.sh/sddm-qt5 | 1 + kde/modularize | 1 + kde/modules/applications | 32 ++++----- kde/modules/plasma-extra | 2 + kde/pkgsrc/polkit-kde-kcmodules-framework | 2 + kde/post-install/plasma-workspace.post-install | 2 +- 19 files changed, 159 insertions(+), 43 deletions(-) create mode 100755 deps/eigen2/eigen2.SlackBuild create mode 100644 deps/eigen2/slack-desc delete mode 100644 deps/strigi/strigi.info create mode 120000 kde/cmake/kwayland create mode 120000 kde/cmake/polkit-kde-framework create mode 120000 kde/cmake/sddm-kcm create mode 100644 kde/pkgsrc/polkit-kde-kcmodules-framework diff --git a/README b/README index cf70e9b..2d7869c 100644 --- a/README +++ b/README @@ -6,7 +6,7 @@ Plasma 5.2.0 and Applications 14.12.1. Compared to Applications 14.12.0, the Applications 14.12.1 adds LTS releases of kdelibs, kdepimlibs, kdepim-runtime, kdepim and kde-workspace. -I am going to skip kde-workspace because its contents largely collide with +I am not going to ship kde-workspace because its contents largely collide with the plasma-workspace and we want to have a Plasma Workspace. Plasma 5.2.0 has many improvements to the previous 5.1.2, and comes with @@ -27,18 +27,14 @@ CURRENT RUNTIME ISSUES: These are issues I ran into while testing on my Virtual machine. Not tested yet if they occur on real hardware. -- plasmashell crashes a lot, with error message "the x11 connection broke: unsupported extension used (code 2)". +- plasmashell crashes a lot, with error message "the x11 connection broke: + unsupported extension used (code 2)". I can reliably reproduce this by + moving the mouse into any window icon in the task bar (probably because + KWin wants to show something of the window contents). Symptom: the desktop disappears and leaves a black screen. If you happen to have a konsole window open, you can type "plasmashell" to get the desktop back and watch the errors when it crashes again. -- any action in systemsettings5 which requires admin credentials does not work. - Examples: date/time changes; SDDM configuration changes. - What *should* happen is that polkit pops up a window where you can enter - admin credentials. What happens is that no popup appears and the user - interface of systemsettings freezes (the app continues running, for instance - the clock keeps working) - COMPILING IT ALL: ================= @@ -50,10 +46,6 @@ Preliminary build procedure: # removepkg /var/log/packages/*-4.10.5-* # removepkg libkscreen # removepkg kscreen - # removepkg networkmanagement - # removepkg polkit-kde-agent-1 - # removepkg polkit-kde-kcmodules-1 - # removepkg polkit-qt-1 - 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. @@ -64,7 +56,7 @@ Preliminary build procedure: - build all the KDE 4 stuff in the "kde/" directory, using "./KDE.SlackBuild kde libs kdebase:nepomuk-core kdepimlibs kdebase kdebindings kdepim extragear" - check that everything built correctly - build the remaining KDE 5 stuff in the "kde/" directory, using "./KDE.SlackBui -ld frameworks plasma plasma-extra polkit-kde applications" +ld frameworks plasma plasma-extra applications" - check that everything built correctly - (optionally) build kdei - If you want to use SDDM as your graphical login manager, use the following @@ -126,5 +118,5 @@ DONE: kalgebra (needed a refreshed curses patch) SKIP: step (don't understand where the compilation error comes from) ============================================================================== - Eric Hameleers / alien at slackware dot com / 23-jan-2015 + Eric Hameleers / alien at slackware dot com / 26-jan-2015 diff --git a/deps/alldeps.SlackBuild b/deps/alldeps.SlackBuild index c5542d2..5890daf 100755 --- a/deps/alldeps.SlackBuild +++ b/deps/alldeps.SlackBuild @@ -26,6 +26,7 @@ ALLDEPS=" \ attica \ shared-desktop-ontologies \ LibRaw \ + eigen2 \ eigen3 \ orc \ xapian-core \ diff --git a/deps/eigen2/eigen2.SlackBuild b/deps/eigen2/eigen2.SlackBuild new file mode 100755 index 0000000..d8fd0b5 --- /dev/null +++ b/deps/eigen2/eigen2.SlackBuild @@ -0,0 +1,95 @@ +#!/bin/sh + +# Copyright 2007, 2008 Robby Workman, Northport, Alabama, USA +# Copyright 2008, 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. + +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS 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 AUTHOR 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. + + +PKGNAM=eigen2 +VERSION=${VERSION:-2.0.17} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir -p build +cd build + QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \ + PATH=$QTDIR/bin:$PATH \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + .. + make || exit 1 + make install DESTDIR=$PKG || exit 1 +cd - + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a COPYING* $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n /tmp/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/deps/eigen2/slack-desc b/deps/eigen2/slack-desc new file mode 100644 index 0000000..fab9410 --- /dev/null +++ b/deps/eigen2/slack-desc @@ -0,0 +1,19 @@ +# 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----------------------------------------------------| +eigen2: Eigen2 (c++ math library) +eigen2: +eigen2: Eigen 2 is a lightweight C++ template library for vector and matrix +eigen2: math, a.k.a. linear algebra. +eigen2: +eigen2: See the website: http://eigen.tuxfamily.org +eigen2: +eigen2: +eigen2: +eigen2: +eigen2: diff --git a/deps/strigi/strigi.info b/deps/strigi/strigi.info deleted file mode 100644 index 2301f49..0000000 --- a/deps/strigi/strigi.info +++ /dev/null @@ -1,4 +0,0 @@ -PRGNAM="strigi" -VERSION="0.5.9" -HOMEPAGE="http://strigi.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/strigi/strigi-0.5.9.tar.bz2" diff --git a/deps/updates.SlackBuild b/deps/updates.SlackBuild index 9474f39..63e131e 100755 --- a/deps/updates.SlackBuild +++ b/deps/updates.SlackBuild @@ -24,6 +24,7 @@ ALLDEPS=" \ attica \ shared-desktop-ontologies \ LibRaw \ + eigen2 \ eigen3 \ orc \ OpenAL \ diff --git a/deps/wayland/wayland.SlackBuild b/deps/wayland/wayland.SlackBuild index 5e4361b..cf3d95f 100755 --- a/deps/wayland/wayland.SlackBuild +++ b/deps/wayland/wayland.SlackBuild @@ -23,7 +23,7 @@ # ----------------------------------------------------------------------------- -PRGNAM=wayland +PKGNAM=wayland VERSION=${VERSION:-1.6.0} BUILD=${BUILD:-1} @@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:" -j4 "} CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-$PRGNAM +PKG=$TMP/package-$PKGNAM if [ -e $CWD/machine.conf ]; then . $CWD/machine.conf ] @@ -75,9 +75,9 @@ esac rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1 -cd $PRGNAM-$VERSION || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 # Make sure ownerships and permissions are sane: chown -R root:root . @@ -96,7 +96,7 @@ CXXFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ --enable-static=no \ --build=$TARGET @@ -135,5 +135,5 @@ cat $CWD/slack-desc > $PKG/install/slack-desc # Create the package: cd $PKG -/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/kde/cmake/baloo5 b/kde/cmake/baloo5 index 04a85a1..77ae5f5 100644 --- a/kde/cmake/baloo5 +++ b/kde/cmake/baloo5 @@ -15,6 +15,7 @@ cd build -DMAN_INSTALL_DIR=/usr/man \ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \ -DBUILD_TESTING=OFF \ diff --git a/kde/cmake/frameworks b/kde/cmake/frameworks index fd9ec67..c05a2c3 100644 --- a/kde/cmake/frameworks +++ b/kde/cmake/frameworks @@ -13,6 +13,7 @@ cd build -DSYSCONF_INSTALL_DIR=/etc/kde \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \ + -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ diff --git a/kde/cmake/kwayland b/kde/cmake/kwayland new file mode 120000 index 0000000..eff359e --- /dev/null +++ b/kde/cmake/kwayland @@ -0,0 +1 @@ +plasma \ No newline at end of file diff --git a/kde/cmake/plasma b/kde/cmake/plasma index de786f3..38ab64d 100644 --- a/kde/cmake/plasma +++ b/kde/cmake/plasma @@ -13,6 +13,7 @@ cd build -DSYSCONF_INSTALL_DIR=/etc/kde \ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ diff --git a/kde/cmake/polkit-kde-framework b/kde/cmake/polkit-kde-framework new file mode 120000 index 0000000..eff359e --- /dev/null +++ b/kde/cmake/polkit-kde-framework @@ -0,0 +1 @@ +plasma \ No newline at end of file diff --git a/kde/cmake/sddm-kcm b/kde/cmake/sddm-kcm new file mode 120000 index 0000000..eff359e --- /dev/null +++ b/kde/cmake/sddm-kcm @@ -0,0 +1 @@ +plasma \ No newline at end of file diff --git a/kde/doinst.sh/sddm-qt5 b/kde/doinst.sh/sddm-qt5 index 8fdf0ce..88ab236 100644 --- a/kde/doinst.sh/sddm-qt5 +++ b/kde/doinst.sh/sddm-qt5 @@ -45,6 +45,7 @@ Then, run an "upgradepkg --reinstall" of this sddm-qt5 package so that it can ru EOT else chroot . passwd -l sddm > /dev/null + chroot . gpasswd -a sddm video > /dev/null fi fi diff --git a/kde/modularize b/kde/modularize index a1d90d9..cf8933f 100644 --- a/kde/modularize +++ b/kde/modularize @@ -135,6 +135,7 @@ ksshaskpass sddm-qt5 sddm-theme-breeze kdeconnect-framework +polkit-kde-kcmodules-framework # applications # old kdebase: diff --git a/kde/modules/applications b/kde/modules/applications index 0fdeddb..6cf4e6d 100644 --- a/kde/modules/applications +++ b/kde/modules/applications @@ -1,8 +1,23 @@ # https://community.kde.org/Applications/14.12_Release_Notes +# +# Ported to KF5: +libkeduvocdocument +kate +konsole +analitza +gwenview +kalgebra +kanagram +khangman +kig +parley +kapptemplate +okteta +# # old kdebase: kde-baseapps kde-wallpapers -#kde-workspace +kde-workspace kde-runtime kde-base-artwork # Old kdesdk: @@ -154,18 +169,3 @@ step # kdewebdev: kdewebdev -# -# Ported to KF5: -libkeduvocdocument -kate -konsole -analitza -gwenview -kalgebra -kanagram -khangman -kig -parley -kapptemplate -okteta - diff --git a/kde/modules/plasma-extra b/kde/modules/plasma-extra index 53fa9c0..06274c7 100644 --- a/kde/modules/plasma-extra +++ b/kde/modules/plasma-extra @@ -1,4 +1,6 @@ sddm-qt5 sddm-theme-breeze kdeconnect-framework +polkit-kde-kcmodules-framework + diff --git a/kde/pkgsrc/polkit-kde-kcmodules-framework b/kde/pkgsrc/polkit-kde-kcmodules-framework new file mode 100644 index 0000000..eeede40 --- /dev/null +++ b/kde/pkgsrc/polkit-kde-kcmodules-framework @@ -0,0 +1,2 @@ +plasma-extra/polkit-kde-kcmodules-1 + diff --git a/kde/post-install/plasma-workspace.post-install b/kde/post-install/plasma-workspace.post-install index c9fa086..17384b4 100644 --- a/kde/post-install/plasma-workspace.post-install +++ b/kde/post-install/plasma-workspace.post-install @@ -35,5 +35,5 @@ mkdir -p $PKG/etc mv $PKG//etc/kde/dbus-1 $PKG/etc/ # For shadow, this file needs to be setuid root just like the KDE4 version: -chmod +s $PKG/usr/lib$LIBDIRSUFFIX/libexec/kcheckpass +chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass -- cgit v1.2.3