document: modulemd
version: 1
data:
summary: Python programming language, version 2
description: >-
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types
and dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).
Programmers can write new built-in modules for Python in C or C++.
Python can be used as an extension language for applications that
need a programmable interface.
license:
module:
- MIT
dependencies:
buildrequires:
bootstrap: master
# Need an already built Python interpreter
# python2-bootstrap: master
# Disabled since python2-bootstrap requires platform, and
# bootstrap and platform modules conflict
# python2-devel requires python3-rpm-generators which
# requires python3 and python3-setuptools
# python3: master
# Disabled since python3 requires platform, and
# bootstrap and platform modules conflict
# tk-devel buildrequires /usr/bin/perl
# perl: master
# Disabled since perl requires platform, and
# bootstrap and platform modules conflict
requires:
platform: master
# python2-devel requires python3-rpm-generators which
# requires python3 and python3-setuptools
python3: master
references:
community: https://www.python.org/
documentation: https://docs.python.org/2/
tracker: https://src.fedoraproject.org/modules/python2
profiles:
minimal:
rpms:
- python2
- python2-libs
- python2-pip
- python2-setuptools
default:
rpms:
- python2
- python2-libs
- python2-pip
- python2-setuptools
full:
rpms:
- python2
- python2-devel
- python2-libs
- python2-pip
- python2-setuptools
- python2-wheel
filter:
rpms:
# Requires unavailable: tk, tcl, libX11
- python2-tkinter
# Requires unavailable: python3-tkinter
- python2-tools
# Requires unavailable: python3-tools
- python2-test
# Requires unavailable: python3-{tkinter,tools,test} and more
- python2-debug
# Remove Python 3 stuff we had to build but don't want in the
# module
- python3-wheel
- python3-setuptools
- python3-pip
- python3-rpm-macros
api:
rpms:
- python2
- python2-devel
- python2-libs
- python2-pip
- python2-setuptools
- python2-wheel
buildopts:
rpms:
macros: |
# setuptools
%_without_platform_python 1
# Note that we cannot disable building of Python 3 subpackages,
# because python2-devel (needed to build all Python 2 packages)
# has a runtime dependency on python3-rpm-generators, and that
# package requires python3-setuptools at runtime. By rebuilding
# python-setuptools SRPM with only python2, we overshadow the
# already built python3 subpackage and it is no longer
# available for python3-rpm-generators when building python-pip
# (or any other Python package).
components:
rpms:
python-rpm-macros:
rationale: Build and runtime dependency of python2-devel
ref: master
buildorder: 10
python-wheel:
rationale: Used for unbundling of pip and setuptools
ref: master
buildorder: 10
python-setuptools:
rationale: Python Packaging ecosystem
ref: master
buildorder: 20
python-pip:
rationale: Python Packaging ecosystem
ref: master
buildorder: 30
python2:
rationale: Main Python language interpreter
ref: master
buildorder: 40