SHA256
1
0
forked from pool/pyenv
pyenv/pyenv.spec
Markéta Machová 4b25084888 Accepting request 1179565 from home:thomas-schraitle:branches:devel:languages:python
- Update to 2.4.2
  - Add script to install graalpy development builds in #2969
  - Correct the Explanation of PATH Variable Lookup in #2975
  - Document PYTHON_BUILD_CURL_OPTS, PYTHON_BUILD_WGET_OPTS, PYTHON_BUILD_ARIA2_OPTS in #2976
  - Add sed and greadlink to shim exceptions in #2977
  - Add CPython 3.13.0b2 in #2978
  - Add CPython 3.12.4 in #2981

Full Changelog: https://github.com/pyenv/pyenv/compare/v2.4.1...v2.4.2

OBS-URL: https://build.opensuse.org/request/show/1179565
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/pyenv?expand=0&rev=85
2024-06-11 10:43:08 +00:00

181 lines
5.1 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.2
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: 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}
%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