From 2aaa9939eae8fd83a2860c4e54f7f6588d8bd38d Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Tue, 17 Feb 2015 21:43:26 +0100 Subject: kdevelop: fix compilation due to our stripped-down kde-workspace. --- README | 126 ------------------------------- README.5_15.01 | 215 ----------------------------------------------------- kde/cmake/kdevelop | 19 +++++ 3 files changed, 19 insertions(+), 341 deletions(-) delete mode 100644 README delete mode 100644 README.5_15.01 create mode 100644 kde/cmake/kdevelop diff --git a/README b/README deleted file mode 100644 index 98fad21..0000000 --- a/README +++ /dev/null @@ -1,126 +0,0 @@ -KDE 5_1501 -========== - -This is KDE 5 for Slackware-current, composed of Frameworks 5.6.0, 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 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 -several new packages (some of which I originally had in plasma-extra but have -now found their rightful place): (lib)bluedevil, ksshaskpass, muon, -sddm-kcm-module, kscreen2, polkit-framework, kde-gtk-config, kdecoration. -And unfortunately, in order to be able to compile KWin, I had to add wayland -to the "deps/" for this release of Plasma. -I will not ship a 'muon' package since that is only meaningful on debian and -derivatives like ubuntu. - -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. - - -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)". 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. - - -COMPILING IT ALL: -================= - -Preliminary build procedure: ----------------------------- - -- (crude) get rid of Slackware's KDE: - # removepkg /var/log/packages/*-4.10.5-* - # removepkg libkscreen - # removepkg kscreen -- 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. - - I removed akonadi-qt5 from the built deps because it won't be used until - there is a kdepimlibs-framework, and currently it causes kdepimlibs-4.14 - to pick up Qt5 dependencies making its build fail -- logoff/login to activate Qt5 profile script. -- 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 applications" -- check that everything built correctly -- remove kde-workspace and re-install plasma-workspace (kde-workspace is only - used to build kdeartwork) -- (optionally) build kdei -- If you want to use SDDM as your graphical login manager, use the following - patch to /etc/rc.d/rc.4: - -# -------- 8< -------------------------------------- ---- /etc/rc.d/rc.4.orig 2015-01-23 13:26:43.273394439 +0100 -+++ /etc/rc.d/rc.4 2015-01-23 10:01:12.189036253 +0100 -@@ -28,6 +28,8 @@ - # Not there? OK, try to use KDE's kdm session manager: - if [ -x /opt/kde/bin/kdm ]; then - exec /opt/kde/bin/kdm -nodaemon -+elif [ -x /usr/bin/sddm ]; then -+ exec /usr/bin/sddm - elif [ -x /usr/bin/kdm ]; then - exec /usr/bin/kdm -nodaemon - fi -# -------- 8< -------------------------------------- - - - -BUILD LOG FOR PLASMA: -===================== - -DONE: Need to recompile everything making sure that Qt4 is not picked up by accident, or else set "export QT_QPA_PLATFORM_PLUGIN_PATH=path/to/qt/plugins" to get rid of the start-time error: - Failed to load platform plugin "xcb". Available platforms are: - linuxfb minimal offscreen xcb - Aborted - >> The fix was to rebuild the qt5 package, not all of the rest :-) -SKIP: change "qtpaths" to "qtpaths-qt5" in /usr/bin/startkde - (not needed for Slackware, because /etc/profile.d/qt5.sh expands $PATH) -SKIP: change "qdbus" to "qdbus-qt5" in /usr/bin/startkde - (not needed for Slackware, because /etc/profile.d/qt5.sh expands $PATH) -SKIP: rename /usr/bin/startkde to /usr/bin/startkde5 because it clashes with the script from kde-workspace. Also update the plasma*desktop scripts to call startkde5 instead of startkde. - (I removed kde-workspace instead, we do not need that anyway) -DONE: Remove kde5-plasma*.desktop because plasma-workspace now includes its own plasma.desktop - - -BUILD LOG FOR PLASMA-EXTRA: -=========================== - -DONE: sddm-qt5 (no longer adds an /etc/sddm.conf so we need to generate one in its doinst.sh) - - -BUILD LOG FOR APPLICATIONS: -=========================== - -DONE: kdoctools (needs a fix for its CMake search for path to "/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd", which causes a build error in kde-dev-scripts later on) -DONE: kde-dev-scripts (needs a fixed "/usr/share/kf5/kdoctools/customization/dtd/kdex.dtd" in kdoctools) -SKIP: libkface (needs opencv, so this will get skipped due to my reservations with it) -DONE: kdeartwork (missed kde-workspace, will be fixed in the next iteration) -DONE: kdewebdev (seems like tidy added the KDE.SlackBuild parameter to the path of its header file) -DONE: kalgebra (needs patch to link properly to ncurses) -DONE: kanagram (needed libkeduvocdocument, was missing due to build order issue) -DONE: khangman (needed libkeduvocdocument, was missing due to build order issue) -DONE: parley (needed libkeduvocdocument, was missing due to build order issue) -DONE: okular (needed libkscreen removed) -DONE: kalgebra (needed a refreshed curses patch) -DONE: step (needed an update of eigen2 to compile successfully) - -============================================================================== - Eric Hameleers / alien at slackware dot com / 27-jan-2015 - diff --git a/README.5_15.01 b/README.5_15.01 deleted file mode 100644 index 6a90849..0000000 --- a/README.5_15.01 +++ /dev/null @@ -1,215 +0,0 @@ -KDE5 -==== - -This is KDE 5_15.01 for Slackware, consisting of the KDE Frameworks 5.6.0, -Plasma 5.2.0 and Applications 14.12.1. -This is meant only to be installed on top of Slackware -current and it will -*replace* any version of KDE 4 you migh thave installed! - -Plasma 5 is the next generation of KDE's desktop workspace. -Plasma 5 improves support for high-DPI displays and comes with a "converged -shell", i.e. one Plasma codebase for different target devices. Plasma 5 uses -a new fully hardware-accelerated OpenGL(ES) graphics stack. Plasma 5 is built -using Qt 5 and Frameworks 5. -And with the Breeze themed artwork and its own Oxygen font, this desktop looks -clean and modern. - -Further points of interest: -- Lots of packages in the 'deps' department which are completely new to - Slackware. Since KDE 5 is built on Qt5 (KDE 4 had Qt4 as its base) you'll - find many Qt5 related packages. Also, in ordet for Qt4 and GTK based - applications to dock into the Plasma 5 system tray, more dependencies were - needed. So, apart from updates to regular Slackware packages, these are the - new ones: - LibRaw, OpenAL, akonadi-qt5, eigen3, gst1-plugins-base, gst1-plugins-good, - gstreamer1, json-glib, libappindicator, libdbusmenu-gtk, libdbusmenu-qt5, - libepoxy, libfakekey, libindicator, orc, polkit-qt5-1, qca-qt5, qt-gstreamer, - qt-gstreamer1, qt5, sni-qt, wayland and xapian-core. -- Note for users of multilib Slackware64 and also using Skype: you will have to - grab the 32-bit version of sni-qt and run 'convertpkg-compat32' on it, - or else Skype won't be able to dock its icon in the systray. -- A bit sneakily, I built phonon-vlc for you. You will also need a VLC package - to be able to use this package though. -- I added the latest Calligra 2.8.7 office suite. -- Even though I compile a 'kde-workspace' package as part of the whole set, - I do not ship that package. It conflicts with the new plasma-workspace - package. -- Several source tarballs in Plasma 5.2.0 have not been compiled to Slackware - packages: libbluedevil and bluedevil (they need BlueZ 5 which is not part of - Slackware), muon (a debian/ubuntu package manager), libkface (needs opencv - which I was not willing to add as a dependency). -- One dependency which you'll probably find curious, is wayland. It is required - in order to *compile* KWin's X11 driver, but it is apparently not needed at - *runtime*. Nevertheless, I left the package in, just in case you want or need - to recompile kwin. -- Graphical login: KDM has been replaced with SDDM. - If you want to see the new graphical session (login) manager SDDM in action, - add the following lines to the Slackware file "/etc/rc.d/rc.4" right after - the line: echo "Starting up X11 session manager..." - -# --- 8< -------------------------------------- -if [ -x /usr/bin/sddm ]; then - exec /usr/bin/sddm -fi -# --- 8< -------------------------------------- - -... and then switch to runlevel 4 by typing (at the root prompt): - - # init 4 - -Select "Plasma" from the SDDM session dropdown. -Alternatively, if you prefer good old runlevel 3, you can type (at your own -user account's command prompt): - - $ xwmconfig - -... and select "xinitrc.plasma" as your default window manager for X. -Then run: - - $ startx - -NOTE: -Also explained in more detail below, upgrading to this KDE 5 is non-trivial. -You will have to remove old KDE packages manually. If you do not have KDE -installed at all, you will have to *install* some of Slackware's own KDE -packages manually. - -NOTE: -If you decide to install these packages on top of a fresh installation of - Slackware-current and have excluded all packages in the 'KDE' package series - during installation, you will be missing several add-on packages, some of - these are essential to the proper functioning of KDE! - If you excluded the complete Slackware-current 'KDE' series, then you - will have to install the following essential Slackware-current packages - at a a minimum: - * bluedevil - * polkit-kde-agent-1 - * polkit-kde-kcmodules-1 - And optionally install these as well: - * amarok - * kaudiocreator - * kdevelop-pg-qt - * kplayer - * ktorrent - * libktorrent - -------------------------------------------------------------------------------- -Building it all from source: -------------------------------------------------------------------------------- - -Sources and scripts are separated from the packages in my 'ktown' repository. -If you want the sources for KDE 5, run the following command to download them: - - # rsync -av rsync://alien.slackbook.org/alien/ktown/source/5 . - -There are a lot of 'dependencies' for KDE 5 which you'll have to compile and -install before attempting to compile KDE 5. Compiling and installing these -dependencies on Slackware-current is as easy as: - # cd 5/deps - # ./updates.SlackBuild - # cd - - -Be prepared to wait a *long* time since this will recompile Qt4 and compile a -new Qt5 package among others. The finished package will be stored in /tmp . -Then if you want to compile the KDE packages on your computer, run: - # cd 5/kde - # ./KDE.SlackBuild - -Wait a long time, and you will find the new packages in /tmp/kde-build . -Note that these packages will already have been installed by KDE.SlackBuild ! - -But if all you want is the packages I created, then you can skip all of that. - -------------------------------------------------------------------------------- -Install pre-compiled packages: -------------------------------------------------------------------------------- - -In order to install or upgrade KDE 5, follow these steps: - -Make sure you are not running KDE or even X ! If you are running an X session, -log out first, and if you are in runlevel 4 (graphical login) you first have to -go back to runlevel 3 (console) by typing "init 3". - -If you still have a KDE 4 installed, it must be removed first. No clean -upgrade path can be provided! Do as follows: - -If you have Slackware's default KDE 4.10.5 installed: - # removepkg /var/log/packages/*-4.10.5-* - # removepkg libkscreen - # removepkg kscreen - # removepkg kde-workspace -If you have my 'ktown' set of KDE 4.14.3 installed: - # removepkg /var/log/packages/*-4.14.3-*alien - # removepkg libkscreen - # removepkg kscreen - # removepkg kde-workspace - # removepkg libmm-qt - # removepkg plasma-nm - # removepkg kdeconnect-kde -If you have my 'ktown_preview' set of KDE 5.0.2 installed as well: - # removepkg /var/log/packages/*-5.0.2-*alien - # removepkg /var/log/packages/*-5.2.0-*alien - # removepkg kscreen2 libkscreen2 libmm-qt5 libnm-qt5 oxygen-fonts sddm - -Then proceed with installing KDE 5 as outlined below. - -To make it easy for you, here is a one-line command that downloads the whole -'5' directory (excluding the sources), with 32-bit and 64-bit packages -(and be careful of the 'dot' at the end of that command, it is part of the -commandline !!): - - # rsync -av rsync://alien.slackbook.org/alien/ktown/current/5 . - -Or else, if you want to download packages for just one of the two supported -architectures, you would run one of the following commands instead (note that -there is a dot at the end of these commands!). - -If you want only the 64-bit packages: - # rsync -av --exclude=x86 rsync://alien.slackbook.org/alien/ktown/current/5 . -If you want only the 32-bit packages: - # rsync -av --exclude=x86_64 rsync://alien.slackbook.org/alien/ktown/current/5 . - -Assuming you just downloaded the bits you want from the directory tree -"5", you must now change your current directory to where you found this -README (which is the directory called '5'). If you used one of the -above "rsync" commands then you can simply do: - - # cd 5 - -From within this directory, you run the following commands as root (note that -some of the old KDE package names are obsoleted now, they have been split up, -renamed or integrated and that is the reason for the 'removepkg' lines): - - On Slackware 32-bit: - # upgradepkg --reinstall --install-new x86/deps/*.t?z - # upgradepkg --reinstall --install-new x86/kde/*/*.t?z - - On Slackware 64-bit: - # upgradepkg --reinstall --install-new x86_64/deps/*.t?z - # upgradepkg --reinstall --install-new x86_64/kde/*/*.t?z - - If you already have one or more non-english language packs installed: - - On Slackware 32-bit: - # upgradepkg x86/kdei/*.t?z - - On Slackware 64-bit: - # upgradepkg x86_64/kdei/*.t?z - - If you want to have a non-english language pack installed but none is - currently installed, substitute your country code instead of the 'XX' - in the next command: - # upgradepkg --install-new x86_64/kdei/kde-l10n-XX-*.t?z - - Check if any ".new" configuration files have been left behind by - the upgradepkg commands. Compare them to their originals and decide - if you need to use them. - # find /etc/ -name "*.new" - A graphical (ncurses) tool for processing these "*.new" files is slackpkg: - # slackpkg new-config - -Then reboot your system. - -============================================================================== - Eric Hameleers / alien at slackware dot com / 28-jan-2015 - diff --git a/kde/cmake/kdevelop b/kde/cmake/kdevelop new file mode 100644 index 0000000..d8e7e64 --- /dev/null +++ b/kde/cmake/kdevelop @@ -0,0 +1,19 @@ +mkdir build +cd build + cmake \ + $KDE_OPT_ARGS \ + -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMAN_INSTALL_DIR=/usr/man \ + -DSYSCONF_INSTALL_DIR=/etc/kde \ + -DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \ + -DLIBEXEC_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DWITH_KDE4Workspace=OFF \ + .. + -- cgit v1.2.3