File rbenv.spec of Package rbenv

#
# spec file for package rbenv
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           rbenv
Version:        1.3.2
Release:        0
BuildArch:      noarch
License:        MIT
Group:          Development/Languages/Ruby
URL:            https://github.com/rbenv/rbenv
Summary:        Simple Ruby version Management
Source0:        https://github.com/rbenv/rbenv/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
%if %{undefined sle_version}
BuildRequires:  bats
BuildRequires:  git
BuildRequires:  procps
%endif
Requires:       procps
Recommends:     ruby-build

%description
rbenv does…

- Let you change the global Ruby version on a per-user basis.
- Provide support for per-project Ruby versions.
- Allow you to override the Ruby version with an environment variable.

In contrast with rvm, rbenv does not…

- Need to be loaded into your shell. Instead, rbenv's shim approach works by adding a directory to your $PATH.
- Override shell commands like cd. That's dangerous and error-prone.
- Have a configuration file. There's nothing to configure except which version of Ruby you want to use.
- Install Ruby. You can build and install Ruby yourself, or use ruby-build to automate the process.
- Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install the rbenv-gemset plugin.
- Require changes to Ruby libraries for compatibility. The simplicity of rbenv means as long as it's in your $PATH, nothing else needs to know about it.
- Prompt you with warnings when you switch to a project. Instead of executing arbitrary code, rbenv reads just the version name from each project. There's nothing to "trust."

%package bash-completion
Summary:        Bash completion for %{name}
Requires:       bash-completion
Supplements:    (%{name} and bash-completion)
BuildArch:      noarch

%description bash-completion
The official bash completion script for %{name}.

%package zsh-completion
Summary:        ZSH completion for %{name}
Supplements:    (%{name} and zsh)
BuildArch:      noarch

%description zsh-completion
The official zsh completion script for %{name}.

%prep
%setup -q

%build

%install
install -Dm0755 libexec/* -t %{buildroot}%{_bindir}

install -Dm0644 completions/rbenv.bash %{buildroot}%{_datadir}/bash-completion/completions/%{name}
install -Dm0644 completions/_rbenv %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
install -Dm0644 share/man/man1/rbenv.1 %{buildroot}%{_mandir}/man1/%{name}.1

mkdir -p %{buildroot}/usr/lib/rbenv
cp -r rbenv.d/* %{buildroot}/usr/lib/rbenv

sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' %{buildroot}%{_bindir}/*

%check
%if %{undefined sle_version}
bats test
%endif

%files
%license LICENSE
%doc README.md
%{_bindir}/rbenv*
/usr/lib/rbenv
%{_mandir}/man1/%{name}*

%files bash-completion
%{_datadir}/bash-completion

%files zsh-completion
%{_datadir}/zsh

%changelog
openSUSE Build Service is sponsored by