186 lines
5.3 KiB
RPMSpec
186 lines
5.3 KiB
RPMSpec
|
#
|
||
|
# spec file for package pyenv
|
||
|
#
|
||
|
# Copyright (c) 2024 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/
|
||
|
#
|
||
|
|
||
|
|
||
|
%define pyenv_dir %{_libexecdir}/pyenv
|
||
|
#
|
||
|
Name: pyenv
|
||
|
Version: 2.4.14
|
||
|
Release: 0
|
||
|
Summary: Python Version Management
|
||
|
License: MIT
|
||
|
Group: Development/Languages/Python
|
||
|
URL: https://github.com/pyenv/pyenv
|
||
|
Source: https://github.com/pyenv/pyenv/archive/refs/tags/v%{version}.tar.gz#/pyenv-%{version}.tar.gz
|
||
|
#
|
||
|
BuildRequires: bash-completion
|
||
|
BuildRequires: bats
|
||
|
BuildRequires: fdupes
|
||
|
BuildRequires: fish
|
||
|
BuildRequires: gcc
|
||
|
BuildRequires: make
|
||
|
BuildRequires: pkgconfig
|
||
|
BuildRequires: zsh
|
||
|
#
|
||
|
Requires: pkgconfig
|
||
|
#
|
||
|
# Additional soft build requirements.
|
||
|
# Use list from https://github.com/pyenv/pyenv/wiki#suggested-build-environment
|
||
|
#
|
||
|
# Once pyenv is installed and user requests a new Python version,
|
||
|
# we need to make sure it will build:
|
||
|
Recommends: automake
|
||
|
Recommends: bzip2
|
||
|
Recommends: findutils
|
||
|
Recommends: gcc
|
||
|
#
|
||
|
Recommends: gdbm-devel
|
||
|
Recommends: gmp-devel
|
||
|
Recommends: openssl-devel
|
||
|
Recommends: patch
|
||
|
Recommends: readline-devel
|
||
|
#
|
||
|
Recommends: pkgconfig(bzip2)
|
||
|
Recommends: pkgconfig(clzma)
|
||
|
Recommends: pkgconfig(expat)
|
||
|
Recommends: pkgconfig(libffi)
|
||
|
Recommends: pkgconfig(liblzma)
|
||
|
Recommends: pkgconfig(ncurses)
|
||
|
Recommends: pkgconfig(sqlite3)
|
||
|
Recommends: pkgconfig(tcl)
|
||
|
Recommends: pkgconfig(tk)
|
||
|
Recommends: pkgconfig(uuid)
|
||
|
Recommends: pkgconfig(zlib)
|
||
|
|
||
|
%description
|
||
|
pyenv lets the user switch between multiple versions of Python.
|
||
|
|
||
|
This project was forked from rbenv and ruby-build, and modified for Python.
|
||
|
|
||
|
%package bash-completion
|
||
|
Summary: Bash completion for %{name}
|
||
|
Group: System/Shells
|
||
|
Requires: %{name} = %{version}
|
||
|
Supplements: (pyenv and bash-completion)
|
||
|
BuildArch: noarch
|
||
|
|
||
|
%description bash-completion
|
||
|
Bash command line completion support for %{name}.
|
||
|
|
||
|
%package fish-completion
|
||
|
Summary: Fish completion for %{name}
|
||
|
Group: System/Shells
|
||
|
Requires: %{name} = %{version}
|
||
|
Supplements: (pyenv and fish)
|
||
|
BuildArch: noarch
|
||
|
|
||
|
%description fish-completion
|
||
|
Fish command line completion support for %{name}.
|
||
|
|
||
|
%package zsh-completion
|
||
|
Summary: Zsh completion for %{name}
|
||
|
Group: System/Shells
|
||
|
Requires: %{name} = %{version}
|
||
|
Supplements: (pyenv and zsh)
|
||
|
BuildArch: noarch
|
||
|
|
||
|
%description zsh-completion
|
||
|
Zsh command line completion support for %{name}.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p1 -n %{name}-%{version}
|
||
|
|
||
|
sed -i -e '1s,^#!%{_bindir}/env bash,#!/bin/bash,' libexec/* pyenv.d/exec/pip-rehash/* plugins/python-build/bin/*
|
||
|
|
||
|
%build
|
||
|
##
|
||
|
pushd src
|
||
|
%configure
|
||
|
%make_build
|
||
|
popd
|
||
|
|
||
|
%install
|
||
|
mkdir -p %{buildroot}%{pyenv_dir} \
|
||
|
%{buildroot}%{pyenv_dir}/plugins \
|
||
|
%{buildroot}%{pyenv_dir}/shims/ \
|
||
|
%{buildroot}%{pyenv_dir}/share/python-build/ \
|
||
|
%{buildroot}%{_sysconfdir}/pyenv.d/ \
|
||
|
%{buildroot}%{_bindir}
|
||
|
|
||
|
cp -R libexec %{buildroot}%{pyenv_dir}
|
||
|
cp -R bin %{buildroot}%{pyenv_dir}
|
||
|
cp -a pyenv.d %{buildroot}%{_sysconfdir}/
|
||
|
|
||
|
## Install shell completions:
|
||
|
install -D -m0644 completions/pyenv.bash %{buildroot}%{_datadir}/bash-completion/completions/pyenv
|
||
|
install -D -m0644 completions/pyenv.zsh %{buildroot}%{_sysconfdir}/zsh_completion.d/pyenv
|
||
|
install -D -m0644 completions/pyenv.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/pyenv.fish
|
||
|
|
||
|
## Install manpage
|
||
|
install -D -m0644 man/man1/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1
|
||
|
pushd %{buildroot}%{_mandir}/man1/
|
||
|
ln -s %{name}.1 python-build.1
|
||
|
popd
|
||
|
|
||
|
ln -s %{pyenv_dir}/bin/pyenv %{buildroot}%{_bindir}/pyenv
|
||
|
|
||
|
## python-build
|
||
|
pushd plugins/python-build
|
||
|
install -m755 bin/* %{buildroot}%{pyenv_dir}/libexec
|
||
|
cp -a share/python-build %{buildroot}%{pyenv_dir}/share/
|
||
|
popd
|
||
|
|
||
|
%fdupes %{buildroot}%{pyenv_dir}
|
||
|
|
||
|
%check
|
||
|
export PATH="$PATH:%{buildroot}%{_libexecdir}/pyenv/libexec"
|
||
|
bats test/{pyenv,hooks,versions}.bats
|
||
|
|
||
|
%files
|
||
|
%doc CHANGELOG.md COMMANDS.md README.md
|
||
|
%license LICENSE
|
||
|
%exclude %{_sysconfdir}/pyenv.d/rehash/*/.gitignore
|
||
|
|
||
|
%config %{_sysconfdir}/pyenv.d/rehash/*.d/default.list
|
||
|
%config %{_sysconfdir}/pyenv.d/exec/pip-rehash.bash
|
||
|
%config %{_sysconfdir}/pyenv.d/rehash/*.bash
|
||
|
%config %{_sysconfdir}/pyenv.d/install/*.bash
|
||
|
|
||
|
%{pyenv_dir}
|
||
|
%dir %{_sysconfdir}/pyenv.d
|
||
|
%dir %{_sysconfdir}/pyenv.d/exec/
|
||
|
%dir %{_sysconfdir}/pyenv.d/rehash/
|
||
|
%dir %{_sysconfdir}/pyenv.d/rehash/*.d/
|
||
|
%dir %{_sysconfdir}/pyenv.d/install/
|
||
|
|
||
|
%{_sysconfdir}/pyenv.d/exec/pip-rehash
|
||
|
%{_bindir}/pyenv
|
||
|
#
|
||
|
%{_mandir}/man1/%{name}.1%{?ext_man}
|
||
|
%{_mandir}/man1/python-build.1%{?ext_man}
|
||
|
|
||
|
%files bash-completion
|
||
|
%{_datadir}/bash-completion/completions/pyenv
|
||
|
|
||
|
%files fish-completion
|
||
|
%{_datadir}/fish/vendor_completions.d/pyenv.fish
|
||
|
|
||
|
%files zsh-completion
|
||
|
%config %{_sysconfdir}/zsh_completion.d/pyenv
|
||
|
|
||
|
%changelog
|