File ecomorph.spec of Package ecomorph

#
# spec file for package ecomorph-DR17 (git Version 20100516_r48925)
#
# Copyright (c) 2008 SOAD Project, Russia.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bug fixes or comments to the Maintainer: sda00@himki.net
#

# norootforbuild

Name:           ecomorph
Version:        20100516_r48925
Release:		SOAD.1
License:        BSD/GPL
URL:			http://code.google.com/p/itask-module/wiki/Stuff
#Provides:		%{name} ecsm  libecompconfig  ecompconfig-python
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
#Requires:		compiz-emerald compiz-gnome
Requires:		xterm
Source: 		%{name}_%{version}.tar.bz2
Source1:		ecomp.sh
#Source2:		ecomorph_start.desktop
Packager: 		sda00 <sda00@himki.net>
Group:          System/GUI/Enlightenment
Summary:	 	Ecomorph - OpenGL compositing manager (compiz compositing for e17)

%if 0%{?suse_version}  || 0%{?sles_version} 
%if 0%{?suse_version} == 1110 || 0%{?sles_version} == 11
BuildRequires:	libxine-devel
%else
BuildRequires:	xine-devel
%endif
%endif

%if 0%{?suse_version} > 1030 || 0%{?sles_version} == 11 
# core
BuildRequires:	gcc-c++ gcc iputils git m4 autoconf automake libtool glibc-devel glib2-devel zlib-devel libjpeg-devel doxygen  fontconfig-devel
# X env
BuildRequires:	xorg-x11-devel 
BuildRequires:	pam-devel
# functional extensions
BuildRequires:	SDL-devel Mesa-devel gettext-devel imlib2-devel pkg-config libpng-devel libxml2-devel libxslt-devel giflib-devel pango-devel freetype2-devel libtiff-devel tiff  librsvg-devel ncurses-devel cairo-devel fribidi-devel libopenssl-devel  libcurl-devel curl 
BuildRequires:	libgnutls-devel libnotify-devel hal-devel dbus-1-devel update-desktop-files
BuildRequires:	xkeyboard-config xorg-x11-libxkbfile-devel xorg-x11-libxkbfile
%endif

%if 0%{?suse_version} == 1030 
# core
BuildRequires:	gcc-c++ gcc iputils git m4 autoconf automake libtool glibc-devel zlib-devel libjpeg-devel doxygen gzip
# X env
BuildRequires:	xorg-x11-devel 
BuildRequires:	pam-devel
# functional extensions
BuildRequires:	gettext-devel imlib2-devel pkg-config zlib-devel libjpeg-devel libpng-devel fribidi-devel giflib-devel pango-devel freetype2-devel libtiff-devel tiff  libxml2-devel libxslt-devel libopenssl-devel  libcurl-devel curl 
BuildRequires:	libgnutls-devel libnotify-devel hal-devel dbus-1-devel
BuildRequires:	SDL-devel Mesa-devel MesaGLw-devel update-desktop-files
BuildRequires:	xkeyboard-config xorg-x11-libxkbfile-devel
%endif

%if 0%{?fedora}  ||  0%{?rhel_version} == 5
BuildRequires:	libjpeg-devel zlib-devel pkgconfig gnutls-devel openssl-devel git automake doxygen m4 autoconf gzip bzip2 tar

BuildRequires:	freetype-devel pth-devel libX11-devel libXext-devel
BuildRequires:	libXrender-devel fontconfig-devel libjpeg-devel libpng-devel
BuildRequires:	librsvg2-devel libtiff-devel giflib-devel libXpm-devel libXpm
BuildRequires:	mesa-libGL-devel mesa-libGLU-devel
BuildRequires:	libxcb-devel libxcb SDL-devel libXau-devel libXau 
BuildRequires:	libcurl-devel curl libcurl inotify-tools-devel libnotify libnotify-devel notification-daemon
BuildRequires:	libXinerama-devel libXrandr-devel libXScrnSaver-devel libXcursor-devel 
BuildRequires:	libXrender-devel libXdamage-devel libXfixes-devel libXrandr-devel libXrandr
BuildRequires:	libXcomposite-devel libXcomposite
BuildRequires:	hal-devel hal dbus dbus-devel
BuildRequires:	xine-lib-devel libmpd-devel xkeyboard-config libxkbfile-devel
#BuildRequires:	  fribidi-devel fribidi
%endif

