File DirectFB.spec of Package DirectFB

#
# spec file for package DirectFB (Version 1.4.5)
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

%define directfbdir %{_libdir}/directfb-1.4-5

Name:           DirectFB
Url:            http://www.directfb.org/
License:        LGPLv2.1+
Group:          System/Libraries
AutoReqProv:    on
Version:        1.4.5
Release:        2
Summary:        Graphics Library for Framebuffer Devices
Source:         %{name}-%{version}.tar.bz2
Source2:        baselibs.conf
Patch2:         DirectFB-0.9.24-matroxi2c.diff
Patch3:         DirectFB-1.2.9-headers.patch
Patch4:         DirectFB-cc-cflags.patch
Patch5:         DirectFB-int.patch
Patch6:         DirectFB-0.9.24-warning.patch
Patch9:         DirectFB-1.1.1.patch
Patch11:        DirectFB-1.2.9-ignore-fbmodes.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  freetype2-devel
BuildRequires:  xorg-x11-libX11-devel
BuildRequires:  xorg-x11-libXext-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libpng-devel
BuildRequires:  libstdc++-devel
BuildRequires:  udev
BuildRequires:  LibVNCServer-devel
BuildRequires:  SDL-devel
%if 0%{?suse_version} > 1130
BuildRequires:  sysfsutils-devel
%else
BuildRequires:  sysfsutils
%endif
BuildRequires:  zlib-devel
BuildRequires:  pkg-config
%ifnarch s390 s390x
BuildRequires:  i2c-tools
%endif
# bug437293
%ifarch ppc64
Obsoletes:      DirectFB-64bit
%endif

%description
DirectFB is a thin library that provides hardware graphics
acceleration, input device handling and abstraction, an integrated
windowing system with support for translucent windows, and multiple
display layers on top of the Linux framebuffer device. It is a complete
hardware abstraction layer with software fallbacks for every graphics
operation that is not supported by the underlying hardware. DirectFB
adds graphical power to embedded systems and sets a new standard for
graphics under Linux.



Authors:
--------
    Denis Oliver Kropp <dok@directfb.org>
    Andreas Hundt <andi@fischlustig.de>
    Sven Neumann <neo@directfb.org>

%package devel
License:        LGPLv2.1+
Group:          Development/Libraries/C and C++
Summary:        Graphics Library for Framebuffer Devices
Requires:       %{name} = %{version} glibc-devel zlib-devel /bin/sh

%description devel
DirectFB is a thin library that provides hardware graphics
acceleration, input device handling and abstraction, an integrated
windowing system with support for translucent windows, and multiple
display layers on top of the Linux framebuffer device. It is a complete
hardware abstraction layer with software fallbacks for every graphics
operation that is not supported by the underlying hardware. DirectFB
adds graphical power to embedded systems and sets a new standard for
graphics under Linux.



Authors:
--------
    Denis Oliver Kropp <dok@directfb.org>
    Andreas Hundt <andi@fischlustig.de>
    Sven Neumann <neo@directfb.org>

%package doc
License:        LGPLv2.1+
Summary:        Graphics Library for Framebuffer Devices Documentation
Group:          System/Libraries

%description doc
Graphics Library for Framebuffer Devices Documentation in html form.



Authors:
--------
    Denis Oliver Kropp <dok@directfb.org>
    Andreas Hundt <andi@fischlustig.de>
    Sven Neumann <neo@directfb.org>

%package libSDL
License:        LGPLv2.1+
Summary:        SDL backend of Graphics Library for Framebuffer Devices
Group:          System/Libraries
Supplements:    packageand(%{name}:libSDL)

%description libSDL
SDL backend of Graphics Library for Framebuffer Devices:
 * gfxdrivers/libdirectfb_sdlgraphics.so
 * inputdrivers/libdirectfb_sdlinput.so
 * systems/libdirectfb_sdl.so

%package Mesa
License:        LGPLv2.1+
Summary:        Mesa backend of Graphics Library for Framebuffer Devices
Group:          System/Libraries
Supplements:    packageand(%{name}:Mesa)

