-#
-# Conditional build:
-# _with_flash - build FLASH support
-# _with_mpg - build support for MPG/MPEG3
-#
Summary: DirectFB - Hardware graphics acceleration
Summary(pl): DirectFB - Wspomaganie grafiki
Name: DirectFB
-Version: 0.9.15
+Version: 0.9.21
Release: 1
+Epoch: 1
License: LGPL v2+
Group: Libraries
-Source0: http://www.directfb.org/download/%{name}/%{name}-%{version}.tar.gz
-Source1: http://www.directfb.org/download/DirectFB/DFBTutorials-0.5.0.tar.gz
+Source0: http://www.directfb.org/download/DirectFB/%{name}-%{version}.tar.gz
+# Source0-md5: 22699a04f2f618b287aa0ae1b06045b5
+Source1: http://www.directfb.org/download/DirectFB-extra/DFBTutorials-0.5.0.tar.gz
+# Source1-md5: 13e443a64bddd68835b574045d9025e9
Patch0: %{name}-am.patch
+Patch1: %{name}-pmake.patch
+Patch2: %{name}-fix.patch
+# missing files taken from DirectFB CVS
+Patch3: %{name}-missing-files.patch
+Patch4: %{name}-sh.patch
URL: http://www.directfb.org/
-#BuildRequires: SDL-devel
-BuildRequires: autoconf
+BuildRequires: SDL-devel
+BuildRequires: autoconf >= 2.52
BuildRequires: automake
-%{?_with_flash:BuildRequires: flash-devel >= 0.4.10-5}
BuildRequires: freetype-devel >= 2.0.2
BuildRequires: libjpeg-devel >= 6b
-%{?_with_mpg:BuildRequires: libmpeg3-devel}
BuildRequires: libpng-devel >= 1.0
BuildRequires: libtool
+BuildRequires: sed >= 4.0
+BuildRequires: sysfsutils-devel
BuildRequires: zlib-devel >= 1.1.3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: DirectFB - development package
Summary(pl): DirectFB - pliki nag³ówkowe
Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: zlib-devel >= 1.1.3
%description devel
DirectFB header files.
Summary: DirectFB static libraries
Summary(pl): Statyczne biblioteki DirectFB
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
DirectFB static libraries.
%description doc -l pl
Dokumentacja dla systemu DirectFB wraz z wprowadzeniem.
+%package core-sdl
+Summary: SDL core system for DirectFB
+Summary(pl): System SDL dla DirectFB
+Group: Libraries
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description core-sdl
+This package contains SDL core system module for DirectFB.
+
+%description core-sdl -l pl
+Ten pakiet zawiera modu³ systemu SDL dla DirectFB.
+
%package font-ft2
Summary: FreeType2 font provider for DirectFB
Summary(pl): DirectFB - wtyczka dostarczaj±ca fonty poprzez FreeType2
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description font-ft2
This package contains FreeType2 font provider for DirectFB.
Summary: JPEG image provider for DirectFB
Summary(pl): DirectFB - wtyczka dostarczaj±ca grafikê JPEG
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description image-jpeg
This package contains JPEG image provider for DirectFB.
Summary: PNG image provider for DirectFB
Summary(pl): DirectFB - wtyczka dostarczaj±ca grafikê PNG
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description image-png
This package contains PNG image provider for DirectFB.
%description image-png -l pl
Ten pakiet zawiera wtyczkê dla DirectFB dostarczaj±c± grafikê PNG.
-%package video-libmpeg3
-Summary: MPEG video provider for DirectFB
-Summary(pl): DirectFB - wtyczka dostarczaj±ca obraz MPEG
+%package input-elo
+Summary: ELO touchscreen input driver for DirectFB
+Summary(pl): Sterownik wej¶ciowy do touchscreenów ELO dla DirectFB
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description input-elo
+ELO touchscreen input driver for DirectFB.
-%description video-libmpeg3
-This package contains MPEG (MPEG-1 and MPEG-2) video provider for
-DirectFB. It uses libmpeg3 library.
+NOTE: currently it uses hardcoded /dev/ttyS0 port, so don't install it
+unless you don't have ELO device connected to this port. It can mess
+with other devices connected to this port (mouse, modem etc.).
-%description video-libmpeg3 -l pl
-Ten pakiet zawiera wtyczkê dla DirectFB dostarczajac± obraz MPEG
-(MPEG-1 i MPEG-2) przy u¿yciu biblioteki libmpeg3.
+%description input-elo -l pl
+Sterownik wej¶ciowy do touchscreenów ELO dla DirectFB.
-%package video-swf
-Summary: ShockWave Flash video provider for DirectFB
-Summary(pl): DirectFB - wtyczka dostarczaj±ca obraz ShockWave Flash
+UWAGA: aktualnie u¿ywa zakodowanego na sta³e portu /dev/ttyS0, wiêc nie
+nale¿y go instalowaæ, je¶li urz±dzenie ELO nie jest pod³±czone do tego
+portu. Sterownik mo¿e utrudniæ wspó³pracê z innymi urz±dzeniami
+pod³±czonymi do /dev/ttyS0 (jak mysz, modem itp.).
+
+%package input-mutouch
+Summary: MuTouch touchscreen input driver for DirectFB
+Summary(pl): Sterownik wej¶ciowy do touchscreenów MuTouch dla DirectFB
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description input-mutouch
+MuTouch touchscreen input driver for DirectFB.
-%description video-swf
-This package contains SWF (ShockWave Flash) video provider for
-DirectFB. It uses flash library.
+NOTE: currently it uses hardcoded /dev/ttyS0 port, so don't install it
+unless you don't have MuTouch device connected to this port. It can
+mess with other devices connected to this port (mouse, modem etc.).
-%description video-swf -l pl
-Ten pakiet zawiera wtyczkê dla DirectFB dostarczaj±c± obraz SWF
-(ShockWave Flash) przy u¿yciu biblioteki flash.
+%description input-mutouch -l pl
+Sterownik wej¶ciowy do touchscreenów MuTouch dla DirectFB.
+
+UWAGA: aktualnie u¿ywa zakodowanego na sta³e portu /dev/ttyS0, wiêc nie
+nale¿y go instalowaæ, je¶li urz±dzenie MuTouch nie jest pod³±czone do
+tego portu. Sterownik mo¿e utrudniæ wspó³pracê z innymi urz±dzeniami
+pod³±czonymi do /dev/ttyS0 (jak mysz, modem itp.).
%prep
%setup -q -a1
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+sed -i -e 's@sysfs/libsysfs.h@libsysfs.h@' \
+ configure.in gfxdrivers/{nvidia/nvidia.c,matrox/matrox_maven.c}
%build
-rm -f missing
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__automake}
-# paths for libmpeg3 and libflash
-CPPFLAGS="-I/usr/include/libmpeg3 -I/usr/X11R6/include"
-LDFLAGS="%{rpmldflags} -L/usr/X11R6/lib"
-# SDL core disabled (used directly, not through plugin - too many deps)
# MMX and SSE are detected at runtime, so it's safe to enable
%configure \
+ %{!?debug:--disable-debug} \
--disable-maintainer-mode \
+ --enable-elo-input \
+ --enable-fast-install \
+ --enable-linux-input \
+ --enable-mutouch \
+ --enable-sdl \
--enable-shared \
--enable-static \
- --disable-fast-install \
- --disable-debug \
- %{!?_with_flash:--disable-flash} \
- %{!?_with_mpg:--disable-libmpeg3} \
- --disable-avifile \
- --disable-sdl \
-%ifarch i586 i686 athlon
+ --enable-unique \
+ --enable-video4linux2 \
+ --enable-voodoo \
+ --enable-zlib \
+%ifarch %{ix86}
+%ifnarch i386 i486
--enable-mmx \
%endif
-%ifarch i686 athlon
+%ifnarch i386 i486 i586
--enable-sse
%endif
+%endif
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} DESTDIR=$RPM_BUILD_ROOT install
-
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
cp -rf DFBTutorials* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+# dbfdump and dfbg require multi-application core - useless now
+rm -f $RPM_BUILD_ROOT{%{_bindir}/{dfbdump,dfbg},%{_mandir}/man1/dfbg.1}
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%doc AUTHORS ChangeLog NEWS README TODO
+%attr(755,root,root) %{_bindir}/dfbinfo
+%attr(755,root,root) %{_bindir}/dfblayer
+%attr(755,root,root) %{_bindir}/dfbproxy
+%attr(755,root,root) %{_bindir}/dfbscreen
+%attr(755,root,root) %{_bindir}/dfbsummon
+%attr(755,root,root) %{_bindir}/uwmdump
+%attr(755,root,root) %{_libdir}/libdirect-*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libdirectfb-*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libfusion-*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libuniquewm-*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libvoodoo-*.so.*.*.*
%dir %{dfbdir}
%dir %{dfbdir}/gfxdrivers
-%attr(755,root,root) %{dfbdir}/gfxdrivers/*.??
+%attr(755,root,root) %{dfbdir}/gfxdrivers/*.so
%dir %{dfbdir}/inputdrivers
-%attr(755,root,root) %{dfbdir}/inputdrivers/*.??
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_joystick.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_keyboard.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_linux_input.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_lirc.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_ps2mouse.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_serialmouse.so
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_sonypi.so
%dir %{dfbdir}/interfaces
+%dir %{dfbdir}/interfaces/IDirectFB
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFB/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBDataBuffer
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBDataBuffer/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBDisplayLayer
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBDisplayLayer/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBEventBuffer
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBEventBuffer/lib*.so
%dir %{dfbdir}/interfaces/IDirectFBFont
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_default.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_default.so
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_dispatcher.so
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_requestor.so
%dir %{dfbdir}/interfaces/IDirectFBImageProvider
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.??
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dispatcher.so
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_requestor.so
+%dir %{dfbdir}/interfaces/IDirectFBInputDevice
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBInputDevice/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBPalette
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBPalette/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBScreen
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBScreen/lib*.so
+%dir %{dfbdir}/interfaces/IDirectFBSurface
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBSurface/lib*.so
%dir %{dfbdir}/interfaces/IDirectFBVideoProvider
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
+%dir %{dfbdir}/interfaces/IDirectFBWindow
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBWindow/lib*.so
+%dir %{dfbdir}/systems
+%attr(755,root,root) %{dfbdir}/systems/libdirectfb_fbdev.so
+%dir %{dfbdir}/wm
+%attr(755,root,root) %{dfbdir}/wm/*.so
%{_datadir}/directfb-%{version}
%{_mandir}/man5/*
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/directfb-config
%attr(755,root,root) %{_bindir}/directfb-csource
+%attr(755,root,root) %{_libdir}/libdirect.so
+%attr(755,root,root) %{_libdir}/libdirectfb.so
+%attr(755,root,root) %{_libdir}/libfusion.so
+%attr(755,root,root) %{_libdir}/libuniquewm.so
+%attr(755,root,root) %{_libdir}/libvoodoo.so
+%{_libdir}/libdirect.la
+%{_libdir}/libdirectfb.la
+%{_libdir}/libfusion.la
+%{_libdir}/libuniquewm.la
+%{_libdir}/libvoodoo.la
%{_includedir}/directfb
%{_includedir}/directfb-internal
-%{_pkgconfigdir}/*
-%{_libdir}/*.la
-%{_libdir}/*.so
+%{_pkgconfigdir}/*.pc
%{_mandir}/man1/directfb-csource.1*
%files static
%defattr(644,root,root,755)
%{_libdir}/lib*.a
-%{dfbdir}/gfxdrivers/*.a
-%{dfbdir}/inputdrivers/*.a
-%{dfbdir}/interfaces/*/*.a
+%{dfbdir}/gfxdrivers/*.*[ao]
+%{dfbdir}/inputdrivers/*.*[ao]
+%{dfbdir}/interfaces/*/*.*[ao]
+%{dfbdir}/systems/*.*[ao]
+%{dfbdir}/wm/*.*[ao]
%files doc
%defattr(644,root,root,755)
-%doc docs/html/*
+%doc docs/html/*.{html,png}
%{_examplesdir}/%{name}-%{version}
+%files core-sdl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_sdlinput.so
+%attr(755,root,root) %{dfbdir}/systems/libdirectfb_sdl.so
+
%files font-ft2
%defattr(644,root,root,755)
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_ft2.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
%files image-jpeg
%defattr(644,root,root,755)
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
%files image-png
%defattr(644,root,root,755)
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.??
+%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
-%if %{?_with_mpg:1}%{!?_with_mpg:0}
-%files video-libmpeg3
+%files input-elo
%defattr(644,root,root,755)
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_libmpeg3.??
-%endif
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_elo.so
-%if %{?_with_flash:1}%{!?_with_flash:0}
-%files video-swf
+%files input-mutouch
%defattr(644,root,root,755)
-%attr(755,root,root) %{dfbdir}/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_swf.??
-%endif
+%attr(755,root,root) %{dfbdir}/inputdrivers/libdirectfb_mutouch.so