summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rubygem-yajl-ruby.spec20
1 files changed, 16 insertions, 4 deletions
diff --git a/rubygem-yajl-ruby.spec b/rubygem-yajl-ruby.spec
index 4fee236..f275c47 100644
--- a/rubygem-yajl-ruby.spec
+++ b/rubygem-yajl-ruby.spec
@@ -8,6 +8,7 @@
%global gem_libdir %{gem_instdir}/lib
%global gem_cache %{gem_dir}/cache/%{gem_name}-%{version}.gem
%global gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+%global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')
%endif
Summary: Ruby C bindings to the excellent Yajl JSON stream-based parser library
@@ -74,9 +75,16 @@ rm -rf %{buildroot}%{gem_instdir}/ext
# Remove other cruft from the gem
rm %{buildroot}%{gem_instdir}/.gitignore \
%{buildroot}%{gem_instdir}/.travis.yml
-# Move C extension to extdir:
-mkdir -p %{buildroot}%{gem_extdir}/lib/yajl
-mv %{buildroot}%{gem_instdir}/lib/yajl/yajl.so %{buildroot}%{gem_extdir}/lib/yajl/
+%if 0%{?el6}
+ # %%{gem_extdir_mri} doesn't really work on EL 6
+ mkdir -p %{buildroot}%{ruby_sitearch}/yajl
+ # move the extension to ruby_sitearch
+ mv %{buildroot}%{gem_libdir}/yajl/yajl.so %{buildroot}%{ruby_sitearch}/yajl
+%else
+ install -d -m0755 %{buildroot}%{gem_extdir_mri}/lib/yajl
+ # move the extension to gem_extdir_mri
+ mv %{buildroot}%{gem_libdir}/yajl/yajl.so %{buildroot}%{gem_extdir_mri}/lib/yajl
+%endif
# Fix permissions
# https://github.com/brianmario/yajl-ruby/issues/103
@@ -94,7 +102,11 @@ popd
%files
%doc %{gem_instdir}/MIT-LICENSE
%dir %{gem_instdir}
-%{gem_extdir}
+%if 0%{?el6}
+%{ruby_sitearch}/yajl/yajl.so
+%else
+%{gem_extdir_mri}/*
+%endif
%{gem_libdir}
%{gem_spec}
# https://github.com/brianmario/yajl-ruby/issues/103