%description Mesa
Mesa backend of Graphics Library for Framebuffer Devices:
 * gfxdrivers/libdirectfb_gl.so
 * systems/libdirectfb_x11.so

%package libvncclient
License:        LGPLv2.1+
Summary:        Mesa backend of Graphics Library for Framebuffer Devices
Group:          System/Libraries
Supplements:    packageand(%{name}:libvncclient)

%description libvncclient
Mesa backend of Graphics Library for Framebuffer Devices:
 * systems/libdirectfb_vnc.so

%prep
%setup -q
%patch2 -p1
%patch3
%patch4 -p1
%patch5 -p1
%patch6
#%patch8
%patch9
%patch11 -p1

%build
%ifarch s390 s390x
	sed 's/-O3/-Os/' configure >c;chmod +x c;mv c configure;
%endif
%suse_update_libdir configure
%{configure} --enable-sdl --with-pic --enable-video4linux2 \
        --enable-zlib \
        --enable-rgb332 \
%ifarch x86_64
	--enable-mmx \
        --enable-sse \
%endif
%ifarch ppc64 ppc
	--with-gfxdrivers="ati128 cle266 cyber5k i810 mach64 matrox neomagic nsc nvidia radeon sis315 tdfx unichrome" \
%endif
%ifarch s390 s390x
	--with-gfxdrivers=none --with-inputdrivers=none --disable-video4linux --disable-fbdev \
%endif
	--enable-linux-input \
        --enable-x11 \
        --enable-unique \
        --with-smooth-scaling \
	--disable-gettid

make %{?_smp_flags}

%install
%{makeinstall}
find %{buildroot} -name '*.la' | xargs rm -v

%check
make check

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%{_datadir}/directfb-%{version}
%{_bindir}/dfbg
%{_bindir}/dfbdump
%{_bindir}/dfbinfo
%{_bindir}/dfblayer
%{_bindir}/directfb-csource
%{_bindir}/dfbscreen
%{_bindir}/dfbinspector
%{_bindir}/dfbmaster
%{_bindir}/dfbfx
%{_bindir}/uwmdump
%{_bindir}/dfbinput
%{_bindir}/dfbpenmount
%{_bindir}/directfb-config
%{_bindir}/pxa3xx_dump
%{_libdir}/libdirect*.so.*
%{_libdir}/libfusion*.so.*
%{_libdir}/libuniquewm*.so.*
%{directfbdir}
%{_bindir}/mkd*iff
%doc %_mandir/man1/dfbg.1.gz
%doc %_mandir/man1/directfb-csource.1.gz
%doc %_mandir/man5/directfbrc.5.gz
%exclude %{directfbdir}/gfxdrivers/libdirectfb_sdlgraphics.so
%exclude %{directfbdir}/inputdrivers/libdirectfb_sdlinput.so
%exclude %{directfbdir}/systems/libdirectfb_sdl.so
%exclude %{directfbdir}/gfxdrivers/libdirectfb_gl.so
%exclude %{directfbdir}/systems/libdirectfb_x11.so
%exclude %{directfbdir}/systems/libdirectfb_vnc.so

%files devel
%defattr(-,root,root)
%{_libdir}/libdirect*.so
%{_libdir}/libfusion*.so
%{_libdir}/libuniquewm*.so
/usr/include/directfb-internal
/usr/include/directfb
%{_libdir}/pkgconfig/*

%files doc
%defattr(-,root,root)
%doc docs/html/*.html
%doc docs/html/*.png

%files libSDL
%defattr(-,root,root)
%{directfbdir}/gfxdrivers/libdirectfb_sdlgraphics.so
%{directfbdir}/inputdrivers/libdirectfb_sdlinput.so
%{directfbdir}/systems/libdirectfb_sdl.so

%files Mesa
%defattr(-,root,root)
%{directfbdir}/gfxdrivers/libdirectfb_gl.so
%{directfbdir}/systems/libdirectfb_x11.so

%files libvncclient
%defattr(-,root,root)
%{directfbdir}/systems/libdirectfb_vnc.so

%changelog