File plasma5-workspace.spec of Package plasma5-workspace

#
# spec file for package plasma5-workspace
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%bcond_without lang
Name:           plasma5-workspace
Version:        5.4.2
Release:        0
Summary:        The KDE Plasma Workspace Components
License:        GPL-2.0+
Group:          System/GUI/KDE
Url:            http://www.kde.org/
Source:         plasma-workspace-%{version}.tar.xz
Source1:        baselibs.conf
Source99:       %{name}-rpmlintrc
# PATCH-FIX_OPENSUSE 0001-Rename-qdbus-in-startkde.patch cgiboudeaux@gmx.com -- Rename the qdbus executable in startkde
Patch0:         0001-Rename-qdbus-in-startkde.patch
# PATCH-FIX_OPENSUSE create_kdehome.patch -- https://bugs.kde.org/show_bug.cgi?id=338422#c8
Patch1:         create_kdehome.patch
# PATCH-FIX_OPENSUSE fix-wayland-requirement.patch alarrosa@suse.com -- Change wayland requirement from 1.3.0 to 1.2.1
Patch2:         fix-wayland-requirement.patch
Patch3:         rb125743.patch
# PATCHES 100-200 and above are from upstream 5.3 branch
# PATCHES 201-300 and above are from upstream master/5.4 branch

BuildRequires:  alsa-devel
BuildRequires:  baloo5-devel >= %{version}
BuildRequires:  kactivities5-devel >= 5.12.0
BuildRequires:  kcmutils-devel >= 5.12.0
BuildRequires:  kcoreaddons-devel >= 5.12.0
BuildRequires:  kcrash-devel >= 5.12.0
BuildRequires:  kdbusaddons-devel >= 5.12.0
BuildRequires:  kdeclarative-devel >= 5.12.0
BuildRequires:  kdelibs4support-devel >= 5.12.0
BuildRequires:  kdesu-devel >= 5.12.0
BuildRequires:  kdewebkit-devel >= 5.12.0
BuildRequires:  kdoctools-devel >= 5.12.0
BuildRequires:  kf5-filesystem
BuildRequires:  kglobalaccel-devel >= 5.12.0
BuildRequires:  kidletime-devel >= 5.12.0
BuildRequires:  kjsembed-devel >= 5.12.0
BuildRequires:  knewstuff-devel >= 5.12.0
BuildRequires:  knotifyconfig-devel >= 5.12.0
BuildRequires:  kpackage-devel >= 5.12.0
BuildRequires:  krunner-devel >= 5.12.0
BuildRequires:  ktexteditor-devel >= 5.12.0
BuildRequires:  kwallet-framework-devel >= 5.12.0
BuildRequires:  kwayland-devel >= %{version}
BuildRequires:  kwin5-devel >= %{version}
BuildRequires:  kxmlrpcclient5-devel >= 5.12.0
BuildRequires:  libKF5NetworkManagerQt-devel >= 5.12.0
BuildRequires:  libkscreen2-devel >= %{version}
BuildRequires:  libksysguard5-devel >= %{version}
BuildRequires:  libxcb-devel
BuildRequires:  pam-devel
BuildRequires:  phonon4qt5-devel
BuildRequires:  plasma-framework-devel >= 5.12.0
BuildRequires:  solid-devel >= 5.12.0
BuildRequires:  update-desktop-files
%if 0%{?suse_version} == 1315 && ! 0%{?is_opensuse}
# We have a patched wayland 1.2.1 version in SLE12 with the required features from 1.3.0
BuildRequires:  wayland-devel >= 1.2.1
%else
BuildRequires:  wayland-devel >= 1.3.0
%endif
BuildRequires:  pam-config
BuildRequires:  xz
BuildRequires:  pkgconfig(Qt5Concurrent) >= 5.4.0
BuildRequires:  pkgconfig(Qt5DBus) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Qml) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Quick) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Script) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Sql) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Test) >= 5.4.0
BuildRequires:  pkgconfig(Qt5Widgets) >= 5.4.0
BuildRequires:  pkgconfig(Qt5X11Extras) >= 5.4.0
BuildRequires:  pkgconfig(dbusmenu-qt5)
BuildRequires:  pkgconfig(libqalculate)
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb-icccm)
BuildRequires:  pkgconfig(xcb-image)
BuildRequires:  pkgconfig(xcb-keysyms)
BuildRequires:  pkgconfig(xcursor)
BuildRequires:  pkgconfig(xi)
BuildRequires:  pkgconfig(xrender)
BuildRequires:  pkgconfig(zlib)
Requires(post): pam-config
Conflicts:      kdebase4-workspace < 5.3.0
# Some files have been moved from kio-extras5 to plasma5-workspace in 5.4. This should prevent a possible file conflict. (boo#944656)
Conflicts:      kio-extras5 < 15.08.0
Requires:       %{name}-branding = %{version}
Requires:       %{name}-libs = %{version}-%{release}
# used within startup
Requires:       kde-cli-tools5 >= %{version}
Requires:       kded
Requires:       kdelibs4support
Requires:       kinit
Requires:       kwin5 >= %{version}
Requires:       libqt5-qttools >= 5.4.0
# contains default style, cursors, etc
Requires:       breeze >= %{version}
# needed by krunner
Requires:       milou5 >= %{version}
# heavily used by plasma
Requires:       libqt5-qtquickcontrols
# battery applet
Requires:       drkonqi5 >= %{version}
Requires:       kglobalaccel5 >= %{version}
Requires:       solid-imports
# dialog/platformtheme/etc
Requires:       frameworkintegration-plugin
Requires:       kscreen5 >= %{version}
Requires:       libkscreen2-plugin >= %{version}
# boo#912317
Requires:       oxygen5-sounds >= %{version}
# hardcode versions of plasma-framework-componets and plasma-framework-private packages, as upstream doesn't keep backwards compability there
%requires_ge plasma-framework-components
%requires_ge plasma-framework-private
Requires:       kactivities5
Requires:       kio-extras5
Requires:       xembed-sni-proxy
# notifications...
Recommends:     phonon4qt5-backend
# people should be able to adjust desktop
Recommends:     systemsettings5
# so Qt4-only apps have some colors in tray
Recommends:     sni-qt
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This package contains the basic packages for a Plasma workspace.

