%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")}
%define rubyabi 1.8
%define repoid 53230
%define majorver 0.6.4.1
%undefine minorver
%define fedorarel 2
%define rel %{?minorver:0.}%{fedorarel}%{?minorver:.%minorver}
Name: alexandria
Version: %{majorver}
Release: %{rel}%{?dist}
Summary: Book collection manager
Group: Applications/Productivity
License: GPLv2+
URL: http://alexandria.rubyforge.org/
Source0: http://rubyforge.org/frs/download.php/%{repoid}/%{name}-%{version}%{?minorver}.tar.gz
# Ref: upstream bug 24568
#Patch0: alexandria-0.6.4-bookentry-after-sorting.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: ruby(abi) = %{rubyabi}
BuildRequires: rubygem(rake)
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: intltool
BuildRequires: scrollkeeper
BuildRequires: ImageMagick
Requires: ruby
Requires: ruby(abi) = %{rubyabi}
# Amazon AWS v3 -> v4 switch
# AWS v4 is supported by alexandria itself
# But hpricot is still needed
#Requires: ruby(amazon)
Requires: ruby(gettext-package)
Requires: ruby(hpricot)
Requires: ruby(htmlentities)
Requires: ruby(imagesize)
# Dependency removed on 0.6.4b1
#Requires: ruby(mechanize)
Requires: ruby(revolution)
# ruby(zoom) -> rubygem(zoom) switch
#Requires: ruby(zoom)
Requires: rubygem(zoom) >= 0.3.0
Requires: ruby(marc)
Requires: ruby(gconf2)
Requires: ruby(gdkpixbuf2)
Requires: ruby(glib2)
Requires: ruby(gnome2)
Requires: ruby(libglade2)
Requires(post): scrollkeeper
Requires(postun): scrollkeeper
Requires(pre): GConf2
Requires(post): GConf2
Requires(preun): GConf2
%description
Alexandria is a GNOME application to help you manage your book collection.
%prep
%setup -q -n %{name}-%{majorver}%{?minorver}
#%%patch0 -p0 -b .up24568
%build
rake build
# ruby(gettext) >= 2.0.0 no longer accepts 4 arguments for
# bindtextdomain()
find . -name \*.rb | xargs \
%{__sed} -i.bind -e '/bindtextdomain/s|(\([^,][^,]*\), nil, nil, \([^,][^,]*\))|(\1, :charset => \2)|'
%install
%{__rm} -rf $RPM_BUILD_ROOT
# disable scrollkeeper
%{__rm} -rf tmpbin
%{__mkdir} tmpbin
%{__ln_s} -f /bin/true tmpbin/scrollkeeper-update
%{__ln_s} -f /bin/true tmpbin/gconftool-2
%{__ln_s} -f /bin/true tmpbin/gtk-update-icon-cache
export PATH="$(pwd)/tmpbin:$PATH"
#export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
export PREFIX=$RPM_BUILD_ROOT%{_prefix}
rake install
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/applications/
desktop-file-install \
--vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications/ \
--delete-original \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
# create 64x64, 128x128 icon
for s in 64 128 ; do
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/
convert -scale ${s}x${s} \
data/alexandria/icons/%{name}.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
done
%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/
%{__install} -c -p -m 0644 schemas/%{name}.schemas \
$RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/locale/
%{__cp} -pr data/locale/* $RPM_BUILD_ROOT%{_datadir}/locale/
# Clean up documents
%{__rm} -rf $RPM_BUILD_ROOT%{_defaultdocdir}
# %%{_datadir}/menu seems to be used for debian
# Removing for Fedora
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/menu/
%find_lang %{name}
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%pre
if [ "$1" -gt 1 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas >/dev/null
fi
exit 0
%post
touch --no-create %{_datadir}/icons/hicolor/
%{_bindir}/scrollkeeper-update -q -o %{_datadir}/omf/%{name}
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null
exit 0
%preun
if [ "$1" -eq 0 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null
fi
exit 0
%postun
%{_bindir}/scrollkeeper-update -q
[ "$1" -eq 0 ] || exit 0
touch --no-create %{_datadir}/icons/hicolor/
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
exit 0
%posttrans
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
exit 0
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc COPYING
%doc ChangeLog
%doc INSTALL
%doc README*
%doc TODO
%doc doc/[A-Z]*
%doc doc/cuecat_support.rdoc
%{_mandir}/man1/%{name}.1*
%{_bindir}/%{name}
%{ruby_sitelib}/%{name}.rb
%{ruby_sitelib}/%{name}/
%{_sysconfdir}/gconf/schemas/%{name}.schemas
%{_datadir}/%{name}/
%{_datadir}/gnome/help/%{name}/
%{_datadir}/omf/%{name}/
%{_datadir}/sounds/%{name}/
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%changelog
* Thu Mar 26 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.4.1-2
- Fix arguments of bindtextdomain() for ruby(gettext) 2.0.0
* Mon Mar 16 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.4.1-1
- 0.6.4.1 (fixing upstream bug 24568)
* Sun Mar 15 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.4-1
- 0.6.4
- Patch from upstream to fix issue when book entry is once sorted
(upstream bug 24568)
* Fri Mar 6 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.4-0.2.b1
- Add ruby(htmlentities) dependency
* Tue Mar 3 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.4-0.1.b1
- Update to 0.6.4 beta 1
- Drop all patches, merged into upstream
* Fri Feb 27 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-11
- library UTF-8 patch update
* Thu Feb 26 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-10
- Use upstreamed patch for UTF-8 strings issue
* Thu Feb 26 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-9
- Attempt to handle UTF-8 strings in library names correctly
* Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp>
- F-11: Mass rebuild
* Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-8
- Global-ize "nested" macro
- GTK icon cache update scripts update
* Wed Feb 4 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-7
- Add hpricot dependency again (for Amazon provider)
* Sun Jan 11 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-6
- Rebuild to restore ARCHIVESIZE
* Wed Jul 16 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-5
- Remove workaround for bug 436697 (tooltips crash).
This was a bug on ruby-gnome2 which is fixed in 0.17.0 rc1
* Thu Apr 3 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-4
- Drop ruby(amazon) dependency (Amazon no longer provides AWSv3,
AWSv4 is supported by alexandria itself)
* Sun Mar 23 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-2
- Disable tooltips on_motion func for now to workaround for
bug 436697
* Sat Feb 23 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.3-1
- 0.6.3
- One patch removed (applied by upstream)
* Mon Dec 31 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-2
- Trial workaround patch for bug 427070
* Thu Dec 20 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-1
- 0.6.2
- Two patches for 0.6.2b2 are removed.
* Sun Dec 16 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.6.b2
- Pass exception when user don't use evolution for mailer.
- Fix crash when yelp is not installed.
- Add INSTALL to %%doc as this file contains some useful information.
* Wed Dec 12 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.3.b2
- Also require ruby(revolution)
* Tue Nov 13 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.2.b2
- Add more requires of ruby modules to support more function
* Sun Nov 4 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.1.b2
- And try 0.6.2 beta 2
* Fri Nov 2 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.2-0.1.b1
- Try 0.6.2 beta 1
* Fri May 11 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-3
- This time completely disable scrollkeeper-update
- Create 128x128 icon also
* Tue May 1 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-2
- Fix scriptlets typo
* Sun Apr 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.6.1-1
- Initial packaging