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/
openSUSE Build Service is sponsored by