+# TODO: liblinebreak?
#
# Conditional build:
%bcond_without mmx # MMX and MMX2 support (on x86)
%bcond_without fb # FB engine
%bcond_without directfb # DirectFB engine
%bcond_without sdl # SDL (OpenGL and software) engines
-%bcond_without xcb # software_x11 and xrender_x11 engines with XCB support
+%bcond_without wayland # wayland-egl, wayland-shm engines
+%bcond_with xcb # software_x11 engine with XCB support (experimental)
%bcond_without static_libs # don't build static library
#
%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
%endif
#
%define edb_ver 1.0.5.043
-%define eet_ver 1.3.2
+%define eet_ver 1.6.0
Summary: Multi-platform Canvas Library
Summary(pl.UTF-8): Wieloplatformowa biblioteka do rysowania
Name: evas
-Version: 1.0.0
+Version: 1.2.0
Release: 1
License: BSD
Group: Libraries
Source0: http://download.enlightenment.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: a1d4a103ff28cee247b1a388013938af
-URL: http://enlightenment.org/p.php?p=about/libs/evas
-%{?with_directfb:BuildRequires: DirectFB-devel}
+# Source0-md5: a245e432695cea1120d43cdbcb94b7f7
+Patch0: %{name}-harfbuzz.patch
+Patch1: %{name}-wayland.patch
+URL: http://trac.enlightenment.org/e/wiki/Evas
+%{?with_directfb:BuildRequires: DirectFB-devel >= 0.9.16}
BuildRequires: Mesa-libGLU-devel
-%{?with_sdl:BuildRequires: SDL-devel}
+%{?with_sdl:BuildRequires: SDL-devel >= 1.2.0}
BuildRequires: autoconf >= 2.59-9
BuildRequires: automake >= 1.6
BuildRequires: edb-devel >= %{edb_ver}
BuildRequires: eet-devel >= %{eet_ver}
-BuildRequires: eina-devel >= 1.0.0
-BuildRequires: fontconfig-devel
+BuildRequires: eina-devel >= 1.2.0
+BuildRequires: fontconfig-devel >= 2.5.0
BuildRequires: freetype-devel >= 1:2.2
BuildRequires: fribidi-devel >= 0.19.2
BuildRequires: giflib-devel
+BuildRequires: harfbuzz-devel >= 0.6.0
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.2
BuildRequires: librsvg-devel >= 1:2.14.0
BuildRequires: libtiff-devel
BuildRequires: libtool
-%{?with_xcb:BuildRequires: libxcb-devel}
-%{?with_xcb:BuildRequires: pixman-devel}
+BuildRequires: pixman-devel
BuildRequires: pkgconfig
BuildRequires: readline-devel
-%{?with_xcb:BuildRequires: xcb-util-devel >= 0.2.1}
BuildRequires: xorg-lib-libXext-devel
+%if %{with xcb}
+BuildRequires: libxcb-devel
+BuildRequires: xcb-util-image-devel >= 0.2.1
+%endif
+%if %{with wayland}
+BuildRequires: OpenGL-devel
+BuildRequires: Mesa-libEGL-devel >= 7.10
+BuildRequires: Mesa-libGLES-devel
+BuildRequires: Mesa-libwayland-egl-devel
+BuildRequires: wayland-devel
+%endif
Requires: eet >= %{eet_ver}
-Requires: eina >= 1.0.0
+Requires: eina >= 1.2.0
Requires: freetype >= 1:2.2
Requires: fribidi >= 0.19.2
+Requires: harfbuzz >= 0.6.0
Obsoletes: evas-libs
+Obsoletes: evas-engine-software_qtopia
+Obsoletes: evas-engine-xrender_x11
+Obsoletes: evas-engine-xrender_xcb
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%undefine __cxx
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: eet-devel >= %{eet_ver}
-Requires: fontconfig-devel
+Requires: eina-devel >= 1.2.0
+Requires: fontconfig-devel >= 2.5.0
Requires: freetype-devel >= 1:2.2
Requires: fribidi-devel >= 0.19.2
+Requires: harfbuzz-devel >= 0.6.0
%description devel
Header files for Evas.
Summary(pl.UTF-8): Moduł silnika renderującego na DirectFB dla Evas
Group: X11/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: DirectFB >= 0.9.16
%description engine-directfb
DirectFB rendering engine module for Evas.
Summary(pl.UTF-8): Moduł silnika renderującego na SDL OpenGL dla Evas
Group: X11/Libraries
Requires: %{name}-engine-software_generic = %{version}-%{release}
+Requires: SDL >= 1.2.0
%description engine-gl_sdl
SDL OpenGL rendering engine module for Evas.
Moduł silnika renderującego na OpenGL pod X11 dla Evas.
%package engine-software_16
-Summary: Software 16-bit rendering engine module for Evas
-Summary(pl.UTF-8): Moduł programowego silnika renderującego 16-bitowego dla Evas
+Summary: 16-bit software rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika programowego renderującego 16-bitowego dla Evas
Group: X11/Libraries
Requires: %{name}-engine-software_generic = %{version}-%{release}
%description engine-software_16
-Software 16-bit rendering engine module for Evas.
+16-bit software rendering engine module for Evas.
%description engine-software_16 -l pl.UTF-8
-Moduł programowego silnika renderującego 16-bitowego dla Evas.
+Moduł silnika programowego renderującego 16-bitowego dla Evas.
%package engine-software_16_sdl
Summary: 16-bit SDL software rendering engine module for Evas
Summary(pl.UTF-8): Moduł silnika programowego renderującego 16-bitowego na SDL dla Evas
Group: X11/Libraries
Requires: %{name}-engine-software_generic = %{version}-%{release}
+Requires: SDL >= 1.2.0
+Obsoletes: evas-engine-software_sdl
%description engine-software_16_sdl
16-bit SDL software rendering engine module for Evas.
%description engine-software_16_sdl -l pl.UTF-8
Moduł silnika programowego renderującego 16-bitowego na SDL dla Evas.
+%package engine-software_16_x11
+Summary: 16-bit X11 software rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika programowego renderującego 16-bitowego na X11 dla Evas
+Group: X11/Libraries
+Requires: %{name}-engine-software_generic = %{version}-%{release}
+
+%description engine-software_16_x11
+16-bit X11 software rendering engine module for Evas.
+
+%description engine-software_16_x11 -l pl.UTF-8
+Moduł silnika programowego renderującego 16-bitowego na X11 dla Evas.
+
%package engine-software_generic
Summary: Software rendering common engine module for Evas
Summary(pl.UTF-8): Moduł wspólnego programowego silnika renderującego dla Evas
%description engine-software_generic -l pl.UTF-8
Moduł wspólnego programowego silnika renderującego dla Evas.
-%package engine-software_qtopia
-Summary: Qtopia rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika renderującego Qtopia dla Evas
-Group: X11/Libraries
-Requires: %{name}-engine-software_generic = %{version}-%{release}
-
-%description engine-software_qtopia
-Qtopia rendering engine module for Evas.
-
-%description engine-software_qtopia -l pl.UTF-8
-Moduł silnika renderującego Qtopia dla Evas.
-
-%package engine-software_sdl
-Summary: SDL software rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika programowego renderującego na SDL dla Evas
-Group: X11/Libraries
-Requires: %{name}-engine-software_generic = %{version}-%{release}
-
-%description engine-software_sdl
-SDL software rendering engine module for Evas.
-
-%description engine-software_sdl -l pl.UTF-8
-Moduł silnika programowego renderującego na SDL dla Evas.
-
%package engine-software_x11
Summary: Software X11 rendering engine module for Evas
Summary(pl.UTF-8): Moduł programowego silnika renderującego X11 dla Evas
%description engine-software_x11 -l pl.UTF-8
Moduł programowego silnika renderującego X11 dla Evas.
-%package engine-xrender_x11
-Summary: XRender X11 rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika renderującego XRender X11 dla Evas
-Group: X11/Libraries
-Requires: %{name}-engine-software_generic = %{version}-%{release}
-Obsoletes: evas-engine-xrender_xcb
+%package engine-wayland_egl
+Summary: Wayland EGL rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika renderującego Wayland EGL dla Evas
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description engine-wayland_egl
+Wayland EGL rendering engine module for Evas.
-%description engine-xrender_x11
-XRender X11 rendering engine module for Evas.
+%description engine-wayland_egl -l pl.UTF-8
+Moduł silnika renderującego Wayland EGL dla Evas.
+
+%package engine-wayland_shm
+Summary: Wayland SHM rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika renderującego Wayland SHM dla Evas
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
-%description engine-xrender_x11 -l pl.UTF-8
-Moduł silnika renderującego XRender X11 dla Evas.
+%description engine-wayland_shm
+Wayland SHM rendering engine module for Evas.
+
+%description engine-wayland_shm -l pl.UTF-8
+Moduł silnika renderującego Wayland SHM dla Evas.
# loaders:
%package loader-edb
%prep
%setup -q -n %{name}-%{version}
+%patch0 -p1
+%patch1 -p1
%build
%{__libtoolize}
--disable-silent-rules \
%{!?with_static_libs:--disable-static} \
--enable-buffer \
+ --enable-cpu-altivec%{!?with_altivec:=no} \
+ --enable-cpu-c \
+ --enable-cpu-mmx%{!?with_mmx:=no} \
+ --enable-cpu-sse%{!?with_sse:=no} \
--enable-directfb%{!?with_directfb:=no} \
--enable-fb%{!?with_fb:=no} \
- --enable-gl-sdl%{!?with_sdl:=no} \
- --enable-gl-x11 \
- --enable-software-sdl%{!?with_sdl:=no} \
- --enable-software-xcb%{!?with_xcb:=no} \
- --enable-xrender-x11 \
- --enable-xrender-xcb%{!?with_xcb:=no} \
--enable-font-loader-eet \
+ --enable-gl-sdl%{!?with_sdl:=no} \
+ --enable-gl-xcb%{!?with_xcb:=no} \
+ --enable-gl-xlib \
--enable-image-loader-edb \
--enable-image-loader-eet \
--enable-image-loader-gif \
--enable-image-loader-svg \
--enable-image-loader-tiff \
--enable-image-loader-xpm \
- --enable-cpu-altivec%{!?with_altivec:=no} \
- --enable-cpu-c \
- --enable-cpu-mmx%{!?with_mmx:=no} \
- --enable-cpu-sse%{!?with_sse:=no} \
+ --enable-pixman \
+ --enable-software-16-sdl%{!?with_sdl:=no} \
+ --enable-software-16-x11 \
+ --enable-software-xcb%{!?with_xcb:=no} \
+ --enable-software-xlib \
+ --enable-wayland-egl%{!?with_wayland:=no} \
+ --enable-wayland-shm%{!?with_wayland:=no} \
--disable-valgrind
%{__make}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/*/*/*/module.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/engines/software_16_sdl/linux-gnu-*/module.a
+install -d $RPM_BUILD_ROOT%{_examplesdir}
+mv -f $RPM_BUILD_ROOT%{_datadir}/evas/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING README
+%doc AUTHORS COPYING ChangeLog NEWS README
%attr(755,root,root) %{_bindir}/evas_cserve
%attr(755,root,root) %{_bindir}/evas_cserve_tool
%attr(755,root,root) %{_libdir}/libevas.so.*.*.*
%dir %{_libdir}/%{name}/modules/loaders/bmp
%dir %{_libdir}/%{name}/modules/loaders/bmp/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/bmp/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/loaders/generic
+%dir %{_libdir}/%{name}/modules/loaders/generic/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/generic/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/loaders/ico
+%dir %{_libdir}/%{name}/modules/loaders/ico/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/ico/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/loaders/psd
+%dir %{_libdir}/%{name}/modules/loaders/psd/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/psd/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/tga
%dir %{_libdir}/%{name}/modules/loaders/tga/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/tga/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/loaders/wbmp
+%dir %{_libdir}/%{name}/modules/loaders/wbmp/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/wbmp/linux-gnu-*/module.so
%files devel
%defattr(644,root,root,755)
%{_pkgconfigdir}/evas-fb.pc
%{?with_sdl:%{_pkgconfigdir}/evas-opengl-sdl.pc}
%{_pkgconfigdir}/evas-opengl-x11.pc
+%{_pkgconfigdir}/evas-software-16-x11.pc
%{_pkgconfigdir}/evas-software-buffer.pc
%{?with_sdl:%{_pkgconfigdir}/evas-software-sdl.pc}
%{_pkgconfigdir}/evas-software-x11.pc
-%{_pkgconfigdir}/evas-xrender-x11.pc
-%{?with_xcb:%{_pkgconfigdir}/evas-xrender-xcb.pc}
+%if %{with wayland}
+%{_pkgconfigdir}/evas-wayland-egl.pc
+%{_pkgconfigdir}/evas-wayland-shm.pc
+%endif
+%{_examplesdir}/%{name}-%{version}
%if %{with static_libs}
%files static
%dir %{_libdir}/%{name}/modules/engines/software_16/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_16/linux-gnu-*/module.so
+%files engine-software_16_x11
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/software_16_x11
+%dir %{_libdir}/%{name}/modules/engines/software_16_x11/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_16_x11/linux-gnu-*/module.so
+
%if %{with sdl}
%files engine-software_16_sdl
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/engines/software_generic/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_generic/linux-gnu-*/module.so
-%if 0
-%files engine-software_qtopia
-%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/modules/engines/software_qtopia
-%dir %{_libdir}/%{name}/modules/engines/software_qtopia/linux-gnu-*
-%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_qtopia/linux-gnu-*/module.so
-%endif
-
-%if %{with sdl}
-%files engine-software_sdl
-%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/modules/engines/software_sdl
-%dir %{_libdir}/%{name}/modules/engines/software_sdl/linux-gnu-*
-%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_sdl/linux-gnu-*/module.so
-%endif
-
%files engine-software_x11
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/engines/software_x11
%dir %{_libdir}/%{name}/modules/engines/software_x11/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_x11/linux-gnu-*/module.so
-%files engine-xrender_x11
+%if %{with wayland}
+%files engine-wayland_egl
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/wayland_egl
+%dir %{_libdir}/%{name}/modules/engines/wayland_egl/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/wayland_egl/linux-gnu-*/module.so
+
+%files engine-wayland_shm
%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/modules/engines/xrender_x11
-%dir %{_libdir}/%{name}/modules/engines/xrender_x11/linux-gnu-*
-%attr(755,root,root) %{_libdir}/%{name}/modules/engines/xrender_x11/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/engines/wayland_shm
+%dir %{_libdir}/%{name}/modules/engines/wayland_shm/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/wayland_shm/linux-gnu-*/module.so
%files loader-edb
%defattr(644,root,root,755)