%package branding-upstream
Summary:        The KDE Plasma Workspace Components
Group:          System/GUI/KDE
Provides:       %{name}-branding = %{version}
Supplements:    packageand(plasma5-workspace:branding-upstream)
Conflicts:      otherproviders(%{name}-branding)

%description branding-upstream
This package contains the basic packages for a Plasma workspace.

%package -n drkonqi5
Summary:        KDE crash handler
Group:          Development/Tools/Debuggers

%description -n drkonqi5
The KDE Crash Handler gives the user feedback if a program has crashed.

%package libs
Summary:        The KDE Plasma Workspace Components
Group:          Development/Libraries/KDE
%requires_ge libQt5Core5
%requires_ge libQt5DBus5
%requires_ge libQt5Gui5
%requires_ge libQt5Widgets5
%requires_ge libQt5X11Extras5
%requires_ge libksysguard5
%requires_ge libKF5CoreAddons5
%requires_ge libKF5WindowSystem5
%requires_ge libKF5Activities5
%requires_ge libKF5I18n5
%requires_ge kservice
%requires_ge kio
%requires_ge plasma-framework

%description libs
This package contains the basic packages for a K Desktop Environment
workspace.

%package devel
Summary:        The KDE Plasma Workspace Components
Group:          Development/Libraries/KDE
Requires:       %{name}-libs = %{version}-%{release}
Conflicts:      kdebase4-workspace-devel
Provides:       plasma-workspace5-devel = %{version}
Obsoletes:      plasma-workspace5-devel <= %{version}

%description devel
This package contains the basic packages for a K Desktop Environment
workspace. Development files.

%lang_package
%prep
%setup -q -n plasma-workspace-%{version}
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} == 1315 && ! 0%{?is_opensuse}
%patch2 -p1
%endif
%patch3 -p1

%build
  %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
  %make_jobs

%install
  %kf5_makeinstall -C build
  install -p -D -m755 drkonqi/doc/examples/installdbgsymbols_suse.sh \
  %{buildroot}/usr/bin/installdbgsymbols.sh
  # we have a separate package for Plasma5 session
  rm -rfv %{buildroot}%{_kf5_sharedir}/xsessions

%post
# boo#931296
/usr/sbin/pam-config -d --unix2 || :
/usr/sbin/pam-config -a --unix || :
/sbin/ldconfig

%postun -p /sbin/ldconfig

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

%files libs
%defattr(-,root,root)
%doc COPYING*
%{_kf5_libdir}/libkworkspace5.so.*
%{_kf5_libdir}/libplasma-geolocation-interface.so.*
%{_kf5_libdir}/libtaskmanager.so.*
%{_kf5_libdir}/libweather_ion.so.*

