#
-# TODO :
-# --enable-software-xcb \ - this not build
-# - with fb build fail on ppc (no asm/page.h llh)
-# - with directfb plugin is not builded - work in progres?
-#
# Conditional build:
-%bcond_without mmx # without MMX and MMX2
-%bcond_without sse # without SSE
-%bcond_without altivec # without altivec
-%bcond_with fb # build without FB support
-%bcond_with directfb # build without DirectFB support
+%bcond_without mmx # MMX and MMX2 support (on x86)
+%bcond_without sse # SSE support (on x86)
+%bcond_without altivec # altivec support (on PPC)
+%bcond_without fb # FB engine
+%bcond_without directfb # DirectFB engine
+%bcond_without sdl # SDL (OpenGL and software) engines
+%bcond_without xcb # software_x11 engine with XCB support
%bcond_without static_libs # don't build static library
#
%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
%undefine with_altivec
%endif
#
-%define edb_ver 1.0.5.042
-%define eet_ver 1.0.1
+%define edb_ver 1.0.5.043
+%define eet_ver 1.5.0
Summary: Multi-platform Canvas Library
Summary(pl.UTF-8): Wieloplatformowa biblioteka do rysowania
Name: evas
-Version: 0.9.9.043
-Release: 0.7
+Version: 1.1.0
+Release: 1
License: BSD
Group: Libraries
-Source0: http://download.enlightenment.org/snapshots/2008-05-19/%{name}-%{version}.tar.bz2
-# Source0-md5: 31716723798107535dfaf4cf84017685
-URL: http://enlightenment.org/p.php?p=about/libs/evas
-%{?with_directfb:BuildRequires: DirectFB-devel >= 0.9.16}
-BuildRequires: OpenGL-GLU-devel
+Source0: http://download.enlightenment.org/releases/%{name}-%{version}.tar.bz2
+# Source0-md5: f8d8751be7cfc8124e5af31e2dced792
+Patch0: %{name}-harfbuzz.patch
+URL: http://trac.enlightenment.org/e/wiki/Evas
+%{?with_directfb:BuildRequires: DirectFB-devel}
+BuildRequires: Mesa-libGLU-devel
+%{?with_sdl:BuildRequires: SDL-devel}
BuildRequires: autoconf >= 2.59-9
-BuildRequires: automake >= 1.4
+BuildRequires: automake >= 1.6
BuildRequires: edb-devel >= %{edb_ver}
BuildRequires: eet-devel >= %{eet_ver}
-BuildRequires: fontconfig-devel
+BuildRequires: eina-devel >= 1.1.0
+BuildRequires: fontconfig-devel >= 2.5.0
BuildRequires: freetype-devel >= 1:2.2
+BuildRequires: fribidi-devel >= 0.19.2
BuildRequires: giflib-devel
-BuildRequires: glitz-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
-BuildRequires: libxcb-devel
BuildRequires: pkgconfig
-BuildRequires: xcb-util-devel
+BuildRequires: readline-devel
BuildRequires: xorg-lib-libXext-devel
-Requires: freetype >= 1:2.2
+%if %{with xcb}
+BuildRequires: libxcb-devel
+# --enable-pixman ?
+#BuildRequires: pixman-devel
+BuildRequires: xcb-util-image-devel >= 0.2.1
+%endif
Requires: eet >= %{eet_ver}
+Requires: eina >= 1.1.0
+Requires: freetype >= 1:2.2
+Requires: fribidi >= 0.19.2
+Requires: harfbuzz >= 0.6.0
Obsoletes: evas-libs
+Obsoletes: evas-engine-software_16
+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
Summary(pl.UTF-8): Pliki nagłówkowe Evas
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: edb-devel >= %{edb_ver}
Requires: eet-devel >= %{eet_ver}
Requires: fontconfig-devel
Requires: freetype-devel >= 1:2.2
-# for evas-directfb
-#%{?with_directfb:Requires: DirectFB-devel >= 0.9.16}
-# for evas-gl_x11, evas-glitz_x11, evas-software_x11, evas-xrender_x11
-#Requires: xorg-lib-libX11-devel
-# for evas-software_xcb, evas-xrender_xcb
-#Requires: libxcb-devel
+Requires: fribidi-devel >= 0.19.2
+Requires: harfbuzz-devel >= 0.6.0
%description devel
Header files for Evas.
Moduł silnika renderującego do bufora dla Evas.
%package engine-directfb
-Summary: Directfb rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika renderującego na Directfb dla Evas
+Summary: DirectFB rendering engine module for Evas
+Summary(pl.UTF-8): Moduł silnika renderującego na DirectFB dla Evas
Group: X11/Libraries
Requires: %{name} = %{version}-%{release}
%description engine-directfb
-Directfb rendering engine module for Evas.
+DirectFB rendering engine module for Evas.
%description engine-directfb -l pl.UTF-8
-Moduł silnika renderującego na Directfb dla Evas.
+Moduł silnika renderującego na DirectFB dla Evas.
%package engine-fb
Summary: Framebuffer rendering engine module for Evas
%description engine-fb -l pl.UTF-8
Moduł silnika renderującego na framebuffer dla Evas.
+%package engine-gl_sdl
+Summary: SDL OpenGL 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}
+
+%description engine-gl_sdl
+SDL OpenGL rendering engine module for Evas.
+
+%description engine-gl_sdl -l pl.UTF-8
+Moduł silnika renderującego na SDL OpenGL dla Evas.
+
%package engine-gl_x11
Summary: OpenGL under X11 rendering engine module for Evas
Summary(pl.UTF-8): Moduł silnika renderującego na OpenGL pod X11 dla Evas
%description engine-gl_x11 -l pl.UTF-8
Moduł silnika renderującego na OpenGL pod X11 dla Evas.
-%package engine-glitz_x11
-Summary: Glitz X11 rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika renderującego na OpenGL pod X11 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} = %{version}-%{release}
+Requires: %{name}-engine-software_generic = %{version}-%{release}
-%description engine-glitz_x11
-Glitz X11 rendering engine module for Evas.
+%description engine-software_16_sdl
+16-bit SDL software rendering engine module for Evas.
-%description engine-glitz_x11 -l pl.UTF-8
-Moduł silnika renderującego Glitz X11 dla Evas.
+%description engine-software_16_sdl -l pl.UTF-8
+Moduł silnika programowego renderującego 16-bitowego na SDL dla Evas.
%package engine-software_generic
-Summary: Software rendering common engine module for Evas
+Summary: Software rendering common engine module for Evas
Summary(pl.UTF-8): Moduł wspólnego programowego silnika renderującego dla Evas
Group: X11/Libraries
Requires: %{name} = %{version}-%{release}
%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
+%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_qtopia
-Qtopia rendering engine module for Evas.
+%description engine-software_sdl
+SDL software rendering engine module for Evas.
-%description engine-software_qtopia -l pl.UTF-8
-Moduł silnika renderującego Qtopia dla 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
Group: X11/Libraries
Requires: %{name}-engine-software_generic = %{version}-%{release}
+Obsoletes: evas-engine-software_xcb
%description engine-software_x11
Software X11 rendering engine module for Evas.
%description engine-software_x11 -l pl.UTF-8
Moduł programowego silnika renderującego X11 dla Evas.
-%package engine-software_xcb
-Summary: Software XCB X11 rendering engine module for Evas
-Summary(pl.UTF-8): Moduł programowego silnika renderującego XCB X11 dla Evas
-Group: X11/Libraries
-Requires: %{name}-engine-software_generic = %{version}-%{release}
-
-%description engine-software_xcb
-Software XCB X11 rendering engine module for Evas.
-
-%description engine-software_xcb -l pl.UTF-8
-Moduł programowego silnika renderującego XCB 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}
-
-%description engine-xrender_x11
-XRender X11 rendering engine module for Evas.
-
-%description engine-xrender_x11 -l pl.UTF-8
-Moduł silnika renderującego XRender X11 dla Evas.
-
-%package engine-xrender_xcb
-Summary: XRender XCB rendering engine module for Evas
-Summary(pl.UTF-8): Moduł silnika renderującego XCB XRender dla Evas
-Group: X11/Libraries
-Requires: %{name}-engine-software_generic = %{version}-%{release}
-
-%description engine-xrender_xcb
-XCB XRender rendering engine module for Evas.
-
-%description engine-xrender_xcb -l pl.UTF-8
-Moduł silnika renderującego XCB XRender dla Evas.
-
# loaders:
%package loader-edb
Summary: EDB Image loader module for Evas
Moduł zapisywania obrazów TIFF dla Evas.
%prep
-%setup -q
+%setup -q -n %{name}-%{version}
+%patch0 -p1
%build
-rm -rf autom4te.cache
-rm -f aclocal.m4 ltmain.sh
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
+ --disable-silent-rules \
%{!?with_static_libs:--disable-static} \
- --disable-software-qtopia \
- --enable-software-x11 \
- --enable-buffer \
- --%{?with_directfb:en}%{!?with_directfb:dis}able-directfb \
- --%{?with_fb:en}%{!?with_fb:dis}able-fb \
- --enable-gl-x11 \
- --enable-glitz-x11 \
- --enable-xrender-x11 \
- --enable-xrender-xcb \
+ --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-font-loader-eet \
+ --enable-gl-sdl%{!?with_sdl:=no} \
+ --enable-gl-x11 \
--enable-image-loader-edb \
--enable-image-loader-eet \
--enable-image-loader-gif \
--enable-image-loader-svg \
--enable-image-loader-tiff \
--enable-image-loader-xpm \
-%if %{with mmx}
- --enable-cpu-mmx \
-%else
- --disable-cpu-mmx \
-%endif
-%if %{with sse}
- --enable-cpu-sse \
-%else
- --disable-cpu-sse \
-%endif
-%if %{with altivec}
- --enable-cpu-altivec \
-%else
- --disable-cpu-altivec \
-%endif
- --enable-cpu-c \
+ --enable-pixman \
+ --enable-software-sdl%{!?with_sdl:=no} \
+ --enable-software-xcb%{!?with_xcb:=no} \
--disable-valgrind
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/*/*/*/module.{a,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
+
+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 COPYING-PLAIN README
-%attr(755,root,root) %{_libdir}/libevas.so.*
+%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.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libevas.so.1
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/modules
%dir %{_libdir}/%{name}/modules/engines
%dir %{_libdir}/%{name}/modules/loaders
%dir %{_libdir}/%{name}/modules/savers
+# loaders without additional dependencies
+%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)
-#%attr(755,root,root) %{_bindir}/evas-config
%attr(755,root,root) %{_libdir}/libevas.so
%{_libdir}/libevas.la
-%{_includedir}/Evas.h
+%{_includedir}/evas-1
%{_pkgconfigdir}/evas.pc
# engine private structures
-%{_includedir}/Evas_Engine_*.h
-%{_pkgconfigdir}/evas-*.pc
+%{?with_directfb:%{_pkgconfigdir}/evas-directfb.pc}
+%{_pkgconfigdir}/evas-fb.pc
+%{?with_sdl:%{_pkgconfigdir}/evas-opengl-sdl.pc}
+%{_pkgconfigdir}/evas-opengl-x11.pc
+%{_pkgconfigdir}/evas-software-buffer.pc
+%{?with_sdl:%{_pkgconfigdir}/evas-software-sdl.pc}
+%{_pkgconfigdir}/evas-software-x11.pc
+%{_examplesdir}/%{name}-%{version}
%if %{with static_libs}
%files static
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/fb/linux-gnu-*/module.so
%endif
+%if %{with sdl}
+%files engine-gl_sdl
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/modules/engines/gl_sdl
+%dir %{_libdir}/%{name}/modules/engines/gl_sdl/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/gl_sdl/linux-gnu-*/module.so
+%endif
+
%files engine-gl_x11
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/engines/gl_x11
%dir %{_libdir}/%{name}/modules/engines/gl_x11/linux-gnu-*
%attr(755,root,root) %{_libdir}/%{name}/modules/engines/gl_x11/linux-gnu-*/module.so
-%files engine-glitz_x11
+%if %{with sdl}
+%files engine-software_16_sdl
%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/modules/engines/glitz_x11
-%dir %{_libdir}/%{name}/modules/engines/glitz_x11/linux-gnu-*
-%attr(755,root,root) %{_libdir}/%{name}/modules/engines/glitz_x11/linux-gnu-*/module.so
+%dir %{_libdir}/%{name}/modules/engines/software_16_sdl
+%dir %{_libdir}/%{name}/modules/engines/software_16_sdl/linux-gnu-*
+%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_16_sdl/linux-gnu-*/module.so
+%endif
%files engine-software_generic
%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
+%if %{with sdl}
+%files engine-software_sdl
%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
+%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
%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-software_xcb
-#%defattr(644,root,root,755)
-#%dir %{_libdir}/%{name}/modules/engines/software_xcb
-#%dir %{_libdir}/%{name}/modules/engines/software_xcb/linux-gnu-*
-#%attr(755,root,root) %{_libdir}/%{name}/modules/engines/software_xcb/linux-gnu-*/module.so
-
-%files engine-xrender_x11
-%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
-
-%files engine-xrender_xcb
-%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/modules/engines/xrender_xcb
-%dir %{_libdir}/%{name}/modules/engines/xrender_xcb/linux-gnu-*
-%attr(755,root,root) %{_libdir}/%{name}/modules/engines/xrender_xcb/linux-gnu-*/module.so
-
%files loader-edb
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}/modules/loaders/edb