%if 0%{?mandriva_version} == 2008
%ifarch x86_64
BuildRequires:	lib64jpeg62-devel  zlib1-devel pkgconfig lib64gnutls-devel git automake doxygen m4 autoconf gzip bzip2 tar
BuildRequires:	lib64xcb1-devel  lib64xcb1 lib64SDL1.2-devel  lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff3-devel lib64tiff3 lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig lib64xrender1-devel lib64xrender1 lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6-devel lib64xau6 lib64fribidi-devel fribidi lib64fribidi0 lib64cairo2-devel lib64cairo2  lib64xcursor-devel lib64xcursor1
BuildRequires:	lib64openssl0.9.8-devel lib64openssl0.9.8 lib64xmlsec1-openssl-devel lib64xdamage-devel lib64xdamage1
BuildRequires:	lib64curl-devel curl lib64curl4 lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3-devel lib64xfixes3
BuildRequires:	hal  lib64hal1 lib64hal-devel  lib64dbus-1-devel
BuildRequires:	lib64xine-devel  lib64xkbfile-devel lib64xkbfile1 lib64xkbui-devel lib64xkbui1 setxkbmap x11-data-xkbdata
#BuildRequires:	dbus-1-devel  lib64notify1 lib64notify1-devel libnotify   dbus lib64dbus-1_3-devel  lib64dbus-1_3 dbus-x11
BuildRequires:	gettext  gettext-base  gettext-devel
%else
BuildRequires:	libjpeg62-devel  zlib-devel pkgconfig libgnutls-devel git automake doxygen m4 autoconf gzip bzip2 tar
BuildRequires:	libxcb1-devel libxcb1 libSDL1.2-devel  libmesagl1-devel  libmesaglu1-devel  libmesaglut3-devel  libmesaglw1-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel x11-server-devel x11-proto-devel x11-xtrans-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff3-devel libtiff3 libxrender1 libxrender1-devel
BuildRequires:	libfontconfig-devel fontconfig  libxrender1 libxrender1-devel libxcomposite1 libxcomposite1-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel libcairo2 libcairo2-devel  libxcursor1 libxcursor-devel
BuildRequires:	libopenssl0.9.8 libopenssl0.9.8-devel  libxmlsec1-openssl-devel libxdamage-devel libxdamage1
BuildRequires:	curl libcurl4 libcurl-devel libxscrnsaver1-devel libxscrnsaver1
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal  libhal1 libhal-devel  libdbus-1-devel
BuildRequires:	libxine-devel libxkbfile-devel libxkbfile1 libxkbui-devel libxkbui1 setxkbmap x11-data-xkbdata
#BuildRequires:	dbus-1-devel  libnotify libnotify1 libnotify1-devel  dbus dbus-x11 libdbus-1_3 libdbus-1_3-devel
BuildRequires:	gettext  gettext-base  gettext-devel
%endif
%endif

