+# TODO: drop --disable-ecore-evas-software-8-x11 when fixed (xcb_api only)
#
# Conditional build:
%bcond_without static_libs # don't build static library
-%bcond_with xcb # XCB instead of Xlib (highly experimental)
+%bcond_without xcb # force disabling XCB usage
+%bcond_with xcb_api # XCB instead of Xlib (highly experimental, no XIM module)
+ # must be consistent with xcb_api setting in evas!
+%bcond_without cares # use c-ares
+%bcond_without ibus # IBus module
+%bcond_without scim # SCIM module
+%bcond_without wayland # Wayland library module
#
+%if %{without xcb}
+%undefine xcb_api
+%endif
+%if %{with xcb_api}
+%undefine with_wayland
+%define xapi xcb
+%else
+%define xapi xlib
+%endif
+%define eina_ver 1.7.9
+%define eet_ver 1.7.9
+%define evas_ver 1.7.9
Summary: Enlightened Core X interface library
Summary(pl.UTF-8): Biblioteka interfejsu X Enlightened Core
Name: ecore
-%define subver beta3
-Version: 1.0.0
-Release: 0.%{subver}.1
+Version: 1.7.9
+Release: 1
License: BSD
Group: X11/Libraries
-Source0: http://download.enlightenment.org/releases/%{name}-%{version}.%{subver}.tar.bz2
-# Source0-md5: 34c13b29f675eaaea4b51b7b3963d7a1
-URL: http://enlightenment.org/p.php?p=about/libs/ecore
+Source0: http://download.enlightenment.org/releases/%{name}-%{version}.tar.bz2
+# Source0-md5: 71423c99d6631393d8307c562c1163ab
+URL: http://trac.enlightenment.org/e/wiki/Ecore
BuildRequires: DirectFB-devel >= 0.9.16
BuildRequires: SDL-devel >= 1.2.0
BuildRequires: autoconf >= 2.52
BuildRequires: automake >= 1.6
-BuildRequires: c-ares-devel
+%if %{with cares}
+BuildRequires: c-ares-devel >= 1.6.1
+%endif
BuildRequires: curl-devel
-BuildRequires: eina-devel >= 1.0.0
+BuildRequires: eina-devel >= %{eina_ver}
# for disabled config library
-#BuildRequires: eet-devel >= 1.4.0
-BuildRequires: evas-devel >= %{version}
-BuildRequires: gettext-devel >= 0.12.1
+#BuildRequires: eet-devel >= %{eet_ver}
+BuildRequires: evas-devel(%{xapi}) >= %{evas_ver}
+BuildRequires: gettext-devel >= 0.17
BuildRequires: glib2-devel >= 2.0
-BuildRequires: gnutls-devel
+BuildRequires: gnutls-devel >= 2.10.2
+%{?with_ibus:BuildRequires: ibus-devel >= 1.4}
BuildRequires: libtool
BuildRequires: pkgconfig >= 1:0.22
+%{?with_scim:BuildRequires: scim-devel}
BuildRequires: tslib-devel
-%if %{with xcb}
+%if %{with xcb_api}
BuildRequires: libxcb-devel
-BuildRequires: xcb-util-devel
+BuildRequires: pixman-devel
+BuildRequires: xcb-util-devel >= 0.3.8
+BuildRequires: xcb-util-image-devel
+BuildRequires: xcb-util-keysyms-devel >= 0.3.8
+BuildRequires: xcb-util-wm-devel >= 0.3.8
%else
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXScrnSaver-devel
BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXfixes-devel
-BuildRequires: xorg-lib-libXi-devel
+BuildRequires: xorg-lib-libXi-devel >= 1.3
BuildRequires: xorg-lib-libXinerama-devel
BuildRequires: xorg-lib-libXp-devel
BuildRequires: xorg-lib-libXrandr-devel
BuildRequires: xorg-lib-libXrender-devel
BuildRequires: xorg-lib-libXtst-devel
+# xorg-lib-libXgesture-devel
%endif
-Requires: eina >= 1.0.0
+%if %{with wayland}
+BuildRequires: Mesa-libEGL-devel >= 7.10
+BuildRequires: Mesa-libwayland-egl-devel
+BuildRequires: wayland-devel >= 1.0.0
+BuildRequires: xorg-lib-libxkbcommon-devel
+%endif
+Requires: eina >= %{eina_ver}
Obsoletes: ecore-desktop
Obsoletes: ecore-job
Obsoletes: ecore-libs
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Ecore
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: eina-devel >= 1.0.0
+Requires: eina-devel >= %{eina_ver}
Requires: glib2-devel >= 2.0
%description devel
Summary(pl.UTF-8): Biblioteka połączeń Ecore Con
Group: Libraries
Requires: %{name} = %{version}-%{release}
+Requires: gnutls >= 2.10.2
%description con
Ecore Con(nection) Library.
Group: Development/Libraries
Requires: %{name}-con = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
-Requires: c-ares-devel
+%{?with_cares:Requires: c-ares-devel >= 1.6.1}
Requires: curl-devel
-Requires: gnutls-devel
+Requires: gnutls-devel >= 2.10.2
%description con-devel
Header file for Ecore Con(nection) library.
Summary(pl.UTF-8): Biblioteka właściwości Ecore Config
Group: Libraries
Requires: %{name}-ipc = %{version}-%{release}
-Requires: eet >= 1.4.0
-Requires: evas >= 1.0.0
+Requires: eet >= %{eet_ver}
+Requires: evas >= %{evas_ver}
%description config
Ecore Config library.
Requires: %{name}-config = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-ipc-devel = %{version}-%{release}
-Requires: eet-devel >= 1.4.0
-Requires: evas-devel >= 1.0.0
+Requires: eet-devel >= %{eet_ver}
+Requires: evas-devel >= %{evas_ver}
%description config-devel
Header file for Ecore Config library.
Requires: %{name}-fb = %{version}-%{release}
Requires: %{name}-input = %{version}-%{release}
Requires: %{name}-input-evas = %{version}-%{release}
+Requires: %{name}-ipc = %{version}-%{release}
Requires: %{name}-sdl = %{version}-%{release}
+%if %{with wayland}
+Requires: %{name}-wayland = %{version}-%{release}
+Requires: Mesa-libEGL >= 7.10
+%endif
Requires: %{name}-x = %{version}-%{release}
-Requires: evas >= 1.0.0
+Requires: evas >= %{evas_ver}
%description evas
Ecore Evas library.
Requires: %{name}-fb-devel = %{version}-%{release}
Requires: %{name}-input-devel = %{version}-%{release}
Requires: %{name}-input-evas-devel = %{version}-%{release}
+Requires: %{name}-ipc-devel = %{version}-%{release}
Requires: %{name}-sdl-devel = %{version}-%{release}
+%if %{with wayland}
+Requires: %{name}-wayland-devel = %{version}-%{release}
+Requires: Mesa-libEGL-devel >= 7.10
+Requires: Mesa-libwayland-egl-devel
+%endif
Requires: %{name}-x-devel = %{version}-%{release}
-Requires: evas-devel >= 1.0.0
+Requires: evas-devel >= %{evas_ver}
%description evas-devel
Header file for Ecore Evas library.
%description fb-devel
Header file for Ecore FB (frame buffer system functions) library.
-%description fb -l pl.UTF-8
+%description fb-devel -l pl.UTF-8
Plik nagłówkowy biblioteki Ecore FB (funkcji systemowych
framebuffera).
Group: Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-imf = %{version}-%{release}
-Requires: evas >= 1.0.0
+Requires: evas >= %{evas_ver}
%description imf-evas
Ecore IMF Evas library.
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-imf-devel = %{version}-%{release}
Requires: %{name}-imf-evas = %{version}-%{release}
-Requires: evas-devel >= 1.0.0
+Requires: evas-devel >= %{evas_ver}
%description imf-evas-devel
Header file for Ecore IMF Evas library.
Group: Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-input = %{version}-%{release}
-Requires: evas >= 1.0.0
+Requires: evas >= %{evas_ver}
%description input-evas
Ecore Input Evas extension library.
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-input-devel = %{version}-%{release}
-Requires: evas-devel >= 1.0.0
+Requires: evas-devel >= %{evas_ver}
%description input-evas-devel
Header file for Ecore Input Evas extension library.
Summary: Header file for Ecore IPC library
Summary(pl.UTF-8): Plik nagłówkowy biblioteki Ecore IPC
Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-con-devel = %{version}-%{release}
Requires: %{name}-ipc = %{version}-%{release}
%description ipc-devel
Group: Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-input = %{version}-%{release}
+Requires: SDL >= 1.2.0
%description sdl
Ecore SDL library.
%description sdl-static -l pl.UTF-8
Statyczna biblioteka Ecore SDL.
+%package wayland
+Summary: Ecore Wayland library
+Summary(pl.UTF-8): Biblioteka Ecore Wayland
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-input = %{version}-%{release}
+Requires: wayland >= 1.0.0
+
+%description wayland
+Ecore Wayland library.
+
+%description wayland -l pl.UTF-8
+Biblioteka Ecore Wayland.
+
+%package wayland-devel
+Summary: Header file for Ecore Wayland library
+Summary(pl.UTF-8): Plik nagłówkowy biblioteki Ecore Wayland
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-input-devel = %{version}-%{release}
+Requires: wayland-devel >= 1.0.0
+
+%description wayland-devel
+Header file for Ecore Wayland library.
+
+%description wayland-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki Ecore Wayland.
+
+%package wayland-static
+Summary: Static Ecore Wayland library
+Summary(pl.UTF-8): Statyczna biblioteka Ecore Wayland
+Group: Development/Libraries
+Requires: %{name}-wayland-devel = %{version}-%{release}
+
+%description wayland-static
+Static Ecore Wayland library.
+
+%description wayland-static -l pl.UTF-8
+Statyczna biblioteka Ecore Wayland.
+
%package x
Summary: Ecore X (functions for dealing with the X Window System) library
Summary(pl.UTF-8): Biblioteka Ecore X (funkcji do obsługi X Window System)
Requires: %{name}-x = %{version}-%{release}
%if %{with xcb}
Requires: libxcb-devel
-Requires: xcb-util-devel
+Requires: pixman-devel
+Requires: xcb-util-devel >= 0.3.8
+Requires: xcb-util-image-devel
+Requires: xcb-util-keysyms-devel >= 0.3.8
+Requires: xcb-util-wm-devel >= 0.3.8
%else
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXScrnSaver-devel
Requires: xorg-lib-libXdamage-devel
Requires: xorg-lib-libXext-devel
Requires: xorg-lib-libXfixes-devel
-Requires: xorg-lib-libXi-devel
+Requires: xorg-lib-libXi-devel >= 1.3
Requires: xorg-lib-libXinerama-devel
Requires: xorg-lib-libXp-devel
Requires: xorg-lib-libXrandr-devel
%description x-static -l pl.UTF-8
Statyczna biblioteka Ecore X (funkcji do obsługi X Window System).
+%package module-ibus
+Summary: Ecore IBus input method module
+Summary(pl.UTF-8): Ecore - moduł metody wprowadzania znaków IBus
+Group: X11/Libraries
+Requires: %{name}-imf = %{version}-%{release}
+Requires: %{name}-input = %{version}-%{release}
+Requires: %{name}-x = %{version}-%{release}
+Requires: ibus >= 1.4
+
+%description module-ibus
+Ecore IBus input method module.
+
+%description module-ibus -l pl.UTF-8
+Ecore - moduł metody wprowadzania znaków IBus.
+
+%package module-scim
+Summary: Ecore SCIM input method module
+Summary(pl.UTF-8): Ecore - moduł metody wprowadzania znaków SCIM
+Group: X11/Libraries
+Requires: %{name}-imf = %{version}-%{release}
+Requires: %{name}-input = %{version}-%{release}
+Requires: %{name}-x = %{version}-%{release}
+Requires: scim
+
+%description module-scim
+Ecore SCIM input method module.
+
+%description module-scim -l pl.UTF-8
+Ecore - moduł metody wprowadzania znaków SCIM.
+
+%package module-xim
+Summary: Ecore XIM input method module
+Summary(pl.UTF-8): Ecore - moduł metody wprowadzania znaków XIM
+Group: X11/Libraries
+Requires: %{name}-imf = %{version}-%{release}
+Requires: %{name}-input = %{version}-%{release}
+Requires: %{name}-x = %{version}-%{release}
+
+%description module-xim
+Ecore XIM input method module.
+
+%description module-xim -l pl.UTF-8
+Ecore - moduł metody wprowadzania znaków XIM.
+
%prep
-%setup -q -n %{name}-%{version}.%{subver}
+%setup -q
%build
%{__libtoolize}
%configure \
--disable-silent-rules \
%{!?with_static_libs:--disable-static} \
+ --disable-ecore-evas-software-8-x11 \
--enable-ecore-con \
--enable-ecore-directfb \
--enable-ecore-fb \
--enable-ecore-ipc \
--enable-ecore-sdl \
--enable-ecore-x \
- %{?with_xcb:--enable-ecore-x-xcb} \
+ %{?with_xcb_api:--enable-ecore-x-xcb} \
--enable-ecore-evas \
--enable-ecore-evas-fb \
--enable-cares \
--enable-curl \
--enable-inotify \
- --enable-openssl \
--enable-poll
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ecore/immodules/*.la
+
%find_lang %{name} --all-name
%clean
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog README
+%doc AUTHORS COPYING ChangeLog NEWS README
%attr(755,root,root) %{_libdir}/libecore.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libecore.so.1
+%dir %{_libdir}/ecore
+%dir %{_libdir}/ecore/immodules
%files devel
%defattr(644,root,root,755)
%{_libdir}/libecore_sdl.a
%endif
+%if %{with wayland}
+%files wayland
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libecore_wayland.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libecore_wayland.so.1
+
+%files wayland-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libecore_wayland.so
+%{_libdir}/libecore_wayland.la
+%{_includedir}/ecore-1/Ecore_Wayland.h
+%{_pkgconfigdir}/ecore-wayland.pc
+
+%if %{with static_libs}
+%files wayland-static
+%defattr(644,root,root,755)
+%{_libdir}/libecore_wayland.a
+%endif
+%endif
+
%files x
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libecore_x.so.*.*.*
%defattr(644,root,root,755)
%{_libdir}/libecore_x.a
%endif
+
+%if %{with ibus}
+%files module-ibus
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/ecore/immodules/ibus.so
+%endif
+
+%if %{with scim}
+%files module-scim
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/ecore/immodules/scim.so
+%endif
+
+%if %{without xcb_api}
+%files module-xim
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/ecore/immodules/xim.so
+%endif