%global header_dir %{ruby_vendorarchdir} %global gem_name gdk3 %global glib_min_ver 1.2.1 %if 0%{?fedora} < 19 %global rubyabi 1.9.1 %endif Summary: Ruby binding of GDK-3.x Name: rubygem-%{gem_name} Version: 1.2.6 Release: 1%{?dist} Group: Development/Languages # Various files in gem License: LGPLv2+ URL: http://ruby-gnome2.sourceforge.jp/ Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem # https://raw.github.com/ruby-gnome2/ruby-gnome2/master/gdk3/COPYING.LIB # Renamed to avoid overwrite on SOURCE dir Source1: COPYING.LIB.gdk3 Patch0: rubygem-gdk3-new-glib.patch Patch1: rubygem-gdk3-precision.patch %if 0%{?fedora} >= 19 Requires: ruby(release) BuildRequires: ruby(release) %else Requires: ruby(abi) = %{rubyabi} Requires: ruby BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: ruby %endif Requires: ruby(rubygems) Requires: rubygem(glib2) >= %{glib_min_ver} Requires: rubygem(atk) Requires: rubygem(pango) Requires: rubygem(gdk_pixbuf2) BuildRequires: ruby-devel BuildRequires: rubygems-devel BuildRequires: rubygem-glib2-devel >= %{glib_min_ver} BuildRequires: rubygem-pango-devel BuildRequires: gtk3-devel # %%check BuildRequires: rubygem(gdk_pixbuf2) BuildRequires: rubygem(test-unit) BuildRequires: rubygem(test-unit-notify) Provides: rubygem(%{gem_name}) = %{version}-%{release} %description Ruby/GDK3 is a Ruby binding of GDK-3.x. %package devel Summary: Ruby/GLib development environment Group: Development/Languages Requires: %{name}%{?isa} = %{version}-%{release} Requires: gtk3-devel%{?isa} Requires: ruby-devel%{?isa} %description devel Header files and libraries for building a extension library for the rubygem-%{gem_name} %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name} %prep %setup -q -c -T TOPDIR=$(pwd) mkdir tmpunpackdir pushd tmpunpackdir gem unpack %{SOURCE0} cd %{gem_name}-%{version} # Needed on at least f20 %patch0 -p2 -b .new-glib # Different precision/rounding on different systems %patch1 -p2 -b .precision # Permission find . -name \*.rb -print0 | xargs --null chmod 0644 gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec # Add license text install -cpm 644 %{SOURCE1} ./COPYING.LIB sed -i -e '/files =/s|\("Rakefile",\)|\1 "COPYING.LIB", |' \ %{gem_name}.gemspec gem build %{gem_name}.gemspec mv %{gem_name}-%{version}.gem $TOPDIR popd rm -rf tmpunpackdir %build mkdir -p .%{gem_dir} export CONFIGURE_ARGS="--with-cflags='%{optflags} -Werror-implicit-function-declaration'" export CONFIGURE_ARGS="$CONFIGURE_ARGS --with-pkg-config-dir=$(pwd)%{_libdir}/pkgconfig" %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ # move header files, C extension files to the correct directory pushd %{buildroot} mkdir -p .%{header_dir} mv .%{gem_instdir}/lib/*.h .%{header_dir}/ mkdir -p .%{gem_extdir_mri}/lib mv .%{gem_instdir}/lib/%{gem_name}.so .%{gem_extdir_mri}/lib/ popd # move pkgconfig file mkdir %{buildroot}%{_libdir}/pkgconfig install -cpm 644 ./%{_libdir}/pkgconfig/*.pc \ %{buildroot}%{_libdir}/pkgconfig/ # Cleanups pushd %{buildroot} rm -rf .%{gem_instdir}/ext/ rm -f .%{gem_instdir}/extconf.rb popd %check pushd .%{gem_instdir} # kill unneeded make process rm -rf ./TMPBINDIR mkdir ./TMPBINDIR pushd ./TMPBINDIR ln -sf /bin/true make export PATH=$(pwd):$PATH popd %if 0%{?fedora} <= 18 sed -i.utest \ -e '\@^require@s|^.*test-unit.*$|gem "test-unit"\nrequire "test/unit"|' \ test/gdk-test-utils.rb %endif ruby -Ilib:test ./test/run-test.rb popd %files %doc %{gem_instdir}/[A-Z]* %exclude %{gem_instdir}/Rakefile %dir %{gem_instdir}/ %dir %{gem_instdir}/lib/ %{gem_instdir}/lib/%{gem_name}.rb %dir %{gem_instdir}/lib/%{gem_name}/ %{gem_instdir}/lib/%{gem_name}/*.rb %dir %{gem_extdir_mri}/ %dir %{gem_extdir_mri}/lib/ %{gem_extdir_mri}/lib/%{gem_name}.so %exclude %{gem_cache} %{gem_spec} %files devel %{_libdir}/pkgconfig/ruby-%{gem_name}.pc %{header_dir}/rbgdk3.h %{header_dir}/rbgdk3conversions.h %files doc %doc %{gem_docdir}/ %exclude %{gem_instdir}/test/ %changelog * Mon Apr 29 2013 Mamoru TASAKA - 1.2.6-1 - 1.2.6 * Fri Mar 22 2013 Mamoru TASAKA - 1.2.3-1 - 1.2.3 * Mon Feb 18 2013 Mamoru TASAKA - 1.2.1-1 - Initial package