4.3.2. The ror40-rubygem-bcrypt-ruby Package
Below is a commented example of the ror40-rubygem-bcrypt-ruby package spec file. This package provides the bcrypt-ruby gem. For more information on bcrypt-ruby, see the following website:
Note that the only significant difference between the ror40-rubygem-bcrypt-ruby package spec file and a normal Software Collection package spec file is the following:
- The
BuildRequires
tags are prefixed with%{?scl_prefix_ruby}
instead of%{scl_prefix}
.
%{!?scl:%global pkg_name %{name}} %{?scl:%scl_package rubygem-%{gem_name}} # Generated from bcrypt-ruby-2.1.2.gem by gem2rpm -*- rpm-spec -*- %global gem_name bcrypt-ruby Summary: Wrapper around bcrypt() password hashing algorithm Name: %{?scl:%scl_prefix}rubygem-%{gem_name} Version: 3.1.2 Release: 4%{?dist} Group: Development/Languages # ext/* - Public Domain # spec/TestBCrypt.java - ISC License: MIT and Public Domain and ISC URL: http://bcrypt-ruby.rubyforge.org Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem Requires: %{?scl_prefix_ruby}ruby(rubygems) Requires: %{?scl_prefix_ruby}ruby(release) BuildRequires: %{?scl_prefix_ruby}rubygems-devel BuildRequires: %{?scl_prefix_ruby}ruby-devel BuildRequires: %{?scl_prefix}rubygem(rspec) Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version} %description bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords. bcrypt-ruby provides a simple, humane wrapper for safely handling passwords. %prep %setup -q -c -T %build export CONFIGURE_ARGS="--with-cflags='%{optflags}'" %{?scl:scl enable %{scl} - << \EOF} %gem_install -n %{SOURCE0} %{?scl:EOF} %install rm -rf %{buildroot} mkdir -p %{buildroot}%{gem_dir} mkdir -p %{buildroot}%{gem_extdir_mri}/lib cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/ mv %{buildroot}%{gem_libdir}/bcrypt_ext.so %{buildroot}%{gem_extdir_mri}/lib %check pushd .%{gem_instdir} %{?scl:scl enable %{scl} - << \EOF} rspec spec %{?scl:EOF} popd %files %dir %{gem_instdir} %exclude %{gem_instdir}/.* %{gem_instdir}/bcrypt-ruby.gemspec %doc %{gem_instdir}/CHANGELOG %doc %{gem_instdir}/COPYING %exclude %{gem_instdir}/ext %{gem_instdir}/Gemfile* %{gem_instdir}/Rakefile %doc %{gem_instdir}/README.md %{gem_libdir} %{gem_extdir_mri} %{gem_instdir}/spec %doc %{gem_docdir} %exclude %{gem_cache} %{gem_spec} %changelog * Fri Mar 21 2014 John Doe <jdoe@example.com> - 3.1.2-4 - Initial package.
%{!?scl:%global pkg_name %{name}}
%{?scl:%scl_package rubygem-%{gem_name}}
# Generated from bcrypt-ruby-2.1.2.gem by gem2rpm -*- rpm-spec -*-
%global gem_name bcrypt-ruby
Summary: Wrapper around bcrypt() password hashing algorithm
Name: %{?scl:%scl_prefix}rubygem-%{gem_name}
Version: 3.1.2
Release: 4%{?dist}
Group: Development/Languages
# ext/* - Public Domain
# spec/TestBCrypt.java - ISC
License: MIT and Public Domain and ISC
URL: http://bcrypt-ruby.rubyforge.org
Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
Requires: %{?scl_prefix_ruby}ruby(rubygems)
Requires: %{?scl_prefix_ruby}ruby(release)
BuildRequires: %{?scl_prefix_ruby}rubygems-devel
BuildRequires: %{?scl_prefix_ruby}ruby-devel
BuildRequires: %{?scl_prefix}rubygem(rspec)
Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
%description
bcrypt() is a sophisticated and secure hash algorithm designed by The
OpenBSD project
for hashing passwords. bcrypt-ruby provides a simple, humane wrapper for
safely handling
passwords.
%prep
%setup -q -c -T
%build
export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
%{?scl:scl enable %{scl} - << \EOF}
%gem_install -n %{SOURCE0}
%{?scl:EOF}
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gem_dir}
mkdir -p %{buildroot}%{gem_extdir_mri}/lib
cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
mv %{buildroot}%{gem_libdir}/bcrypt_ext.so %{buildroot}%{gem_extdir_mri}/lib
%check
pushd .%{gem_instdir}
%{?scl:scl enable %{scl} - << \EOF}
rspec spec
%{?scl:EOF}
popd
%files
%dir %{gem_instdir}
%exclude %{gem_instdir}/.*
%{gem_instdir}/bcrypt-ruby.gemspec
%doc %{gem_instdir}/CHANGELOG
%doc %{gem_instdir}/COPYING
%exclude %{gem_instdir}/ext
%{gem_instdir}/Gemfile*
%{gem_instdir}/Rakefile
%doc %{gem_instdir}/README.md
%{gem_libdir}
%{gem_extdir_mri}
%{gem_instdir}/spec
%doc %{gem_docdir}
%exclude %{gem_cache}
%{gem_spec}
%changelog
* Fri Mar 21 2014 John Doe <jdoe@example.com> - 3.1.2-4
- Initial package.