%global mainver 1.10.5 %global mainrel 1 %global prerpmver %(echo "%{?prever}" | sed -e 's|\\.||g') %global gem_name nokogiri %undefine __brp_mangle_shebangs %undefine _changelog_trimtime Summary: An HTML, XML, SAX, and Reader parser Name: rubygem-%{gem_name} Version: %{mainver} Release: 1 License: MIT URL: https://nokogiri.org Source0: https://rubygems.org/gems/%{gem_name}-%{mainver}%{?prever}.gem Source1: https://github.com/sparklemotion/%{gem_name}/archive/v%{mainver}.tar.gz # Shut down libxml2 version unmatching warning Patch0: %{name}-1.6.6.4-shutdown-libxml2-warning.patch BuildRequires: ruby(release) ruby(rubygems) rubygem(minitest) rubygems-devel Obsoletes: ruby-%{gem_name} <= 1.5.2-2 BuildRequires: gcc rubygem(pkg-config) libxml2-devel libxslt-devel ruby-devel %description Nokogiri parses and searches XML/HTML very quickly, and also has correctly implemented CSS3 selector support as well as XPath support. Nokogiri also features an Hpricot compatibility layer to help ease the change to using correct CSS and XPath. %if 0 %package jruby Summary: JRuby support for %{name} Requires: %{name} = %{version}-%{release} %description jruby This package contains JRuby support for %{name}. %endif %package doc Summary: Documentation for %{name} 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} Requires: %{name} = %{version}-%{release} Provides: ruby(%{gem_name}) = %{version}-%{release} %description -n ruby-%{gem_name} This package provides non-Gem support for %{gem_name}. %global version %{mainver}%{?prever} %prep %setup -q -T -c -a 1 TOPDIR=$(pwd) mkdir tmpunpackdir pushd tmpunpackdir gem unpack %{SOURCE0} cd %{gem_name}-%{version} %patch0 -p1 gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec sed -i \ -e 's|, "ports/archives/[^"][^"]*"||g' \ -e 's|, "ports/patches/[^"][^"]*"||g' \ %{gem_name}.gemspec sed -i -e '\@mini_portile@d' %{gem_name}.gemspec LANG=C.UTF-8 gem build %{gem_name}.gemspec mv %{gem_name}-%{version}.gem $TOPDIR popd rm -rf tmpunpackdir %build mkdir -p ./%{gem_dir} export NOKOGIRI_USE_SYSTEM_LIBRARIES=yes %gem_install chmod 0644 .%{gem_dir}/cache/%{gem_name}-%{mainver}%{?prever}.gem rm -f .%{gem_instdir}/lib/*.jar rm -rf .%{gem_instdir}/ext/java %install mkdir -p %{buildroot}%{gem_dir} cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir} find %{buildroot} -name \*.orig_\* | xargs rm -vf mkdir -p %{buildroot}%{gem_extdir_mri} cp -a ./%{gem_extdir_mri}/* %{buildroot}%{gem_extdir_mri}/ pushd %{buildroot} rm -f .%{gem_extdir_mri}/{gem_make.out,mkmf.log} popd mkdir -p %{buildroot}%{_bindir} cp -pa .%{_bindir}/* \ %{buildroot}%{_bindir}/ for f in $(find %{buildroot}%{gem_instdir} -name \*.rb) do sed -i -e '/^#!/d' $f chmod 0644 $f done cp -p %{gem_name}-%{version}/[A-Z]* %{buildroot}%{gem_instdir}/ rm -rf %{buildroot}%{gem_instdir}/ext/%{gem_name}/ rm -rf %{buildroot}%{gem_instdir}/tmp/ rm -f %{buildroot}%{gem_instdir}/{.autotest,.require_paths,.gemtest,.travis.yml} rm -f %{buildroot}%{gem_instdir}/appveyor.yml rm -f %{buildroot}%{gem_instdir}/.cross_rubies rm -f %{buildroot}%{gem_instdir}/{build_all,dependencies.yml,test_all} rm -f %{buildroot}%{gem_instdir}/.editorconfig rm -rf %{buildroot}%{gem_instdir}/suppressions/ rm -rf %{buildroot}%{gem_instdir}/patches/ rm -f %{buildroot}%{gem_instdir}/{Rakefile,Gemfile*} rm -f %{buildroot}%{gem_instdir}/Manifest.txt %check export TZ="Asia/Tokyo" LANG=C.UTF-8 cp -a %{gem_name}-%{version}/test/ ./%{gem_instdir} pushd ./%{gem_instdir} sed -i test/helper.rb \ -e '\@require.*simplecov@,\@^end$@d' ruby \ -I.:lib:test:ext \ -e \ "require 'test/helper' ; Dir.glob('test/**/test_*.rb'){|f| require f}" || \ exit 1 echo "Please investigate this" for f in $SKIPTEST do mv $f.skip $f done popd %files %defattr(-,root, root,-) %{_bindir}/%{gem_name} %{gem_extdir_mri}/ %dir %{gem_instdir}/ %doc %{gem_instdir}/[A-Z]* %{gem_instdir}/bin/ %{gem_instdir}/lib/ %exclude %{gem_dir}/cache/%{gem_name}-%{mainver}%{?prever}.gem %{gem_dir}/specifications/%{gem_name}-%{mainver}%{?prever}.gemspec %if 0 %files jruby %defattr(-,root,root,-) %{gem_instdir}/ext/java/ %endif %files doc %defattr(-,root,root,-) %exclude %{gem_instdir}/tasks/ %exclude %{gem_instdir}/test/ %{gem_dir}/doc/%{gem_name}-%{mainver}%{?prever}/ %changelog * Wed Aug 19 2020 luoshengwei - 1.10.5-1 - package init