summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2015-01-26 21:57:57 +0100
committer Eric Hameleers <alien@slackware.com>2015-01-26 21:57:57 +0100
commitf4f83660bd73e9c9ccf87c0eed420d855ef537c9 (patch)
treec2ab7070826aa55b9c8321637737c8d004e32240
parent09fd6d0ae700261597fbe7b351d664f42cb76a5f (diff)
downloadktown-f4f83660bd73e9c9ccf87c0eed420d855ef537c9.tar.gz
ktown-f4f83660bd73e9c9ccf87c0eed420d855ef537c9.tar.xz
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
-rw-r--r--README22
-rwxr-xr-xdeps/alldeps.SlackBuild1
-rwxr-xr-xdeps/eigen2/eigen2.SlackBuild95
-rw-r--r--deps/eigen2/slack-desc19
-rw-r--r--deps/strigi/strigi.info4
-rwxr-xr-xdeps/updates.SlackBuild1
-rwxr-xr-xdeps/wayland/wayland.SlackBuild14
-rw-r--r--kde/cmake/baloo51
-rw-r--r--kde/cmake/frameworks1
l---------kde/cmake/kwayland1
-rw-r--r--kde/cmake/plasma1
l---------kde/cmake/polkit-kde-framework1
l---------kde/cmake/sddm-kcm1
-rw-r--r--kde/doinst.sh/sddm-qt51
-rw-r--r--kde/modularize1
-rw-r--r--kde/modules/applications32
-rw-r--r--kde/modules/plasma-extra2
-rw-r--r--kde/pkgsrc/polkit-kde-kcmodules-framework2
-rw-r--r--kde/post-install/plasma-workspace.post-install2
19 files changed, 159 insertions, 43 deletions
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