SHA256
1
0
forked from pool/pyenv
pyenv/pyenv.spec
Matej Cepl 7f887cc3d2 Accepting request 1168630 from home:thomas-schraitle:branches:devel:languages:python
- Update spec file
  - Use pkgconfig instead of package name
  - Require pkgconfig
- Update to 2.4.0
  - Add CPython 3.13.0a4 by @saaketp in #2903
  - Handle the case where pyenv-commands --sh returns nothing by @aphedges in #2908
  - Document default build configuration customizations by @native-api in #2911
  - Use Homebrew in Linux if Pyenv is installled with Homebrew by @native-api in #2906
  - Add miniforge and mambaforge 22.11.1-3, 22.11.1-4, 23.1.0-0 to 23.11.0-0 by @aphedges in #2909
  - Add miniconda3-24.1.2 by @binbjz in #2915
  - Minor grammar fix in libffi backport patch in 2.5.x by @cuinix in #2922
  - Add CPython 3.13.0a5 by @edgarrmondragon in #2924
  - Add CPython 3.8.19 and 3.9.19 by @edgarrmondragon in #2929
  - Add GraalPy 24.0.0 by @msimacek in #2928
  - Add CPython 3.10.14 by @edgarrmondragon in #2930
  - Add Jython 2.7.3 by @cesarcoatl in #2936
  - Add CPython 3.11.9 by @edgarrmondragon in #2938
  - Add anaconda 2024.02 by @native-api in #2939
Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.36...v2.4.0

OBS-URL: https://build.opensuse.org/request/show/1168630
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/pyenv?expand=0&rev=81
2024-04-19 22:18:30 +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.0
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