From 7119290dd4b5d0ae882c6a5ce1737174735c5f6a Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 11 Jan 2015 23:19:24 +0100 Subject: All packages have been built at least once. Some are failing. The README file contains the log of problematic packages. TODO means, that I still have to create a fix. DOMNE means that the fix is in the source tree already. SKIP means that I will remove the package from the set. I am going to rebuild everything from scratch. --- README | 31 ++- deps/updates.SlackBuild | 3 +- kde/modularize | 178 ++++++++++++++- kde/modules/applications | 269 ++++++++++++----------- kde/modules/kdebase | 7 - kde/patch/kalgebra.patch | 5 + kde/patch/kalgebra/kalgebra_ncurses_linking.diff | 85 +++++++ kde/patch/kdewebdev.patch | 3 +- kde/post-install/baloo5.post-install | 5 - 9 files changed, 435 insertions(+), 151 deletions(-) create mode 100644 kde/patch/kalgebra.patch create mode 100644 kde/patch/kalgebra/kalgebra_ncurses_linking.diff delete mode 100644 kde/post-install/baloo5.post-install diff --git a/README b/README index 0fe8854..b0b9f55 100644 --- a/README +++ b/README @@ -2,7 +2,10 @@ 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. +Plasma 5.1.2 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. 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. @@ -15,17 +18,35 @@ Preliminary build procedure (not verified 100% yet): - 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. -- 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 +- 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" +- check that everything built correctly - build kdei +BUILD LOG FOR PLASMA-EXTRA: + +TODO: sddm-qt5 (no longer adds an /etc/sddm.conf so we need to generate one in its doinst.sh) + +BUILD LOG FOR APPLICATIONS: + +TODO: 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) +TODO: 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) + ============================================================================== - Eric Hameleers / alien at slackware dot com / 09-jan-2015 + Eric Hameleers / alien at slackware dot com / 11-jan-2015 diff --git a/deps/updates.SlackBuild b/deps/updates.SlackBuild index 858abe6..83c14e4 100755 --- a/deps/updates.SlackBuild +++ b/deps/updates.SlackBuild @@ -34,7 +34,6 @@ ALLDEPS=" \ gst1-plugins-good \ qt5 \ qca-qt5 \ - akonadi-qt5 \ libdbusmenu-qt5 \ qt-gstreamer \ qt-gstreamer1 \ @@ -43,6 +42,8 @@ ALLDEPS=" \ polkit-qt5-1 \ libepoxy \ " + # needed only by future kdepimlibs-framework + #akonadi-qt5 \ # Allow for specification of individual packages to be built: if [ -z "$1" ]; then diff --git a/kde/modularize b/kde/modularize index dea3d7a..86d6eb8 100644 --- a/kde/modularize +++ b/kde/modularize @@ -131,6 +131,178 @@ sddm-theme-breeze kscreen2 kdeconnect-framework +# applications +# old kdebase: +kde-baseapps +kde-wallpapers +kde-workspace +kde-runtime +kde-base-artwork +# Old kdesdk: +cervisia +dolphin-plugins +kcachegrind +kde-dev-scripts +kde-dev-utils +kdesdk-kioslaves +kdesdk-strigi-analyzers +kdesdk-thumbnailers +libkomparediff2 +kompare +lokalize +poxml +umbrello +# The old kdegraphics: +libkipi +libkexiv2 +libkdcraw +libksane +kdegraphics-mobipocket +kdegraphics-strigi-analyzer +okular +kdegraphics-thumbnailers +kamera +kcolorchooser +kgamma +kolourpaint +kruler +ksaneplugin +ksnapshot +svgpart +libkface +# The old kdeaccessibility: +#jovie +kaccessible +kmouth +kmousetool +kmag +# The old kdeutils: +ark +filelight +kcalc +kcharselect +kdf +kfloppy +kgpg +print-manager +kremotecontrol +ktimer +kwalletmanager +superkaramba +sweeper +# The old kdemultimedia: +libkcddb +libkcompactdisc +audiocd-kio +dragon +#ffmpegthumbs +mplayerthumbs +juk +kmix +#kscd +# The oxygen icon set: +oxygen-icons +# The kdenetwork: +kdenetwork-filesharing +kdenetwork-strigi-analyzers +zeroconf-ioslave +kget +kopete +kppp +krdc +krfb +# kdeadmin: +kcron +ksystemlog +kuser +# kdeartwork: +kdeartwork +# kdegames: +libkdegames +libkmahjongg +klickety +ksudoku +ksquares +kpat +klines +ksnakeduel +kollision +kshisen +kblocks +lskat +kreversi +bovo +kajongg +granatier +kmines +kiriki +kigo +bomber +kolf +kdiamond +kbounce +konquest +kapman +knavalbattle +killbots +kubrick +kgoldrunner +knetwalk +kbreakout +ksirk +kfourinline +picmi +kblackbox +palapeli +katomic +ktuberling +kjumpingcube +kmahjongg +kspaceduel +# kdetoys: +amor +kteatime +ktux +# kdeedu: +libkdeedu +kdeedu-data +artikulate +blinken +cantor +kalzium +kbruch +kgeography +kiten +klettres +kmplot +kstars +kqtquickcharts +ktouch +kturtle +kwordquiz +marble +pairs +rocs +step +# kdewebdev: +kdewebdev + +# +# Ported to KF5: +kate +konsole +analitza +gwenview +kalgebra +kanagram +khangman +kig +parley +kapptemplate +okteta +libkeduvocdocument + + # # The old KDE 4 stuff which has not been migrated yet. or is still needed # by un-migrated applications: @@ -145,14 +317,8 @@ baloo-widgets nepomuk-core nepomuk-widgets kfilemetadata -kde-baseapps kactivities -konsole -kate -kde-wallpapers kde-workspace -kde-runtime -kde-base-artwork # kdebindings smokegen diff --git a/kde/modules/applications b/kde/modules/applications index 27e1efa..fd9695a 100644 --- a/kde/modules/applications +++ b/kde/modules/applications @@ -1,154 +1,171 @@ # https://community.kde.org/Applications/14.12_Release_Notes -# Ported to KF5: -kate -konsole -analitza -gwenview -kalgebra -kanagram -khangman -kig -parley -kapptemplate -okteta -libkeduvocdocument -# Not yet ported to KF5: -amor -ark -artikulate -audiocd-kio -blinken -bomber -bovo -cantor +# old kdebase: +kde-baseapps +kde-wallpapers +kde-workspace +kde-runtime +kde-base-artwork +# Old kdesdk: cervisia dolphin-plugins -dragon -ffmpegthumbs -filelight -granatier -jovie -juk -kaccessible -kajongg -kalzium -kamera -kapman -katomic -kblackbox -kblocks -kbounce -kbreakout -kbruch kcachegrind -kcalc -kcharselect -kcolorchooser -kcron -kde-base-artwork -kde-baseapps kde-dev-scripts kde-dev-utils -kde-runtime -kde-wallpapers -kdeartwork -kdeedu-data -kdegraphics-mobipocket -kdegraphics-strigi-analyzer -kdegraphics-thumbnailers -kdenetwork-filesharing -kdenetwork-strigi-analyzers kdesdk-kioslaves kdesdk-strigi-analyzers kdesdk-thumbnailers -kdewebdev +libkomparediff2 +kompare +lokalize +poxml +umbrello +# The old kdegraphics: +libkipi +libkexiv2 +libkdcraw +libksane +kdegraphics-mobipocket +kdegraphics-strigi-analyzer +okular +kdegraphics-thumbnailers +kamera +kcolorchooser +kgamma +kolourpaint +kruler +ksaneplugin +ksnapshot +svgpart +#libkface +# The old kdeaccessibility: +#jovie +kaccessible +kmouth +kmousetool +kmag +# The old kdeutils: +ark +filelight +kcalc +kcharselect kdf -kdiamond kfloppy -kfourinline -kgamma -kgeography -kget -kgoldrunner kgpg -kigo -killbots -kiriki -kiten -kjumpingcube -klettres -klickety -klines -kmag -kmahjongg -kmines +print-manager +kremotecontrol +ktimer +kwalletmanager +superkaramba +sweeper +# The old kdemultimedia: +libkcddb +libkcompactdisc +audiocd-kio +dragon +#ffmpegthumbs +mplayerthumbs +juk kmix -kmousetool -kmouth -kmplot -knavalbattle -knetwalk -kolf -kollision -kolourpaint -kompare -konquest +#kscd +# The oxygen icon set: +oxygen-icons +# The kdenetwork: +kdenetwork-filesharing +kdenetwork-strigi-analyzers +zeroconf-ioslave +kget kopete -kpat kppp -kqtquickcharts krdc -kremotecontrol -kreversi krfb -kruler -ksaneplugin -kscd +# kdeadmin: +kcron +ksystemlog +kuser +# kdeartwork: +kdeartwork +# kdegames: +libkdegames +libkmahjongg +klickety +ksudoku +ksquares +kpat +klines +ksnakeduel +kollision kshisen +kblocks +lskat +kreversi +bovo +kajongg +granatier +kmines +kiriki +kigo +bomber +kolf +kdiamond +kbounce +konquest +kapman +knavalbattle +killbots +kubrick +kgoldrunner +knetwalk +kbreakout ksirk -ksnakeduel -ksnapshot +kfourinline +picmi +kblackbox +palapeli +katomic +ktuberling +kjumpingcube +kmahjongg kspaceduel -ksquares -kstars -ksudoku -ksystemlog +# kdetoys: +amor kteatime -ktimer +ktux +# kdeedu: +libkdeedu +kdeedu-data +artikulate +blinken +cantor +kalzium +kbruch +kgeography +kiten +klettres +kmplot +kstars +kqtquickcharts ktouch -ktuberling kturtle -ktux -kubrick -kuser -kwalletmanager kwordquiz -libkcddb -libkcompactdisc -libkdcraw -libkdeedu -libkdegames -libkexiv2 -libkface -libkipi -libkmahjongg -libkomparediff2 -libksane -lokalize -lskat marble -mplayerthumbs -okular -oxygen-icons pairs -palapeli -picmi -poxml -print-manager rocs step -superkaramba -svgpart -sweeper -umbrello -zeroconf-ioslave +# kdewebdev: +kdewebdev + +# +# Ported to KF5: +libkeduvocdocument +kate +konsole +analitza +gwenview +kalgebra +kanagram +khangman +kig +parley +kapptemplate +okteta + diff --git a/kde/modules/kdebase b/kde/modules/kdebase index ab8c03d..6ae2f32 100644 --- a/kde/modules/kdebase +++ b/kde/modules/kdebase @@ -3,11 +3,4 @@ baloo baloo-widgets nepomuk-core nepomuk-widgets -#kde-baseapps kactivities -#konsole -#kate -#kde-wallpapers -kde-workspace -#kde-runtime -#kde-base-artwork diff --git a/kde/patch/kalgebra.patch b/kde/patch/kalgebra.patch new file mode 100644 index 0000000..8365ff3 --- /dev/null +++ b/kde/patch/kalgebra.patch @@ -0,0 +1,5 @@ +# On some systems, libreadline is linked to Curses implementation directly; +# on other, it's not, requiring you to link both Curses and Readline libraries +# manually. +cat $CWD/patch/kalgebra/kalgebra_ncurses_linking.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/kde/patch/kalgebra/kalgebra_ncurses_linking.diff b/kde/patch/kalgebra/kalgebra_ncurses_linking.diff new file mode 100644 index 0000000..9ef555b --- /dev/null +++ b/kde/patch/kalgebra/kalgebra_ncurses_linking.diff @@ -0,0 +1,85 @@ +# Se: +# https://git.reviewboard.kde.org/r/118959/diff/1/?expand=1 +# --------------------------------------------------------------------------- +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09e216f..b7d6370 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,8 +9,16 @@ include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES}) + #Checking whether we can compile calgebra + include(CheckIncludeFiles) + macro_optional_find_package(Readline) ++macro_optional_find_package(Ncurses) + macro_bool_to_01(READLINE_FOUND HAVE_READLINE) ++macro_bool_to_01(NCURSES_FOUND HAVE_NCURSES) ++if(READLINE_FOUND AND NCURSES_FOUND) ++ set(CONSOLE_SUPPORTED TRUE) ++else(READLINE_FOUND AND NCURSES_FOUND) ++ set(CONSOLE_SUPPORTED FALSE) ++endif(READLINE_FOUND AND NCURSES_FOUND) + macro_log_feature(READLINE_FOUND "GNU Readline" "Allows KAlgebra to provide a console interface." "http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html" FALSE "" "") ++macro_log_feature(READLINE_FOUND "NCurses" "Allows KAlgebra to provide a console interface." "http://www.gnu.org/software/ncurses/" FALSE "" "") + + macro_optional_find_package(OpenGL) + macro_bool_to_01(OPENGL_FOUND HAVE_OPENGL) +@@ -25,9 +33,9 @@ set(ANALITZA_LIB_SOVERSION "5") + add_subdirectory(analitza) + add_subdirectory(analitzaplot) + add_subdirectory(analitzagui) +-if(HAVE_READLINE) ++if(CONSOLE_SUPPORTED) + add_subdirectory(calgebra) +-endif(HAVE_READLINE) ++endif(CONSOLE_SUPPORTED) + + macro_display_feature_log() + +diff --git a/calgebra/CMakeLists.txt b/calgebra/CMakeLists.txt +index 1cbb06b..9428c1d 100644 +--- a/calgebra/CMakeLists.txt ++++ b/calgebra/CMakeLists.txt +@@ -1,11 +1,23 @@ +-include_directories(${READLINE_INCLUDE_DIR}) ++include(CheckFunctionExists) ++include(CMakePushCheckState) ++ ++include_directories(${READLINE_INCLUDE_DIR} ${NCURSES_INCLUDE_DIRS}) ++ ++# check if we have recent version of Readline ++cmake_push_check_state(RESET) ++set(CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARY} ${NCURSES_LIBRARY}) ++check_function_exists(free_history_entry HAVE_FREE_HISTORY_ENTRY) ++cmake_pop_check_state() ++if(HAVE_FREE_HISTORY_ENTRY) ++ add_definitions(-DHAVE_FREE_HISTORY_ENTRY) ++endif() + + set(calgebra_SRCS + main.cpp + ) + + kde4_add_executable(calgebra ${calgebra_SRCS}) +-target_link_libraries(calgebra ${QT_QTCORE_LIBRARY} ${READLINE_LIBRARY} analitza) ++target_link_libraries(calgebra ${QT_QTCORE_LIBRARY} ${READLINE_LIBRARY} ${NCURSES_LIBRARY} analitza) + + install(TARGETS calgebra ${INSTALL_TARGETS_DEFAULT_ARGS}) + +diff --git a/calgebra/main.cpp b/calgebra/main.cpp +index fa045ed..ddb5ab0 100644 +--- a/calgebra/main.cpp ++++ b/calgebra/main.cpp +@@ -151,8 +151,12 @@ int main(int argc, char *argv[]) + + for(int i=0; ilength; i++) { + HIST_ENTRY *he = remove_history(i); +-// free(he->line); ++#ifdef HAVE_FREE_HISTORY_ENTRY + free_history_entry(he); ++#else ++ free(he->line); ++ free(he); ++#endif + } + qDebug("\nExit."); + return 0; + diff --git a/kde/patch/kdewebdev.patch b/kde/patch/kdewebdev.patch index 1f678fd..4bbe65b 100644 --- a/kde/patch/kdewebdev.patch +++ b/kde/patch/kdewebdev.patch @@ -1,5 +1,6 @@ # Make it find tidy: cat $CWD/patch/kdewebdev/include-tidy.patch \ - | sed -e "s#/tmp/package-kdewebdev#${SLACK_KDE_BUILD_DIR}/${module}/package-kdewebdev#" \ + | sed -e "s#/tmp/package-kdewebdev#${SLACK_KDE_BUILD_DIR}/$(echo ${module} |cut -f1 -d:)/package-kdewebdev#" \ | patch -p0 --verbose \ || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/kde/post-install/baloo5.post-install b/kde/post-install/baloo5.post-install deleted file mode 100644 index 9ef28c9..0000000 --- a/kde/post-install/baloo5.post-install +++ /dev/null @@ -1,5 +0,0 @@ -# Move the polkit dbus configuration files to the proper place: -#mv $PKG/etc/kde/dbus-1 $PKG/etc/ -mkdir -p $PKG/etc -mv $PKG/opt/kf5/etc/dbus-1 $PKG/etc/ - -- cgit v1.2.3