Blob Blame History Raw
%if 0%{?fedora} >= 17
%global	rubyabi		1.9.1
%else
%global	rubyabi		1.8
%global	ruby_sitelib            %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
%endif

%global		gem_name	marc

Name:		rubygem-%{gem_name}
Version:	0.4.3
Release:	3%{?dist}
Summary:	Ruby library for MARC catalog
Group:		Development/Languages

License:	MIT
URL:		http://marc.rubyforge.org/
Source0:	http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem

BuildRequires:	ruby(abi) = %{rubyabi}
BuildRequires:	rubygems-devel
BuildRequires:	rubygem(rake)
Requires:	ruby(abi) = %{rubyabi}
Requires:	ruby(rubygems)
Provides:	rubygem(%{gem_name}) = %{version}-%{release}

BuildArch:	noarch

%description
marc is a ruby library for reading and writing MAchine Readable Cataloging
(MARC). More information about MARC can be found at <http://www.loc.gov/marc>.

%package	doc
Summary:	Documentation for %{name}
Group:		Documentation
Requires:	%{name} = %{version}-%{release}

%description	doc
This package contains documentation for %{name}.

%package -n	ruby-%{gem_name}
Summary:	Non-Gem support package for %{gem_name}
Group:		Development/Languages
Requires:	%{name} = %{version}-%{release}
Provides:	ruby(%{gem_name}) = %{version}-%{release}

%description -n	ruby-%{gem_name}
This package provides non-Gem support for %{gem_name}.


%prep 
%setup -q -T -c

mkdir -p .%{gem_dir}
gem install \
	--local \
	--install-dir .%{gem_dir} \
	--force \
	--rdoc \
	-V \
	%{SOURCE0}

find .%{gem_instdir}/{lib,test} -name \*.rb -print0 | xargs -0 chmod 0644
find .%{gem_instdir}/{lib,test} -name \*.rb -print0 | \
	xargs -0 grep -l --null '#![ \t]*%{_bindir}' | \
	xargs -0 chmod 0755

%build

%install
mkdir -p %{buildroot}%{gem_dir}

cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/

# Create symlinks
##
## Note that before switching to gem %%{ruby_sitelib}/%%{gem_name}
## already existed as a directory, so this cannot be replaced
## by symlink (cpio fails)
## Similarly, all directories under %%{ruby_sitelib} cannot be
## replaced by symlink
#

create_symlink_rec(){

ORIGBASEDIR=$1
TARGETBASEDIR=$2

## First calculate relative path of ORIGBASEDIR 
## from TARGETBASEDIR
TMPDIR=$TARGETBASEDIR
BACKDIR=
DOWNDIR=
num=0
nnum=0
while true
do
	num=$((num+1))
	TMPDIR=$(echo $TMPDIR | sed -e 's|/[^/][^/]*$||')
	DOWNDIR=$(echo $ORIGBASEDIR | sed -e "s|^$TMPDIR||")
	if [ x$DOWNDIR != x$ORIGBASEDIR ]
	then
		nnum=0
		while [ $nnum -lt $num ]
		do
			BACKDIR="../$BACKDIR"
			nnum=$((nnum+1))
		done
		break
	fi
done

RELBASEDIR=$( echo $BACKDIR/$DOWNDIR | sed -e 's|//*|/|g' )

## Next actually create symlink
pushd %{buildroot}/$ORIGBASEDIR
find . -type f | while read f
do
	DIRNAME=$(dirname $f)
	BACK2DIR=$(echo $DIRNAME | sed -e 's|/[^/][^/]*|/..|g')
	mkdir -p %{buildroot}${TARGETBASEDIR}/$DIRNAME
	LNNAME=$(echo $BACK2DIR/$RELBASEDIR/$f | \
		sed -e 's|^\./||' | sed -e 's|//|/|g' | \
		sed -e 's|/\./|/|' )
	ln -s -f $LNNAME %{buildroot}${TARGETBASEDIR}/$f
done
popd

}

%if 0%{?fedora} < 17
create_symlink_rec %{gem_instdir}/lib %{ruby_sitelib}
%endif

%check
pushd .%{gem_instdir}
# test_xml in tc_record.rb sometimes fails, need investigating
rake test || echo "Investigate this later"

%files
%defattr(-,root,root,-)

%dir %{gem_instdir}/
%doc %{gem_instdir}/[A-Z]*
%exclude %{gem_instdir}/Rakefile
%{gem_instdir}/lib/

%{gem_cache}
%{gem_spec}

%files		doc
%defattr(-,root,root,-)
%{gem_instdir}/Rakefile
%{gem_dir}/doc/%{gem_name}-%{version}/
%{gem_instdir}/test/

%if %{?fedora} < 17
%files -n	ruby-%{gem_name}
%defattr(-,root,root,-)
%{ruby_sitelib}/%{gem_name}.rb
%{ruby_sitelib}/%{gem_name}/
%endif


%changelog
* Sun Feb  5 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.4.3-3
- F-17: rebuild against ruby19

* Sun Jan 15 2012 Mamoru Tasaka <mtasaka@fedoraproject.org>
- Rescue test result for now

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-2
- F-17: Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Jun  5 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.4.3-1
- 0.4.3

* Thu May  5 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.4.2-1
- 0.4.2

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Oct  7 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.4.1-1
- 0.4.1

* Fri Sep 24 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.4.0-1
- 0.4.0

* Sat Dec 19 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.3.3-1
- 0.3.3

* Tue Dec 15 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.3.1-1
- 0.3.1

* Mon Nov 23 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.3.0-2
- Fix Summary
- Surely create .%%{gem_dir} before installing gem file

* Fri Nov 20 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.3.0-1
- Switch to gem

* Sat Jul 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.2.2-3
- F-12: Mass rebuild

* Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.2.2-2
- %%global-ize "nested" macro

* Thu Jan  8 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.2.2-1
- 0.2.2

* Thu Aug 21 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.2.1-1
- 0.2.1

* Thu Jun 19 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.2.0-1
- 0.2.0

* Sun Jun  8 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.1.9-1
- 0.1.9

* Sun Dec 16 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.1.8-1
- 0.1.8

* Tue Nov 13 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.1.7-1
- Initial packaging