Rex Dieter 05abc8f
# Whether to build experimental Wayland support
Rex Dieter 05abc8f
# NOTE: Does not build on F20 due to too old Wayland and requires kf5-kwayland,
Rex Dieter 05abc8f
# which is not available in Fedora yet
Rex Dieter 05abc8f
%global         wayland 0
Dan Vrátil 117bf84
%global         plasma_version  5.2.0
Rex Dieter 05abc8f
Rex Dieter 05abc8f
Name:           kwin
Dan Vrátil 117bf84
Version:        5.2.0.1
Rex Dieter db3ed95
Release:        3%{?dist}
Rex Dieter 05abc8f
Summary:        KDE Window manager
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# all sources are effectively GPLv2+, except for:
Rex Dieter 05abc8f
# scripts/enforcedeco/contents/code/main.js
Rex Dieter 05abc8f
# KDE e.V. may determine that future GPL versions are accepted
Rex Dieter 05abc8f
License:        GPLv2 or GPLv3
Rex Dieter 05abc8f
URL:            https://projects.kde.org/projects/kde/workspace/kwin
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%global revision %(echo %{version} | cut -d. -f3)
Rex Dieter 05abc8f
%if %{revision} >= 50
Rex Dieter 05abc8f
%global stable unstable
Rex Dieter 05abc8f
%else
Rex Dieter 05abc8f
%global stable stable
Rex Dieter 05abc8f
%endif
Dan Vrátil 117bf84
Source0:        http://download.kde.org/%{stable}/plasma/%{plasma_version}/%{name}-%{version}.tar.xz
Dan Vrátil f3390f3
Rex Dieter 05abc8f
# Base
Rex Dieter 05abc8f
BuildRequires:  kf5-rpm-macros
Rex Dieter 05abc8f
BuildRequires:  extra-cmake-modules
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# Qt
Rex Dieter 05abc8f
BuildRequires:  qt5-qtbase-devel
Rex Dieter 05abc8f
BuildRequires:  qt5-qtscript-devel
Rex Dieter 05abc8f
BuildRequires:  qt5-qttools-devel
Rex Dieter 05abc8f
BuildRequires:  qt5-qttools-static
Rex Dieter 05abc8f
BuildRequires:  qt5-qtx11extras-devel
Rex Dieter 05abc8f
BuildRequires:  qt5-qtmultimedia-devel
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# X11/OpenGL
Rex Dieter 05abc8f
BuildRequires:  mesa-libGL-devel
Rex Dieter 05abc8f
BuildRequires:  mesa-libEGL-devel
Rex Dieter 05abc8f
BuildRequires:  libxkbcommon-devel
Rex Dieter 05abc8f
BuildRequires:  libX11-devel
Rex Dieter 05abc8f
BuildRequires:  libxcb-devel
Rex Dieter 05abc8f
BuildRequires:  libICE-devel
Rex Dieter 05abc8f
BuildRequires:  libSM-devel
Rex Dieter 05abc8f
BuildRequires:  libXcursor-devel
Rex Dieter 05abc8f
BuildRequires:  xcb-util-wm-devel
Rex Dieter 05abc8f
BuildRequires:  xcb-util-image-devel
Rex Dieter 05abc8f
BuildRequires:  xcb-util-keysyms-devel
Rex Dieter 05abc8f
BuildRequires:  libepoxy-devel
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# Wayland (optional)
Rex Dieter 05abc8f
%if 0%{?wayland}
Rex Dieter 05abc8f
BuildRequires:  kf5-kwayland-devel
Rex Dieter 05abc8f
BuildRequires:  libwayland-client-devel
Rex Dieter 05abc8f
BuildRequires:  libwayland-server-devel
Rex Dieter 05abc8f
BuildRequires:  libwayland-cursor-devel
Rex Dieter 05abc8f
BuildRequires:  mesa-libwayland-egl-devel
Rex Dieter 05abc8f
BuildRequires:  libxkbcommon-devel >= 0.4
Rex Dieter 05abc8f
%endif
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# KF5
Rex Dieter 05abc8f
BuildRequires:  kf5-kconfig-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kconfigwidgets-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kcoreaddons-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kcrash-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kglobalaccel-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-ki18n-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kinit-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-knotifications-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kservice-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-plasma-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kwidgetsaddons-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kwindowsystem-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kdoctools-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kcmutils-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-knewstuff-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kactivities-devel
Rex Dieter 05abc8f
BuildRequires:  kf5-kdoctools-devel
Dan Vrátil 0549a77
BuildRequires:  kf5-kdeclarative-devel
Rex Dieter 05abc8f
Dan Vrátil 097a3f6
BuildRequires:  kdecoration-devel
Dan Vrátil 097a3f6
Rex Dieter 05abc8f
# Runtime deps
Rex Dieter 05abc8f
Requires:       kf5-filesystem
Rex Dieter 05abc8f
Requires:       qt5-qtmultimedia
Rex Dieter 05abc8f
Rex Dieter 05abc8f
# Before kwin was split out from kde-workspace into a subpackage
Rex Dieter 05abc8f
Conflicts:      kde-workspace%{?_isa} < 4.11.14-2
Rex Dieter 05abc8f
Dan Vrátil 50786d3
Obsoletes:      kwin-gles < 5
Dan Vrátil 50786d3
Obsoletes:      kwin-gles-libs < 5
Dan Vrátil 50786d3
Rex Dieter db3ed95
Provides: firstboot(windowmanager) = kwin_x11
Rex Dieter db3ed95
# and kwin too (#1197135), until initial-setup fixed
Rex Dieter db3ed95
Provides: firstboot(windowmanager) = kwin
Rex Dieter db3ed95
Rex Dieter 05abc8f
%description
Rex Dieter 05abc8f
%{summary}.
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%if 0%{wayland}
Rex Dieter 05abc8f
%package        wayland
Rex Dieter 05abc8f
Summary:        KDE Window Manager with experimental Wayland support
Rex Dieter 05abc8f
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
Rex Dieter 05abc8f
%description    wayland
Rex Dieter 05abc8f
%{summary}.
Rex Dieter 05abc8f
%endif
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%package        libs
Rex Dieter 05abc8f
Summary:        KWin runtime libraries
Rex Dieter 05abc8f
# Before kwin-libs was split out from kde-workspace into a subpackage
Rex Dieter 05abc8f
Conflicts:      kde-workspace-libs%{?_isa} < 4.11.14-2
Rex Dieter 05abc8f
%description    libs
Rex Dieter 05abc8f
%{summary}.
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%package        devel
Rex Dieter 05abc8f
Summary:        Development files for %{name}
Rex Dieter 05abc8f
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
Rex Dieter 05abc8f
Requires:       kf5-kconfig-devel
Rex Dieter 05abc8f
Requires:       kf5-kservice-devel
Rex Dieter 05abc8f
Requires:       kf5-kwindowsystem-devel
Dan Vrátil 097a3f6
Conflicts:      kde-workspace-devel < 5.0.0-1
Rex Dieter 05abc8f
%description    devel
Rex Dieter 05abc8f
The %{name}-devel package contains libraries and header files for
Rex Dieter 05abc8f
developing applications that use %{name}.
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%package        doc
Rex Dieter 05abc8f
Summary:        User manual for %{name}
Dan Vrátil e01c8cc
Requires:       %{name} = %{version}-%{release}
Rex Dieter 05abc8f
BuildArch:      noarch
Rex Dieter 05abc8f
%description    doc
Rex Dieter 05abc8f
%{summary}.
Rex Dieter 05abc8f
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%prep
Rex Dieter 05abc8f
%setup -q -n %{name}-%{version}
Rex Dieter 05abc8f
Dan Vrátil f3390f3
Rex Dieter 05abc8f
%build
Rex Dieter 05abc8f
mkdir -p %{_target_platform}
Rex Dieter 05abc8f
pushd %{_target_platform}
Rex Dieter 05abc8f
%{cmake_kf5} ..
Rex Dieter 05abc8f
popd
Rex Dieter 05abc8f
Rex Dieter 05abc8f
make %{?_smp_mflags} -C %{_target_platform}
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%install
Rex Dieter 05abc8f
make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
Dan Vrátil f648e31
%find_lang kwin5 --with-qt --with-kde --all-name
Rex Dieter 05abc8f
Rex Dieter db3ed95
# temporary(?) hack to allow initial-setup to use /usr/bin/kwin too
Rex Dieter db3ed95
ln -s kwin_x11 %{buildroot}%{_bindir}/kwin
Rex Dieter db3ed95
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%post
Rex Dieter 05abc8f
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%postun
Rex Dieter 05abc8f
if [ $1 -eq 0 ] ; then
Rex Dieter 05abc8f
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
Rex Dieter 05abc8f
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
Rex Dieter 05abc8f
fi
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%posttrans
Rex Dieter 05abc8f
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%files -f kwin5.lang
Rex Dieter db3ed95
%{_bindir}/kwin
Rex Dieter 05abc8f
%{_bindir}/kwin_x11
Rex Dieter 05abc8f
%{_datadir}/kwin
Rex Dieter 05abc8f
%{_kf5_qtplugindir}/*.so
Rex Dieter 05abc8f
%{_kf5_qtplugindir}/kwin
Dan Vrátil 097a3f6
%{_kf5_qtplugindir}/org.kde.kdecoration2/*.so
Rex Dieter 05abc8f
%{_qt5_prefix}/qml/org/kde/kwin
Rex Dieter 05abc8f
%{_kf5_libdir}/kconf_update_bin/kwin5_update_default_rules
Rex Dieter 05abc8f
%{_libexecdir}/kwin_killer_helper
Rex Dieter 05abc8f
%{_libexecdir}/kwin_rules_dialog
Rex Dieter 05abc8f
%{_datadir}/kwincompositing
Rex Dieter 05abc8f
%{_kf5_datadir}/kservices5/*.desktop
Rex Dieter 05abc8f
%{_kf5_datadir}/kservices5/kwin
Rex Dieter 05abc8f
%{_kf5_datadir}/kservicetypes5/*.desktop
Rex Dieter 05abc8f
%{_kf5_datadir}/knotifications5/kwin.notifyrc
Rex Dieter 05abc8f
%{_kf5_datadir}/config.kcfg/kwin.kcfg
Rex Dieter 05abc8f
%{_datadir}/icons/hicolor/*/apps/*
Rex Dieter 05abc8f
%config %{_sysconfdir}/xdg/*.knsrc
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%if 0%{wayland}
Rex Dieter 05abc8f
%files wayland
Rex Dieter 05abc8f
%{_bindir}/kwin_wayland
Rex Dieter 05abc8f
%endif
Rex Dieter 05abc8f
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%post libs -p /sbin/ldconfig
Rex Dieter 05abc8f
%postun libs -p /sbin/ldconfig
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%files libs
Rex Dieter 05abc8f
%{_kf5_libdir}/libkdeinit5_kwin_x11.so
Rex Dieter 05abc8f
%if 0%{wayland}
Rex Dieter 05abc8f
%{_kf5_libdir}/libkdeinit5_kwin_wayland.so
Rex Dieter 05abc8f
%endif
Rex Dieter 05abc8f
%{_kf5_libdir}/libkdeinit5_kwin_rules_dialog.so
Rex Dieter 05abc8f
%{_libdir}/libkwin.so.*
Rex Dieter 05abc8f
%{_libdir}/libkwinxrenderutils.so.*
Rex Dieter 05abc8f
%{_libdir}/libkwineffects.so.*
Rex Dieter 05abc8f
%{_libdir}/libkwinglutils.so.*
Rex Dieter 05abc8f
%{_libdir}/libkwin4_effect_builtins.so.*
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%files devel
Rex Dieter 05abc8f
%{_libdir}/cmake/KWinDBusInterface
Rex Dieter 05abc8f
%{_datadir}/dbus-1/interfaces/*.xml
Rex Dieter 05abc8f
%{_libdir}/libkwinxrenderutils.so
Rex Dieter 05abc8f
%{_libdir}/libkwineffects.so
Rex Dieter 05abc8f
%{_libdir}/libkwinglutils.so
Rex Dieter 05abc8f
%{_libdir}/libkwin4_effect_builtins.so
Rex Dieter 05abc8f
%{_includedir}/*.h
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%files doc
Rex Dieter 05abc8f
%doc COMPLIANCE COPYING COPYING.DOC HACKING README
Dan Vrátil f648e31
%{_docdir}/HTML/en_US/*
Rex Dieter 05abc8f
Rex Dieter 05abc8f
Rex Dieter 05abc8f
%changelog
Rex Dieter db3ed95
* Wed Mar 04 2015 Rex Dieter <rdieter@fedoraproject.org> 5.2.0.1-3
Rex Dieter db3ed95
- Provides: firstboot(windowmanager) = kwin_x11 (#1197135)
Rex Dieter db3ed95
Dan Vrátil 50786d3
* Sun Feb 08 2015 Daniel Vrátil <dvratli@redhat.com> - 5.2.0.1-2
Dan Vrátil 50786d3
- Obsoletes: kwin-gles, kwin-gles-libs
Dan Vrátil 50786d3
Dan Vrátil 117bf84
* Wed Jan 28 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0.1-1
Dan Vrátil 117bf84
- Update to upstream hotfix release 5.2.0.1 (kwindeco KCM bugfix)
Dan Vrátil 117bf84
Dan Vrátil f3390f3
* Wed Jan 28 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0-3
Dan Vrátil f3390f3
- add upstream patch for bug #341971 - fixes Window decorations KCM
Dan Vrátil f3390f3
Dan Vrátil e01c8cc
* Tue Jan 27 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0-2
Dan Vrátil e01c8cc
- -doc: Don't require arch-specific kwin in noarch package
Dan Vrátil e01c8cc
Dan Vrátil 98439b2
* Mon Jan 26 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0-1
Dan Vrátil 98439b2
- Plasma 5.2.0
Dan Vrátil 98439b2
Dan Vrátil 097a3f6
* Mon Jan 12 2015 Daniel Vrátil <dvratil@redhat.com> - 5.1.95-1.beta
Dan Vrátil 097a3f6
- Plasma 5.1.95 Beta
Dan Vrátil 097a3f6
Dan Vrátil 097a3f6
* Wed Dec 17 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.2-2
Dan Vrátil 097a3f6
- Plasma 5.1.2
Dan Vrátil 097a3f6
Rex Dieter 05abc8f
* Tue Nov 18 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.1-3
Rex Dieter 05abc8f
- Fixed license
Rex Dieter 05abc8f
- Fixed scriptlets
Rex Dieter 05abc8f
- Fixed Conflicts in -devel
Rex Dieter 05abc8f
- -docs is noarch
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Wed Nov 12 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.1-2
Rex Dieter 05abc8f
- added optional Wayland support
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Fri Nov 07 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.1-1
Rex Dieter 05abc8f
- Plasma 5.1.1
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Tue Oct 14 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.0.1-1
Rex Dieter 05abc8f
- Plasma 5.1.0.1
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Thu Oct 09 2014 Daniel Vrátil <dvratil@redhat.com> - 5.1.0-1
Rex Dieter 05abc8f
- Plasma 5.1.0
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Tue Sep 16 2014 Daniel Vrátil <dvratil@redhat.com> - 5.0.2-1
Rex Dieter 05abc8f
- Plasma 5.0.2
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Sun Aug 10 2014 Daniel Vrátil <dvratil@redhat.com> - 5.0.1-1
Rex Dieter 05abc8f
- Plasma 5.0.1
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Wed Jul 16 2014 Daniel Vrátil <dvratil@redhat.com> 5.0.0-1
Rex Dieter 05abc8f
- Plasma 5.0.0
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Wed May 14 2014 Daniel Vrátil <dvratil@redhat.com> 4.96.0-1.20140514git61c631c
Rex Dieter 05abc8f
- Update to latest upstream git snapshot
Rex Dieter 05abc8f
Rex Dieter 05abc8f
* Fri Apr 25 2014 Daniel Vrátil <dvratil@redhat.com> 4.95.0-1.20140425gitb92f4a6
Rex Dieter 05abc8f
- Initial package