Mamoru Tasaka 23f1bee
%if 0%{?fedora} >= 17
Mamoru Tasaka b677b86
%global	rubyabi	1.9.1
Mamoru Tasaka b677b86
%global	header_dir	%{ruby_vendorarchdir}
Mamoru Tasaka b677b86
%global	ruby19	1
Mamoru Tasaka b677b86
%else
Mamoru Tasaka d01ba35
%global	ruby_sitelib	%(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
Mamoru Tasaka d01ba35
%global	ruby_sitearch	%(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%global	rubyabi	1.8
Mamoru Tasaka b677b86
%global	header_dir	%{ruby_sitearch}
Mamoru Tasaka b677b86
%global	ruby19	0
Mamoru Tasaka b677b86
%endif
Mamoru Tasaka b677b86
Mamoru TASAKA 19c9f82
%global	glibminver	1.1.3
Mamoru Tasaka 47396ca
%global	obsoleteevr	0.90.7-1.999
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%global	gem_name	gio2
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
Summary:	Ruby binding of gio-2.0.x
Mamoru Tasaka b677b86
Name:		rubygem-%{gem_name}
TASAKA Mamoru 5805a53
Version:	1.1.5
Mamoru Tasaka abbb539
Release:	1%{?dist}
Mamoru Tasaka d01ba35
Group:		Development/Languages
Mamoru Tasaka d01ba35
# from README
Mamoru Tasaka d01ba35
License:	LGPLv2
Mamoru Tasaka d01ba35
URL:		http://ruby-gnome2.sourceforge.jp/
Mamoru Tasaka b677b86
Source0:	http://rubygems.org/gems/%{gem_name}-%{version}.gem
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
BuildRequires:	ruby(abi) = %{rubyabi}
Mamoru Tasaka 5555a44
BuildRequires:	rubygems-devel
Mamoru Tasaka d01ba35
BuildRequires:	rubygem-glib2-devel >= %{glibminver}
Mamoru Tasaka d01ba35
BuildRequires:	ruby-devel
Mamoru Tasaka 449bba1
# For Patch0:
Mamoru Tasaka 449bba1
BuildRequires:	rubygem(rake-compiler)
Mamoru Tasaka 23f1bee
BuildRequires:	rubygem(test-unit)
Mamoru Tasaka d01ba35
Requires:	ruby(abi) = %{rubyabi}
Mamoru Tasaka d01ba35
Requires:	rubygems
Mamoru Tasaka d01ba35
Requires:	rubygem(glib2) >= %{glibminver}
Mamoru Tasaka b677b86
Provides:	rubygem(%{gem_name}) = %{version}
TASAKA Mamoru 312f8d7
%if %{ruby19}
TASAKA Mamoru 312f8d7
Obsoletes:		ruby-%{gem_name} < %{version}-%{release}
TASAKA Mamoru 312f8d7
Provides:		ruby-%{gem_name} = %{version}-%{release}
TASAKA Mamoru 312f8d7
Provides:		ruby(%{gem_name}) = %{version}-%{release}
TASAKA Mamoru 312f8d7
%endif
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%description
Mamoru Tasaka d01ba35
Ruby/GIO2 is a Ruby binding of gio-2.0.x.
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%package	doc
Mamoru Tasaka d01ba35
Summary:	Documentation for %{name}
Mamoru Tasaka d01ba35
Group:		Documentation
Mamoru Tasaka d01ba35
Requires:	%{name} = %{version}-%{release}
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%description	doc
Mamoru Tasaka d01ba35
This package contains documentation for %{name}.
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%package	-n ruby-%{gem_name}
Mamoru Tasaka b677b86
Summary:	Non-Gem support package for %{gem_name}
Mamoru Tasaka d01ba35
Group:		Development/Languages
Mamoru Tasaka d01ba35
Requires:	%{name} = %{version}-%{release}
Mamoru Tasaka d01ba35
# Requires for corresponsing non-gem rpms
Mamoru Tasaka d01ba35
Requires:	ruby(glib2) >= %{glibminver}
Mamoru Tasaka b677b86
Provides:	ruby(%{gem_name}) = %{version}-%{release}
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%description	-n ruby-%{gem_name}
Mamoru Tasaka b677b86
This package provides non-Gem support for %{gem_name}.
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%package	devel
Mamoru Tasaka d01ba35
Summary:	Ruby/GIO2 development environment
Mamoru Tasaka d01ba35
Group:		Development/Languages
Mamoru Tasaka d01ba35
Requires:	%{name} = %{version}-%{release}
Mamoru Tasaka d01ba35
Requires:	ruby-devel
Mamoru Tasaka d01ba35
# Obsoletes / Provides
Mamoru Tasaka b677b86
Obsoletes:	ruby-%{gem_name}-devel < %{obsoleteevr}
Mamoru Tasaka b677b86
Provides:	ruby-%{gem_name}-devel = %{version}-%{release}
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%description devel
Mamoru Tasaka d01ba35
Header files and libraries for building a extension library for the
Mamoru Tasaka b677b86
rubygem-%{gem_name}
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%prep
Mamoru Tasaka d01ba35
%setup -q -c -T
Mamoru Tasaka 449bba1
Mamoru Tasaka b677b86
mkdir -p .%{gem_dir}
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
Mamoru Tasaka 0726e53
export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig"
Mamoru Tasaka d01ba35
gem install \
Mamoru Tasaka d01ba35
	-V \
Mamoru Tasaka d01ba35
	--local \
Mamoru Tasaka b677b86
	--install-dir .%{gem_dir} \
Mamoru Tasaka d01ba35
	--force \
Mamoru Tasaka d01ba35
	--rdoc \
Mamoru Tasaka d01ba35
	%{SOURCE0}
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
find . -name \*.gem | xargs chmod 0644
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%build
Mamoru Tasaka 0726e53
# Move C extension library to some private directory
Mamoru Tasaka b677b86
pushd .%{gem_instdir}
Mamoru Tasaka b677b86
%if ! %{ruby19}
Mamoru Tasaka 0726e53
mkdir lib/ruby-gnome2
Mamoru Tasaka b677b86
mv lib/%{gem_name}.so lib/ruby-gnome2/
Mamoru Tasaka b677b86
grep -rl '%{gem_name}.so' . | \
Mamoru Tasaka 0726e53
	xargs sed -i \
Mamoru Tasaka b677b86
		-e "\@require@s|'%{gem_name}.so'|'ruby-gnome2/%{gem_name}.so'|" \
Mamoru Tasaka b677b86
		-e '\@require@s|"%{gem_name}.so"|"ruby-gnome2/%{gem_name}.so"|'
Mamoru Tasaka b677b86
%endif
Mamoru Tasaka d01ba35
Mamoru Tasaka 47396ca
# Fix up Rakefile for "gnome2-raketask" requirement
Mamoru Tasaka 47396ca
sed -i -e "/require.*gnome2-raketask/s|^\(.*\)|begin\n  \1\nrescue LoadError\n  require 'rubygems'\n  require 'gnome2-raketask'\nend\n|" \
Mamoru Tasaka 47396ca
	Rakefile
Mamoru Tasaka 47396ca
Mamoru Tasaka 47396ca
# Fix up test/load-test.rb
Mamoru Tasaka 47396ca
sed -i -e "/glib-test-init/s|^.*$|require 'glib-test-init'|" \
Mamoru Tasaka 47396ca
	test/load-test.rb
Mamoru Tasaka d01ba35
Mamoru Tasaka 47396ca
%install
Mamoru Tasaka d01ba35
# Once copy all
Mamoru Tasaka b677b86
mkdir -p %{buildroot}%{gem_dir}
Mamoru Tasaka b677b86
cp -a .%{gem_dir}/* \
Mamoru Tasaka b677b86
	%{buildroot}%{gem_dir}/
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
pushd %{buildroot}
Mamoru Tasaka d01ba35
# move header files, C extension files to the correct directory
Mamoru Tasaka b677b86
Mamoru Tasaka b677b86
%if ! %{ruby19}
Mamoru Tasaka b677b86
mkdir -p .%{ruby_sitearch}/ruby-gnome2
Mamoru Tasaka b677b86
mv .%{gem_instdir}/lib/ruby-gnome2/%{gem_name}.so .%{ruby_sitearch}/ruby-gnome2/
Mamoru Tasaka b677b86
%else
Mamoru Tasaka b677b86
mkdir -p .%{gem_extdir}/lib
Mamoru Tasaka b677b86
mv .%{gem_instdir}/lib/%{gem_name}.so .%{gem_extdir}/lib
Mamoru Tasaka b677b86
%endif
Mamoru Tasaka b677b86
Mamoru Tasaka d01ba35
popd
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
# move pkgconfig file
Mamoru Tasaka d01ba35
mkdir %{buildroot}%{_libdir}/pkgconfig
Mamoru Tasaka d01ba35
install -cpm 644 ./%{_libdir}/pkgconfig/*.pc \
Mamoru Tasaka d01ba35
	%{buildroot}%{_libdir}/pkgconfig/
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
# Cleanups
Mamoru Tasaka d01ba35
pushd %{buildroot}
Mamoru Tasaka b677b86
rm -rf .%{gem_instdir}/ext/
Mamoru Tasaka b677b86
rm -f .%{gem_instdir}/extconf.rb
Mamoru Tasaka d01ba35
popd
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
# The following method is completely copied from rubygem-gettext
Mamoru Tasaka d01ba35
# spec file
Mamoru Tasaka d01ba35
#
Mamoru Tasaka d01ba35
# Create symlinks
Mamoru Tasaka d01ba35
##
Mamoru Tasaka b677b86
## Note that before switching to gem %%{ruby_sitelib}/%%{gem_name}
Mamoru Tasaka d01ba35
## already existed as a directory, so this cannot be replaced
Mamoru Tasaka d01ba35
## by symlink (cpio fails)
Mamoru Tasaka d01ba35
## Similarly, all directories under %%{ruby_sitelib} cannot be
Mamoru Tasaka d01ba35
## replaced by symlink
Mamoru Tasaka d01ba35
#
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
create_symlink_rec(){
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
ORIGBASEDIR=$1
Mamoru Tasaka d01ba35
TARGETBASEDIR=$2
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
## First calculate relative path of ORIGBASEDIR 
Mamoru Tasaka d01ba35
## from TARGETBASEDIR
Mamoru Tasaka d01ba35
TMPDIR=$TARGETBASEDIR
Mamoru Tasaka d01ba35
BACKDIR=
Mamoru Tasaka d01ba35
DOWNDIR=
Mamoru Tasaka d01ba35
num=0
Mamoru Tasaka d01ba35
nnum=0
Mamoru Tasaka d01ba35
while true
Mamoru Tasaka d01ba35
do
Mamoru Tasaka d01ba35
	num=$((num+1))
Mamoru Tasaka d01ba35
	TMPDIR=$(echo $TMPDIR | sed -e 's|/[^/][^/]*$||')
Mamoru Tasaka d01ba35
	DOWNDIR=$(echo $ORIGBASEDIR | sed -e "s|^$TMPDIR||")
Mamoru Tasaka d01ba35
	if [ x$DOWNDIR != x$ORIGBASEDIR ]
Mamoru Tasaka d01ba35
	then
Mamoru Tasaka d01ba35
		nnum=0
Mamoru Tasaka d01ba35
		while [ $nnum -lt $num ]
Mamoru Tasaka d01ba35
		do
Mamoru Tasaka d01ba35
			BACKDIR="../$BACKDIR"
Mamoru Tasaka d01ba35
			nnum=$((nnum+1))
Mamoru Tasaka d01ba35
		done
Mamoru Tasaka d01ba35
		break
Mamoru Tasaka d01ba35
	fi
Mamoru Tasaka d01ba35
done
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
RELBASEDIR=$( echo $BACKDIR/$DOWNDIR | sed -e 's|//*|/|g' )
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
## Next actually create symlink
Mamoru Tasaka d01ba35
pushd %{buildroot}/$ORIGBASEDIR
Mamoru Tasaka d01ba35
find . -type f | while read f
Mamoru Tasaka d01ba35
do
Mamoru Tasaka d01ba35
	DIRNAME=$(dirname $f)
Mamoru Tasaka d01ba35
	BACK2DIR=$(echo $DIRNAME | sed -e 's|/[^/][^/]*|/..|g')
Mamoru Tasaka d01ba35
	mkdir -p %{buildroot}${TARGETBASEDIR}/$DIRNAME
Mamoru Tasaka d01ba35
	LNNAME=$(echo $BACK2DIR/$RELBASEDIR/$f | \
Mamoru Tasaka d01ba35
		sed -e 's|^\./||' | sed -e 's|//|/|g' | \
Mamoru Tasaka d01ba35
		sed -e 's|/\./|/|' )
Mamoru Tasaka d01ba35
	ln -s -f $LNNAME %{buildroot}${TARGETBASEDIR}/$f
Mamoru Tasaka d01ba35
done
Mamoru Tasaka d01ba35
popd
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
}
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%if ! %{ruby19}
Mamoru Tasaka b677b86
create_symlink_rec %{gem_instdir}/lib %{ruby_sitelib}
Mamoru Tasaka b677b86
%endif
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%check
Mamoru Tasaka b677b86
pushd .%{gem_instdir}
Mamoru Tasaka ade8529
ruby -rubygems -Ilib test/load-test.rb
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%files
Mamoru Tasaka d01ba35
%defattr(-,root,root,-)
Mamoru Tasaka b677b86
%dir	%{gem_instdir}
Mamoru Tasaka b677b86
%dir	%{gem_instdir}/lib/
Mamoru Tasaka b677b86
%dir	%{gem_instdir}/lib/%{gem_name}/
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%doc	%{gem_instdir}/[A-Z]*
Mamoru Tasaka b677b86
%exclude	%{gem_instdir}/Rakefile
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%{gem_instdir}/lib/%{gem_name}.rb
Mamoru Tasaka b677b86
%{gem_instdir}/lib/%{gem_name}/deprecated.rb
Mamoru Tasaka 23f1bee
%if 0%{ruby19}
TASAKA Mamoru 1921d08
%dir	%{gem_extdir}
TASAKA Mamoru 1921d08
%dir	%{gem_extdir}/lib
Mamoru Tasaka 23f1bee
%{gem_extdir}/lib/%{gem_name}.so
Mamoru Tasaka 23f1bee
%else
Mamoru Tasaka 0726e53
# %%ruby_sitearch/ruby-gnome2 is owned by rubygem-glib2
Mamoru Tasaka b677b86
%{ruby_sitearch}/ruby-gnome2/%{gem_name}.so
Mamoru Tasaka 23f1bee
%endif
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%{gem_cache}
Mamoru Tasaka b677b86
%{gem_spec}
Mamoru Tasaka d01ba35
Mamoru Tasaka b677b86
%if ! %{ruby19}
Mamoru Tasaka b677b86
%files	-n ruby-%{gem_name}
Mamoru Tasaka d01ba35
%defattr(-,root,root,-)
Mamoru Tasaka d01ba35
%{ruby_sitelib}/*.rb
Mamoru Tasaka 01eea81
%{ruby_sitelib}/gio2/
Mamoru Tasaka b677b86
%endif
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%files	devel
Mamoru Tasaka d01ba35
%defattr(-,root,root,-)
Mamoru Tasaka b677b86
%{_libdir}/pkgconfig/ruby-%{gem_name}.pc
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%files	doc
Mamoru Tasaka d01ba35
%defattr(-,root,root,-)
Mamoru Tasaka b677b86
%{gem_docdir}
Mamoru Tasaka b677b86
%{gem_instdir}/Rakefile
Mamoru Tasaka b677b86
%{gem_instdir}/test/
Mamoru Tasaka d01ba35
Mamoru Tasaka d01ba35
%changelog
TASAKA Mamoru 5805a53
* Wed Sep  5 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.5-1
TASAKA Mamoru 5805a53
- 1.1.5
TASAKA Mamoru 5805a53
Mamoru Tasaka abbb539
* Mon Aug 13 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.4-1
Mamoru Tasaka abbb539
- 1.1.4
Mamoru Tasaka abbb539
e4748fa
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-3
e4748fa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
e4748fa
Mamoru TASAKA 19c9f82
* Mon Apr 16 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.3-2
Mamoru TASAKA 340ea31
- 1.1.3
Mamoru TASAKA 340ea31
TASAKA Mamoru 312f8d7
* Wed Feb  1 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.2-4
TASAKA Mamoru 312f8d7
- Add proper Obsoletes/Provides
TASAKA Mamoru 312f8d7
TASAKA Mamoru 1921d08
* Mon Jan 30 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.2-3
Mamoru Tasaka b677b86
- 1.1.2
Mamoru Tasaka b677b86
Mamoru Tasaka 01eea81
* Sun Jan 15 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.1.1-1
Mamoru Tasaka 01eea81
- 1.1.1
Mamoru Tasaka 01eea81
facb166
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-2
Mamoru Tasaka 01eea81
- F-17: Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
facb166
Mamoru Tasaka 66864df
* Mon Sep 19 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.0.3-1
Mamoru Tasaka 66864df
- 1.0.3
Mamoru Tasaka 66864df
Mamoru Tasaka 8809da5
* Fri Jul 15 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.0.0-1
Mamoru Tasaka 8809da5
- 1.0.0
Mamoru Tasaka 8809da5
Mamoru Tasaka 6010817
* Sun Jun 12 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.90.9-1
Mamoru Tasaka 6010817
- 0.90.9
Mamoru Tasaka 6010817
Mamoru Tasaka 3a2fe0d
* Sat Mar  5 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.90.8-1
Mamoru Tasaka 3a2fe0d
- 0.90.8
Mamoru Tasaka 3a2fe0d
2730800
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.90.7-3
2730800
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2730800
Mamoru Tasaka 47396ca
* Wed Feb  9 2011 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.90.7-2
Mamoru Tasaka 47396ca
- 0.90.7
Mamoru Tasaka 47396ca
Mamoru Tasaka 449bba1
* Sun Nov  7 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.90.5-4
Mamoru Tasaka 449bba1
- Patch for GLib 2.27.1 API
Mamoru Tasaka 449bba1
Mamoru Tasaka 449bba1
* Sun Oct 31 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.90.5-3
Mamoru Tasaka 0726e53
- 0.90.5
Mamoru Tasaka b677b86
- Move C extension so that "require %%gem_name" works correctly
Mamoru Tasaka 0726e53
Mamoru Tasaka d01ba35
* Sun Oct 24 2010 Mamoru Taska <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.90.4-2
Mamoru Tasaka d01ba35
- Initial package