+# TODO: use system 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_with xcb # software_x11 engine with XCB support (experimental)
+%bcond_with svg # Esvg-based SVG loader
+%bcond_without wayland # wayland-egl, wayland-shm engines
+%bcond_without xcb # XCB engines (software_8_x11, possibly software_x11/gl_x11)
+%bcond_with xcb_api # software_x11/gl_x11 engines with XCB support (experimental)
%bcond_without static_libs # don't build static library
#
%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
%ifnarch ppc
%undefine with_altivec
%endif
+%if %{without xcb}
+%undefine xcb_api
+%endif
+%if %{with xcb_api}
+%define xapi xcb
+%else
+%define xapi xlib
+%endif
#
%define edb_ver 1.0.5.043
-%define eet_ver 1.5.0
+%define eet_ver 1.7.0
Summary: Multi-platform Canvas Library
Summary(pl.UTF-8): Wieloplatformowa biblioteka do rysowania
Name: evas
-Version: 1.1.0
-Release: 3
+Version: 1.7.7
+Release: 1
License: BSD
Group: Libraries
Source0: http://download.enlightenment.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: f8d8751be7cfc8124e5af31e2dced792
-Patch0: %{name}-harfbuzz.patch
-Patch1: automake.patch
+# Source0-md5: 6f6bd375c37c3b01b9a4c622a77e72c6
+Patch0: %{name}-wayland.patch
+Patch1: %{name}-fribidi.patch
URL: http://trac.enlightenment.org/e/wiki/Evas
-%{?with_directfb:BuildRequires: DirectFB-devel}
+%{?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.1.0
+BuildRequires: eina-devel >= 1.6.0
+%{?with_svg:BuildRequires: esvg-devel >= 0.0.16}
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: harfbuzz-devel >= 0.9.0
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.2
-BuildRequires: librsvg-devel >= 1:2.14.0
BuildRequires: libtiff-devel
BuildRequires: libtool
+BuildRequires: pixman-devel
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: xorg-lib-libXext-devel
%if %{with xcb}
BuildRequires: libxcb-devel
-# --enable-pixman ?
-#BuildRequires: pixman-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.1.0
+Requires: eina >= 1.6.0
Requires: freetype >= 1:2.2
Requires: fribidi >= 0.19.2
-Requires: harfbuzz >= 0.6.0
+Requires: harfbuzz >= 0.9.0
Obsoletes: evas-libs
-Obsoletes: evas-engine-software_16
Obsoletes: evas-engine-software_qtopia
Obsoletes: evas-engine-xrender_x11
Obsoletes: evas-engine-xrender_xcb
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: eet-devel >= %{eet_ver}
-Requires: fontconfig-devel
+Requires: eina-devel >= 1.6.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
+Requires: harfbuzz-devel >= 0.9.0
+Provides: %{name}-devel(%{xapi}) = %{version}-%{release}
%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.
Summary: OpenGL under X11 rendering engine module for Evas
Summary(pl.UTF-8): Moduł silnika renderującego na OpenGL pod X11 dla Evas
Group: X11/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}-engine-software_generic = %{version}-%{release}
+Provides: %{name}-engine-gl_x11(%{xapi}) = %{version}-%{release}
%description engine-gl_x11
OpenGL under X11 rendering engine module for Evas.
%description engine-gl_x11 -l pl.UTF-8
Moduł silnika renderującego na OpenGL pod X11 dla Evas.
+%package engine-software_8
+Summary: 8-bit software rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika programowego renderującego 8-bitowego dla Evas
+Group: X11/Libraries
+Requires: %{name}-engine-software_generic = %{version}-%{release}
+
+%description engine-software_8
+8-bit software rendering engine module for Evas.
+
+%description engine-software_8 -l pl.UTF-8
+Moduł silnika programowego renderującego 8-bitowego dla Evas.
+
+%package engine-software_8_x11
+Summary: 8-bit X11 software rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika programowego renderującego 8-bitowego na X11 dla Evas
+Group: X11/Libraries
+Requires: %{name}-engine-software_8 = %{version}-%{release}
+
+%description engine-software_8_x11
+8-bit X11 (XCB) software rendering engine module for Evas.
+
+%description engine-software_8_x11 -l pl.UTF-8
+Moduł silnika programowego renderującego 8-bitowego na X11 (XCB) dla
+Evas.
+
+%package engine-software_16
+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
+16-bit software rendering engine module for Evas.
+
+%description engine-software_16 -l pl.UTF-8
+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: %{name}-engine-software_16 = %{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_16 = %{version}-%{release}
+
+%description engine-software_16_x11
+16-bit X11 (Xlib) software rendering engine module for Evas.
+
+%description engine-software_16_x11 -l pl.UTF-8
+Moduł silnika programowego renderującego 16-bitowego na X11 (Xlib) 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_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-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}-engine-software_generic = %{version}-%{release}
+
+%description engine-wayland_egl
+Wayland EGL 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}-engine-software_generic = %{version}-%{release}
+
+%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
Summary: EDB Image loader module for Evas
Summary(pl.UTF-8): Moduł wczytywania obrazów SVG dla Evas
Group: X11/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: librsvg >= 1:2.14.0
+Requires: esvg >= 0.0.16
%description loader-svg
SVG Image loader module for Evas.
--enable-fb%{!?with_fb:=no} \
--enable-font-loader-eet \
--enable-gl-sdl%{!?with_sdl:=no} \
+ --enable-gl-xcb%{!?with_xcb_api:=no} \
+ --enable-gl-xlib \
--enable-image-loader-edb \
--enable-image-loader-eet \
--enable-image-loader-gif \
--enable-image-loader-jpeg \
--enable-image-loader-png \
- --enable-image-loader-svg \
+ --enable-image-loader-svg%{!?with_svg:=no} \
--enable-image-loader-tiff \
--enable-image-loader-xpm \
--enable-pixman \
- --enable-software-sdl%{!?with_sdl:=no} \
- --enable-software-xcb%{!?with_xcb:=no} \
+ --enable-software-8-x11%{!?with_xcb:=no} \
+ --enable-software-16-sdl%{!?with_sdl:=no} \
+ --enable-software-16-x11 \
+ --enable-software-xcb%{!?with_xcb_api:=no} \
--enable-software-xlib \
- --enable-gl-xcb%{!?with_xcb:=no} \
- --enable-gl-xlib \
+ --enable-wayland-egl%{!?with_wayland:=no} \
+ --enable-wayland-shm%{!?with_wayland:=no} \
--disable-valgrind
-%{__make} V=1
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/cserve2/*/*/*/module.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/*/*/*/module.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/engines/software_16_sdl/linux-gnu-*/module.a
%files
%defattr(644,root,root,755)
%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) %{_bindir}/evas_cserve2_client
+%attr(755,root,root) %{_bindir}/evas_cserve2_debug
+%attr(755,root,root) %{_bindir}/evas_cserve2_usage
%attr(755,root,root) %{_libdir}/libevas.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libevas.so.1
+%attr(755,root,root) %{_libexecdir}/dummy_slave
+%attr(755,root,root) %{_libexecdir}/evas_cserve2
+%attr(755,root,root) %{_libexecdir}/evas_cserve2_slave
%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/cserve2
+%dir %{_libdir}/%{name}/cserve2/loaders
+# loaders without additional dependencies
+%dir %{_libdir}/%{name}/cserve2/loaders/bmp
+%dir %{_libdir}/%{name}/cserve2/loaders/bmp/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/bmp/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/cserve2/loaders/ico
+%dir %{_libdir}/%{name}/cserve2/loaders/ico/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/ico/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/cserve2/loaders/psd
+%dir %{_libdir}/%{name}/cserve2/loaders/psd/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/psd/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/cserve2/loaders/tga
+%dir %{_libdir}/%{name}/cserve2/loaders/tga/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/tga/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/cserve2/loaders/wbmp
+%dir %{_libdir}/%{name}/cserve2/loaders/wbmp/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/wbmp/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules
%dir %{_libdir}/%{name}/modules/engines
%dir %{_libdir}/%{name}/modules/loaders
%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
+%{_datadir}/%{name}
%files devel
%defattr(644,root,root,755)
%{_pkgconfigdir}/evas-fb.pc
%{?with_sdl:%{_pkgconfigdir}/evas-opengl-sdl.pc}
%{_pkgconfigdir}/evas-opengl-x11.pc
+%{?with_xcb:%{_pkgconfigdir}/evas-software-8-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
+%if %{with wayland}
+%{_pkgconfigdir}/evas-wayland-egl.pc
+%{_pkgconfigdir}/evas-wayland-shm.pc
+%endif
%{_examplesdir}/%{name}-%{version}
%if %{with static_libs}
%dir %{_libdir}/%{name}/modules/engines/gl_x11/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/gl_x11/linux-gnu-*/module.so
+%if %{with xcb}
+%files engine-software_8
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/software_8
+%dir %{_libdir}/%{name}/modules/engines/software_8/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_8/linux-gnu-*/module.so
+
+%files engine-software_8_x11
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/software_8_x11
+%dir %{_libdir}/%{name}/modules/engines/software_8_x11/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_8_x11/linux-gnu-*/module.so
+%endif
+
+%files engine-software_16
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/software_16
+%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 %{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
+%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/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
+%endif
+
%files loader-edb
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/loaders/edb
%files loader-eet
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/eet
+%dir %{_libdir}/%{name}/cserve2/loaders/eet/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/eet/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/eet
%dir %{_libdir}/%{name}/modules/loaders/eet/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/eet/linux-gnu-*/module.so
%files loader-jpeg
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/jpeg
+%dir %{_libdir}/%{name}/cserve2/loaders/jpeg/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/jpeg/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/jpeg
%dir %{_libdir}/%{name}/modules/loaders/jpeg/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/jpeg/linux-gnu-*/module.so
%files loader-pmaps
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/pmaps
+%dir %{_libdir}/%{name}/cserve2/loaders/pmaps/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/pmaps/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/pmaps
%dir %{_libdir}/%{name}/modules/loaders/pmaps/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/pmaps/linux-gnu-*/module.so
%files loader-png
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/png
+%dir %{_libdir}/%{name}/cserve2/loaders/png/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/png/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/png
%dir %{_libdir}/%{name}/modules/loaders/png/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/png/linux-gnu-*/module.so
+%if %{with svg}
%files loader-svg
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/loaders/svg
%dir %{_libdir}/%{name}/modules/loaders/svg/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/svg/linux-gnu-*/module.so
+%endif
%files loader-tiff
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/tiff
+%dir %{_libdir}/%{name}/cserve2/loaders/tiff/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/tiff/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/tiff
%dir %{_libdir}/%{name}/modules/loaders/tiff/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/tiff/linux-gnu-*/module.so
%files loader-xpm
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/cserve2/loaders/xpm
+%dir %{_libdir}/%{name}/cserve2/loaders/xpm/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/cserve2/loaders/xpm/linux-gnu-*/module.so
%dir %{_libdir}/%{name}/modules/loaders/xpm
%dir %{_libdir}/%{name}/modules/loaders/xpm/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/loaders/xpm/linux-gnu-*/module.so