%if 0%{?mandriva_version} == 2009 || 0%{?mandriva_version} == 200910
%ifarch x86_64
BuildRequires:	lib64jpeg62-devel  zlib1-devel zlib1 pkgconfig automake doxygen m4 autoconf gzip bzip2 tar  zlib-devel jpeg-devel lib64openssl0.9.8-devel lib64openssl0.9.8
BuildRequires:	lib64xcb-devel lib64xcb1 lib64SDL-devel lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel 
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff3-devel lib64tiff3 lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig  lib64rsvg2-devel lib64rsvg2_2 lib64svg1-devel lib64svg-cairo1-devel lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6 lib64xau6-devel fribidi lib64fribidi0 lib64fribidi-devel lib64xmlsec1-openssl-devel lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	curl lib64curl4 lib64curl-devel lib64notify1 lib64notify1-devel libnotify  lib64xrender1-devel lib64xrender1 lib64xdamage1 lib64xdamage-devel
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3 lib64xfixes3-devel lib64xcursor-devel lib64xcursor1
BuildRequires:	hal lib64hal1 lib64hal-devel dbus dbus-x11 lib64dbus-1_3 lib64dbus-1-devel
BuildRequires:	lib64xine-devel  lib64xkbfile-devel lib64xkbfile1 lib64xkbui-devel lib64xkbui1 setxkbmap x11-data-xkbdata
BuildRequires:	gettext  gettext-base  gettext-devel
%else
BuildRequires:	libjpeg62-devel  zlib-devel pkgconfig automake doxygen m4 autoconf gzip bzip2 tar zlib-devel jpeg-devel libopenssl0.9.8-devel libopenssl0.9.8
BuildRequires:	libxcb-devel libxcb1 libSDL-devel libmesagl1-devel libmesaglw1-devel libmesaglu1-devel libmesaglut3-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff3-devel libtiff3 libxrender1 libxrender1-devel libxdamage1 libxdamage-devel
BuildRequires:	libfontconfig-devel fontconfig librsvg librsvg2-devel librsvg2_2 libsvg-cairo1-devel libsvg1-devel libxcursor1 libxcursor-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel  libxrender1 libxrender1-devel  libxcomposite1 libxcomposite1-devel
BuildRequires:	curl libcurl4 libcurl-devel libnotify libnotify1 libnotify1-devel libxscrnsaver1 libxscrnsaver1-devel
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal libhal1 libhal-devel dbus dbus-x11 libdbus-1_3 libdbus-1-devel
BuildRequires:	libxine-devel libxkbfile-devel libxkbfile1 libxkbui-devel libxkbui1 setxkbmap x11-data-xkbdata
BuildRequires:	gettext  gettext-base  gettext-devel
%endif
%endif

%if 0%{?mandriva_version} == 201000
%ifarch x86_64
BuildRequires:	lib64jpeg-devel  zlib1-devel zlib1 pkgconfig git automake doxygen m4 autoconf gzip bzip2 tar  zlib-devel jpeg-devel lib64openssl0.9.8-devel lib64openssl0.9.8
BuildRequires:	lib64xcb-devel lib64xcb1 lib64SDL-devel lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel 
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff-devel lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig  lib64rsvg2-devel lib64rsvg2_2 lib64svg1-devel lib64svg-cairo1-devel lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6 lib64xau6-devel fribidi lib64fribidi0 lib64fribidi-devel lib64xmlsec1-openssl-devel lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	curl lib64curl4 lib64curl-devel lib64notify-devel lib64xrender1-devel lib64xrender1 lib64xdamage1 lib64xdamage-devel
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3 lib64xfixes3-devel lib64xcursor-devel lib64xcursor1
BuildRequires:	hal lib64hal1 lib64hal-devel dbus dbus-x11 lib64dbus-1_3 lib64dbus-1-devel
BuildRequires:	lib64xine-devel  lib64xkbfile-devel lib64xkbfile1 lib64xkbui-devel lib64xkbui1 setxkbmap x11-data-xkbdata
BuildRequires:	gettext  gettext-base  gettext-devel
%else
BuildRequires:	libjpeg-devel  zlib-devel pkgconfig git automake doxygen m4 autoconf gzip bzip2 tar zlib-devel jpeg-devel libopenssl0.9.8-devel libopenssl0.9.8
BuildRequires:	libxcb-devel libxcb1 libSDL-devel libmesagl1-devel libmesaglw1-devel libmesaglu1-devel libmesaglut3-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff-devel libxrender1 libxrender1-devel libxdamage1 libxdamage-devel
BuildRequires:	libfontconfig-devel fontconfig librsvg librsvg2-devel librsvg2_2 libsvg-cairo1-devel libsvg1-devel libxcursor1 libxcursor-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel  libxrender1 libxrender1-devel  libxcomposite1 libxcomposite1-devel
BuildRequires:	curl libcurl4 libcurl-devel libnotify-devel libxscrnsaver1 libxscrnsaver1-devel
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal libhal1 libhal-devel dbus dbus-x11 libdbus-1_3 libdbus-1-devel
BuildRequires:	libxine-devel libxkbfile-devel libxkbfile1 libxkbui-devel libxkbui1 setxkbmap x11-data-xkbdata
BuildRequires:	gettext  gettext-base  gettext-devel
%endif
%endif


