File e_modules.spec of Package e_modules

#
# spec file for package e_modules-DR17 (svn 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:       e_modules
Version:    svn_20100516_r48925
Release:	SOAD.1
License:    BSD
URL:		http://enlightenment.org/
#Provides:	%{name}
BuildRoot:  %{_tmppath}/%{name}-%{version}-build
Source: 	%{name}_20100516_r48925.tar.bz2
Source1:	01_replace_language_etc_usr_new.diff
#Patch0:		
Packager: 	sda00 <sda00@himki.net>
Group:		System/GUI/Other/Modules
Summary: 	Enlightenment modules

%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 subversion 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:	libmpd-devel xkeyboard-config xorg-x11-libxkbfile-devel xorg-x11-libxkbfile
BuildRequires:	libpurple-devel
%endif

%if 0%{?suse_version} == 1030 
# core
BuildRequires:	gcc-c++ gcc iputils subversion 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 gettext-devel MesaGLw-devel update-desktop-files
BuildRequires:	libmpd-devel xkeyboard-config xorg-x11-libxkbfile-devel xorg-x11-libxkbfile
%endif

%if 0%{?fedora}  ||  0%{?rhel_version} == 5
BuildRequires:	libjpeg-devel zlib-devel pkgconfig gnutls-devel openssl-devel subversion 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 subversion 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 subversion 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 subversion 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 subversion 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 subversion 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 subversion 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 libevas-ver-pre-svn-05-0 libevas-ver-pre-svn-05-0-devel libecore-ver-pre-svn-05-0 libecore-ver-pre-svn-05-0-devel libedje-ver-pre-svn-05-0 libedje-ver-pre-svn-05-0-devel libembryo-ver-pre-svn-05-0 libembryo-ver-pre-svn-05-0-devel libedbus-ver-pre-svn-05-0 libedbus-ver-pre-svn-05-0-devel  libefreet-ver-pre-svn-05-0 libefreet-ver-pre-svn-05-0-devel libeina-ver-pre-svn-05-0 libeina-ver-pre-svn-05-0-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
Collection of Enlightenment modules:

alarm bling calendar cpu deskshow echo emu efm_nav efm_path efm_pathbar execwatch flame forecasts iiirk language mail mem mixer moon mpdule net news notification photo penguins rain screenshot slideshow snow taskbar tclock tiling uptime weather winselector wlan

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_without_uninstall ()
{
cd E-MODULES-EXTRA/
%if 0%{?suse_version}  || 0%{?sles_version}

#export components="alarm bling calendar configmenu cpu deskshow diskio drawer emu efm_nav efm_path efm_pathbar exalt-client execwatch forecasts iiirk language mail mem moon mpdule net news notification photo places penguins rain screenshot slideshow snow taskbar tclock tiling uptime weather winselector wlan"

export components="alarm calendar cpu deskshow diskio drawer efm_nav efm_path efm_pathbar empris everything-mpris everything-pidgin exalt-client exebuf execwatch flame forecasts iiirk itask itask-ng language mail mem moon mpdule net news notification photo quickaccess places rain screenshot slideshow snow taskbar tclock tiling uptime weather winlist-ng winselector wlan"

## eweather

%else
export components="alarm calendar cpu deskshow diskio drawer efm_nav efm_path efm_pathbar exalt-client exebuf execwatch flame forecasts iiirk itask itask-ng language mail mem moon mpdule net news notification photo quickaccess places rain screenshot slideshow snow taskbar tclock tiling uptime weather winlist-ng winselector wlan"

%endif

%if 0%{?mandriva_version}
export components="alarm calendar cpu deskshow diskio drawer efm_nav efm_path efm_pathbar exalt-client exebuf execwatch flame forecasts iiirk itask itask-ng language mail mem moon mpdule net news notification photo quickaccess places rain screenshot slideshow snow taskbar tclock tiling uptime weather winlist-ng winselector wlan"

%endif
## failed:  flame

for a1 in  $components ; do
cd $a1
chmod +x ./autogen.sh
./autogen.sh
make distclean 

%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 || return 1
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 {} \;

#for a1 in  $components ; do
#if [ "$a1" == "exalt-client" ] ; then a1="exalt" ; fi
#cd  %{buildroot}%{_libdir}/enlightenment/modules/"$a1"
#find ./ -maxdepth 1 -type d -iname 'linux-gnu-i686-' -exec ln -s {} linux-gnu-i686 \;
#cd -
#done

#for a1 in  $components ; do
#if [ "$a1" == "exalt-client" ] ; then a1="exalt" ; fi
#cd  %{buildroot}%{_libdir}/enlightenment/modules/"$a1"
#find ./  -maxdepth 1 -type d -iname 'linux-gnu-x86_64-' -exec ln -s {} linux-gnu-x86_64 \;
#cd -
#done

}

## Getting the sources
if  [ "`ping enlightenment.org -c 10 2>&1 | grep icmp_seq`" != "" ] ; then 
svn co http://svn.enlightenment.org/svn/e/trunk/E-MODULES-EXTRA
else
tar xfm  $RPM_SOURCE_DIR/%{name}_20100516_r48925.tar.bz2
fi

## Prepare a valid environment for a 'language' module
#patch -p0 < %{SOURCE1}

## Build all components
build_without_uninstall

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-,root,root)
%{_libdir}/enlightenment/modules/*
%{_includedir}/drawer
%{_libdir}/pkgconfig/drawer.pc
##%exclude %{_libdir}/enlightenment/modules/news
##%exclude %{_libdir}/enlightenment/modules/drawer
##%exclude %{_libdir}/enlightenment/modules/mail
##%exclude %{_libdir}/enlightenment/modules/net

%changelog
* Mon Apr 20 2009  version E-DR17-999-050 <sda00@himki.net>
- first "rev1" is packaged according to the Release Schedule - http://trac.enlightenment.org/e/wiki/ReleaseSchedule
* Fri Jun  6 2008  version E-DR17-999-043 <sda00@himki.net>
* Thu May   2 2008  first build for SOAD project <sda00@himki.net>
- added online rebuild capability of .src.rpm or .spec files

openSUSE Build Service is sponsored by