File exclude-qtuitools-symbols-from-public-libraries.patch of Package kdelibs4
diff -urNB b/kjsembed/kjsembed/CMakeLists.txt c/kjsembed/kjsembed/CMakeLists.txt
--- b/kjsembed/kjsembed/CMakeLists.txt 2015-08-24 19:12:45.064814391 +0200
+++ c/kjsembed/kjsembed/CMakeLists.txt 2015-08-24 19:32:05.999703245 +0200
@@ -71,7 +71,8 @@
set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
install(TARGETS ${KJSEMBEDLIBNAME} EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
-
+# Do not export QtUiTools internal symbols
+set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
diff -urNB b/kross/modules/CMakeLists.txt c/kross/modules/CMakeLists.txt
--- b/kross/modules/CMakeLists.txt 2015-08-24 19:12:44.957813941 +0200
+++ c/kross/modules/CMakeLists.txt 2015-08-24 19:32:06.000703249 +0200
@@ -15,6 +15,9 @@
target_link_libraries(krossmoduleforms ${QT_QTUITOOLS_LIBRARY} ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS} krosscore krossui)
install(TARGETS krossmoduleforms DESTINATION ${PLUGIN_INSTALL_DIR})
+
+ # Do not export QtUiTools internal symbols
+ set_target_properties(krossmoduleforms PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
endif( QT_QTDESIGNER_FOUND )
############################################
diff -urNB b/kross/qts/CMakeLists.txt c/kross/qts/CMakeLists.txt
--- b/kross/qts/CMakeLists.txt 2015-08-24 19:12:44.958813945 +0200
+++ c/kross/qts/CMakeLists.txt 2015-08-24 19:32:06.001703254 +0200
@@ -30,3 +30,6 @@
target_link_libraries(krossqts ${KDE4_KDEUI_LIBS} ${KDE4_KDECORE_LIBS} krosscore ${QT_QTSCRIPT_LIBRARY})
install(TARGETS krossqts DESTINATION ${PLUGIN_INSTALL_DIR})
+
+# Do not export QtUiTools internal symbols
+set_target_properties(krossqts PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
\ No newline at end of file
diff -urNB b/plasma/CMakeLists.txt c/plasma/CMakeLists.txt
--- b/plasma/CMakeLists.txt 2015-08-24 19:12:44.946813895 +0200
+++ c/plasma/CMakeLists.txt 2015-08-24 19:32:06.000703249 +0200
@@ -279,6 +279,9 @@
${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS})
+# Do not export QtUiTools internal symbols
+set_target_properties(plasma PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
+
if(QCA2_FOUND)
target_link_libraries(plasma LINK_PRIVATE ${QCA2_LIBRARIES})
endif(QCA2_FOUND)
diff -urNB b/plasma/CMakeLists.txt.orig c/plasma/CMakeLists.txt.orig
--- b/plasma/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
+++ c/plasma/CMakeLists.txt.orig 2015-08-24 19:31:48.935631386 +0200
@@ -0,0 +1,465 @@
+# strange conversion error in pushbutton.cpp
+kde4_no_enable_final(plasma)
+
+if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
+ set(PLASMA_NO_KDEWEBKIT TRUE)
+ set(PLASMA_NO_KNEWSTUFF TRUE)
+ set(PLASMA_NO_SOLID TRUE)
+ set(PLASMA_NO_KIO TRUE)
+ set(PLASMA_NO_KUTILS TRUE)
+ set(PLASMA_NO_GLOBAL_SHORTCUTS TRUE)
+endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
+
+set(PLASMA_NO_PACKAGEKIT TRUE)
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+ ${KDE4_KDECORE_INCLUDES}
+ ${KDE4_KDEUI_INCLUDES}
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative
+ ${CMAKE_BINARY_DIR}/experimental/libkdeclarative
+ ${CMAKE_SOURCE_DIR}/threadweaver
+ ${CMAKE_SOURCE_DIR}/plasma/extenders
+ ${CMAKE_SOURCE_DIR}/plasma/remote
+ ${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch/qtjolie
+ ${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch
+ ${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch/includes
+ )
+
+if(NOT PLASMA_NO_KIO)
+ include_directories(${KDE4_KIO_INCLUDES})
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${KDE4_KIO_LIBS})
+endif(NOT PLASMA_NO_KIO)
+
+if(NOT PLASMA_NO_KDEWEBKIT)
+ include_directories(${CMAKE_SOURCE_DIR}/kdewebkit/)
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} kdewebkit)
+endif(NOT PLASMA_NO_KDEWEBKIT)
+
+if(NOT PLASMA_NO_KNEWSTUFF)
+ include_directories(${CMAKE_SOURCE_DIR}/knewstuff/)
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} knewstuff3)
+endif(NOT PLASMA_NO_KNEWSTUFF)
+
+if(NOT PLASMA_NO_SOLID)
+ include_directories(${CMAKE_BINARY_DIR}/solid/)
+ include_directories(${CMAKE_SOURCE_DIR}/solid/)
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${KDE4_SOLID_LIBS})
+endif(NOT PLASMA_NO_SOLID)
+
+if(NOT PLASMA_NO_PACKAGEKIT)
+ add_definitions(-DPLASMA_ENABLE_PACKAGEKIT_SUPPORT=1)
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${QT_QTDBUS_LIBRARY})
+endif(NOT PLASMA_NO_PACKAGEKIT)
+
+if (NOT PLASMA_NO_KUTILS)
+ include_directories(${CMAKE_SOURCE_DIR}/kutils)
+ set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${KDE4_KUTILS_LIBS})
+endif(NOT PLASMA_NO_KUTILS)
+
+if(QCA2_FOUND)
+ include_directories(${QCA2_INCLUDE_DIR})
+ set(ENABLE_REMOTE_WIDGETS TRUE)
+endif(QCA2_FOUND)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-plasma.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-plasma.h)
+
+add_subdirectory(tests)
+add_definitions(-DKDE_DEFAULT_DEBUG_AREA=1209)
+
+########### next target ###############
+
+set(plasmagik_SRCS
+ packagemetadata.cpp
+ packagestructure.cpp
+ package.cpp
+ )
+
+#to make the Temporary solution to not link to libkdeclarative work, disable the exports of libkdeclarative
+add_definitions(-DKDECLARATIVE_EXPORT=)
+
+set(plasma_LIB_SRCS
+ ${plasmagik_SRCS}
+ abstractrunner.cpp
+ abstracttoolbox.cpp
+ animator.cpp
+ animations/animation.cpp
+ animations/animationscriptengine.cpp
+ animations/bindings/animationgroup.cpp
+ animations/bindings/easingcurve.cpp
+ animations/easinganimation.cpp
+ animations/fade.cpp
+ animations/grow.cpp
+ animations/javascriptanimation.cpp
+ animations/pendulumcurve.cpp
+ animations/pixmaptransition.cpp
+ animations/pulser.cpp
+ animations/rotation.cpp
+ animations/rotationstacked.cpp
+ animations/slide.cpp
+ animations/stackedlayout.cpp
+ animations/geometry.cpp
+ animations/water.cpp
+ animations/widgetsnapshot.cpp
+ animations/zoom.cpp
+ applet.cpp
+ configloader.cpp
+ containment.cpp
+ containmentactions.cpp
+ containmentactionspluginsconfig.cpp
+ context.cpp
+ corona.cpp
+ datacontainer.cpp
+ dataengine.cpp
+ dataenginemanager.cpp
+ delegate.cpp
+ dialog.cpp
+ abstractdialogmanager.cpp
+ extenders/extender.cpp
+ extenders/extendergroup.cpp
+ extenders/extenderitem.cpp
+ pluginloader.cpp
+ paintutils.cpp
+ framesvg.cpp
+ plasma.cpp
+ popupapplet.cpp
+ private/animablegraphicswebview.cpp
+ private/applethandle.cpp
+ private/associatedapplicationmanager.cpp
+ private/componentinstaller.cpp
+ private/datacontainer_p.cpp
+ private/dataenginebindings.cpp
+ private/dataengineconsumer.cpp
+ private/dataengineservice.cpp
+ private/denyallauthorization.cpp
+ private/dialogshadows.cpp
+ private/effectwatcher.cpp
+ private/extenderapplet.cpp
+ private/extenderitemmimedata.cpp
+ private/focusindicator.cpp
+ private/getsource.cpp
+ private/nativetabbar.cpp
+ private/packages.cpp
+ private/pinpairingauthorization.cpp
+ private/pinpairingdialog.cpp
+ private/plasmoidservice.cpp
+ private/remotedataengine.cpp
+ private/remoteservice.cpp
+ private/remoteservicejob.cpp
+ private/runnerjobs.cpp
+ private/serviceprovider.cpp
+ private/storage.cpp
+ private/storagethread.cpp
+ private/style.cpp
+ private/themedwidgetinterface.cpp
+ private/trustedonlyauthorization.cpp
+ private/tooltip.cpp
+ private/wallpaperrenderthread.cpp
+ private/windowpreview.cpp
+ private/kineticscroll.cpp
+ private/declarative/declarativenetworkaccessmanagerfactory.cpp
+ private/effects/halopainter.cpp
+ private/effects/ripple.cpp
+ querymatch.cpp
+ remote/accessmanager.cpp
+ remote/accessappletjob.cpp
+ remote/authorizationinterface.cpp
+ remote/authorizationmanager.cpp
+ remote/authorizationrule.cpp
+ remote/clientpinrequest.cpp
+ remote/credentials.cpp
+ remote/serviceaccessjob.cpp
+ runnercontext.cpp
+ runnermanager.cpp
+ runnersyntax.cpp
+ scripting/appletscript.cpp
+ scripting/dataenginescript.cpp
+ scripting/runnerscript.cpp
+ scripting/wallpaperscript.cpp
+ scripting/scriptengine.cpp
+ service.cpp
+ servicejob.cpp
+ svg.cpp
+ theme.cpp
+ tooltipcontent.cpp
+ tooltipmanager.cpp
+ version.cpp
+ view.cpp
+ wallpaper.cpp
+ windoweffects.cpp
+ widgets/checkbox.cpp
+ widgets/combobox.cpp
+ widgets/declarativewidget.cpp
+ widgets/flashinglabel.cpp
+ widgets/frame.cpp
+ widgets/groupbox.cpp
+ widgets/iconwidget.cpp
+ widgets/itembackground.cpp
+ widgets/label.cpp
+ widgets/lineedit.cpp
+ widgets/meter.cpp
+ widgets/pushbutton.cpp
+ widgets/radiobutton.cpp
+ widgets/scrollbar.cpp
+ widgets/signalplotter.cpp
+ widgets/slider.cpp
+ widgets/spinbox.cpp
+ widgets/toolbutton.cpp
+ widgets/busywidget.cpp
+ widgets/scrollwidget.cpp
+ widgets/separator.cpp
+ widgets/svgwidget.cpp
+ widgets/tabbar.cpp
+ widgets/textbrowser.cpp
+ widgets/treeview.cpp
+ widgets/textedit.cpp
+ widgets/webview.cpp
+
+ #Temporary QtJolie branch
+ private/qtjolie-branch/qtjolie/abstractadaptor.cpp
+ private/qtjolie-branch/qtjolie/client.cpp
+ private/qtjolie-branch/qtjolie/clientthread.cpp
+ private/qtjolie-branch/qtjolie/value.cpp
+ private/qtjolie-branch/qtjolie/fault.cpp
+ private/qtjolie-branch/qtjolie/message.cpp
+ private/qtjolie-branch/qtjolie/metaservice.cpp
+ private/qtjolie-branch/qtjolie/pendingcall.cpp
+ private/qtjolie-branch/qtjolie/pendingcallwatcher.cpp
+ private/qtjolie-branch/qtjolie/pendingreply.cpp
+ private/qtjolie-branch/qtjolie/server.cpp
+ private/qtjolie-branch/qtjolie/serverthread.cpp
+
+ #Temporary solution to not link to libkdeclarative
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/kdeclarative.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/private/engineaccess.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/private/kiconprovider.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/bindings/qscriptnonguibookkeeping.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/bindings/i18n.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/bindings/icon.cpp
+ ${CMAKE_SOURCE_DIR}/experimental/libkdeclarative/bindings/url.cpp
+)
+
+if(NOT KDE_NO_DEPRECATED)
+ set(plasma_LIB_SRCS
+ ${plasma_LIB_SRCS}
+ deprecated/animationdriver.cpp
+ deprecated/animator.cpp
+ )
+endif(NOT KDE_NO_DEPRECATED)
+
+kde4_add_kcfg_files(plasma_LIB_SRCS data/kconfigxt/libplasma-theme-global.kcfgc)
+
+kde4_add_ui_files(plasma_LIB_SRCS
+ private/pinpairing.ui
+ private/publish.ui)
+#NEPOMUK_GENERATE_FROM_ONTOLOGY(
+# nwc.nrl
+# ${metadata_test_BINARY_DIR}
+# TEST_HEADERS
+# TEST_SOURCES
+# TEST_INCLUDES
+#)
+
+if (QT_QTOPENGL_FOUND)
+ message(STATUS "Adding support for OpenGL applets to libplasma")
+ set(plasma_LIB_SRCS
+ ${plasma_LIB_SRCS}
+ glapplet.cpp)
+endif(QT_QTOPENGL_FOUND)
+
+if (PHONON_FOUND)
+ message(STATUS "Adding support for Phonon to libplasma")
+ include_directories(${KDE4_PHONON_INCLUDES})
+ set(plasma_LIB_SRCS
+ ${plasma_LIB_SRCS}
+ widgets/videowidget.cpp)
+endif(PHONON_FOUND)
+
+kde4_add_library(plasma ${LIBRARY_TYPE} ${plasma_LIB_SRCS})
+
+target_link_libraries(plasma LINK_PRIVATE ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
+ ${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
+ ${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS})
+
+if(QCA2_FOUND)
+ target_link_libraries(plasma LINK_PRIVATE ${QCA2_LIBRARIES})
+endif(QCA2_FOUND)
+
+if(X11_FOUND)
+ target_link_libraries(plasma LINK_PRIVATE ${X11_LIBRARIES})
+endif(X11_FOUND)
+
+if(PHONON_FOUND)
+ target_link_libraries(plasma LINK_PRIVATE ${KDE4_PHONON_LIBS})
+endif(PHONON_FOUND)
+
+if(DL_LIBRARY)
+ target_link_libraries(plasma LINK_PRIVATE ${DL_LIBRARY})
+endif(DL_LIBRARY)
+
+if(QT_QTOPENGL_FOUND)
+ target_link_libraries(plasma LINK_PRIVATE ${QT_QTOPENGL_LIBRARY})
+endif(QT_QTOPENGL_FOUND)
+
+target_link_libraries(plasma LINK_PUBLIC kdeui kdecore ${QT_QTGUI_LIBRARY})
+
+#do NOT use GENERIC versioning -- the plasma team will take care of versioning
+set_target_properties(plasma PROPERTIES
+ VERSION 3.0.0
+ SOVERSION 3
+ )
+
+install(TARGETS plasma EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
+
+
+########### install files ###############
+
+set(plasmagik_HEADERS
+ packagemetadata.h
+ packagestructure.h
+ package.h
+ )
+
+install(FILES ${plasmagik_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/ COMPONENT Devel)
+
+set(plasma_LIB_INCLUDES
+ abstractdialogmanager.h
+ abstractrunner.h
+ abstracttoolbox.h
+ animations/animation.h
+ animator.h
+ applet.h
+ configloader.h
+ containment.h
+ containmentactions.h
+ containmentactionspluginsconfig.h
+ context.h
+ corona.h
+ datacontainer.h
+ dataengine.h
+ dataenginemanager.h
+ delegate.h
+ dialog.h
+ extenders/extender.h
+ extenders/extendergroup.h
+ extenders/extenderitem.h
+ pluginloader.h
+ paintutils.h
+ windoweffects.h
+ framesvg.h
+ plasma.h
+ plasma_export.h
+ popupapplet.h
+ querymatch.h
+ remote/accessappletjob.h
+ remote/accessmanager.h
+ remote/authorizationmanager.h
+ remote/authorizationrule.h
+ remote/authorizationinterface.h
+ remote/clientpinrequest.h
+ remote/credentials.h
+ remote/serviceaccessjob.h
+ runnercontext.h
+ runnermanager.h
+ runnersyntax.h
+ service.h
+ servicejob.h
+ svg.h
+ theme.h
+ tooltipcontent.h
+ tooltipmanager.h
+ version.h
+ view.h
+ wallpaper.h)
+
+if(NOT KDE_NO_DEPRECATED)
+ set(plasma_LIB_INCLUDES
+ ${plasma_LIB_INCLUDES}
+ animationdriver.h
+ )
+endif(NOT KDE_NO_DEPRECATED)
+
+
+if(QT_QTOPENGL_FOUND)
+ set(plasma_LIB_INCLUDES
+ ${plasma_LIB_INCLUDES}
+ glapplet.h)
+endif(QT_QTOPENGL_FOUND)
+
+install(FILES
+ ${plasma_LIB_INCLUDES}
+ DESTINATION ${INCLUDE_INSTALL_DIR}/plasma COMPONENT Devel)
+
+install(FILES
+ widgets/checkbox.h
+ widgets/combobox.h
+ widgets/declarativewidget.h
+ widgets/flashinglabel.h
+ widgets/frame.h
+ widgets/groupbox.h
+ widgets/iconwidget.h
+ widgets/itembackground.h
+ widgets/label.h
+ widgets/lineedit.h
+ widgets/meter.h
+ widgets/pushbutton.h
+ widgets/toolbutton.h
+ widgets/radiobutton.h
+ widgets/scrollbar.h
+ widgets/signalplotter.h
+ widgets/slider.h
+ widgets/spinbox.h
+ widgets/busywidget.h
+ widgets/separator.h
+ widgets/svgwidget.h
+ widgets/scrollwidget.h
+ widgets/tabbar.h
+ widgets/textbrowser.h
+ widgets/treeview.h
+ widgets/textedit.h
+ widgets/webview.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel)
+
+install(FILES
+ scripting/appletscript.h
+ scripting/dataenginescript.h
+ scripting/runnerscript.h
+ scripting/wallpaperscript.h
+ scripting/scriptengine.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/scripting COMPONENT Devel)
+
+if(PHONON_FOUND)
+ install (FILES
+ widgets/videowidget.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel)
+endif(PHONON_FOUND)
+
+install(FILES
+ animations/animation.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/animations COMPONENT Devel)
+
+
+install(FILES
+ data/servicetypes/plasma-animator.desktop
+ data/servicetypes/plasma-applet.desktop
+ data/servicetypes/plasma-applet-popupapplet.desktop
+ data/servicetypes/plasma-containment.desktop
+ data/servicetypes/plasma-containmentactions.desktop
+ data/servicetypes/plasma-dataengine.desktop
+ data/servicetypes/plasma-packagestructure.desktop
+ data/servicetypes/plasma-runner.desktop
+ data/servicetypes/plasma-scriptengine.desktop
+ data/servicetypes/plasma-service.desktop
+ data/servicetypes/plasma-toolbox.desktop
+ data/servicetypes/plasma-wallpaper.desktop
+ DESTINATION ${SERVICETYPES_INSTALL_DIR})
+
+install(FILES
+ data/services/plasma-applet-extenderapplet.desktop
+ data/services/plasma.protocol
+ DESTINATION ${SERVICES_INSTALL_DIR})
+
+install(FILES data/knewstuff/plasmoids.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
+
+install(FILES data/operations/dataengineservice.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
+install(FILES data/operations/plasmoidservice.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
+install(FILES data/operations/storage.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
+