File enlightenment.spec of Package enlightenment
%define efl_version 1.28.0
%bcond_without wayland
Summary: Enlightenment window manager
Name: enlightenment
Version: 0.27.1
Release: 1
License: BSD
Group: Graphical desktop/Enlightenment
URL: https://www.enlightenment.org/
Source: https://download.enlightenment.org/rel/apps/enlightenment/%{name}-%{version}.tar.xz
Patch1: fix-enlightenment_filemanager.desktop.patch
#add X-Sound category
Patch2: emixer-0.24.0-desktop-addcategory.patch
#fix onlyshow section from "Enlightenment" to "X-Enlightenment"
Patch3: askpass-0.25.3-desktop-fixonlyshow.patch
Patch4: enlightenment-permissions.patch
BuildRequires: meson
BuildRequires: ninja
BuildRequires: pkgconfig(pkg-config)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(efl) >= %{efl_version}
BuildRequires: pkgconfig(ecore) >= %{efl_version}
BuildRequires: pkgconfig(ecore-con) >= %{efl_version}
BuildRequires: pkgconfig(ecore-evas) >= %{efl_version}
BuildRequires: pkgconfig(ecore-file) >= %{efl_version}
BuildRequires: pkgconfig(ecore-input) >= %{efl_version}
BuildRequires: pkgconfig(ecore-input-evas) >= %{efl_version}
BuildRequires: pkgconfig(ecore-ipc) >= %{efl_version}
BuildRequires: pkgconfig(ecore-x) >= %{efl_version}
BuildRequires: pkgconfig(edje) >= %{efl_version}
BuildRequires: pkgconfig(eet) >= %{efl_version}
BuildRequires: pkgconfig(eeze) >= %{efl_version}
BuildRequires: pkgconfig(efreet) >= %{efl_version}
BuildRequires: pkgconfig(efreet-mime) >= %{efl_version}
BuildRequires: pkgconfig(efreet-trash) >= %{efl_version}
BuildRequires: pkgconfig(eina) >= %{efl_version}
BuildRequires: pkgconfig(eio) >= %{efl_version}
BuildRequires: pkgconfig(evas) >= %{efl_version}
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-shape)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(libexif)
BuildRequires: cmake
BuildRequires: gettext-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(bluez)
BuildRequires: multiarch-utils
BuildRequires: pkgconfig(libpulse)
BuildRequires: doxygen
BuildRequires: efl
# Wayland
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(xwayland)
%if 0%{?mageia}
BuildRequires: x11-server-xwayland
%endif
Requires: acpitool
Requires: desktop-common-data
Requires: bc
# e was renamed to enlightenment
Provides: e = %{version}-%{release}
%description
Enlightenment is a next generation window manager for UNIX operating systems.
Based on the Enlightenment Foundation Libraries (EFL), Enlightenment is much more
than just another window manager - it's an ambitious and innovative project that
aims to drive the development of graphical applications industry-wide for several
years to come.
%package devel
Summary: Enlightenment library headers and development libraries
Group: System/Libraries
# e was renamed to enlightenment
Provides: e-devel = %{version}-%{release}
%description devel
Enlightenment development headers and development libraries.
%prep
%autosetup -p1
%build
%meson %{?with_wayland:-Dwl=true} \
-Dmount-eeze=true
%meson_build
%install
%meson_install
#fake e-config
touch %{buildroot}%{_bindir}/enlightenment-config
%multiarch_binaries %{buildroot}%{_bindir}/enlightenment-config
%find_lang enlightenment
%triggerpostun -- e < 0.18.8-7
if [ -e %{_datadir}/xsessions/23E18.desktop ]; then
rm -rf %{_datadir}/xsessions/23E18.desktop
fi
if [ -e %{_sysconfdir}/X11/dm/Sessions/23E18.desktop ]; then
rm -rf %{_sysconfdir}/X11/dm/Sessions/23E18.desktop
fi
%posttrans
# (ovitters) In posttrans, $1 is always equal to 1, even in the upgrade case.
# So just run this always:
if [ -e %{_datadir}/xsessions/23E20.desktop ]; then
rm -rf %{_datadir}/xsessions/23E20.desktop
fi
if [ -e %{_sysconfdir}/X11/dm/Sessions/23E20.desktop ]; then
rm -rf %{_sysconfdir}/X11/dm/Sessions/23E20.desktop
fi
%files -f enlightenment.lang
%license COPYING
%doc AUTHORS README.md doc/*
%dir %_sysconfdir/enlightenment/
%config(noreplace) %_sysconfdir/enlightenment/sysactions.conf
%config(noreplace) %_sysconfdir/enlightenment/system.conf
%config(noreplace) %_sysconfdir/xdg/menus/e-applications.menu
%{_bindir}/enlightenment
%{_bindir}/enlightenment_*
%{_bindir}/emixer
%{_datadir}/enlightenment/
%{_libdir}/enlightenment/
%{_userunitdir}/enlightenment.service
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.png
%{_datadir}/xsessions/enlightenment.desktop
%if %{with wayland}
%{_datadir}/wayland-sessions/enlightenment-wayland.desktop
%endif
%{_iconsdir}/hicolor/*/*/enlightenment*.{png,svg}
%{_iconsdir}/hicolor/*/apps/emixer.*
%files devel
%{_bindir}/enlightenment-config
%{_libdir}/pkgconfig/*.pc
%multiarch %{multiarch_bindir}/enlightenment-config
%{_includedir}/enlightenment/