%files
%defattr(-,root,root)
%doc COPYING*
%{_kf5_bindir}/kcheckrunning
%{_kf5_bindir}/kcminit
%{_kf5_bindir}/kcminit_startup
%{_kf5_bindir}/kdostartupconfig5
%{_kf5_bindir}/klipper
%{_kf5_bindir}/krunner
%{_kf5_bindir}/ksmserver
%{_kf5_bindir}/ksplashqml
%{_kf5_bindir}/kstartupconfig5
%{_kf5_bindir}/kuiserver5
%{_kf5_bindir}/plasmashell
%{_kf5_bindir}/plasmawindowed
%{_kf5_bindir}/startkde
%{_kf5_bindir}/startplasmacompositor
%{_kf5_bindir}/systemmonitor
%{_kf5_configdir}/autostart/org.kde.klipper.desktop
%{_kf5_configdir}/autostart/plasmashell.desktop
%{_kf5_configdir}/autostart/krunner.desktop
%config %{_kf5_configdir}/plasmoids.knsrc
%config %{_kf5_configdir}/wallpaper.knsrc
%config %{_kf5_configdir}/taskmanagerrulesrc
%dir %{_kf5_libdir}/libexec
%{_kf5_libdir}/libexec/kcheckpass
%{_kf5_libdir}/libexec/kscreenlocker_greet
%{_kf5_libdir}/libexec/ksyncdbusenv
%{_kf5_libdir}/libexec/startplasma
%{_kf5_libdir}/libkdeinit5_kcminit.so
%{_kf5_libdir}/libkdeinit5_kcminit_startup.so
%{_kf5_libdir}/libkdeinit5_klipper.so
%{_kf5_libdir}/libkdeinit5_ksmserver.so
%{_kf5_libdir}/libkdeinit5_kuiserver5.so
%{_kf5_plugindir}/
%{_kf5_qmldir}/
%{_kf5_applicationsdir}/org.kde.klipper.desktop
%{_kf5_applicationsdir}/plasma-windowed.desktop
%{_kf5_configkcfgdir}/freespacenotifier.kcfg
%{_kf5_sharedir}/dbus-1/services/kf5_org.kde.kuiserver.service
%{_kf5_sharedir}/dbus-1/services/org.kde.krunner.service
%{_kf5_sharedir}/desktop-directories/
%dir %{_kf5_htmldir}/en
%dir %{_kf5_htmldir}
%doc %{_kf5_htmldir}/en/klipper/
%doc %{_kf5_htmldir}/en/kcontrol/
%{_kf5_notifydir}/
%{_kf5_servicesdir}/
%{_kf5_servicetypesdir}/
%{_kf5_sharedir}/kconf_update/
%{_kf5_sharedir}/ksmserver/
%{_kf5_sharedir}/ksplash/
%{_kf5_sharedir}/kstyle/
%{_kf5_plasmadir}/
%{_kf5_sharedir}/solid/
%{_kf5_sharedir}/kio_desktop/

%files -n drkonqi5
%defattr(-,root,root)
%doc COPYING*
%{_kf5_bindir}/installdbgsymbols.sh
%dir %{_kf5_libdir}/libexec
%{_kf5_libdir}/libexec/drkonqi
%{_kf5_sharedir}/drkonqi/

%files branding-upstream
%defattr(-,root,root)
%doc COPYING*
%dir %{_kf5_sharedir}/sddm
%dir %{_kf5_sharedir}/sddm/themes
%{_kf5_sharedir}/sddm/themes/breeze/

%files devel
%defattr(-,root,root)
%doc COPYING*
%{_kf5_prefix}/include/KDE/
%{_kf5_prefix}/include/kworkspace5/
%{_kf5_prefix}/include/plasma/
%{_kf5_prefix}/include/taskmanager/
%{_kf5_libdir}/cmake/KRunnerAppDBusInterface/
%{_kf5_libdir}/cmake/KSMServerDBusInterface/
%{_kf5_libdir}/cmake/LibKWorkspace/
%{_kf5_libdir}/cmake/LibTaskManager/
%{_kf5_libdir}/cmake/ScreenSaverDBusInterface/
%{_kf5_libdir}/libkworkspace5.so
%{_kf5_libdir}/libplasma-geolocation-interface.so
%{_kf5_libdir}/libtaskmanager.so
%{_kf5_libdir}/libweather_ion.so
%{_kf5_sharedir}/dbus-1/interfaces/

%if %{with lang}
%files lang
%defattr(-,root,root)
%{_kf5_localedir}/
%doc %lang(ca) %{_kf5_htmldir}/ca/
%endif

%changelog
openSUSE Build Service is sponsored by