Blob Blame History Raw
# Please check again if someone wants to import
# this also to EPEL.

%if ! (0%{?fedora} > 12)
%{!?python_sitelib:		%global python_sitelib	%(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif

%global	mainver	1.2
%global	minorver	-b4

%global	mainrel	1

%global	rpmminorver	%(echo "%minorver" | sed -e 's|^-||' | sed -e 's|\\\.||')
%global	fedorarel	%{?minorver:0.}%{mainrel}%{?minorver:.%rpmminorver}

Name:		gphotoframe
Version:	%{mainver}
Release:	%{fedorarel}%{?dist}
Summary:	Photo Frame Gadget for the GNOME Desktop

Group:		Amusements/Graphics
# GPLv3 seems safer than GPLv3+
# Some image files are under GPLv2+
License:	GPLv3 and GPLv2+
URL:		http://code.google.com/p/gphotoframe/
Source0:	http://gphotoframe.googlecode.com/files/%{name}-%{mainver}%{?minorver}.tar.gz
# Patch from hg head: mainly for dbus related error (without gnome-screensaver)
Patch0:		gphotoframe-1.2-b4-dbuserror+some_fix.patch

BuildRequires:	GConf2
BuildRequires:	desktop-file-utils
BuildRequires:	gettext
BuildRequires:	intltool
BuildRequires:	python2-devel
BuildRequires:	python-distutils-extra

# Mandatory
Requires:	pygtk2
Requires:	python-exif
Requires:	python-twisted-web
Requires:	pyxdg
# Perhaps Mandatory
# From 1.2-b4
Requires:	dbus-python
# Optional
Requires:	libproxy-python
Requires:	gnome-python2-gnomekeyring
# For now kill two below
# Does not seem to work with clutter-gtk
#Requires:	pyclutter
#Requires:	pyclutter-gtk
Requires:	python-feedparser
# Scriptlets
Requires(pre):	GConf2
Requires(post):	GConf2
Requires(preun):	GConf2

BuildArch:	noarch

%description
Gnome Photo Frame is a photo frame gadget for the GNOME Desktop.

%package	gss
Summary:	Compatibility package of %{name} for gnome-screensaver
Group:		Amusements/Graphics
Requires:	%{name} = %{version}-%{release}
Requires:	gnome-screensaver

%description	gss
This package contains scripts and desktop files of %{name}
for gnome-screensaver compatibility.

%prep
%setup -q -n %{name}-%{mainver}%{?minorver}
%patch0 -p1

# Remove unneeded shebangs
grep -rl '^#![ \t]*%{_bindir}' lib/ | \
	xargs sed -i -e '\@^#![ \t]*%{_bindir}@d'

# Explicitly don't use clutter-gtk for now
%if 1
grep -rl 'import clutter' lib/ | \
	xargs sed -i -e 's|import clutter|import dont_use_clutter|'
%endif

# Use system-wide EXIF
rm lib/utils/EXIF.py
sed -i -e 's|from ..utils.EXIF|from EXIF|' \
	lib/plugins/base.py


%build
# Do nothing
#%%{__python} setup.py build

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}

%{__python} setup.py install \
%if 0
	--skip-build \
%endif
	--root %{buildroot}

# GConf schemas
mkdir -p %{buildroot}%{_sysconfdir}/gconf/schemas
mv \
	%{buildroot}%{_datadir}/gconf/schemas/%{name}.schemas \
	%{buildroot}%{_sysconfdir}/gconf/schemas/
rmdir %{buildroot}%{_datadir}/gconf/schemas/
rmdir %{buildroot}%{_datadir}/gconf/

# Desktop
desktop-file-validate \
	%{buildroot}%{_datadir}/applications/%{name}.desktop

# gnome-screensver related
# FIXME: I don't use gnome-screensaver...
mkdir -p \
	%{buildroot}%{_libexecdir}/gnome-screensaver
# ignore failure (if any) for screensaver desktop
desktop-file-validate \
	%{buildroot}%{_datadir}/applications/screensavers/gphotoframe-screensaver.desktop || true
# lib/ is hardcoded in setup.py
mv %{buildroot}%{_prefix}/lib/gnome-screensaver/gnome-screensaver/gphotoframe-screensaver \
	%{buildroot}%{_libexecdir}/gnome-screensaver/

%find_lang %{name}

%clean
rm -rf %{buildroot}

%pre
%gconf_schema_prepare %{name}
exit 0

%post
touch --no-create %{_datadir}/icons/hicolor >/dev/null
%gconf_schema_upgrade %{name}
exit 0

%preun
%gconf_schema_remove %{name}
exit 0

%postun
if [ $1 -eq 0 ] ; then
	touch --no-create %{_datadir}/icons/hicolor >/dev/null
	gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null
fi
exit 0

%postrrans
gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null
exit 0


%files	-f %{name}.lang
%defattr(-,root,root,-)
%doc	COPYING
%doc	GPL
%doc	README
%doc	changelog

%{_bindir}/%{name}
%{python_sitelib}/%{name}-*.egg-info
%{python_sitelib}/%{name}/

%dir	%{_datadir}/%{name}/
%{_datadir}/%{name}/*.ui
%{_datadir}/%{name}/*.png
%{_datadir}/%{name}/*.svg
%{_datadir}/%{name}/history/

%{_datadir}/gnome/help/%{name}/
%{_datadir}/omf/%{name}/

%{_sysconfdir}/gconf/schemas/%{name}.schemas
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/*

%files	gss
%defattr(-,root,root,-)
%{_libexecdir}/gnome-screensaver/%{name}-screensaver
%{_datadir}/applications/screensavers/%{name}-screensaver.desktop

%changelog
* Mon Dec 27 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.2-0.1.b4
- Update to 1.2b4
- And pull patch from hg head to fix gnome-screensaver related dbus error

* Sat Oct 23 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.1-1
- Update to 1.1

* Tue Jul 27 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp>
- F-14: rebuild against python 2.7

* Sun Jul 25 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.0-2
- Fix license tag
- Remove unneeded macro definition

* Sat Jul 24 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.0-1
- Initial packaging