[rubygem-goocanvas] Workaround for rubygem-glib 2.0.x
Mamoru Tasaka
mtasaka at fedoraproject.org
Fri Aug 16 13:40:34 UTC 2013
commit 1c2d8114549a670d67a1c64df9725a4a09661944
Author: Mamoru TASAKA <mtasaka at fedoraproject.org>
Date: Fri Aug 16 22:40:23 2013 +0900
Workaround for rubygem-glib 2.0.x
rubygem-goocanvas.spec | 148 ++++-------------------------------------------
1 files changed, 13 insertions(+), 135 deletions(-)
---
diff --git a/rubygem-goocanvas.spec b/rubygem-goocanvas.spec
index 7b9fdc7..6ff984d 100644
--- a/rubygem-goocanvas.spec
+++ b/rubygem-goocanvas.spec
@@ -1,43 +1,23 @@
-%if 0%{?fedora} >= 17
-%if 0%{?fedora} < 19
%global rubyabi 1.9.1
-%endif
-%global header_dir %{ruby_vendorarchdir}
-%global ruby19 1
-%else
-%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
-%global ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
-
-%global rubyabi 1.8
-%global header_dir %{ruby_sitearch}
-%global ruby19 0
-%endif
%global gem_name goocanvas
-%global glibminver 1.2.0
-%global gtkminver 1.1.3
+%global glibminver 2.0.0
+%global gtkminver 2.0.0
%global obsoleteevr 0.90.7-1.999
Summary: Ruby binding of GooCanvas
Name: rubygem-%{gem_name}
Version: 1.2.6
-Release: 2%{?dist}
+Release: 3%{?dist}
Group: Development/Languages
# from README
License: LGPLv2
URL: http://ruby-gnome2.sourceforge.jp/
Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
-%if 0%{?fedora} >= 19
Requires: ruby(release)
BuildRequires: ruby(release)
-%else
-Requires: ruby(abi) = %{rubyabi}
-Requires: ruby
-BuildRequires: ruby(abi) = %{rubyabi}
-BuildRequires: ruby
-%endif
BuildRequires: rubygems-devel
BuildRequires: rubygem-cairo-devel%{?_isa}
@@ -50,9 +30,7 @@ Requires: rubygem(gtk2) >= %{glibminver}
Provides: rubygem(%{gem_name}) = %{version}
# Kill non-gem support on F-16+
# Obsoletes but not provides
-%if 0%{?fedora} >= 16
Obsoletes: ruby-%{gem_name} < %{version}-%{release}
-%endif
%description
@@ -66,21 +44,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%description doc
This package contains documentation for %{name}.
-%if 0%{?fedora} < 16
-%package -n ruby-%{gem_name}
-# Non-gem support is only for < F-16
-Summary: Non-Gem support package for %{gem_name}
-Group: Development/Languages
-Requires: %{name}%{?_isa} = %{version}-%{release}
-# Requires for corresponsing non-gem rpms
-Requires: ruby(cairo)
-Requires: ruby(gtk2)
-Provides: ruby(%{gem_name}) = %{version}-%{release}
-
-%description -n ruby-%{gem_name}
-This package provides non-Gem support for %{gem_name}.
-%endif
-
%package devel
Summary: Ruby/GooCanvas development environment
Group: Development/Languages
@@ -89,10 +52,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
# ruby(%%{gem_name}-devel) Provides is for compatibility
# on F-15 and below
Obsoletes: ruby-%{gem_name}-devel < %{obsoleteevr}
-%if 0%{?fedora} < 16
-Provides: ruby-%{gem_name}-devel = %{version}-%{release}
-Provides: ruby(%{gem_name}-devel) = %{version}-%{release}
-%endif
%description devel
Header files and libraries for building a extension library for the
@@ -110,6 +69,12 @@ find . -name \*.gem | xargs chmod 0644
pushd .%{gem_instdir}
+# For rubygem-glib 2.0.x
+sed -i \
+ -e 's|GLib.prepend_environment_path|GLib.prepend_dll_path|' \
+ lib/goocanvas.rb \
+ sample/goocanvas-gi.rb
+
# Fix wrong shebang
#grep -rl /usr/local/bin sample | \
# xargs sed -i -e 's|/usr/local/bin|/usr/bin|'
@@ -123,18 +88,7 @@ popd
%build
# Move C extension library to some private directory
pushd .%{gem_instdir}
-%if ! %{ruby19}
-mkdir lib/ruby-gnome2
-mv lib/%{gem_name}.so lib/ruby-gnome2/
-grep -rl '%{gem_name}.so' . | \
- xargs sed -i \
- -e "\@require at s|'%{gem_name}.so'|'ruby-gnome2/%{gem_name}.so'|" \
- -e '\@require at s|"%{gem_name}.so"|"ruby-gnome2/%{gem_name}.so"|'
-%endif
-
-# Fix up Rakefile for "gnome2-raketask" requirement
-sed -i -e "/require.*gnome2-raketask/s|^\(.*\)|begin\n \1\nrescue LoadError\n require 'rubygems'\n require 'gnome2-raketask'\nend\n|" \
- Rakefile
+
%install
# Once copy all
@@ -144,13 +98,8 @@ cp -a .%{gem_dir}/* \
pushd %{buildroot}
# move header files, C extension files to the correct directory
-%if ! %{ruby19}
-mkdir -p .%{ruby_sitearch}/ruby-gnome2
-mv .%{gem_instdir}/lib/ruby-gnome2/%{gem_name}.so .%{ruby_sitearch}/ruby-gnome2/
-%else
mkdir -p .%{gem_extdir_mri}/lib
mv .%{gem_instdir}/lib/%{gem_name}.so .%{gem_extdir_mri}/lib
-%endif
# mv .%%{gem_instdir}/lib/*.h .%%{ruby_sitearch}/
popd
@@ -166,69 +115,6 @@ rm -rf .%{gem_instdir}/ext/
rm -f .%{gem_instdir}/extconf.rb
popd
-%if 0%{?fedora} < 16
-# The following method is completely copied from rubygem-gettext
-# spec file
-#
-# 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
-
-}
-
-create_symlink_rec %{gem_instdir}/lib %{ruby_sitelib}
-%endif
-
%check
# Currently no testsuite available
@@ -240,24 +126,13 @@ create_symlink_rec %{gem_instdir}/lib %{ruby_sitelib}
%exclude %{gem_instdir}/Rakefile
%{gem_instdir}/lib/%{gem_name}.rb
-%if %{ruby19}
%dir %{gem_extdir_mri}
%dir %{gem_extdir_mri}/lib
%{gem_extdir_mri}/lib/%{gem_name}.so
-%else
-# %%ruby_sitearch/ruby-gnome2 is owned by rubygem-glib2
-%{ruby_sitearch}/ruby-gnome2/%{gem_name}.so
-%endif
%{gem_cache}
%{gem_spec}
-%if 0%{?fedora} < 16
-%files -n ruby-%{gem_name}
-%defattr(-,root,root,-)
-%{ruby_sitelib}/*.rb
-%endif
-
%files devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/ruby-%{gem_name}.pc
@@ -269,6 +144,9 @@ create_symlink_rec %{gem_instdir}/lib %{ruby_sitelib}
%{gem_instdir}/sample/
%changelog
+* Fri Aug 16 2013 Mamoru TASAKA <mtasaka at fedoraproject.org> - 1.2.6-3
+- Workaround for rubygem-glib 2.0.x
+
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
More information about the scm-commits
mailing list