# Global E required components (E dependencies)
BuildRequires:	libeet1 libeet1-devel libevas0 libevas0-devel libecore0 libecore0-devel libedje0 libedje0-devel libembryo0 libembryo0-devel libedbus0 libedbus0-devel  libefreet0 libefreet0-devel eina-devel E17-devel E17 
BuildRequires:	emprint elementary elementary-devel exalt exalt-devel
BuildRequires:	libethumb1-devel libethumb1
#BuildRequires:	libexml0-devel libexml0

# strict requirement
##Requires:	exalt exalt-devel   ## this one is for exalt-module!

%description
Author: hannes.janetzek
http://code.google.com/u/hannes.janetzek/

The Enlightenment Team:
--------
The Rasterman (Carsten Haitzler)
Ibukun Olumuyiwa
Sebastian Dransfeld
HandyAndE (Andrew Williams)
CodeWarrior (Hisham Mardam Bey)
dj2 (Dan Sinclair)
Tilman Sauerbeck
Aleksej Struk
Brian Mattern
devilhorns (Chrostopher Michael)
/dev/urandom (Victor Kojouharov)
ilLogict
Stafford Horne
Cedric Mail
onefang (David Seikel)
Stephen Houston
Byron Hillis
Ravenlock (Eric Schuele)
ManoWarrior (Luchezar Petkov)
morlenxus (Brian Miculcy)

The full list of E-dev crew is here:
http://enlightenment.org/p.php?p=contact&l=en

You can always update your package to the current state just by rebuilding the .spec file:
> rpmbuild -bb *.spec
or by rebuilding the .src.rpm file itself:
> rpmbuild --rebuild *.src.rpm
The new compiled .rpm will be available in /usr/src/packages/RPM/_your_PC_type/

Prepared by SOAD project.

%prep
rm -rf "$RPM_BUILD_ROOT"
#%setup 
%{?suse_update_config:%{suse_update_config -f}} 

%build
%install

## Function declaration
build_function ()
{
export components="ecomorph"
for a1 in  $components ; do
cd $a1
if [ -f ./autogen.sh ] ; then
chmod +x ./autogen.sh  || { exit 0 ; }
./autogen.sh || { exit 0 ; }
make distclean   || { exit 0 ; }
fi

%if 0%{?mandriva_version} >= 2009
export CFLAGS="-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g"
export CXXFLAGS="-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g"
export LDFLAGS=""
%configure LDFLAGS=""
%else
%configure
%endif

make 
make DESTDIR=$RPM_BUILD_ROOT install || return 1
cd ../
done


find $RPM_BUILD_ROOT/ -type f  -iname '*.la' -exec rm {} \;
find $RPM_BUILD_ROOT/ -type f  -iname '*.a' -exec rm {} \;
}

## Getting the sources
if  [ "`ping enlightenment.org -c 10 2>&1 | grep icmp_seq`" != "" ] ; then 
	git clone git://github.com/jeffdameth/ecomorph.git
else
	tar xfm  $RPM_SOURCE_DIR/%{name}_%{version}.tar.bz2
fi

## Build all components
build_function

## Pack example of start-up xsession file
mkdir -p  $RPM_BUILD_ROOT/usr/bin
mv $RPM_BUILD_ROOT/usr/bin/ecomp.sh $RPM_BUILD_ROOT/usr/bin/ecomp.sh.old
cp $RPM_SOURCE_DIR/ecomp.sh $RPM_BUILD_ROOT/usr/bin/
chmod +x $RPM_BUILD_ROOT/usr/bin/ecomp.sh

%clean
rm -rf "$RPM_BUILD_ROOT"
# $RPM_SOURCE_DIR

%files
%defattr(-,root,root)
%{_libdir}/enlightenment/modules/ecomorph
%{_bindir}/*
%{_datadir}/xsessions/ecomorph.desktop

%changelog
* Sun Mar 15 2009  update of Ecomorph to remove "dbus" configuration
* Tue Jan 27 2009  version E-DR17-999-050 second build for SOAD project <sda00@himki.net>
- ecomorph is splitted to the several packages, sources are updated
* Thu Jun 12 2008  version E-DR17-999-043 first build for SOAD project <sda00@himki.net>
- added online rebuild capability of .src.rpm or .spec files

openSUSE Build Service is sponsored by