From 4729b3ac0c62efae4535130fd1624cbadd00d5f2 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Fri, 29 Oct 2010 03:35:30 +0900 Subject: [PATCH 1/6] Initial import --- .gitignore | 1 + rubygem-gio2.spec | 208 ++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 210 insertions(+) create mode 100644 rubygem-gio2.spec diff --git a/.gitignore b/.gitignore index e69de29..f67c8a8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/gio2-0.90.4.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec new file mode 100644 index 0000000..812ec68 --- /dev/null +++ b/rubygem-gio2.spec @@ -0,0 +1,208 @@ +%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']") +%global ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']") + +%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) +%global gemname gio2 +%global geminstdir %{gemdir}/gems/%{gemname}-%{version} + +%global glibminver 0.90.4 +%global obsoleteevr 0.90.4-1.999 + +%global rubyabi 1.8 + +Summary: Ruby binding of gio-2.0.x +Name: rubygem-%{gemname} +Version: 0.90.4 +Release: 2%{?dist} +Group: Development/Languages +# from README +License: LGPLv2 +URL: http://ruby-gnome2.sourceforge.jp/ +Source0: http://rubygems.org/gems/%{gemname}-%{version}.gem + +BuildRequires: ruby(abi) = %{rubyabi} +BuildRequires: rubygems +BuildRequires: rubygem-glib2-devel >= %{glibminver} +BuildRequires: ruby-devel +Requires: ruby(abi) = %{rubyabi} +Requires: rubygems +Requires: rubygem(glib2) >= %{glibminver} +Provides: rubygem(%{gemname}) = %{version} + +%description +Ruby/GIO2 is a Ruby binding of gio-2.0.x. + +%package doc +Summary: Documentation for %{name} +Group: Documentation +Requires: %{name} = %{version}-%{release} + +%description doc +This package contains documentation for %{name}. + +%package -n ruby-%{gemname} +Summary: Non-Gem support package for %{gemname} +Group: Development/Languages +Requires: %{name} = %{version}-%{release} +# Requires for corresponsing non-gem rpms +Requires: ruby(glib2) >= %{glibminver} +Provides: ruby(%{gemname}) = %{version}-%{release} + +%description -n ruby-%{gemname} +This package provides non-Gem support for %{gemname}. + +%package devel +Summary: Ruby/GIO2 development environment +Group: Development/Languages +Requires: %{name} = %{version}-%{release} +Requires: ruby-devel +# Obsoletes / Provides +Obsoletes: ruby-%{gemname}-devel < %{obsoleteevr} +Provides: ruby-%{gemname}-devel = %{version}-%{release} + +%description devel +Header files and libraries for building a extension library for the +rubygem-%{gemname} + +%prep +%setup -q -c -T +mkdir -p .%{gemdir} + +export pkgconfigdir=$(pwd)%{_libdir}/pkgconfig +export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +gem install \ + -V \ + --local \ + --install-dir .%{gemdir} \ + --force \ + --rdoc \ + %{SOURCE0} + +find . -name \*.gem | xargs chmod 0644 + +%build + +%install +rm -rf %{buildroot} + +# Once copy all +mkdir -p %{buildroot}%{gemdir} +cp -a .%{gemdir}/* \ + %{buildroot}%{gemdir}/ + +pushd %{buildroot} +# move header files, C extension files to the correct directory +mkdir -p .%{ruby_sitearch} +# mv .%{geminstdir}/lib/*.h .%{ruby_sitearch}/ +mv .%{geminstdir}/lib/%{gemname}.so .%{ruby_sitearch}/ +popd + +# move pkgconfig file +mkdir %{buildroot}%{_libdir}/pkgconfig +install -cpm 644 ./%{_libdir}/pkgconfig/*.pc \ + %{buildroot}%{_libdir}/pkgconfig/ + + +# Cleanups +pushd %{buildroot} +rm -rf .%{geminstdir}/ext/ +rm -f .%{geminstdir}/extconf.rb +popd + +# The following method is completely copied from rubygem-gettext +# spec file +# +# Create symlinks +## +## Note that before switching to gem %%{ruby_sitelib}/%%{gemname} +## 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 %{geminstdir}/lib %{ruby_sitelib} + +%check +# Currently no testsuite is available + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%dir %{geminstdir} +%dir %{geminstdir}/lib/ + +%doc %{geminstdir}/[A-Z]* +%exclude %{geminstdir}/Rakefile + +%{geminstdir}/lib/%{gemname}.rb +%{ruby_sitearch}/%{gemname}.so + +%{gemdir}/cache/%{gemname}-%{version}.gem +%{gemdir}/specifications/%{gemname}-%{version}.gemspec + +%files -n ruby-%{gemname} +%defattr(-,root,root,-) +%{ruby_sitelib}/*.rb + +%files devel +%defattr(-,root,root,-) +%{_libdir}/pkgconfig/ruby-%{gemname}.pc + +%files doc +%defattr(-,root,root,-) +%{gemdir}/doc/%{gemname}-%{version} +%{geminstdir}/Rakefile + +%changelog +* Sun Oct 24 2010 Mamoru Taska - 0.90.4-2 +- Initial package diff --git a/sources b/sources index e69de29..4a8ee3d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +db47bd398db0cb77ec856290afef126e gio2-0.90.4.gem From 68ed8e9daa132b3a3911e41ca5cd14dd9d3e9dc1 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Sun, 31 Oct 2010 04:25:08 +0900 Subject: [PATCH 2/6] - 0.90.5 - Move C extension so that "require %gemname" works correctly --- .gitignore | 1 + rubygem-gio2.spec | 29 +++++++++++++++++++++-------- sources | 2 +- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f67c8a8..019ad69 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /gio2-0.90.4.gem +/gio2-0.90.5.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec index 812ec68..65adc9e 100644 --- a/rubygem-gio2.spec +++ b/rubygem-gio2.spec @@ -5,15 +5,15 @@ %global gemname gio2 %global geminstdir %{gemdir}/gems/%{gemname}-%{version} -%global glibminver 0.90.4 -%global obsoleteevr 0.90.4-1.999 +%global glibminver 0.90.5 +%global obsoleteevr 0.90.5-1.999 %global rubyabi 1.8 Summary: Ruby binding of gio-2.0.x Name: rubygem-%{gemname} -Version: 0.90.4 -Release: 2%{?dist} +Version: 0.90.5 +Release: 3%{?dist} Group: Development/Languages # from README License: LGPLv2 @@ -68,8 +68,8 @@ rubygem-%{gemname} %setup -q -c -T mkdir -p .%{gemdir} -export pkgconfigdir=$(pwd)%{_libdir}/pkgconfig export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig" gem install \ -V \ --local \ @@ -81,6 +81,14 @@ gem install \ find . -name \*.gem | xargs chmod 0644 %build +# Move C extension library to some private directory +pushd .%{geminstdir} +mkdir lib/ruby-gnome2 +mv lib/%{gemname}.so lib/ruby-gnome2/ +grep -rl '%{gemname}.so' . | \ + xargs sed -i \ + -e "\@require@s|'%{gemname}.so'|'ruby-gnome2/%{gemname}.so'|" \ + -e '\@require@s|"%{gemname}.so"|"ruby-gnome2/%{gemname}.so"|' %install rm -rf %{buildroot} @@ -92,9 +100,9 @@ cp -a .%{gemdir}/* \ pushd %{buildroot} # move header files, C extension files to the correct directory -mkdir -p .%{ruby_sitearch} +mkdir -p .%{ruby_sitearch}/ruby-gnome2/ # mv .%{geminstdir}/lib/*.h .%{ruby_sitearch}/ -mv .%{geminstdir}/lib/%{gemname}.so .%{ruby_sitearch}/ +mv .%{geminstdir}/lib/ruby-gnome2/%{gemname}.so .%{ruby_sitearch}/ruby-gnome2/ popd # move pkgconfig file @@ -185,7 +193,8 @@ rm -rf %{buildroot} %exclude %{geminstdir}/Rakefile %{geminstdir}/lib/%{gemname}.rb -%{ruby_sitearch}/%{gemname}.so +# %%ruby_sitearch/ruby-gnome2 is owned by rubygem-glib2 +%{ruby_sitearch}/ruby-gnome2/%{gemname}.so %{gemdir}/cache/%{gemname}-%{version}.gem %{gemdir}/specifications/%{gemname}-%{version}.gemspec @@ -204,5 +213,9 @@ rm -rf %{buildroot} %{geminstdir}/Rakefile %changelog +* Sun Oct 31 2010 Mamoru Taska - 0.90.5-3 +- 0.90.5 +- Move C extension so that "require %%gemname" works correctly + * Sun Oct 24 2010 Mamoru Taska - 0.90.4-2 - Initial package diff --git a/sources b/sources index 4a8ee3d..459985d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -db47bd398db0cb77ec856290afef126e gio2-0.90.4.gem +17c240dcfee20ce036e8585ffe5dab90 gio2-0.90.5.gem From 5b957d936f940d7ad1fee7be7b9739aac1dbc750 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Thu, 10 Feb 2011 00:09:55 +0900 Subject: [PATCH 3/6] - 0.90.7 --- .gitignore | 1 + rubygem-gio2.spec | 56 +++++++++++++++++++++++++++++++++++++---------- sources | 2 +- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 019ad69..fffda04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /gio2-0.90.4.gem /gio2-0.90.5.gem +/gio2-0.90.7.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec index 65adc9e..a4a5726 100644 --- a/rubygem-gio2.spec +++ b/rubygem-gio2.spec @@ -5,15 +5,15 @@ %global gemname gio2 %global geminstdir %{gemdir}/gems/%{gemname}-%{version} -%global glibminver 0.90.5 -%global obsoleteevr 0.90.5-1.999 +%global glibminver 0.90.7 +%global obsoleteevr 0.90.7-1.999 %global rubyabi 1.8 Summary: Ruby binding of gio-2.0.x Name: rubygem-%{gemname} -Version: 0.90.5 -Release: 3%{?dist} +Version: 0.90.7 +Release: 2%{?dist} Group: Development/Languages # from README License: LGPLv2 @@ -24,6 +24,8 @@ BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: rubygems BuildRequires: rubygem-glib2-devel >= %{glibminver} BuildRequires: ruby-devel +# For Patch0: +BuildRequires: rubygem(rake-compiler) Requires: ruby(abi) = %{rubyabi} Requires: rubygems Requires: rubygem(glib2) >= %{glibminver} @@ -66,6 +68,23 @@ rubygem-%{gemname} %prep %setup -q -c -T + +%if 0 +# For Patch0 +TOPDIR=$(pwd) +mkdir tmp_unpack_dir +pushd tmp_unpack_dir + +tar xf %SOURCE0 +mkdir data ; cd data +tar xf ../data.tar.gz +%patch0 -p1 + +VERSION=%{version} rake gem +mv pkg/*gem $TOPDIR +popd +%endif + mkdir -p .%{gemdir} export CONFIGURE_ARGS="--with-cflags='%{optflags}'" @@ -76,7 +95,11 @@ gem install \ --install-dir .%{gemdir} \ --force \ --rdoc \ +%if 1 %{SOURCE0} +%else + ./%{gemname}-%{version}.gem +%endif find . -name \*.gem | xargs chmod 0644 @@ -90,9 +113,15 @@ grep -rl '%{gemname}.so' . | \ -e "\@require@s|'%{gemname}.so'|'ruby-gnome2/%{gemname}.so'|" \ -e '\@require@s|"%{gemname}.so"|"ruby-gnome2/%{gemname}.so"|' -%install -rm -rf %{buildroot} +# 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 +# Fix up test/load-test.rb +sed -i -e "/glib-test-init/s|^.*$|require 'glib-test-init'|" \ + test/load-test.rb + +%install # Once copy all mkdir -p %{buildroot}%{gemdir} cp -a .%{gemdir}/* \ @@ -179,10 +208,8 @@ popd create_symlink_rec %{geminstdir}/lib %{ruby_sitelib} %check -# Currently no testsuite is available - -%clean -rm -rf %{buildroot} +pushd .%{geminstdir} +ruby -rubygems -Ilib test/load-test.rb %files %defattr(-,root,root,-) @@ -211,9 +238,16 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %{gemdir}/doc/%{gemname}-%{version} %{geminstdir}/Rakefile +%{geminstdir}/test/ %changelog -* Sun Oct 31 2010 Mamoru Taska - 0.90.5-3 +* Wed Feb 9 2011 Mamoru Tasaka - 0.90.7-2 +- 0.90.7 + +* Sun Nov 7 2010 Mamoru Tasaka - 0.90.5-4 +- Patch for GLib 2.27.1 API + +* Sun Oct 31 2010 Mamoru Tasaka - 0.90.5-3 - 0.90.5 - Move C extension so that "require %%gemname" works correctly diff --git a/sources b/sources index 459985d..42351c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -17c240dcfee20ce036e8585ffe5dab90 gio2-0.90.5.gem +427d5316b6d4feaf13640d2437d3a9c5 gio2-0.90.7.gem From 0d920db15c0620e3086299e32d0da9dc4adfdf12 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Sat, 5 Mar 2011 03:19:52 +0900 Subject: [PATCH 4/6] 0.90.8 --- .gitignore | 1 + rubygem-gio2.spec | 10 ++++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fffda04..ae1bc3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /gio2-0.90.4.gem /gio2-0.90.5.gem /gio2-0.90.7.gem +/gio2-0.90.8.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec index a4a5726..ac12be7 100644 --- a/rubygem-gio2.spec +++ b/rubygem-gio2.spec @@ -12,8 +12,8 @@ Summary: Ruby binding of gio-2.0.x Name: rubygem-%{gemname} -Version: 0.90.7 -Release: 2%{?dist} +Version: 0.90.8 +Release: 1%{?dist} Group: Development/Languages # from README License: LGPLv2 @@ -241,6 +241,12 @@ ruby -rubygems -Ilib test/load-test.rb %{geminstdir}/test/ %changelog +* Sat Mar 5 2011 Mamoru Tasaka - 0.90.8-1 +- 0.90.8 + +* Wed Feb 09 2011 Fedora Release Engineering - 0.90.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Wed Feb 9 2011 Mamoru Tasaka - 0.90.7-2 - 0.90.7 diff --git a/sources b/sources index 42351c7..05fecd1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -427d5316b6d4feaf13640d2437d3a9c5 gio2-0.90.7.gem +ac304598a473ee41d8449cb2bf72bfbf gio2-0.90.8.gem From 8b0df72f60fb795d8c129584b5471382922c6935 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Sun, 12 Jun 2011 03:35:43 +0900 Subject: [PATCH 5/6] 0.90.9 --- .gitignore | 1 + rubygem-gio2.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ae1bc3a..5c7ad4e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /gio2-0.90.5.gem /gio2-0.90.7.gem /gio2-0.90.8.gem +/gio2-0.90.9.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec index ac12be7..9465f91 100644 --- a/rubygem-gio2.spec +++ b/rubygem-gio2.spec @@ -12,7 +12,7 @@ Summary: Ruby binding of gio-2.0.x Name: rubygem-%{gemname} -Version: 0.90.8 +Version: 0.90.9 Release: 1%{?dist} Group: Development/Languages # from README @@ -241,6 +241,9 @@ ruby -rubygems -Ilib test/load-test.rb %{geminstdir}/test/ %changelog +* Sun Jun 12 2011 Mamoru Tasaka - 0.90.9-1 +- 0.90.9 + * Sat Mar 5 2011 Mamoru Tasaka - 0.90.8-1 - 0.90.8 diff --git a/sources b/sources index 05fecd1..8addc64 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ac304598a473ee41d8449cb2bf72bfbf gio2-0.90.8.gem +36839a8a431296bf60fef38b79da7b99 gio2-0.90.9.gem From 3c46a58f50922ff1930e9fa0a0c18e6f06cbce41 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Fri, 15 Jul 2011 00:49:05 +0900 Subject: [PATCH 6/6] 1.0.0 --- .gitignore | 1 + rubygem-gio2.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5c7ad4e..6a99874 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /gio2-0.90.7.gem /gio2-0.90.8.gem /gio2-0.90.9.gem +/gio2-1.0.0.gem diff --git a/rubygem-gio2.spec b/rubygem-gio2.spec index 9465f91..e67a8ea 100644 --- a/rubygem-gio2.spec +++ b/rubygem-gio2.spec @@ -12,7 +12,7 @@ Summary: Ruby binding of gio-2.0.x Name: rubygem-%{gemname} -Version: 0.90.9 +Version: 1.0.0 Release: 1%{?dist} Group: Development/Languages # from README @@ -241,6 +241,9 @@ ruby -rubygems -Ilib test/load-test.rb %{geminstdir}/test/ %changelog +* Fri Jul 15 2011 Mamoru Tasaka - 1.0.0-1 +- 1.0.0 + * Sun Jun 12 2011 Mamoru Tasaka - 0.90.9-1 - 0.90.9 diff --git a/sources b/sources index 8addc64..e57e8fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36839a8a431296bf60fef38b79da7b99 gio2-0.90.9.gem +dec9e8fcb5ce95ee00fd4050b5ef76f4 gio2-1.0.0.gem