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.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.