diff --git a/dev-python/PyQt5-python2/Manifest b/dev-python/PyQt5-python2/Manifest
deleted file mode 100644
index 2dc6d3f56..000000000
--- a/dev-python/PyQt5-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyQt5-5.14.2.tar.gz 3246557 BLAKE2B 0dd57da76dede97349c1af1d97cebad430dd5ae03c99b71de2e1ef1c41c1503820b0c0b1af8ddb507ffa5d6f466f7d3012db2cf625dad949dc4c962fb9e8a6a3 SHA512 56d9b2970ff50f2af0bfd889ad1226bf64087a6210cc545c5a0188352d1651343fcda9d53f04b041273f61bf31baf43af4a1854c1b580d50c28cff82f59c24ec
diff --git a/dev-python/PyQt5-python2/PyQt5-python2-5.14.2-r3.ebuild b/dev-python/PyQt5-python2/PyQt5-python2-5.14.2-r3.ebuild
deleted file mode 100644
index 7cd6dfe22..000000000
--- a/dev-python/PyQt5-python2/PyQt5-python2-5.14.2-r3.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit multibuild python2 qmake-utils
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/intro"
-
-MY_PN=PyQt5
-MY_P=${MY_PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
-RESTRICT="test"
-
-# TODO: QtNfc, QtRemoteObjects
-IUSE="bluetooth dbus debug declarative designer examples gles2-only gui help location
- multimedia network networkauth opengl positioning printsupport sensors serialport
- sql +ssl svg testlib webchannel webkit websockets widgets x11extras xmlpatterns"
-
-# The requirements below were extracted from configure.py
-# and from the output of 'grep -r "%Import " "${S}"/sip'
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- bluetooth? ( gui )
- declarative? ( gui network )
- designer? ( widgets )
- help? ( gui widgets )
- location? ( positioning )
- multimedia? ( gui network )
- networkauth? ( network )
- opengl? ( gui widgets )
- positioning? ( gui )
- printsupport? ( gui widgets )
- sensors? ( gui )
- serialport? ( gui )
- sql? ( widgets )
- svg? ( gui widgets )
- testlib? ( widgets )
- webchannel? ( network )
- webkit? ( gui network printsupport widgets )
- websockets? ( network )
- widgets? ( gui )
- xmlpatterns? ( network )
-"
-
-# Minimal supported version of Qt.
-QT_PV="5.12:5"
-
-RDEPEND="
- !dev-python/PyQt5[python_targets_python2_7]
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/enum34[${PYTHON_USEDEP}]
- ' -2)
- >=dev-python/PyQt5-sip-python2-4.19.20:=
- >=dev-qt/qtcore-${QT_PV}
- >=dev-qt/qtxml-${QT_PV}
- bluetooth? ( >=dev-qt/qtbluetooth-${QT_PV} )
- dbus? (
- dev-python/dbus-python2[python_targets_python2_7]
- >=dev-qt/qtdbus-${QT_PV}
- )
- declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- designer? ( >=dev-qt/designer-${QT_PV} )
- gui? ( >=dev-qt/qtgui-${QT_PV}[gles2-only=] )
- help? ( >=dev-qt/qthelp-${QT_PV} )
- location? ( >=dev-qt/qtlocation-${QT_PV} )
- multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
- network? ( >=dev-qt/qtnetwork-${QT_PV}[ssl=] )
- networkauth? ( >=dev-qt/qtnetworkauth-${QT_PV} )
- opengl? ( >=dev-qt/qtopengl-${QT_PV} )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
- sensors? ( >=dev-qt/qtsensors-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${QT_PV} )
- sql? ( >=dev-qt/qtsql-${QT_PV} )
- svg? ( >=dev-qt/qtsvg-${QT_PV} )
- testlib? ( >=dev-qt/qttest-${QT_PV} )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
- webkit? ( dev-qt/qtwebkit:5[printsupport] )
- websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
- widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
- x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
- xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
-"
-DEPEND="${RDEPEND}
- >=dev-python/sip-python2-4.19.20
- dbus? ( virtual/pkgconfig )
-"
-
-S=${WORKDIR}/${MY_P}
-
-pyqt_use_enable() {
- use "$1" || return
-
- if [[ $# -eq 1 ]]; then
- echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}
- else
- shift
- echo ${@/#/--enable=}
- fi
-}
-
-src_configure() {
- configuration() {
- local myconf=(
- "${PYTHON}"
- "${S}"/configure.py
- $(usex debug '--debug --qml-debug --trace' '')
- --verbose
- --confirm-license
- --qmake="$(qt5_get_bindir)"/qmake
- --bindir="${EPREFIX}/usr/bin"
- --qsci-api
- --enable=QtCore
- --enable=QtXml
- --sip=${EPREFIX}/usr/bin/sip2.7
- $(pyqt_use_enable bluetooth)
- $(pyqt_use_enable dbus QtDBus)
- $(usex dbus '' --no-python-dbus)
- $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
- $(usex declarative '' --no-qml-plugin)
- $(pyqt_use_enable designer)
- $(usex designer '' --no-designer-plugin)
- $(usex gles2-only '--disable-feature=PyQt_Desktop_OpenGL' '')
- $(pyqt_use_enable gui)
- $(pyqt_use_enable gui $(use gles2-only && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
- $(pyqt_use_enable help)
- $(pyqt_use_enable location)
- $(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets ''))
- $(pyqt_use_enable network)
- $(pyqt_use_enable networkauth QtNetworkAuth)
- $(pyqt_use_enable opengl QtOpenGL)
- $(pyqt_use_enable positioning)
- $(pyqt_use_enable printsupport QtPrintSupport)
- $(pyqt_use_enable sensors)
- $(pyqt_use_enable serialport QtSerialPort)
- $(pyqt_use_enable sql)
- $(usex ssl '' '--disable-feature=PyQt_SSL')
- $(pyqt_use_enable svg)
- $(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable webchannel QtWebChannel)
- $(pyqt_use_enable webkit QtWebKit QtWebKitWidgets)
- $(pyqt_use_enable websockets QtWebSockets)
- $(pyqt_use_enable widgets)
- $(pyqt_use_enable x11extras QtX11Extras)
- $(pyqt_use_enable xmlpatterns QtXmlPatterns)
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Fix parallel install failure
- if python_is_python3; then
- sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_pep484_stubs install_qscintilla_api' \
- ${MY_PN}.pro || die
- else
- sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_qscintilla_api' \
- ${MY_PN}.pro || die
- fi
-
- # Run eqmake to respect toolchain and build flags
- eqmake5 -recursive ${MY_PN}.pro
- }
- python_foreach_impl run_in_build_dir configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- local tmp_root=${D}/${MY_PN}_tmp_root
- emake INSTALL_ROOT="${tmp_root}" install
-
- local bin_dir=${tmp_root}${EPREFIX}/usr/bin
- local exe
- for exe in pylupdate5 pyrcc5 pyuic5; do
- python_doexe "${bin_dir}/${exe}"
- rm "${bin_dir}/${exe}" || die
- done
-
- local uic_dir=${tmp_root}$(python_get_sitedir)/${MY_PN}/uic
- if python_is_python3; then
- rm -r "${uic_dir}"/port_v2 || die
- else
- rm -r "${uic_dir}"/port_v3 || die
- fi
-
- multibuild_merge_root "${tmp_root}" "${D}"
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
- rm -r ${D}/usr/share
- rm -r ${D}/usr/bin
- rm -r ${D}/usr/lib/python-exec
- rm -r ${D}/usr/lib*/qt5
-}
diff --git a/dev-python/PyQt5-python2/metadata.xml b/dev-python/PyQt5-python2/metadata.xml
deleted file mode 100644
index fc69b98a7..000000000
--- a/dev-python/PyQt5-python2/metadata.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- qt@gentoo.org
- Gentoo Qt Project
-
-
-
-
- phil@riverbankcomputing.com
- Phil Thompson
-
- https://www.riverbankcomputing.com/static/Docs/PyQt5/
- mailto:pyqt@riverbankcomputing.com
- PyQt5
-
-
diff --git a/dev-python/PyQt5-sip-python2/Manifest b/dev-python/PyQt5-sip-python2/Manifest
deleted file mode 100644
index fb80d7aef..000000000
--- a/dev-python/PyQt5-sip-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sip-4.19.22.tar.gz 1050805 BLAKE2B 7382fdf74c5bb8b55bcedae74acdcb7b81ef06a64d129a9e6f11a5eb293900e37df513f1c4290f2299f49a5bd97e2a6b3c6bc32ddbf2eaf848bd5e5c5dc25edc SHA512 4d366e589945e589f69a3caf979076ef37e319ac0efdd8ec3cee4869da89e112832462215ca2e235036bacfade7efc4d530aa93e7492c283dc1b2503e08feea5
diff --git a/dev-python/PyQt5-sip-python2/PyQt5-sip-python2-4.19.22-r2.ebuild b/dev-python/PyQt5-sip-python2/PyQt5-sip-python2-4.19.22-r2.ebuild
deleted file mode 100644
index 54604a867..000000000
--- a/dev-python/PyQt5-sip-python2/PyQt5-sip-python2-4.19.22-r2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit python2 toolchain-funcs
-
-DESCRIPTION="Private sip module for PyQt5"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/intro"
-
-MY_PN=sip
-MY_P=${MY_PN}-${PV/_pre/.dev}
-SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/${MY_PN}/${MY_P}.tar.gz
- http://mirror.yandex.ru/calculate/source/${MY_PN}/${MY_P}.tar.gz"
-
-# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h
-SLOT="0/12"
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
-IUSE=""
-RESTRICT="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- !dev-python/PyQt5-sip[python_targets_python2_7]
-"
-RDEPEND="${DEPEND}
- !
-
-
-
- maintainer-wanted
-
-
-
- phil@riverbankcomputing.com
- Phil Thompson
-
- https://www.riverbankcomputing.com/hg/sip/raw-file/tip/NEWS
- https://www.riverbankcomputing.com/static/Docs/sip/
- mailto:pyqt@riverbankcomputing.com
- PyQt5-sip
-
-
diff --git a/dev-python/certifi-python2/Manifest b/dev-python/certifi-python2/Manifest
deleted file mode 100644
index dd748ac59..000000000
--- a/dev-python/certifi-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST certifi-shim-10001.tar.gz 4061 BLAKE2B 183c573b958921877b14e38e9e26842e8a4f1c1617979a30b65ef1e2bbf001e5ff0aab830e4399906a7d21fb3c71ac12b1e757e4d283aae16cced8e7de7c2a1d SHA512 93beea61e579b2b414bd37c63eba49365e0a1a62304e0c7ac920bedaf5d72cb095a4a46b2240b3c2e6ee31e5b91cd520ae8348b6a8033212d11bbca31db6750c
diff --git a/dev-python/certifi-python2/certifi-python2-10001-r1.ebuild b/dev-python/certifi-python2/certifi-python2-10001-r1.ebuild
deleted file mode 100644
index 0808165fe..000000000
--- a/dev-python/certifi-python2/certifi-python2-10001-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils2
-
-MY_P=certifi-shim-${PV}
-DESCRIPTION="Thin replacement for certifi using system certificate store"
-HOMEPAGE="
- https://github.com/mgorny/certifi-shim
- https://pypi.org/project/certifi"
-SRC_URI="
- https://github.com/mgorny/certifi-shim/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="CC0-1.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/certifi[python_targets_python2_7]
- app-misc/ca-certificates"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -i -e "s^/etc^${EPREFIX}/etc^" certifi/core.py || die
- distutils2_src_prepare
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
-
diff --git a/dev-python/certifi-python2/metadata.xml b/dev-python/certifi-python2/metadata.xml
deleted file mode 100644
index 2c9c847ec..000000000
--- a/dev-python/certifi-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
-
- certifi
-
-
diff --git a/dev-python/cffi-python2/Manifest b/dev-python/cffi-python2/Manifest
deleted file mode 100644
index 380fea6a6..000000000
--- a/dev-python/cffi-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cffi-1.14.0.tar.gz 463065 BLAKE2B 4d1e8a92241db801848ef8bd05ea15a31c7f61ea426ce4da184aff00df786348d2c76de9dc48898c814478aed9750b665868df24ad39435062cd7e1c84163e52 SHA512 4c5451eeede1d48a8f4b40e25b845ad1863b8bf3bd39624e6c693c2800d89a13efedc4c43b37e317a035613bffc2e3fd5f7e583c46cb283cb5cb930356f86253
diff --git a/dev-python/cffi-python2/cffi-python2-1.14.0-r5.ebuild b/dev-python/cffi-python2/cffi-python2-1.14.0-r5.ebuild
deleted file mode 100644
index 974ab5bb4..000000000
--- a/dev-python/cffi-python2/cffi-python2-1.14.0-r5.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# DO NOT ADD pypy to PYTHON_COMPAT
-# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 toolchain-funcs
-MY_PN=cffi
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Foreign Function Interface for Python calling C code"
-HOMEPAGE="https://cffi.readthedocs.io/ https://pypi.org/project/cffi/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="test"
-
-DEPEND="dev-libs/libffi:="
-RDEPEND="${DEPEND}
- !dev-python/cffi[python_targets_python2_7]
- dev-python/pycparser-python2[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- virtual/pkgconfig"
-
-distutils_enable_sphinx doc/source
-
-PATCHES=(
- "${FILESDIR}"/cffi-0.14.0-g-line.patch
-)
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_configure() {
- tc-export PKG_CONFIG
-}
-
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/cffi-python2/files/cffi-0.14.0-g-line.patch b/dev-python/cffi-python2/files/cffi-0.14.0-g-line.patch
deleted file mode 100644
index 45a1099dc..000000000
--- a/dev-python/cffi-python2/files/cffi-0.14.0-g-line.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 19ff1036043ae40ff3d8a2e1a6a793219e1ec378 Mon Sep 17 00:00:00 2001
-From: Armin Rigo
-Date: Tue, 26 May 2020 15:51:56 +0200
-Subject: [PATCH] Issue #454
-
-Try harder to avoid #line directives confuse the rest of pre-parsing
----
- cffi/cparser.py | 37 ++++++++++++++++++++++++---
- testing/cffi0/test_parsing.py | 48 ++++++++++++++++++++++++++++++++++-
- 2 files changed, 81 insertions(+), 4 deletions(-)
-
-diff --git a/cffi/cparser.py b/cffi/cparser.py
-index d7069a73..d9784655 100644
---- a/cffi/cparser.py
-+++ b/cffi/cparser.py
-@@ -29,6 +29,7 @@ _r_comment = re.compile(r"/\*.*?\*/|//([^\n\\]|\\.)*?$",
- _r_define = re.compile(r"^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)"
- r"\b((?:[^\n\\]|\\.)*?)$",
- re.DOTALL | re.MULTILINE)
-+_r_line_directive = re.compile(r"^[ \t]*#[ \t]*line\b.*$", re.MULTILINE)
- _r_partial_enum = re.compile(r"=\s*\.\.\.\s*[,}]|\.\.\.\s*\}")
- _r_enum_dotdotdot = re.compile(r"__dotdotdot\d+__$")
- _r_partial_array = re.compile(r"\[\s*\.\.\.\s*\]")
-@@ -163,10 +164,37 @@ def _warn_for_non_extern_non_static_global_variable(decl):
- "with C it should have a storage class specifier "
- "(usually 'extern')" % (decl.name,))
-
-+def _remove_line_directives(csource):
-+ # _r_line_directive matches whole lines, without the final \n, if they
-+ # start with '#line' with some spacing allowed. This function stores
-+ # them away and replaces them with exactly the string '#line@N', where
-+ # N is the index in the list 'line_directives'.
-+ line_directives = []
-+ def replace(m):
-+ i = len(line_directives)
-+ line_directives.append(m.group())
-+ return '#line@%d' % i
-+ csource = _r_line_directive.sub(replace, csource)
-+ return csource, line_directives
-+
-+def _put_back_line_directives(csource, line_directives):
-+ def replace(m):
-+ s = m.group()
-+ if not s.startswith('#line@'):
-+ raise AssertionError("unexpected #line directive "
-+ "(should have been processed and removed")
-+ return line_directives[int(s[6:])]
-+ return _r_line_directive.sub(replace, csource)
-+
- def _preprocess(csource):
-+ # First, remove the lines of the form '#line N "filename"' because
-+ # the "filename" part could confuse the rest
-+ csource, line_directives = _remove_line_directives(csource)
- # Remove comments. NOTE: this only work because the cdef() section
-- # should not contain any string literal!
-- csource = _r_comment.sub(' ', csource)
-+ # should not contain any string literals (except in line directives)!
-+ def replace_keeping_newlines(m):
-+ return ' ' + m.group().count('\n') * '\n'
-+ csource = _r_comment.sub(replace_keeping_newlines, csource)
- # Remove the "#define FOO x" lines
- macros = {}
- for match in _r_define.finditer(csource):
-@@ -219,7 +247,10 @@ def _preprocess(csource):
- csource = _r_float_dotdotdot.sub(' __dotdotdotfloat__ ', csource)
- # Replace all remaining "..." with the same name, "__dotdotdot__",
- # which is declared with a typedef for the purpose of C parsing.
-- return csource.replace('...', ' __dotdotdot__ '), macros
-+ csource = csource.replace('...', ' __dotdotdot__ ')
-+ # Finally, put back the line directives
-+ csource = _put_back_line_directives(csource, line_directives)
-+ return csource, macros
-
- def _common_type_names(csource):
- # Look in the source for what looks like usages of types from the
-diff --git a/testing/cffi0/test_parsing.py b/testing/cffi0/test_parsing.py
-index 3fc3783a..5f2d7ec4 100644
---- a/testing/cffi0/test_parsing.py
-+++ b/testing/cffi0/test_parsing.py
-@@ -174,7 +174,7 @@ def test_remove_line_continuation_comments():
- double // blah \\
- more comments
- x(void);
-- double // blah\\\\
-+ double // blah // blah\\\\
- y(void);
- double // blah\\ \
- etc
-@@ -185,6 +185,52 @@ def test_remove_line_continuation_comments():
- m.y
- m.z
-
-+def test_dont_remove_comment_in_line_directives():
-+ ffi = FFI(backend=FakeBackend())
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ \t # \t line \t 8 \t "baz.c" \t
-+
-+ some syntax error here
-+ """)
-+ assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax"
-+ #
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ #line 7 "foo//bar.c"
-+
-+ some syntax error here
-+ """)
-+ assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax"
-+
-+def test_multiple_line_directives():
-+ ffi = FFI(backend=FakeBackend())
-+ e = py.test.raises(CDefError, ffi.cdef,
-+ """ #line 5 "foo.c"
-+ extern int xx;
-+ #line 6 "bar.c"
-+ extern int yy;
-+ #line 7 "baz.c"
-+ some syntax error here
-+ #line 8 "yadda.c"
-+ extern int zz;
-+ """)
-+ assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax"
-+
-+def test_commented_line_directive():
-+ ffi = FFI(backend=FakeBackend())
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ /*
-+ #line 5 "foo.c"
-+ */
-+ void xx(void);
-+
-+ #line 6 "bar.c"
-+ /*
-+ #line 35 "foo.c"
-+ */
-+ some syntax error
-+ """)
-+ assert str(e.value) == "parse error\nbar.c:9:14: before: syntax"
-+
- def test_line_continuation_in_defines():
- ffi = FFI(backend=FakeBackend())
- ffi.cdef("""
---
-2.26.2
-
-From 31249d786c833d4960bbbf4e0d7f7bcaecf92d1f Mon Sep 17 00:00:00 2001
-From: Armin Rigo
-Date: Fri, 29 May 2020 10:27:40 +0200
-Subject: [PATCH] #454
-
-Second try with '# NUMBER' instead of '#line NUMBER', as gcc seems to output
----
- cffi/cparser.py | 8 +++----
- testing/cffi0/test_parsing.py | 41 +++++++++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+), 4 deletions(-)
-
-diff --git a/cffi/cparser.py b/cffi/cparser.py
-index d9784655..74830e91 100644
---- a/cffi/cparser.py
-+++ b/cffi/cparser.py
-@@ -29,7 +29,7 @@ _r_comment = re.compile(r"/\*.*?\*/|//([^\n\\]|\\.)*?$",
- _r_define = re.compile(r"^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)"
- r"\b((?:[^\n\\]|\\.)*?)$",
- re.DOTALL | re.MULTILINE)
--_r_line_directive = re.compile(r"^[ \t]*#[ \t]*line\b.*$", re.MULTILINE)
-+_r_line_directive = re.compile(r"^[ \t]*#[ \t]*(?:line|\d+)\b.*$", re.MULTILINE)
- _r_partial_enum = re.compile(r"=\s*\.\.\.\s*[,}]|\.\.\.\s*\}")
- _r_enum_dotdotdot = re.compile(r"__dotdotdot\d+__$")
- _r_partial_array = re.compile(r"\[\s*\.\.\.\s*\]")
-@@ -166,9 +166,9 @@ def _warn_for_non_extern_non_static_global_variable(decl):
-
- def _remove_line_directives(csource):
- # _r_line_directive matches whole lines, without the final \n, if they
-- # start with '#line' with some spacing allowed. This function stores
-- # them away and replaces them with exactly the string '#line@N', where
-- # N is the index in the list 'line_directives'.
-+ # start with '#line' with some spacing allowed, or '#NUMBER'. This
-+ # function stores them away and replaces them with exactly the string
-+ # '#line@N', where N is the index in the list 'line_directives'.
- line_directives = []
- def replace(m):
- i = len(line_directives)
-diff --git a/testing/cffi0/test_parsing.py b/testing/cffi0/test_parsing.py
-index 5f2d7ec4..a5e45874 100644
---- a/testing/cffi0/test_parsing.py
-+++ b/testing/cffi0/test_parsing.py
-@@ -199,6 +199,21 @@ def test_dont_remove_comment_in_line_directives():
-
- some syntax error here
- """)
-+ #
-+ assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax"
-+ ffi = FFI(backend=FakeBackend())
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ \t # \t 8 \t "baz.c" \t
-+
-+ some syntax error here
-+ """)
-+ assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax"
-+ #
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ # 7 "foo//bar.c"
-+
-+ some syntax error here
-+ """)
- assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax"
-
- def test_multiple_line_directives():
-@@ -214,6 +229,18 @@ def test_multiple_line_directives():
- extern int zz;
- """)
- assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax"
-+ #
-+ e = py.test.raises(CDefError, ffi.cdef,
-+ """ # 5 "foo.c"
-+ extern int xx;
-+ # 6 "bar.c"
-+ extern int yy;
-+ # 7 "baz.c"
-+ some syntax error here
-+ # 8 "yadda.c"
-+ extern int zz;
-+ """)
-+ assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax"
-
- def test_commented_line_directive():
- ffi = FFI(backend=FakeBackend())
-@@ -229,6 +256,20 @@ def test_commented_line_directive():
- */
- some syntax error
- """)
-+ #
-+ assert str(e.value) == "parse error\nbar.c:9:14: before: syntax"
-+ e = py.test.raises(CDefError, ffi.cdef, """
-+ /*
-+ # 5 "foo.c"
-+ */
-+ void xx(void);
-+
-+ # 6 "bar.c"
-+ /*
-+ # 35 "foo.c"
-+ */
-+ some syntax error
-+ """)
- assert str(e.value) == "parse error\nbar.c:9:14: before: syntax"
-
- def test_line_continuation_in_defines():
---
-2.26.2
-
diff --git a/dev-python/cffi-python2/metadata.xml b/dev-python/cffi-python2/metadata.xml
deleted file mode 100644
index 4d873fed8..000000000
--- a/dev-python/cffi-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
- cffi
-
-
diff --git a/dev-python/cryptography-python2/Manifest b/dev-python/cryptography-python2/Manifest
deleted file mode 100644
index fa467877c..000000000
--- a/dev-python/cryptography-python2/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST cryptography-2.9.tar.gz 517211 BLAKE2B 3889812dadce01f09c509f5bcdf26405fd1cd2de7064cdbf0f68338894cf65dfe0c6a607867db614b35ad11da4546af2371cf59836dbbbd3037db84241cf71ec SHA512 7db2846b901e42ddc4caa9851235e5a0894ef702d4c4692eb60fcae17bc4e7833782a8001679ea41b78f9273d7d68a4b85810248590e12ca33cfade3208e2849
-DIST cryptography_vectors-2.9.tar.gz 35140661 BLAKE2B 870245659f6a64566f823116d8b4ba017981eb41148e9dcde9cac372eb6703a7b4580040b487cd8773160d5bd989fa9d5bb1788ac550b28e76bde8c9f6cd56c7 SHA512 025ed48855f182b926e3eeb5dca1033eb7f43c419bd6ea71accfed38b4d9ef4cbbf5af60bc28a39e3d6723de2d4091bd226e30c0e572a2e0d43a95a12c1bb7a2
diff --git a/dev-python/cryptography-python2/cryptography-python2-2.9-r4.ebuild b/dev-python/cryptography-python2/cryptography-python2-2.9-r4.ebuild
deleted file mode 100644
index 4916e5a01..000000000
--- a/dev-python/cryptography-python2/cryptography-python2-2.9-r4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 flag-o-matic
-MY_PN=cryptography
-MY_P=$MY_PN-$PV
-
-VEC_P=cryptography_vectors-${PV}
-DESCRIPTION="Library providing cryptographic recipes and primitives"
-HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz
- test? ( mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz )"
-
-LICENSE="|| ( Apache-2.0 BSD )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="libressl idna test"
-RESTRICT="test"
-
-# the openssl 1.0.2l-r1 needs to be updated again :(
-# It'd theb be able to go into the || section again
-#=dev-libs/openssl-1.0.2l-r1:0
-# the following is the original section, disallowing bindist entirely
-#!libressl? ( >=dev-libs/openssl-1.0.2:0=[-bindist(-)] )
-RDEPEND="
- !dev-python/cryptography[python_targets_python2_7]
- !libressl? ( >=dev-libs/openssl-1.0.2o-r6:0= )
- libressl? ( >=dev-libs/libressl-2.8:0= )
- idna? ( >=dev-python/idna-2.1[${PYTHON_USEDEP}] )
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- >=dev-python/six-python2-1.4.1[${PYTHON_USEDEP}]
- dev-python/enum34[${PYTHON_USEDEP}]
- dev-python/ipaddress[${PYTHON_USEDEP}]
- >=dev-python/cffi-python2-1.8:=[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
-
-python_configure_all() {
- append-cflags $(test-flags-CC -pthread)
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/cryptography-python2/metadata.xml b/dev-python/cryptography-python2/metadata.xml
deleted file mode 100644
index a69b0450f..000000000
--- a/dev-python/cryptography-python2/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- cryptography
- pyca/cryptography
-
-
diff --git a/dev-python/cython-python2/Manifest b/dev-python/cython-python2/Manifest
deleted file mode 100644
index a5e084090..000000000
--- a/dev-python/cython-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cython-0.29.21.gh.tar.gz 2088511 BLAKE2B 7a4ddabb65a519d3c71454ac8417438a3a9c46b47489c18e7c7e82ffcb5d5f2f0c5246d0b364f8317d374c53f0c83844c73c7d2ef6b9f75f10707aaf2931ce41 SHA512 2c0c3e3fff07106eb98862f71cd5dec9ff29460cf9b9e4de74537ca5e033f7523989beb5fbdc14723beaf94a535976f75c803e791b87e017961d9694b8c37679
diff --git a/dev-python/cython-python2/cython-python2-0.29.21-r3.ebuild b/dev-python/cython-python2/cython-python2-0.29.21-r3.ebuild
deleted file mode 100644
index 2fc03ee16..000000000
--- a/dev-python/cython-python2/cython-python2-0.29.21-r3.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 toolchain-funcs elisp-common
-
-MY_PN=cython
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="https://cython.org https://pypi.org/project/Cython/
- https://github.com/cython/cython"
-SRC_URI="https://github.com/cython/cython/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="emacs"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/cython[python_targets_python2_7]
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-BDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- ${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/cython-0.29.14-sphinx-update.patch"
-)
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-SITEFILE=50cython-gentoo.el
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils2_python_compile
-}
-
-python_compile_all() {
- use emacs && elisp-compile Tools/cython-mode.el
-}
-
-python_test() {
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils2_python_install_all
-
- if use emacs; then
- elisp-install ${PN} Tools/cython-mode.*
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- fi
- rm -r ${D}/usr/share
- rm -r ${D}/usr/bin
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-python/cython-python2/files/50cython-gentoo.el b/dev-python/cython-python2/files/50cython-gentoo.el
deleted file mode 100644
index e6dcc6a6d..000000000
--- a/dev-python/cython-python2/files/50cython-gentoo.el
+++ /dev/null
@@ -1,11 +0,0 @@
-;;; site-lisp configuration for cython-mode
-
-(add-to-list 'load-path "@SITELISP@")
-
-(autoload 'cython-mode "cython-mode" "Major mode for editing Cython files" t)
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pyx\\'" . cython-mode))
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pxd\\'" . cython-mode))
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pxi\\'" . cython-mode))
diff --git a/dev-python/cython-python2/files/cython-0.29.14-sphinx-update.patch b/dev-python/cython-python2/files/cython-0.29.14-sphinx-update.patch
deleted file mode 100644
index 3f426754f..000000000
--- a/dev-python/cython-python2/files/cython-0.29.14-sphinx-update.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/docs/conf.py b/docs/conf.py
-index 10662e28c..a84e0b928 100644
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -41,7 +41,7 @@ highlight_language = 'cython'
- extensions = [
- 'ipython_console_highlighting',
- 'cython_highlighting',
-- 'sphinx.ext.pngmath',
-+ 'sphinx.ext.imgmath',
- 'sphinx.ext.todo',
- 'sphinx.ext.intersphinx',
- 'sphinx.ext.autodoc'
diff --git a/dev-python/cython-python2/files/cython-0.29.21-spawn-multiprocessing.patch b/dev-python/cython-python2/files/cython-0.29.21-spawn-multiprocessing.patch
deleted file mode 100644
index 0aa7212b9..000000000
--- a/dev-python/cython-python2/files/cython-0.29.21-spawn-multiprocessing.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Needed to prevent a loop while calling cythonize on macOS - or any platform
-defaulting to the 'spawn' method, as Python 3.8 does on Darwin.
-
-https://github.com/cython/cython/pull/3263
-From 15ae78bb74a856836dd64828326f4f0812d36520 Mon Sep 17 00:00:00 2001
-From: Marcel Bargull
-Date: Fri, 6 Dec 2019 18:21:19 +0100
-Subject: [PATCH] Disable parallel cythonization for "spawn" start method.
-
----
- Cython/Build/Dependencies.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Cython/Build/Dependencies.py b/Cython/Build/Dependencies.py
-index 593e00a6ef..f9b9c15bc5 100644
---- a/Cython/Build/Dependencies.py
-+++ b/Cython/Build/Dependencies.py
-@@ -1073,6 +1073,11 @@ def copy_to_build_dir(filepath, root=os.getcwd()):
-
- if N <= 1:
- nthreads = 0
-+ if nthreads:
-+ import multiprocessing
-+ if multiprocessing.get_start_method() == 'spawn':
-+ print('Disabling parallel cythonization for "spawn" process start method.')
-+ nthreads = 0
- if nthreads:
- import multiprocessing
- pool = multiprocessing.Pool(
diff --git a/dev-python/cython-python2/metadata.xml b/dev-python/cython-python2/metadata.xml
deleted file mode 100644
index e9decf14f..000000000
--- a/dev-python/cython-python2/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
- Cython is a language that makes writing C extensions for the Python
- language as easy as Python itself. It's based on Pyrex, but supports
- more cutting edge functionality and optimizations.
-
-
- Cython
- cython/cython
-
-
diff --git a/dev-python/dbus-python2/Manifest b/dev-python/dbus-python2/Manifest
deleted file mode 100644
index 40ba4cdce..000000000
--- a/dev-python/dbus-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dbus-python-1.2.16.tar.gz 576701 BLAKE2B 58d9f9ea092cd3a6b872c084a6159baf03f1aab615282e161a0e3da1d01ff5f4940862e693d21907b0c146d285b9067386759a1306ae2e6907f5e2ff4ef9944d SHA512 e76c00c5fd3fe6884e4c24f258987fd3b80d21bd4e0f96aa8fda152078a860b62321324f6efcbfe7226d5ab2521a14b5bda7cf2468d2cae5f376c124a71aa05c
diff --git a/dev-python/dbus-python2/dbus-python2-1.2.16-r2.ebuild b/dev-python/dbus-python2/dbus-python2-1.2.16-r2.ebuild
deleted file mode 100644
index ad249c972..000000000
--- a/dev-python/dbus-python2/dbus-python2-1.2.16-r2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit autotools python2
-MY_PN=dbus-python
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Python bindings for the D-Bus messagebus"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/DBusBindings https://dbus.freedesktop.org/doc/dbus-python/"
-SRC_URI="https://dbus.freedesktop.org/releases/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-
-IUSE="examples"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-RDEPEND="${PYTHON_DEPS}
- !dev-python/dbus-python[python_targets_python2_7]
- >=sys-apps/dbus-1.8:=
- >=dev-libs/glib-2.40
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- virtual/pkgconfig
-"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- default
- # Update py-compile, bug 529502.
- eautoreconf
- python_copy_sources
-}
-
-src_configure() {
- local SPHINX_IMPL=${EPYTHON}
-
- configuring() {
- local myconf=(
- --disable-documentation
- )
- [[ ${EPYTHON} == ${SPHINX_IMPL} ]] &&
- myconf+=( --enable-documentation )
-
- econf "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir configuring
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_test() {
- unset DBUS_SESSION_BUS_ADDRESS
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- python_foreach_impl run_in_build_dir default
- find "${D}" -name '*.la' -type f -delete || die
- rm -r ${D}/usr/share
- rm -r ${D}/usr/include
- rm -r ${D}/usr/lib*/pkgconfig
-}
diff --git a/dev-python/dbus-python2/metadata.xml b/dev-python/dbus-python2/metadata.xml
deleted file mode 100644
index 5626aca08..000000000
--- a/dev-python/dbus-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- python@gentoo.org
- Python
-
-
diff --git a/dev-python/enum34/Manifest b/dev-python/enum34/Manifest
deleted file mode 100644
index 152bf25af..000000000
--- a/dev-python/enum34/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST enum34-1.1.6.tar.gz 40048 BLAKE2B 3960e78f27f3ebf70e9aac5c4ced87d974cc61e5d9afe5d787188e3e877eece18153036035187e4d7ad63bf2a54c1c393f0f46f5ef7bcc9b67658b4ea441bb7b SHA512 51652525adc37bd1af1d81933f965dba9c508838d9f759c80ca1392991515a29c2c0263264a4e175b37a6ba11dca68c354774e448b19ef1bdba96be5474d93ec
diff --git a/dev-python/enum34/enum34-1.1.6-r3.ebuild b/dev-python/enum34/enum34-1.1.6-r3.ebuild
deleted file mode 100644
index 0c98cd9f7..000000000
--- a/dev-python/enum34/enum34-1.1.6-r3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-DESCRIPTION="Python 3.4 Enum backported"
-HOMEPAGE="https://pypi.org/project/enum34/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc"
-
-DEPEND="dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-
-python_test() {
- "${PYTHON}" enum/test.py || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local DOCS=( enum/doc/. enum/README )
-
- distutils2_python_install_all
-}
diff --git a/dev-python/enum34/metadata.xml b/dev-python/enum34/metadata.xml
deleted file mode 100644
index a8225a5e2..000000000
--- a/dev-python/enum34/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
- enum34
- cpe:/a:python:enum34
-
-
diff --git a/dev-python/faulthandler-python2/Manifest b/dev-python/faulthandler-python2/Manifest
deleted file mode 100644
index 61405407f..000000000
--- a/dev-python/faulthandler-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST faulthandler-3.0.tar.gz 55577 BLAKE2B 8c4157393eb912d3f0e42ab6b942390a0ba2c068559ab8b66e6e3d961a2f7750f9cab000429feba46c0f9cc0a81ac2c8570d092ead1dcec8ea4e76e555cd1a8b SHA512 9e31682338e572e77e22a510637877c3e27440bc451854a898c5e58238d28a1bbf824cb2b44d1f1f11d8a4f491ddc299982a3d452eebec38bc2a03a824bac392
diff --git a/dev-python/faulthandler-python2/faulthandler-python2-3.0-r2.ebuild b/dev-python/faulthandler-python2/faulthandler-python2-3.0-r2.ebuild
deleted file mode 100644
index a58bac06e..000000000
--- a/dev-python/faulthandler-python2/faulthandler-python2-3.0-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=faulthandler
-MY_P=$MY_PN-$PV
-DESCRIPTION="functions to dump Python tracebacks explicitly (on fault, user signal, timeout)"
-HOMEPAGE="https://github.com/haypo/faulthandler https://pypi.org/project/faulthandler/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-RESTRICT="test"
-
-DEPEND="dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-RDEPEND="
- !dev-python/${MY_PN}[python_targets_python2_7]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/faulthandler-python2/metadata.xml b/dev-python/faulthandler-python2/metadata.xml
deleted file mode 100644
index f284f1fa6..000000000
--- a/dev-python/faulthandler-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- haypo/faulthandler
- faulthandler
-
-
diff --git a/dev-python/ipaddress/Manifest b/dev-python/ipaddress/Manifest
deleted file mode 100644
index 2c77b8c80..000000000
--- a/dev-python/ipaddress/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ipaddress-1.0.23.tar.gz 32958 BLAKE2B 96f8f3065aaa082c67c5468598e78bf928653588333f8f96c47aafea30c6aa5e3abf419f98e6388b9791a8f7e679f7fb31f36bb1d6a274a19b0e8ea434a8cbc1 SHA512 340e2a8698df1868038f55889671442eba17f06ec3f493759d8d0a9bf406eefbe1f67c14ca616f52e5bf2280942dcece7e89fb19de0923bee1ee20e60f48896e
diff --git a/dev-python/ipaddress/ipaddress-1.0.23-r2.ebuild b/dev-python/ipaddress/ipaddress-1.0.23-r2.ebuild
deleted file mode 100644
index 560072f82..000000000
--- a/dev-python/ipaddress/ipaddress-1.0.23-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-DESCRIPTION="IPv4/IPv6 manipulation library, backport of the ipaddress module"
-HOMEPAGE="https://github.com/phihag/ipaddress"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-BDEPEND="dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-
-python_prepare_all() {
- sed -i 's:unittest.main():unittest.main(verbosity=2):' \
- test_ipaddress.py || die
-
- distutils2_python_prepare_all
-}
-
-python_test() {
- "${PYTHON}" test_ipaddress.py || die
-}
diff --git a/dev-python/ipaddress/metadata.xml b/dev-python/ipaddress/metadata.xml
deleted file mode 100644
index 393ac430a..000000000
--- a/dev-python/ipaddress/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- prometheanfire@gentoo.org
- Matthew Thode
-
-
- python@gentoo.org
- Python
-
-
-
- ipaddress
- phihag/ipaddress
-
-
diff --git a/dev-python/lxml-python2/Manifest b/dev-python/lxml-python2/Manifest
deleted file mode 100644
index d8a2572ec..000000000
--- a/dev-python/lxml-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lxml-4.5.2.tar.gz 943480 BLAKE2B 11130d2507ff0d61637d7fef2f4b28c5fbbbfe8864504c8f3a231899be4db14e6be65edc6e780719686605663b0c5f76f161beb509dc58d16ee3a9158a7db59c SHA512 146dcb4414b7f0815c5930048d9dc89711bf0a3ee091c89f4475265cdd6f1690a20f82ec24a282a43cff8854f9b960f0cd4430cff79a7506d39ac1baf7770695
diff --git a/dev-python/lxml-python2/files/lxml-4.5.0-tests-pypy.patch b/dev-python/lxml-python2/files/lxml-4.5.0-tests-pypy.patch
deleted file mode 100644
index 5f8cad906..000000000
--- a/dev-python/lxml-python2/files/lxml-4.5.0-tests-pypy.patch
+++ /dev/null
@@ -1,434 +0,0 @@
-From 1804702b5e3c85c1a16014d62365a29d0a6d0c75 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?=
-Date: Thu, 30 Jan 2020 06:15:27 +0100
-Subject: [PATCH] Skip tests failing on PyPy
-
----
- src/lxml/tests/test_elementtree.py | 3 +-
- src/lxml/tests/test_errors.py | 3 +-
- src/lxml/tests/test_http_io.py | 3 +-
- src/lxml/tests/test_nsclasses.py | 3 +-
- src/lxml/tests/test_objectify.py | 41 +++++++++++++++++++++++++--
- src/lxml/tests/test_xpathevaluator.py | 7 +++--
- src/lxml/tests/test_xslt.py | 7 +++--
- 7 files changed, 56 insertions(+), 11 deletions(-)
-
-diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py
-index 78d8964d..f3f28044 100644
---- a/src/lxml/tests/test_elementtree.py
-+++ b/src/lxml/tests/test_elementtree.py
-@@ -26,7 +26,7 @@ from .common_imports import (
- BytesIO, etree, HelperTestCase,
- ElementTree, cElementTree, ET_VERSION, CET_VERSION,
- filter_by_version, fileInTestDir, canonicalize, tmpfile,
-- _str, _bytes, unicode, next, IS_PYTHON2
-+ _str, _bytes, unicode, next, IS_PYTHON2, IS_PYPY
- )
-
- if cElementTree is not None and (CET_VERSION <= (1,0,7) or sys.version_info[0] >= 3):
-@@ -2956,6 +2956,7 @@ class _ETreeTestCaseBase(HelperTestCase):
- self.assertEqual('TEST', root2[0].get('{%s}a' % ns_href))
-
- required_versions_ET['test_register_namespace'] = (1,3)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_register_namespace(self):
- # ET 1.3+
- Element = self.etree.Element
-diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
-index c0aee744..33111429 100644
---- a/src/lxml/tests/test_errors.py
-+++ b/src/lxml/tests/test_errors.py
-@@ -11,7 +11,7 @@ import unittest
- import sys, gc, os.path
- from lxml import etree
-
--from .common_imports import HelperTestCase
-+from .common_imports import HelperTestCase, IS_PYPY
-
-
- class ErrorTestCase(HelperTestCase):
-@@ -25,6 +25,7 @@ class ErrorTestCase(HelperTestCase):
- def test_empty_parse(self):
- self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_element_cyclic_gc_none(self):
- # test if cyclic reference can crash etree
- Element = self.etree.Element
-diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
-index f9eff39a..edf2bd81 100644
---- a/src/lxml/tests/test_http_io.py
-+++ b/src/lxml/tests/test_http_io.py
-@@ -11,10 +11,11 @@ import textwrap
- import sys
- import gzip
-
--from .common_imports import etree, HelperTestCase, BytesIO, _bytes
-+from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
- from .dummy_http_server import webserver, HTTPRequestCollector
-
-
-+@unittest.skipIf(IS_PYPY, "broken on pypy")
- class HttpIOTestCase(HelperTestCase):
- etree = etree
-
-diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
-index a0aa608d..5aa5dc48 100644
---- a/src/lxml/tests/test_nsclasses.py
-+++ b/src/lxml/tests/test_nsclasses.py
-@@ -9,7 +9,7 @@ from __future__ import absolute_import
-
- import unittest
-
--from .common_imports import etree, HelperTestCase, _bytes, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
-
- class ETreeNamespaceClassesTestCase(HelperTestCase):
-
-@@ -46,6 +46,7 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
- self.Namespace('ns02').clear()
- self.Namespace('ns03').clear()
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_ns_classes(self):
- bluff_dict = {'bluff' : self.bluff_class}
- maeh_dict = {'maeh' : self.maeh_class}
-diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
-index a12ae7e1..83ba4ced 100644
---- a/src/lxml/tests/test_objectify.py
-+++ b/src/lxml/tests/test_objectify.py
-@@ -9,7 +9,8 @@ from __future__ import absolute_import
- import unittest, operator
-
- from .common_imports import (
-- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
-+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
-+ IS_PYPY
- )
-
- from lxml import objectify
-@@ -213,11 +214,13 @@ class ObjectifyTestCase(HelperTestCase):
- expected.update(DEFAULT_NSMAP)
- self.assertEqual(root.value.nsmap, expected)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_date_element_efactory_text(self):
- # ObjectifiedDataElement can also be used as E-Factory
- value = objectify.ObjectifiedDataElement('test', 'toast')
- self.assertEqual(value.text, 'testtoast')
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_date_element_efactory_tail(self):
- # ObjectifiedDataElement can also be used as E-Factory
- value = objectify.ObjectifiedElement(objectify.ObjectifiedDataElement(), 'test', 'toast')
-@@ -374,6 +377,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual("4", getattr(root.c1, "{}c2").text)
- self.assertEqual("0", getattr(root.c1, "c2").text)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_setattr(self):
- for val in [
- 2, 2**32, 1.2, "Won't get fooled again",
-@@ -809,6 +813,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(3, len(root.findall(".//b")))
- self.assertEqual(2, len(root.findall("b")))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_build_tree(self):
- root = self.Element('root')
- root.a = 5
-@@ -838,6 +843,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(value, None)
- self.assertEqual(value.get(XML_SCHEMA_NIL_ATTR), "true")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -871,6 +877,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.BoolElement))
- self.assertEqual(value, False)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -878,6 +885,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "test"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_intliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -885,6 +893,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "3"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_floatliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -892,6 +901,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "3.72"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mul(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -904,6 +914,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertRaises(TypeError, operator.mul, root.s, "honk")
- self.assertRaises(TypeError, operator.mul, "honk", root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_add(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -914,6 +925,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual("test" + s, root.s + s)
- self.assertEqual(s + "test", s + root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mod(self):
- s = "%d %f %s %r"
- el = objectify.DataElement(s)
-@@ -979,6 +991,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.StringElement))
- self.assertEqual(value, "3.20")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -986,6 +999,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("test")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_intliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -993,6 +1007,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("3")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_floatliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1000,6 +1015,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("3.72")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_mul(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1012,6 +1028,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertRaises(TypeError, operator.mul, root.s, _str("honk"))
- self.assertRaises(TypeError, operator.mul, _str("honk"), root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_add(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1037,6 +1054,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.StringElement))
- self.assertEqual(value, _str("3.20"))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int(self):
- Element = self.Element
- root = Element("{objectified}root")
-@@ -1053,6 +1071,7 @@ class ObjectifyTestCase(HelperTestCase):
- value = objectify.DataElement(123)
- self.assertEqual(hash(value), hash(123))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1069,6 +1088,7 @@ class ObjectifyTestCase(HelperTestCase):
- value = objectify.DataElement(5.5)
- self.assertEqual(hash(value), hash(5.5))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision(self):
- # test not losing precision by shortened float str() value
- # repr(2.305064300557): '2.305064300557'
-@@ -1088,6 +1108,7 @@ class ObjectifyTestCase(HelperTestCase):
- s = "2.305064300557"
- self.assertEqual(objectify.FloatElement(s), float(s))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision_consistency(self):
- # test consistent FloatElement values for the different instantiation
- # possibilities
-@@ -1169,6 +1190,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(value.text, None)
- self.assertEqual(value.pyval, None)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_unregistered(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1331,6 +1353,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(["why", "try"],
- strs)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_cmp(self):
- XML = self.XML
- root = XML(_bytes('testtaste'))
-@@ -1358,6 +1381,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(root.b, "")
- self.assertEqual("", root.b)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int_cmp(self):
- XML = self.XML
- root = XML(_bytes('56'))
-@@ -1380,6 +1404,7 @@ class ObjectifyTestCase(HelperTestCase):
-
- # float + long share the NumberElement implementation with int
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool_cmp(self):
- XML = self.XML
- root = XML(_bytes('falsetrue'))
-@@ -2049,6 +2074,7 @@ class ObjectifyTestCase(HelperTestCase):
- before = [objectify.getRegisteredTypes()[0].name],
- after = [objectify.getRegisteredTypes()[1].name])
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_registered_type_stringify(self):
- from datetime import datetime
- def parse_date(value):
-@@ -2519,46 +2545,55 @@ class ObjectifyTestCase(HelperTestCase):
-
- # E-Factory tests, need to use sub-elements as root element is always
- # type-looked-up as ObjectifiedElement (no annotations)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_int(self):
- E = objectify.E
- root = E.root(E.val(23))
- self.assertTrue(isinstance(root.val, objectify.IntElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_float(self):
- E = objectify.E
- root = E.root(E.val(233.23))
- self.assertTrue(isinstance(root.val, objectify.FloatElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_str(self):
- E = objectify.E
- root = E.root(E.val("what?"))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_unicode(self):
- E = objectify.E
- root = E.root(E.val(_str("blöödy häll", encoding="ISO-8859-1")))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_bool(self):
- E = objectify.E
- root = E.root(E.val(True))
- self.assertTrue(isinstance(root.val, objectify.BoolElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_none(self):
- E = objectify.E
- root = E.root(E.val(None))
- self.assertTrue(isinstance(root.val, objectify.NoneElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_value_concatenation(self):
- E = objectify.E
- root = E.root(E.val(1, "foo", 2.0, "bar ", True, None))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_attrib(self):
- E = objectify.E
- root = E.root(foo="bar")
- self.assertEqual(root.get("foo"), "bar")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_nested(self):
- E = objectify.E
- DataElement = objectify.DataElement
-@@ -2573,6 +2608,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(root.value[0], objectify.IntElement))
- self.assertTrue(isinstance(root.value[1], objectify.FloatElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_subtype(self):
- class Attribute(objectify.ObjectifiedDataElement):
- def __init__(self):
-@@ -2674,7 +2710,8 @@ def test_suite():
- suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ObjectifyTestCase)])
- suite.addTests(doctest.DocTestSuite(objectify))
-- suite.addTests([make_doctest('../../../doc/objectify.txt')])
-+ if not IS_PYPY:
-+ suite.addTests([make_doctest('../../../doc/objectify.txt')])
- return suite
-
- if __name__ == '__main__':
-diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
-index 13ee97ec..6d162c6d 100644
---- a/src/lxml/tests/test_xpathevaluator.py
-+++ b/src/lxml/tests/test_xpathevaluator.py
-@@ -8,7 +8,7 @@ from __future__ import absolute_import
-
- import unittest, sys
-
--from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest, IS_PYPY
-
-
- class ETreeXPathTestCase(HelperTestCase):
-@@ -740,8 +740,9 @@ def test_suite():
- suite.addTests([unittest.makeSuite(ETreeXPathExsltTestCase)])
- suite.addTests([unittest.makeSuite(ETreeETXPathClassTestCase)])
- suite.addTests([doctest.DocTestSuite()])
-- suite.addTests(
-- [make_doctest('../../../doc/xpathxslt.txt')])
-+ if not IS_PYPY:
-+ suite.addTests(
-+ [make_doctest('../../../doc/xpathxslt.txt')])
- return suite
-
- if __name__ == '__main__':
-diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py
-index cde23357..41f8d78b 100644
---- a/src/lxml/tests/test_xslt.py
-+++ b/src/lxml/tests/test_xslt.py
-@@ -17,6 +17,8 @@ from textwrap import dedent
- from tempfile import NamedTemporaryFile, mkdtemp
-
- is_python3 = sys.version_info[0] >= 3
-+is_pypy = (getattr(sys, 'implementation', None) == 'pypy' or
-+ getattr(sys, 'pypy_version_info', None) is not None)
-
- try:
- unicode
-@@ -2085,8 +2087,9 @@ def test_suite():
- suite.addTests([unittest.makeSuite(Py3XSLTTestCase)])
- suite.addTests(
- [make_doctest('../../../doc/extensions.txt')])
-- suite.addTests(
-- [make_doctest('../../../doc/xpathxslt.txt')])
-+ if not is_pypy:
-+ suite.addTests(
-+ [make_doctest('../../../doc/xpathxslt.txt')])
- return suite
-
- if __name__ == '__main__':
---
-2.25.0
-
diff --git a/dev-python/lxml-python2/lxml-python2-4.5.2-r3.ebuild b/dev-python/lxml-python2/lxml-python2-4.5.2-r3.ebuild
deleted file mode 100644
index d8d293893..000000000
--- a/dev-python/lxml-python2/lxml-python2-4.5.2-r3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 optfeature toolchain-funcs
-MY_PN=lxml
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
-SRC_URI="https://github.com/lxml/lxml/archive/${MY_P}.tar.gz"
-S=${WORKDIR}/lxml-${MY_P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="+threads"
-RESTRICT="test"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-RDEPEND="
- !dev-python/lxml[python_targets_python2_7]
- >=dev-libs/libxml2-2.9.5
- >=dev-libs/libxslt-1.1.28"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- dev-python/cython-python2[${PYTHON_USEDEP}]
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- "
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-PATCHES=(
- "${FILESDIR}"/${MY_PN}-4.5.0-tests-pypy.patch
-)
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils2_python_prepare_all
-}
-
-python_compile() {
- if ! python_is_python3; then
- local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
- fi
- tc-export PKG_CONFIG
- distutils2_python_compile
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/dev-python/lxml-python2/metadata.xml b/dev-python/lxml-python2/metadata.xml
deleted file mode 100644
index 89370cd5e..000000000
--- a/dev-python/lxml-python2/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- lxml
-
-
diff --git a/dev-python/m2crypto-python2/Manifest b/dev-python/m2crypto-python2/Manifest
deleted file mode 100644
index 7cd94be8b..000000000
--- a/dev-python/m2crypto-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST M2Crypto-0.36.0.tar.gz 1127584 BLAKE2B 5cdbbb11ff67d4ddffb2853a72383f3c7f1e1aa53ab84166aeda4fbea1b0d7f506761bb07bf8cb5b36f94bdbeb2ea2b46e0693da8355f81b4bf5c4c1c1cc18b1 SHA512 5b7d6d10c943ff0e09e0e9748d5578e7e0f7659a73de4ba49481152bca05871aef2bfbb869e1636a7cebcf2dd8b9f67fb0d299a833d1d4ebd538031c35d7bca1
diff --git a/dev-python/m2crypto-python2/files/m2crypto-libressl-0.31.0.patch b/dev-python/m2crypto-python2/files/m2crypto-libressl-0.31.0.patch
deleted file mode 100644
index 10ed142b3..000000000
--- a/dev-python/m2crypto-python2/files/m2crypto-libressl-0.31.0.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-From fa56170c7adf5f124a48cf1074390adfc697272c Mon Sep 17 00:00:00 2001
-From: Stefan Strogin
-Date: Wed, 9 Jan 2019 10:15:08 +0200
-Subject: [PATCH] Fix compilation with LibreSSL
-
----
- SWIG/_bio.i | 8 +++++---
- SWIG/_evp.i | 2 +-
- SWIG/_lib.i | 2 +-
- SWIG/_lib11_compat.i | 5 ++++-
- SWIG/_m2crypto_wrap.c | 11 ++++++++---
- SWIG/_ssl.i | 4 ++--
- SWIG/_threads.i | 10 +++++-----
- 7 files changed, 26 insertions(+), 16 deletions(-)
-
-diff --git a/SWIG/_bio.i b/SWIG/_bio.i
-index e85a275..8eada82 100644
---- a/SWIG/_bio.i
-+++ b/SWIG/_bio.i
-@@ -293,7 +293,7 @@ int bio_should_write(BIO* a) {
- }
-
- /* Macros for things not defined before 1.1.0 */
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- static BIO_METHOD *
- BIO_meth_new( int type, const char *name )
- {
-@@ -325,11 +325,13 @@ BIO_meth_free( BIO_METHOD *meth )
- #define BIO_set_shutdown(b, x) (b)->shutdown = x
- #define BIO_get_shutdown(b) (b)->shutdown
- #define BIO_set_init(b, x) b->init = x
--#define BIO_get_init(b) (b)->init
- #define BIO_set_data(b, x) b->ptr = x
- #define BIO_clear_flags(b, x) b->flags &= ~(x)
- #define BIO_get_data(b) b->ptr
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#define BIO_get_init(b) (b)->init
-+#endif
-
- /* implment custom BIO_s_pyfd */
-
-@@ -515,7 +517,7 @@ static long pyfd_ctrl(BIO *b, int cmd, long num, void *ptr) {
- }
-
- void pyfd_init(void) {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
- methods_fdp = BIO_meth_new(
- BIO_get_new_index()|BIO_TYPE_DESCRIPTOR|BIO_TYPE_SOURCE_SINK,
- "python file descriptor");
-diff --git a/SWIG/_evp.i b/SWIG/_evp.i
-index d04e806..6fa9b38 100644
---- a/SWIG/_evp.i
-+++ b/SWIG/_evp.i
-@@ -19,7 +19,7 @@ Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved.
- #include
- #include
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
-
- HMAC_CTX *HMAC_CTX_new(void) {
- HMAC_CTX *ret = PyMem_Malloc(sizeof(HMAC_CTX));
-diff --git a/SWIG/_lib.i b/SWIG/_lib.i
-index c84b800..807d5f6 100644
---- a/SWIG/_lib.i
-+++ b/SWIG/_lib.i
-@@ -512,7 +512,7 @@ int passphrase_callback(char *buf, int num, int v, void *arg) {
- %inline %{
-
- void lib_init() {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- SSLeay_add_all_algorithms();
- ERR_load_ERR_strings();
- #endif
-diff --git a/SWIG/_lib11_compat.i b/SWIG/_lib11_compat.i
-index 1ec42dd..4234004 100644
---- a/SWIG/_lib11_compat.i
-+++ b/SWIG/_lib11_compat.i
-@@ -8,7 +8,7 @@
- */
-
- %{
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-
- #include
- #include
-@@ -24,6 +24,9 @@ static void *CRYPTO_zalloc(size_t num, const char *file, int line)
- return ret;
- }
-
-+#endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
-+
- #include
-
- #ifndef BN_F_BN_GENCB_NEW
-diff --git a/SWIG/_m2crypto_wrap.c b/SWIG/_m2crypto_wrap.c
-index 0f07702..f168822 100644
---- a/SWIG/_m2crypto_wrap.c
-+++ b/SWIG/_m2crypto_wrap.c
-@@ -3838,7 +3838,7 @@ void threading_cleanup(void) {
- #include
-
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-
- #include
- #include
-@@ -3854,6 +3854,9 @@ static void *CRYPTO_zalloc(size_t num, const char *file, int line)
- return ret;
- }
-
-+#endif
-+#ifdef OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
-+
- #include
-
- #ifndef BN_F_BN_GENCB_NEW
-@@ -5315,7 +5318,7 @@ int bio_should_write(BIO* a) {
- }
-
- /* Macros for things not defined before 1.1.0 */
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- static BIO_METHOD *
- BIO_meth_new( int type, const char *name )
- {
-@@ -5347,11 +5350,13 @@ BIO_meth_free( BIO_METHOD *meth )
- #define BIO_set_shutdown(b, x) (b)->shutdown = x
- #define BIO_get_shutdown(b) (b)->shutdown
- #define BIO_set_init(b, x) b->init = x
--#define BIO_get_init(b) (b)->init
- #define BIO_set_data(b, x) b->ptr = x
- #define BIO_clear_flags(b, x) b->flags &= ~(x)
- #define BIO_get_data(b) b->ptr
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#define BIO_get_init(b) (b)->init
-+#endif
-
- /* implment custom BIO_s_pyfd */
-
-diff --git a/SWIG/_ssl.i b/SWIG/_ssl.i
-index 7257656..40b0582 100644
---- a/SWIG/_ssl.i
-+++ b/SWIG/_ssl.i
-@@ -27,7 +27,7 @@ typedef unsigned __int64 uint64_t;
- #endif
- %}
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100005L
-+#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100005L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
- %include
- #endif
-
-@@ -261,7 +261,7 @@ void ssl_init(PyObject *ssl_err, PyObject *ssl_timeout_err) {
- }
-
- const SSL_METHOD *tlsv1_method(void) {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if (!defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
- PyErr_WarnEx(PyExc_DeprecationWarning,
- "Function TLSv1_method has been deprecated.", 1);
- #endif
-diff --git a/SWIG/_threads.i b/SWIG/_threads.i
-index 69adb9f..fd2285a 100644
---- a/SWIG/_threads.i
-+++ b/SWIG/_threads.i
-@@ -5,7 +5,7 @@
- #include
- #include
-
--#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if defined(THREADING) && (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
- #define CRYPTO_num_locks() (CRYPTO_NUM_LOCKS)
- static PyThread_type_lock lock_cs[CRYPTO_num_locks()];
- static long lock_count[CRYPTO_num_locks()];
-@@ -13,7 +13,7 @@ static int thread_mode = 0;
- #endif
-
- void threading_locking_callback(int mode, int type, const char *file, int line) {
--#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if defined(THREADING) && (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
- if (mode & CRYPTO_LOCK) {
- PyThread_acquire_lock(lock_cs[type], WAIT_LOCK);
- lock_count[type]++;
-@@ -25,7 +25,7 @@ void threading_locking_callback(int mode, int type, const char *file, int line)
- }
-
- unsigned long threading_id_callback(void) {
--#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if defined(THREADING) && (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
- return (unsigned long)PyThread_get_thread_ident();
- #else
- return (unsigned long)0;
-@@ -35,7 +35,7 @@ unsigned long threading_id_callback(void) {
-
- %inline %{
- void threading_init(void) {
--#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if defined(THREADING) && (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL))
- int i;
- if (!thread_mode) {
- for (i=0; i=dev-lang/swig-2.0.9
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}/m2crypto-libressl-0.31.0.patch"
-)
-
-swig_define() {
- local x
- for x; do
- if tc-cpp-is-true "defined(${x})"; then
- SWIG_FEATURES+=" -D${x}"
- fi
- done
-}
-
-src_prepare() {
- # TODO
- sed -e 's:test_server_simple_timeouts:_&:' \
- -i tests/test_ssl.py || die
- distutils2_src_prepare
-}
-
-python_compile() {
- # setup.py looks at platform.machine() to determine swig options.
- # For exotic ABIs, we need to give swig a hint.
- local -x SWIG_FEATURES=
-
- # https://bugs.gentoo.org/617946
- swig_define __ILP32__
-
- # https://bugs.gentoo.org/674112
- swig_define __ARM_PCS_VFP
-
- distutils2_python_compile --openssl="${ESYSROOT}"/usr
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/m2crypto-python2/metadata.xml b/dev-python/m2crypto-python2/metadata.xml
deleted file mode 100644
index ed108183e..000000000
--- a/dev-python/m2crypto-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
- M2Crypto
- m2crypto/m2crypto
-
-
diff --git a/dev-python/numpy-python2/Manifest b/dev-python/numpy-python2/Manifest
deleted file mode 100644
index f76bbff74..000000000
--- a/dev-python/numpy-python2/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST numpy-1.16.6.zip 5143340 BLAKE2B 2c31473551aaf00e7d3175ce37463ce0f14ff3e77bdeb71c9f85ede634880e014d4a941b1f1c1bb107f1b01217d6a68cc71d188b7ae3edf833a6fd6a9a746acb SHA512 c219841cc804c194a38b8e046b83265b8b7a35be8f33d68561ef17b085465dd11bd1e84fe1baea809af0efb09a9b13283f13728d125fcdd2221c30ec23fd0a50
-DIST numpy-html-1.16.6.zip 12190671 BLAKE2B c24586a40bb05fdb2f2f092778e01f7c60b17d2c695d0fb8577e988778ad80b711edf7e067a20c699946344a50febc152ab586f4653b80bcbeb489650dafbd1b SHA512 ad25e7b91b992af78a6748f12d6fcbe153d96cb8667d5dc4a6b6b2a6105e24a11c32cbf63dd3314ed4aa9b65a55ec5b3a51cd7763af5dfdd133510ddd6e4ed16
-DIST numpy-ref-1.16.6.pdf 5183393 BLAKE2B e92a8a7a32ab45d2fdfd6760e62d8d9b5b3f89e202a29e18ef1b6ce49ec56bbfea0e48e0c47b4c35cad02783fa1db33726a0f4fed4a50b0d8ed84babced8b79e SHA512 66dbb684f4140874d19826b479c781e16e7992a7cec46137f785f9a8fa071911966fbb3932cbcdcd040bbb5fbefac8c96d511ef623a57fc268aac9331aae8d22
-DIST numpy-user-1.16.6.pdf 621980 BLAKE2B ec735ff7057935d3a7f33f291792b74618f5dc10ee091c434f49c77e58f683821af9cce46286564ac9b8cb0111498f9d1b657d0c343e0a4313c3f895982dca8b SHA512 ff03719c91707a39b4bc388558838f72d4412f34dd0b07f2a0b2cf8fedac6811e8789985013cf1f23c7a650f115655f71e9cadc51ef4e7ae6e49d7552752409a
diff --git a/dev-python/numpy-python2/files/numpy-1.15.4-no-hardcode-blas.patch b/dev-python/numpy-python2/files/numpy-1.15.4-no-hardcode-blas.patch
deleted file mode 100644
index 979b56bd6..000000000
--- a/dev-python/numpy-python2/files/numpy-1.15.4-no-hardcode-blas.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 65d7de316..a85640d30 100644
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -364,29 +364,7 @@ def get_info(name, notfound_action=0):
- 1 - display warning message
- 2 - raise error
- """
-- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
-- 'atlas_threads': atlas_threads_info, # ditto
-- 'atlas_blas': atlas_blas_info,
-- 'atlas_blas_threads': atlas_blas_threads_info,
-- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
-- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
-- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
-- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
-- 'atlas_3_10_blas': atlas_3_10_blas_info,
-- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
-- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
-- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
-- 'mkl': mkl_info,
-- # openblas which may or may not have embedded lapack
-- 'openblas': openblas_info, # use blas_opt instead
-- # openblas with embedded lapack
-- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
-- 'openblas_clapack': openblas_clapack_info, # use blas_opt instead
-- 'blis': blis_info, # use blas_opt instead
-- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
-- 'blas_mkl': blas_mkl_info, # use blas_opt instead
-- 'accelerate': accelerate_info, # use blas_opt instead
-- 'x11': x11_info,
-+ cl = {'x11': x11_info,
- 'fft_opt': fft_opt_info,
- 'fftw': fftw_info,
- 'fftw2': fftw2_info,
-@@ -731,10 +709,7 @@ class system_info(object):
- return [b for b in [a.strip() for a in libs.split(',')] if b]
-
- def get_libraries(self, key='libraries'):
-- if hasattr(self, '_lib_names'):
-- return self.get_libs(key, default=self._lib_names)
-- else:
-- return self.get_libs(key, '')
-+ return self.get_libs(key, '')
-
- def library_extensions(self):
- c = customized_ccompiler()
-@@ -1685,7 +1660,7 @@ class blas_info(system_info):
- lib = self.has_cblas(info)
- if lib is not None:
- info['language'] = 'c'
-- info['libraries'] = [lib]
-+ info['libraries'] = lib
- info['define_macros'] = [('HAVE_CBLAS', None)]
- self.set_info(**info)
-
-@@ -1717,16 +1692,16 @@ class blas_info(system_info):
- # check for cblas lib, and if not present check for blas lib.
- try:
- c.link_executable(obj, os.path.join(tmpdir, "a.out"),
-- libraries=["cblas"],
-+ libraries=info["libraries"],
- library_dirs=info['library_dirs'],
- extra_postargs=info.get('extra_link_args', []))
-- res = "cblas"
-+ res = info["libraries"]
- except distutils.ccompiler.LinkError:
- c.link_executable(obj, os.path.join(tmpdir, "a.out"),
- libraries=["blas"],
- library_dirs=info['library_dirs'],
- extra_postargs=info.get('extra_link_args', []))
-- res = "blas"
-+ res = ["blas"]
- except distutils.ccompiler.CompileError:
- res = None
- finally:
diff --git a/dev-python/numpy-python2/files/numpy-1.16.5-setup.py-install-skip-build-fails.patch b/dev-python/numpy-python2/files/numpy-1.16.5-setup.py-install-skip-build-fails.patch
deleted file mode 100644
index aa141de27..000000000
--- a/dev-python/numpy-python2/files/numpy-1.16.5-setup.py-install-skip-build-fails.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From b8e741c66f71071c3406e592e1537570731bcb35 Mon Sep 17 00:00:00 2001
-From: mattip
-Date: Sun, 26 May 2019 08:55:53 +0300
-Subject: [PATCH] BUG: setup.py install --skip-build fails
-
----
- numpy/distutils/command/install_clib.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/numpy/distutils/command/install_clib.py b/numpy/distutils/command/install_clib.py
-index 662aa00bda9..6a73f7e3308 100644
---- a/numpy/distutils/command/install_clib.py
-+++ b/numpy/distutils/command/install_clib.py
-@@ -19,6 +19,9 @@ def finalize_options(self):
-
- def run (self):
- build_clib_cmd = get_cmd("build_clib")
-+ if not build_clib_cmd.build_clib:
-+ # can happen if the user specified `--skip-build`
-+ build_clib_cmd.finalize_options()
- build_dir = build_clib_cmd.build_clib
-
- # We need the compiler to get the library name -> filename association
diff --git a/dev-python/numpy-python2/metadata.xml b/dev-python/numpy-python2/metadata.xml
deleted file mode 100644
index 02598282f..000000000
--- a/dev-python/numpy-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- sci@gentoo.org
- Gentoo Science Project
-
-
- python@gentoo.org
- Python
-
-
diff --git a/dev-python/numpy-python2/numpy-python2-1.16.6-r2.ebuild b/dev-python/numpy-python2/numpy-python2-1.16.6-r2.ebuild
deleted file mode 100644
index ac3d4b107..000000000
--- a/dev-python/numpy-python2/numpy-python2-1.16.6-r2.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 flag-o-matic fortran-2 multiprocessing toolchain-funcs
-
-MY_PN="numpy"
-DOC_PV="1.16.6"
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://www.numpy.org"
-SRC_URI="
- mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc lapack"
-RESTRICT="test"
-
-RDEPEND="
- !> site.cfg <<-EOF || die
- [blas]
- include_dirs = $(pc_incdir cblas):${incdir}
- library_dirs = $(pc_libdir cblas blas):${libdir}
- blas_libs = $(pc_libs cblas blas)
- [lapack]
- library_dirs = $(pc_libdir lapack):${libdir}
- lapack_libs = $(pc_libs lapack)
- EOF
- else
- export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
- fi
-
- export CC="$(tc-getCC) ${CFLAGS}"
-
- append-flags -fno-strict-aliasing
-
- # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
- # with the subtle difference that we don't want to break Darwin where
- # -shared is not a valid linker argument
- if [[ ${CHOST} != *-darwin* ]]; then
- append-ldflags -shared
- fi
-
- # only one fortran to link with:
- # linking with cblas and lapack library will force
- # autodetecting and linking to all available fortran compilers
- append-fflags -fPIC
- if use lapack; then
- NUMPY_FCONFIG="config_fc --noopt --noarch"
- # workaround bug 335908
- [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
- fi
-
- # don't version f2py, we will handle it.
- sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
-
- # disable fuzzed tests
- find numpy/*/tests -name '*.py' -exec sed -i \
- -e 's:def \(.*_fuzz\):def _\1:' {} + || die
- # very memory- and disk-hungry
- sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die
-
- distutils2_python_prepare_all
-}
-
-python_compile() {
- export MAKEOPTS=-j1 #660754
-
- local python_makeopts_jobs=""
- python_is_python3 || python_makeopts_jobs="-j $(makeopts_jobs)"
- distutils2_python_compile \
- ${python_makeopts_jobs} \
- ${NUMPY_FCONFIG}
-}
-
-python_install() {
- # https://github.com/numpy/numpy/issues/16005
- local mydistutilsargs=( build_src )
- distutils2_python_install ${NUMPY_FCONFIG}
- python_optimize
-}
-
-python_install_all() {
- local DOCS=( THANKS.txt )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${MY_PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils2_python_install_all
-}
diff --git a/dev-python/pexpect-python2/Manifest b/dev-python/pexpect-python2/Manifest
deleted file mode 100644
index 335b751b7..000000000
--- a/dev-python/pexpect-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pexpect-4.8.0.tar.gz 157037 BLAKE2B 742642bd6b9ec3f6cdfad054d4fd22db56b4a55b746d675c27a8cdf824ea749ec4589e296dffa08778195f3ccd20feb56bc0fd5212984396ea5aa0555c41ca96 SHA512 7447ae2d1e13be422c894a8fd51c5aaa788e37ea7f0c798c88b77afd401fb3631400a637077ccbb83c2e3876b0d0c5e1dbd5fdc9d3739d785b4d5ad7c0192580
diff --git a/dev-python/pexpect-python2/metadata.xml b/dev-python/pexpect-python2/metadata.xml
deleted file mode 100644
index 0b09967b2..000000000
--- a/dev-python/pexpect-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- pexpect
- pexpect/pexpect
-
-
diff --git a/dev-python/pexpect-python2/pexpect-python2-4.8.0-r2.ebuild b/dev-python/pexpect-python2/pexpect-python2-4.8.0-r2.ebuild
deleted file mode 100644
index a498b84c5..000000000
--- a/dev-python/pexpect-python2/pexpect-python2-4.8.0-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=pexpect
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Python module for spawning child apps and responding to expected patterns"
-HOMEPAGE="https://pexpect.readthedocs.io/ https://pypi.org/project/pexpect/ https://github.com/pexpect/pexpect/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="examples"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/pexpect[python_targets_python2_7]
- >=dev-python/ptyprocess-python2-0.5[${PYTHON_USEDEP}]"
-DEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install() {
- distutils2_python_install
- rm "${D}$(python_get_sitedir)/pexpect/_async.py" || die
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/ply-python2/Manifest b/dev-python/ply-python2/Manifest
deleted file mode 100644
index d81f6c1fe..000000000
--- a/dev-python/ply-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ply-3.11.tar.gz 159130 BLAKE2B 58c50b9dad445ad83a64aaa8174ed4602b36f5c8df33a7d62590a92388c4a21c9800599c1d4e4db6f02630e8dee4c8482611e26498e4aa8ccdb2cf3453ae1db4 SHA512 37e39a4f930874933223be58a3da7f259e155b75135f1edd47069b3b40e5e96af883ebf1c8a1bbd32f914a9e92cfc12e29fec05cf61b518f46c1d37421b20008
diff --git a/dev-python/ply-python2/files/3.6-picklefile-IOError.patch b/dev-python/ply-python2/files/3.6-picklefile-IOError.patch
deleted file mode 100644
index 85b39494a..000000000
--- a/dev-python/ply-python2/files/3.6-picklefile-IOError.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f50768b0b2176998675e728d84ac05f0eef19614 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert
-Date: Sun, 17 May 2015 12:14:16 -0400
-Subject: [PATCH] Catch/ignore IOError when opening picklefile for reading in
- yacc.yacc()
-
-Should resolve #66.
----
- ply/yacc.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/ply/yacc.py b/ply/yacc.py
-index eb02cc2..2835c90 100644
---- a/ply/yacc.py
-+++ b/ply/yacc.py
-@@ -3265,6 +3265,8 @@ def yacc(method='LALR', debug=yaccdebug, module=None, tabmodule=tab_module, star
- errorlog.warning(str(e))
- except ImportError:
- pass
-+ except IOError:
-+ pass
-
- if debuglog is None:
- if debug:
diff --git a/dev-python/ply-python2/metadata.xml b/dev-python/ply-python2/metadata.xml
deleted file mode 100644
index d8c3132d3..000000000
--- a/dev-python/ply-python2/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-PLY is a Python-only implementation of the popular compiler construction
-tools lex and yacc. The implementation borrows ideas from a number of
-previous efforts; most notably John Aycock's SPARK toolkit. However,
-the overall flavor of the implementation is more closely modeled after
-the C version of lex and yacc. The other significant feature of PLY is
-that it provides extensive input validation and error reporting--much
-more so than other Python parsing tools.
-
-
-PLYはLexとYaccの有名なコンパイラ・コンストラクション・ツールのPython言語実装です
-。この実装は以前の試みから幾つものアイディアを借りています。そのほとんどがJohn AycockのSPARKツールキットからです。しかしながら、実装の全体像はC言語によるLexとYaccにより近いモデルです。PLYの他の重要点は幅広い入力バリデーションとエラー報告を提供する点です。 -- その二点は他のPython言語パーサーより優れています。
-
-
- ply
-
-
diff --git a/dev-python/ply-python2/ply-python2-3.11-r2.ebuild b/dev-python/ply-python2/ply-python2-3.11-r2.ebuild
deleted file mode 100644
index ef66a19ed..000000000
--- a/dev-python/ply-python2/ply-python2-3.11-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=ply
-MY_P=$MY_PN-$PV
-DESCRIPTION="Python Lex-Yacc library"
-HOMEPAGE="http://www.dabeaz.com/ply/ https://pypi.org/project/ply/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$PV"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-
-PATCHES=( "${FILESDIR}/3.6-picklefile-IOError.patch" )
-
-RDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- !dev-python/ply[python_targets_python2_7]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/ptyprocess-python2/Manifest b/dev-python/ptyprocess-python2/Manifest
deleted file mode 100644
index cee8c8bb6..000000000
--- a/dev-python/ptyprocess-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ptyprocess-0.6.0.tar.gz 70115 BLAKE2B 02499e560c4df2f852d0951a9acfcb88a2bfe659592ead0304bb6a240e831fb093dd40a457714a8a91d1af70b5364b7af91d2c14c956d8a84d3eeec3eb2a9edf SHA512 b34b6bca977f09d1443b210e338e1300e12d6ef35857f9543b3a116ef3b500ad4844357a7a283321756f886af41bddb1f02b27bf200ef1e82a96fd9e431bed86
diff --git a/dev-python/ptyprocess-python2/metadata.xml b/dev-python/ptyprocess-python2/metadata.xml
deleted file mode 100644
index 1554089ce..000000000
--- a/dev-python/ptyprocess-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- ptyprocess
- pexpect/ptyprocess
-
-
diff --git a/dev-python/ptyprocess-python2/ptyprocess-python2-0.6.0-r2.ebuild b/dev-python/ptyprocess-python2/ptyprocess-python2-0.6.0-r2.ebuild
deleted file mode 100644
index 8725c050a..000000000
--- a/dev-python/ptyprocess-python2/ptyprocess-python2-0.6.0-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils2
-MY_PN=ptyprocess
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Run a subprocess in a pseudo terminal"
-HOMEPAGE="https://github.com/pexpect/ptyprocess"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- !dev-python/ptyprocess[python_targets_python2_7]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/py-smbpasswd/Manifest b/dev-python/py-smbpasswd/Manifest
deleted file mode 100644
index 0ec5b5411..000000000
--- a/dev-python/py-smbpasswd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST smbpasswd-1.0.2.tgz 13503 BLAKE2B b7c1409c7e28a70f43608d54b527096c990e02786eb30b1a99ff5a869acbf160c241ebdf8e725d32cf37210c8e7e3166f9cb7582336851c6f31257717de9b9b5 SHA512 2136e14343037bdd014765c28b9e152c8edc774ce7cf531b0784148db42e88e3abc402389e9b58b2ed938681f42715783504f4854ffe269b02419f13979a7d6c
diff --git a/dev-python/py-smbpasswd/metadata.xml b/dev-python/py-smbpasswd/metadata.xml
deleted file mode 100644
index 9e5274c5b..000000000
--- a/dev-python/py-smbpasswd/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
diff --git a/dev-python/py-smbpasswd/py-smbpasswd-1.0.2-r2.ebuild b/dev-python/py-smbpasswd/py-smbpasswd-1.0.2-r2.ebuild
deleted file mode 100644
index 06df7cea8..000000000
--- a/dev-python/py-smbpasswd/py-smbpasswd-1.0.2-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_P="${PN#py-}-${PV}"
-
-DESCRIPTION="Module capable of generating both LANMAN and NT password hashes, for e.g. Samba"
-HOMEPAGE="https://barryp.org/software/py-smbpasswd/"
-SRC_URI="https://barryp.org/static/media/software/download/${PN}/${PV}/${MY_P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ia64 ppc sparc x86"
-
-DEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyasn1-modules-python2/Manifest b/dev-python/pyasn1-modules-python2/Manifest
deleted file mode 100644
index c9a9bae71..000000000
--- a/dev-python/pyasn1-modules-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyasn1-modules-0.2.8.tar.gz 242864 BLAKE2B 22b6cc27d45d19d8e7f5b12c8aeff1fa379bd567fda6b1dc0fafd00c0f4367d32f21cd48cf3cba140f2f11ba7d258140e8014c8420300451ab1acff475d28da7 SHA512 fdfcaa065deffdd732deaa1fa30dec2fc4a90ffe15bd12de40636ce0212f447611096d2f4e652ed786b5c47544439e6a93721fabe121f3320f13965692a1ca5b
diff --git a/dev-python/pyasn1-modules-python2/metadata.xml b/dev-python/pyasn1-modules-python2/metadata.xml
deleted file mode 100644
index 8452f90ec..000000000
--- a/dev-python/pyasn1-modules-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- pyasn1-modules
- pyasn1
-
-
diff --git a/dev-python/pyasn1-modules-python2/pyasn1-modules-python2-0.2.8-r2.ebuild b/dev-python/pyasn1-modules-python2/pyasn1-modules-python2-0.2.8-r2.ebuild
deleted file mode 100644
index 509a92025..000000000
--- a/dev-python/pyasn1-modules-python2/pyasn1-modules-python2-0.2.8-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=pyasn1-modules
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="pyasn1 modules"
-HOMEPAGE="http://snmplabs.com/pyasn1/ https://github.com/etingof/pyasn1-modules/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- !dev-python/pyasn1-modules[python_targets_python2_7]
- >=dev-python/pyasn1-python2-0.4.6"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pyasn1-python2/Manifest b/dev-python/pyasn1-python2/Manifest
deleted file mode 100644
index 491c89541..000000000
--- a/dev-python/pyasn1-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyasn1-0.4.8.tar.gz 146820 BLAKE2B 5c00b47c2014e599d1aa2e14c3004b3688786c7afd160c85709d5a0f324166abb1d29ebbd9f3e13100166e7176710e4dc6e1b8fcf80db5f5bdaa202912f8a023 SHA512 e64e70b325c8067f87ace7c0673149e82fe564aa4b0fa146d29b43cb588ecd6e81b1b82803b8cfa7a17d3d0489b6d88b4af5afb3aa0052bf92e8a1769fe8f7b0
diff --git a/dev-python/pyasn1-python2/metadata.xml b/dev-python/pyasn1-python2/metadata.xml
deleted file mode 100644
index d0e251a6e..000000000
--- a/dev-python/pyasn1-python2/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- pyasn1
- pyasn1
- etingof/pyasn1
-
-
diff --git a/dev-python/pyasn1-python2/pyasn1-python2-0.4.8-r2.ebuild b/dev-python/pyasn1-python2/pyasn1-python2-0.4.8-r2.ebuild
deleted file mode 100644
index 217777bad..000000000
--- a/dev-python/pyasn1-python2/pyasn1-python2-0.4.8-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-MY_PN=pyasn1
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="ASN.1 library for Python"
-HOMEPAGE="http://snmplabs.com/pyasn1/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-RDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- !dev-python/pyasn1[python_targets_python2_7]
-"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pycairo-python2/Manifest b/dev-python/pycairo-python2/Manifest
deleted file mode 100644
index 131b894f4..000000000
--- a/dev-python/pycairo-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pycairo-1.18.2.tar.gz 200462 BLAKE2B 1f755dc90fe3ee50aa68273a0816752312f144831ff857709e1a4695a58646ffe6be518733480ed37231c213a11d4e5aaf8dfd1cfa68104873bc7d4192435b89 SHA512 279ea80413ba55d493d51455685da09afa1f5c45e2930c3fca3e417a8afe6645a0d8131201f79482de59e5ec56cfef62eac65ed88fe88866bfcc06503dcc59e0
diff --git a/dev-python/pycairo-python2/files/pycairo-1.19.1-py39.patch b/dev-python/pycairo-python2/files/pycairo-1.19.1-py39.patch
deleted file mode 100644
index 97b20227c..000000000
--- a/dev-python/pycairo-python2/files/pycairo-1.19.1-py39.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3ecf0a4060d6de3b92a77a393ece663455cf6add Mon Sep 17 00:00:00 2001
-From: Christoph Reiter
-Date: Sun, 10 May 2020 11:22:40 +0200
-Subject: [PATCH] tests: Fix syntax issue with Python 3.9
-
-https://bugs.python.org/issue40246
-
-I haven't actually tested with 3.9 yet, so this is just what I found
-with grep.
----
- tests/test_enums.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_enums.py b/tests/test_enums.py
-index 4bc2e3d..02756d0 100644
---- a/tests/test_enums.py
-+++ b/tests/test_enums.py
-@@ -79,7 +79,7 @@ def get_prefix(t):
- # special case..
- if name == "PathDataType":
- name = "Path"
-- return"_".join([s.upper() for s in re.findall('[A-Z][^A-Z]*', name)])
-+ return "_".join([s.upper() for s in re.findall('[A-Z][^A-Z]*', name)])
-
- for t in types_:
- for name in dir(t):
diff --git a/dev-python/pycairo-python2/metadata.xml b/dev-python/pycairo-python2/metadata.xml
deleted file mode 100644
index 0f3e9f1dd..000000000
--- a/dev-python/pycairo-python2/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
diff --git a/dev-python/pycairo-python2/pycairo-python2-1.18.2-r1.ebuild b/dev-python/pycairo-python2/pycairo-python2-1.18.2-r1.ebuild
deleted file mode 100644
index 2e0ae12c6..000000000
--- a/dev-python/pycairo-python2/pycairo-python2-1.18.2-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=pycairo
-MY_P=$MY_PN-$PV
-DESCRIPTION="Python bindings for the cairo library"
-HOMEPAGE="https://www.cairographics.org/pycairo/ https://github.com/pygobject/pycairo"
-SRC_URI="https://github.com/pygobject/${MY_PN}/releases/download/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE=""
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/${MY_PN}[python_targets_python2_7]
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- >=x11-libs/cairo-1.13.1[svg]
-"
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests setup.py
-
-python_install() {
- distutils2_python_install \
- install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
- rm -r ${D}/usr/lib*/pkgconfig
- rm -r ${D}/usr/include
-}
diff --git a/dev-python/pycparser-python2/Manifest b/dev-python/pycparser-python2/Manifest
deleted file mode 100644
index 5ec1265d1..000000000
--- a/dev-python/pycparser-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pycparser-2.20.tar.gz 161330 BLAKE2B 9a114e4b73e6c3c495bd78c393957146ec425eb5b15d72266cbf424f15e8d2e2e6402ef36d60a9dff41b393aab80fe1356befd25549517f398e129836a76b037 SHA512 ff0853c9f981b43b4f2e879350715c07b02cf9dab223d4980d8fe0a3138c98041b5f848a9355ae4f1cb45e7f137c03a88843008e18d77af9250e0d9c55f5ca1b
diff --git a/dev-python/pycparser-python2/metadata.xml b/dev-python/pycparser-python2/metadata.xml
deleted file mode 100644
index c70d9f1fc..000000000
--- a/dev-python/pycparser-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- pycparser
- eliben/pycparser
-
-
diff --git a/dev-python/pycparser-python2/pycparser-python2-2.20-r2.ebuild b/dev-python/pycparser-python2/pycparser-python2-2.20-r2.ebuild
deleted file mode 100644
index 5df9d9f3c..000000000
--- a/dev-python/pycparser-python2/pycparser-python2-2.20-r2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=pycparser
-MY_P=$MY_PN-$PV
-DESCRIPTION="C parser and AST generator written in Python"
-HOMEPAGE="https://github.com/eliben/pycparser"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-RDEPEND="
- !dev-python/${MY_PN}[python_targets_python2_7]
- dev-python/ply-python2:=[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-
-python_prepare_all() {
- # remove the original files to guarantee their regen
- rm pycparser/{c_ast,lextab,yacctab}.py || die
-
- # kill sys.path manipulations to force the tests to use built files
- sed -i -e '/sys\.path/d' tests/*.py || die
-
- distutils2_python_prepare_all
-}
-
-python_compile() {
- distutils2_python_compile
-
- # note: tables built by py3.5+ are incompatible with older versions
- # because of 100 group limit of 're' module -- just generate them
- # separately optimized for each target instead
- pushd "${BUILD_DIR}"/lib/pycparser > /dev/null || die
- "${PYTHON}" _build_tables.py || die
- popd > /dev/null || die
-}
-
-python_install() {
- distutils2_python_install
-
- # setup.py generates {c_ast,lextab,yacctab}.py with bytecode disabled.
- python_optimize
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pyinotify-python2/Manifest b/dev-python/pyinotify-python2/Manifest
deleted file mode 100644
index 080a2077f..000000000
--- a/dev-python/pyinotify-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyinotify-0.9.6.tar.gz 60998 BLAKE2B 7fb55cfe5b2c02682b5842d95859a58f218ab591a4eee689b707e804c6fe8cde4cc1fb3dfbf54a044ff743deefa0ee5551bc6e27ca4dda1c608218a6c24597b2 SHA512 b52de43293b06b32236e90b7c33fac061f3095cd7d4aecec89a099d56020db1a85440ab9dcc8b521238c001fc49a1f37d1b16d621bc1acab4d7273aebcaadbc5
diff --git a/dev-python/pyinotify-python2/metadata.xml b/dev-python/pyinotify-python2/metadata.xml
deleted file mode 100644
index f7724f180..000000000
--- a/dev-python/pyinotify-python2/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
diff --git a/dev-python/pyinotify-python2/pyinotify-python2-0.9.6-r2.ebuild b/dev-python/pyinotify-python2/pyinotify-python2-0.9.6-r2.ebuild
deleted file mode 100644
index babd73733..000000000
--- a/dev-python/pyinotify-python2/pyinotify-python2-0.9.6-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=pyinotify
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Python module used for monitoring filesystems events"
-HOMEPAGE="
- http://trac.dbzteam.org/pyinotify
- https://pypi.org/project/pyinotify/
- https://github.com/seb-m/pyinotify/"
-SRC_URI="http://seb.dbzteam.org/pub/pyinotify/releases/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/${MY_PN}[python_targets_python2_7]
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pymilter-python2/ChangeLog b/dev-python/pymilter-python2/ChangeLog
deleted file mode 100644
index 85c8bb179..000000000
--- a/dev-python/pymilter-python2/ChangeLog
+++ /dev/null
@@ -1,10 +0,0 @@
-# ChangeLog for dev-python/pymilter
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: $
-
-*pymilter-0.9.3 (20 May 2010)
-
- 20 May 2010; Mike Hiretsky (mhiretskiy)
- +pymilter-0.9.3.ebuild:
- Bump version.
-
diff --git a/dev-python/pymilter-python2/Manifest b/dev-python/pymilter-python2/Manifest
deleted file mode 100644
index 1394e2f90..000000000
--- a/dev-python/pymilter-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymilter-0.9.3.tar.gz 96362 BLAKE2B fbe5805277434e0bdaf875f9761c36bd460f6304d53d82843ae9245723b2c6c58bd14bfd117c4404650ac9dcb84190a2e400632b112655c0c14f73156dc25a68 SHA512 e43d28ffe6bf73aea8ad712e7aa9b2f5c75e322fab30c3a4da441323c32263c384e2f1205fc440ba8b119c52b83e6aba0c9d8fd5291cb57a20d07c904442955f
diff --git a/dev-python/pymilter-python2/pymilter-python2-0.9.3-r2.ebuild b/dev-python/pymilter-python2/pymilter-python2-0.9.3-r2.ebuild
deleted file mode 100644
index c04e2ce4c..000000000
--- a/dev-python/pymilter-python2/pymilter-python2-0.9.3-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-MY_PN=pymilter
-MY_P=$MY_PN-$PV
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-SRC_URI="http://downloads.sourceforge.net/project/${MY_PN}/${MY_PN}/${MY_P}/${MY_P}.tar.gz"
-
-DESCRIPTION="The package of Python milters that wraps the C libmilter library."
-HOMEPAGE="http://spidey2.bmsi.com/pymilter/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-DEPEND="
- !dev-python/pymilter[python_targets_python2_7]
- mail-filter/libmilter"
-RDEPEND="${DEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pyopengl-python2/Manifest b/dev-python/pyopengl-python2/Manifest
deleted file mode 100644
index a80860670..000000000
--- a/dev-python/pyopengl-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyOpenGL-3.1.0.tar.gz 1172688 BLAKE2B 9865a10e8b5d2756192077b4b079658c680b9f47bdaccb33285fb1942bc678b29f6a69359a1486ec023b1a73d714a7e0209b2f57776fe8b5e4a5e2d0803dba4f SHA512 f748017ab3734c7672c3fdbedcea80df297a91a78b111533e260feb0868ebb02935666c041f77db03841ee8f90057d9c53c53b00b097aae4cf67a52c7fc9c2eb
diff --git a/dev-python/pyopengl-python2/metadata.xml b/dev-python/pyopengl-python2/metadata.xml
deleted file mode 100644
index d7a43d08a..000000000
--- a/dev-python/pyopengl-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- PyOpenGL
- pyopengl
-
-
diff --git a/dev-python/pyopengl-python2/pyopengl-python2-3.1.0-r3.ebuild b/dev-python/pyopengl-python2/pyopengl-python2-3.1.0-r3.ebuild
deleted file mode 100644
index 38a5b82d4..000000000
--- a/dev-python/pyopengl-python2/pyopengl-python2-3.1.0-r3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-ORIG_PN=pyopengl
-MY_PN="PyOpenGL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="http://pyopengl.sourceforge.net/ https://pypi.org/project/PyOpenGL/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-# mirror://sourceforge/pyopengl/${MY_P}.tar.gz" # broken mirror for this release
-LICENSE="BSD"
-
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
-IUSE=""
-
-RDEPEND="
- !dev-python/${ORIG_PN}[python_targets_python2_7]
- media-libs/freeglut
- virtual/opengl
- x11-libs/libXi
- x11-libs/libXmu"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyopenssl-python2/Manifest b/dev-python/pyopenssl-python2/Manifest
deleted file mode 100644
index ea84bd5c3..000000000
--- a/dev-python/pyopenssl-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyOpenSSL-19.1.0.tar.gz 160510 BLAKE2B e6e39f860221a2696aa3fa32ac89ed48e34b18e4accc366a86264d943a15a1b00ba1a0d8349550d1775d25836aa5d214e1e3fe4ec0a9c0f6d5ab00cd9fede633 SHA512 4acd96f287d72eb11bd812697d28cd6eb6a96a4653248b65f967187830a6b17cc1254775a18a3405469f3d45abdae6f02d165f2f35f035f3174c2826fba82916
diff --git a/dev-python/pyopenssl-python2/metadata.xml b/dev-python/pyopenssl-python2/metadata.xml
deleted file mode 100644
index 8bf317b18..000000000
--- a/dev-python/pyopenssl-python2/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- pyOpenSSL
- pyopenssl
- pyopenssl
- cpe:/a:pyopenssl:pyopenssl
-
-
diff --git a/dev-python/pyopenssl-python2/pyopenssl-python2-19.1.0-r3.ebuild b/dev-python/pyopenssl-python2/pyopenssl-python2-19.1.0-r3.ebuild
deleted file mode 100644
index 078ce0d66..000000000
--- a/dev-python/pyopenssl-python2/pyopenssl-python2-19.1.0-r3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 flag-o-matic
-
-MY_PN=pyOpenSSL
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://pypi.org/project/pyOpenSSL/
- https://github.com/pyca/pyopenssl
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/pyopenssl[python_targets_python2_7]
- >=dev-python/six-python2-1.5.2[${PYTHON_USEDEP}]
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- dev-python/cryptography-python2"
-DEPEND="${RDEPEND}"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx_rtd_theme
-
-python_prepare_all() {
- # Requires network access
- sed -i -e 's/test_set_default_verify_paths/_&/' tests/test_ssl.py || die
- distutils2_python_prepare_all
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/python2-ldap/Manifest b/dev-python/python2-ldap/Manifest
deleted file mode 100644
index 055f928ce..000000000
--- a/dev-python/python2-ldap/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-ldap-3.2.0.tar.gz 367645 BLAKE2B 5109f4a13644d53fff7506ad2417da6dbfd5d1c5d31cc63932338ee0bc7327b00878804764366523fc0610191126c1a1367e15fddbad481880f73d29d96d3322 SHA512 ef2833739fd57ad26d97ae5dba3bca8a47e770ff3f113d06a5bed0841f8fcbbe6cd102e75c753dfff48f5f6041f46a91c6166f3bb9ca44ef9bd643c0666c6b23
diff --git a/dev-python/python2-ldap/python2-ldap-3.2.0-r2.ebuild b/dev-python/python2-ldap/python2-ldap-3.2.0-r2.ebuild
deleted file mode 100644
index 56d7cd4d7..000000000
--- a/dev-python/python2-ldap/python2-ldap-3.2.0-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=python-ldap
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Various LDAP-related Python modules"
-HOMEPAGE="https://www.python-ldap.org/en/latest/
- https://pypi.org/project/python-ldap/
- https://github.com/python-ldap/python-ldap"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/python-ldap/python-ldap.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-solaris"
-fi
-
-LICENSE="PSF-2"
-SLOT="0"
-IUSE="examples sasl ssl"
-
-# We do not need OpenSSL, it is never directly used:
-# https://github.com/python-ldap/python-ldap/issues/224
-RDEPEND="
- !dev-python/pyldap
- !dev-python/python-ldap[python_targets_python2_7]
- >=dev-python/pyasn1-python2-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-python2-0.1.5[${PYTHON_USEDEP}]
- >net-nds/openldap-2.4.11:=[sasl?,ssl?]
-"
-# We do not link against cyrus-sasl but we use some
-# of its headers during the build.
-BDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- >net-nds/openldap-2.4.11:=[sasl?,ssl?]
- sasl? ( >=dev-libs/cyrus-sasl-2.1 )
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-RESTRICT="test"
-
-python_prepare_all() {
- # The live ebuild won't compile if setuptools_scm < 1.16.2 is installed
- # https://github.com/pypa/setuptools_scm/issues/228
- if [[ ${PV} == *9999* ]]; then
- rm -r .git || die
- fi
-
- if ! use sasl; then
- sed -i 's/HAVE_SASL//g' setup.cfg || die
- fi
- if ! use ssl; then
- sed -i 's/HAVE_TLS//g' setup.cfg || die
- fi
-
- distutils2_python_prepare_all
-}
-
-python_install() {
- distutils2_python_install
- python_optimize
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pytz-python2/Manifest b/dev-python/pytz-python2/Manifest
deleted file mode 100644
index 851e4f603..000000000
--- a/dev-python/pytz-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytz-2020.1.tar.gz 311771 BLAKE2B 2d7dd9987fd912dd2a62b5c4ab1667a13f3704ff407796c00fd76b6f3ac4dfcffba9f58740f9456ddfade6c2ef6deacc754f57f5e434b97da36b36fca3024d0f SHA512 4f652ab400bac0bd83ed305be7540094e674029a0cbde7da280adfd911b8c0a44023799b7c61971a5a61a1d6e3992c5b621e5e95bbfe962f310d5f26d4fda3ce
diff --git a/dev-python/pytz-python2/files/2018.4-zoneinfo.patch b/dev-python/pytz-python2/files/2018.4-zoneinfo.patch
deleted file mode 100644
index 2eeeab416..000000000
--- a/dev-python/pytz-python2/files/2018.4-zoneinfo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/pytz/__init__.py
-+++ b/pytz/__init__.py
-@@ -91,8 +91,7 @@
- if zoneinfo_dir is not None:
- filename = os.path.join(zoneinfo_dir, *name_parts)
- else:
-- filename = os.path.join(os.path.dirname(__file__),
-- 'zoneinfo', *name_parts)
-+ filename = os.path.join('/usr/share/zoneinfo', *name_parts)
- if not os.path.exists(filename):
- # http://bugs.launchpad.net/bugs/383171 - we avoid using this
- # unless absolutely necessary to help when a broken version of
diff --git a/dev-python/pytz-python2/files/pytz-python2-2018.4-zoneinfo-noinstall.patch b/dev-python/pytz-python2/files/pytz-python2-2018.4-zoneinfo-noinstall.patch
deleted file mode 100644
index 9f8b93bf7..000000000
--- a/dev-python/pytz-python2/files/pytz-python2-2018.4-zoneinfo-noinstall.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -15,15 +15,8 @@
- memail = 'stuart@stuartbishop.net'
- packages = ['pytz']
- resources = ['zone.tab', 'locales/pytz.pot']
--for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
-- # remove the 'pytz' part of the path
-- basepath = dirpath.split(os.path.sep, 1)[1]
-- resources.extend([os.path.join(basepath, filename)
-- for filename in filenames])
- package_data = {'pytz': resources}
-
--assert len(resources) > 10, 'zoneinfo files not found!'
--
- setup(
- name='pytz',
- version=pytz.VERSION,
diff --git a/dev-python/pytz-python2/metadata.xml b/dev-python/pytz-python2/metadata.xml
deleted file mode 100644
index 1220511f5..000000000
--- a/dev-python/pytz-python2/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- pytz brings the Olson tz database into Python. This library allows
- accurate and cross platform timezone calculations using Python 2.3
- or higher. It also solves the issue of ambiguous times at the end of
- daylight savings, which you can read more about in the Python
- Library Reference (datetime.tzinfo).
- Amost all (over 540) of the Olson timezones are supported.
-
-
-
- pytz
-
-
diff --git a/dev-python/pytz-python2/pytz-python2-2020.1-r2.ebuild b/dev-python/pytz-python2/pytz-python2-2020.1-r2.ebuild
deleted file mode 100644
index bbafc8c80..000000000
--- a/dev-python/pytz-python2/pytz-python2-2020.1-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-MY_PN=pytz
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="https://pythonhosted.org/pytz/ https://pypi.org/project/pytz/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE=""
-
-RDEPEND="
- !dev-python/pytz[python_targets_python2_7]
- || ( >=sys-libs/timezone-data-2017a sys-libs/glibc[vanilla] )"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- app-arch/unzip"
-
-PATCHES=(
- # Use timezone-data zoneinfo.
- "${FILESDIR}"/2018.4-zoneinfo.patch
- # ...and do not install a copy of it.
- "${FILESDIR}"/${PN}-2018.4-zoneinfo-noinstall.patch
-)
-
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
-
diff --git a/dev-python/pyxattr/Manifest b/dev-python/pyxattr/Manifest
deleted file mode 100644
index a7a3423b7..000000000
--- a/dev-python/pyxattr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyxattr-0.6.0.tar.gz 31057 BLAKE2B cf6e99c499dbcc74305970413803e5cf59508e7ee1bf247afe42e576c2dfaf118a374ad6f8721b9d9c482f8be0c222d26b82997dc1ccc79248d5f52b2064ed8d SHA512 c56bf57729b5f8c8e3e19e29fd903b7365c6644abe3dcebf57ffc2f97a1e92d0e22cdc0a967c5abee3a74ba61a2a379e31a1734f45449095bdb7895b8357a9bb
diff --git a/dev-python/pyxattr/files/pyxattr-0.6.0-xattr_header.patch b/dev-python/pyxattr/files/pyxattr-0.6.0-xattr_header.patch
deleted file mode 100644
index 89b18730c..000000000
--- a/dev-python/pyxattr/files/pyxattr-0.6.0-xattr_header.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From cc0bc63b291ee1a831f07c81946149dbe8c8146d Mon Sep 17 00:00:00 2001
-From: Lars Wendler
-Date: Wed, 10 Jan 2018 11:45:35 +0100
-Subject: [PATCH] xattr.c: There is no more attr/xattr.h with >=attr-2.4.48
-
-See also:
-http://git.savannah.nongnu.org/cgit/attr.git/commit/?id=7921157890d07858d092f4003ca4c6bae9fd2c38
----
- xattr.c | 13 +++----------
- 1 file changed, 3 insertions(+), 10 deletions(-)
-
-diff --git a/xattr.c b/xattr.c
-index 111cec1..c82ee32 100644
---- a/xattr.c
-+++ b/xattr.c
-@@ -23,10 +23,8 @@
-
- #define PY_SSIZE_T_CLEAN
- #include
--#if defined(__APPLE__)
-+#if defined(__APPLE__) || defined(__linux__)
- #include
--#elif defined(__linux__)
--#include
- #endif
- #include
-
-@@ -642,11 +640,7 @@ get_all(PyObject *self, PyObject *args, PyObject *keywds)
- /* Now retrieve the attribute value */
- nval = _generic_get(_get_obj, &tgt, s, &buf_val, &nalloc, &io_errno);
- if (nval == -1) {
-- if (
--#ifdef ENODATA
-- io_errno == ENODATA ||
--#endif
-- io_errno == ENOATTR) {
-+ if (io_errno == ENODATA) {
- PyErr_Clear();
- continue;
- } else {
-@@ -1173,8 +1167,7 @@ static char __xattr_doc__[] = \
- " a :exc:`EnvironmentError`; under\n"
- " Linux, the following ``errno`` values are used:\n"
- "\n"
-- " - ``ENOATTR`` and ``ENODATA`` mean that the attribute name is\n"
-- " invalid\n"
-+ " - ``ENODATA`` means that the attribute name is\n invalid\n"
- " - ``ENOTSUP`` and ``EOPNOTSUPP`` mean that the filesystem does not\n"
- " support extended attributes, or that the namespace is invalid\n"
- " - ``E2BIG`` mean that the attribute value is too big\n"
---
-2.16.0.rc1
-
diff --git a/dev-python/pyxattr/pyxattr-0.6.0-r5.ebuild b/dev-python/pyxattr/pyxattr-0.6.0-r5.ebuild
deleted file mode 100644
index 949586ef8..000000000
--- a/dev-python/pyxattr/pyxattr-0.6.0-r5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 eutils
-
-DESCRIPTION="Python interface to xattr"
-HOMEPAGE="https://pyxattr.k1024.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://pyxattr.k1024.org/downloads/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="2.7"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
-
-RDEPEND="sys-apps/attr
- !dev-python/pyxattr:0[python_targets_python2_7]"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.6.0-xattr_header.patch"
-)
-
-python_prepare_all() {
- sed -i -e 's:, "-Werror"::' setup.py || die
- # Bug 548486
- sed -e "s:html_theme = 'default':html_theme = 'classic':" \
- -i doc/conf.py || die
-
- distutils2_python_prepare_all
-}
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/pyxml/Manifest b/dev-python/pyxml/Manifest
deleted file mode 100644
index d8caae3b2..000000000
--- a/dev-python/pyxml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyXML-0.8.4.tar.gz 734954 BLAKE2B e052bfd298f7e2016d7077330401d077788e22721b55d7b996f53abdc48b1717472a9d47d5567f7c0d6d53c2ca4933a77743e8248e56128f58b089eac64d0811 SHA512 68d9802a58b8ce90d668d2ba659136dc5377e224fdb837284fdcaf640f28b3bb400bf485d602689905d56121b9ffaa7f7758b4a2f262d1321c8b9890952c8a1e
diff --git a/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch b/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch
deleted file mode 100644
index d29b0b6a9..000000000
--- a/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -rupN PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py PyXML-0.8.4/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py
---- PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py 2008-12-15 16:54:36.000000000 +0900
-+++ PyXML-0.8.4/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py 2008-12-15 16:57:02.000000000 +0900
-@@ -24,8 +24,8 @@ class ParsedAbbreviatedAbsoluteLocationP
- self._rel = rel
- nt = ParsedNodeTest.ParsedNodeTest('node', '')
- ppl = ParsedPredicateList.ParsedPredicateList([])
-- as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
-- self._step = ParsedStep.ParsedStep(as, nt, ppl)
-+ as_ = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
-+ self._step = ParsedStep.ParsedStep(as_, nt, ppl)
- return
-
- def evaluate(self, context):
-diff -rupN PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py PyXML-0.8.4/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py
---- PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py 2008-12-15 16:54:36.000000000 +0900
-+++ PyXML-0.8.4/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py 2008-12-15 16:58:58.000000000 +0900
-@@ -28,8 +28,8 @@ class ParsedAbbreviatedRelativeLocationP
- self._right = right
- nt = ParsedNodeTest.ParsedNodeTest('node','')
- ppl = ParsedPredicateList.ParsedPredicateList([])
-- as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
-- self._middle = ParsedStep.ParsedStep(as, nt, ppl)
-+ as_ = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
-+ self._middle = ParsedStep.ParsedStep(as_, nt, ppl)
-
- def evaluate(self, context):
- res = []
diff --git a/dev-python/pyxml/pyxml-0.8.4-r5.ebuild b/dev-python/pyxml/pyxml-0.8.4-r5.ebuild
deleted file mode 100644
index 0ae0db47a..000000000
--- a/dev-python/pyxml/pyxml-0.8.4-r5.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 eutils
-
-MY_P=${P/pyxml/PyXML}
-
-DESCRIPTION="A collection of libraries to process XML with Python"
-HOMEPAGE="http://pyxml.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
-
-LICENSE="BSD CNRI MIT PSF-2 public-domain"
-# Other licenses:
-# BeOpen Python Open Source License Agreement Version 1
-# Zope Public License (ZPL) Version 1.0
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples"
-
-DEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- >=dev-libs/expat-1.95.6"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/${P}-python-2.6.patch"
- )
-
- distutils2_python_prepare_all
-}
-
-python_compile() {
- # use the already-installed shared copy of libexpat
- distutils2_python_compile --with-libexpat="${EPREFIX}/usr"
-}
-
-python_test() {
- # Delete internal copy of old version of unittest module.
- local BROKENTESTS=(
- test_filter
- test_howto
- test_minidom
- test_xmlbuilder
- unittest
- test_expatreader
- )
-
- for test_file in ${BROKENTESTS[@]}; do
- test_file="test/${test_file}.py"
- einfo "Removing dubious test \"${test_file}\""
- rm ${test_file} || die "can't remove ${test_file}"
- eend $?
- done
-
- cd test || die
- "${PYTHON}" regrtest.py || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( ANNOUNCE CREDITS doc/*.txt )
-
- distutils2_python_install_all
-
- doman doc/man/*
- if use doc; then
- dohtml -A api,web -r doc/*
- dodoc doc/*.tex
- fi
- use examples && dodoc -r demo
-}
diff --git a/dev-python/setuptools-python2/Manifest b/dev-python/setuptools-python2/Manifest
deleted file mode 100644
index fc93866d9..000000000
--- a/dev-python/setuptools-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST setuptools-46.4.0.zip 865912 BLAKE2B 452d36132f5648c79c7e1616a93ff6a39ab2f64b2864ee397b4f57e7f72c47d418ff274f5decd35b0591b09800ad2a7cbd71c283550bd0e60a4d85744a57d4ec SHA512 31e58fd1d682089a45d23aa07c3c2c4c952ca016fa4c3416b2cba979d8b57369f80baef98ce857912e506e87d6cb456497a1ce1c75a0cdf1ee25d4e753b58726
diff --git a/dev-python/setuptools-python2/setuptools-python2-46.4.0-r4.ebuild b/dev-python/setuptools-python2/setuptools-python2-46.4.0-r4.ebuild
deleted file mode 100644
index 5005ac0b7..000000000
--- a/dev-python/setuptools-python2/setuptools-python2-46.4.0-r4.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-# Set to 'manual' to avoid triggering install QA check
-DISTUTILS_USE_SETUPTOOLS=manual
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils2
-
-MY_PN=setuptools
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/${MY_PN}[python_targets_python2_7]
-"
-
-BDEPEND="
- app-arch/unzip
-"
-# installing plugins apparently breaks stuff at runtime, so let's pull
-# it early
-PDEPEND="
- dev-python/certifi-python2
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-# Force in-source build because build system modifies sources.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-DOCS=( {CHANGES,README}.rst docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
-
-python_prepare_all() {
- # silence the py2 warning that is awfully verbose and breaks some
- # packages by adding unexpected output
- # (also, we know!)
- sed -i -e '/py2_warn/d' pkg_resources/__init__.py || die
-
- # disable tests requiring a network connection
- rm setuptools/tests/test_packageindex.py || die
-
- # don't run integration tests
- rm setuptools/tests/test_integration.py || die
-
- # xpass-es for me on py3
- sed -e '/xfail.*710/s:(:(six.PY2, :' \
- -i setuptools/tests/test_archive_util.py || die
-
- # avoid pointless dep on flake8
- sed -i -e 's:--flake8::' pytest.ini || die
-
- distutils2_python_prepare_all
-}
-
-python_test() {
- if ! python_is_python3; then
- einfo "Tests are skipped on py2 to untangle deps"
- return
- fi
-
- distutils_install_for_testing
- # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
- # It tries to sandbox the test in a tempdir
- HOME="${PWD}" pytest -vv ${PN} || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
- export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
- distutils2_python_install
-}
-
-python_install_all() {
- rm -r ${D}/usr/share/doc
- rm -r ${D}/usr/bin
-}
diff --git a/dev-python/sip-python2/Manifest b/dev-python/sip-python2/Manifest
deleted file mode 100644
index fb80d7aef..000000000
--- a/dev-python/sip-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sip-4.19.22.tar.gz 1050805 BLAKE2B 7382fdf74c5bb8b55bcedae74acdcb7b81ef06a64d129a9e6f11a5eb293900e37df513f1c4290f2299f49a5bd97e2a6b3c6bc32ddbf2eaf848bd5e5c5dc25edc SHA512 4d366e589945e589f69a3caf979076ef37e319ac0efdd8ec3cee4869da89e112832462215ca2e235036bacfade7efc4d530aa93e7492c283dc1b2503e08feea5
diff --git a/dev-python/sip-python2/files/sip-4.18-darwin.patch b/dev-python/sip-python2/files/sip-4.18-darwin.patch
deleted file mode 100644
index 6dd45ac02..000000000
--- a/dev-python/sip-python2/files/sip-4.18-darwin.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ru sip-4.18.orig/siputils.py sip-4.18/siputils.py
---- sip-4.18.orig/siputils.py 2016-04-16 22:38:22.662502890 +0200
-+++ sip-4.18/siputils.py 2016-04-16 22:38:39.881551111 +0200
-@@ -946,8 +946,6 @@
- """
- if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
- plib = clib + ".lib"
-- elif sys.platform == "darwin" and framework:
-- plib = "-framework " + clib
- else:
- plib = "-l" + clib
-
-@@ -962,8 +960,6 @@
- """
- if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
- prl_name = os.path.join(self.config.qt_lib_dir, clib + ".prl")
-- elif sys.platform == "darwin" and framework:
-- prl_name = os.path.join(self.config.qt_lib_dir, clib + ".framework", clib + ".prl")
- else:
- prl_name = os.path.join(self.config.qt_lib_dir, "lib" + clib + ".prl")
-
-@@ -1639,7 +1635,7 @@
- if sys.platform == "win32":
- ext = "pyd"
- elif sys.platform == "darwin":
-- ext = "so"
-+ ext = "bundle"
- elif sys.platform == "cygwin":
- ext = "dll"
- else:
diff --git a/dev-python/sip-python2/metadata.xml b/dev-python/sip-python2/metadata.xml
deleted file mode 100644
index f67d77ab4..000000000
--- a/dev-python/sip-python2/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- phil@riverbankcomputing.com
- Phil Thompson
-
- https://www.riverbankcomputing.com/hg/sip/raw-file/tip/NEWS
- https://www.riverbankcomputing.com/static/Docs/sip/
- mailto:pyqt@riverbankcomputing.com
- SIP
-
-
diff --git a/dev-python/sip-python2/sip-python2-4.19.22-r3.ebuild b/dev-python/sip-python2/sip-python2-4.19.22-r3.ebuild
deleted file mode 100644
index 52b9b2252..000000000
--- a/dev-python/sip-python2/sip-python2-4.19.22-r3.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit python2 toolchain-funcs
-
-DESCRIPTION="Python extension module generator for C and C++ libraries"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/intro"
-
-MY_PN=sip
-MY_P=${MY_PN}-${PV/_pre/.dev}
-SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/${MY_PN}/${MY_P}.tar.gz
- http://mirror.yandex.ru/calculate/source/${MY_PN}/${MY_P}.tar.gz"
-
-# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h
-SLOT="0/12"
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
-IUSE=""
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="test"
-
-DEPEND="
- !dev-python/sip[python_targets_python2_7]
- ${PYTHON_DEPS}"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=( "${FILESDIR}"/${MY_PN}-4.18-darwin.patch )
-
-src_prepare() {
- # Sub-slot sanity check
- local sub_slot=${SLOT#*/}
- local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h || die)
- if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
- eerror
- eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
- eerror "Please update SLOT variable as follows:"
- eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
- eerror
- die "sub-slot sanity check failed"
- fi
-
- default
-}
-
-src_configure() {
- configuration() {
- local incdir=$(python_get_includedir)
- local myconf=(
- "${PYTHON}"
- "${S}"/configure.py
- --sysroot="${ESYSROOT}/usr"
- --bindir="${EPREFIX}/usr/bin"
- --destdir="$(python_get_sitedir)"
- --incdir="${incdir#${SYSROOT}}"
- AR="$(tc-getAR) cqs"
- CC="$(tc-getCC)"
- CFLAGS="${CFLAGS}"
- CFLAGS_RELEASE=
- CXX="$(tc-getCXX)"
- CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS_RELEASE=
- LINK="$(tc-getCXX)"
- LINK_SHLIB="$(tc-getCXX)"
- LFLAGS="${LDFLAGS}"
- LFLAGS_RELEASE=
- RANLIB=
- STRIP=
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
- }
- python_foreach_impl run_in_build_dir configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake DESTDIR="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
- mv ${D}/usr/bin/sip ${D}/usr/bin/sip2.7
-}
diff --git a/dev-python/six-python2/Manifest b/dev-python/six-python2/Manifest
deleted file mode 100644
index 0317468df..000000000
--- a/dev-python/six-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST six-1.15.0.tar.gz 33917 BLAKE2B 57e852b6c35dd19e256814c0371cfbc26141b0f25a31f79a1cbd1b0cdd7d3cacf1236b96f5452f968cc426e6dff4d1ad70a9f2432bc361ba3c8c17fd40fe7582 SHA512 eb840ac17f433f1fc4af56de75cfbfe0b54e6a737bb23c453bf09a4a13d768d153e46064880dc763f4c5cc2785b78ea6d3d3b4a41fed181cb9064837e3f699a9
diff --git a/dev-python/six-python2/metadata.xml b/dev-python/six-python2/metadata.xml
deleted file mode 100644
index de57c47ad..000000000
--- a/dev-python/six-python2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- six
- benjaminp/six
-
-
diff --git a/dev-python/six-python2/six-python2-1.15.0-r2.ebuild b/dev-python/six-python2/six-python2-1.15.0-r2.ebuild
deleted file mode 100644
index 676547507..000000000
--- a/dev-python/six-python2/six-python2-1.15.0-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=six
-MY_P=$MY_PN-$PV
-DESCRIPTION="Python 2 and 3 compatibility library"
-HOMEPAGE="https://github.com/benjaminp/six https://pypi.org/project/six/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-BDEPEND="
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
-
-RDEPEND="
- !dev-python/six[python_targets_python2_7]
-"
-
-distutils_enable_sphinx documentation --no-autodoc
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/soaplib/Manifest b/dev-python/soaplib/Manifest
deleted file mode 100644
index c82eac590..000000000
--- a/dev-python/soaplib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST soaplib-1.0.0.tar.gz 68722 BLAKE2B f44f431cf23eef36cfb9ea0fbc7dc57e575b770ab78a4008e21a0f244c5cdb8ff0b59d0f9990cc289f121fdb9334d84678ba36801bfa29a02bfec39144ef7a19 SHA512 f63a541e55dc7ce9886ee9ef6f6ca24257dce79522a3be3928872de1406063a49c6254b40f184ec488c3ce3975602ad7b99f47602b0960b825d66b0f6aef9e3a
diff --git a/dev-python/soaplib/metadata.xml b/dev-python/soaplib/metadata.xml
deleted file mode 100644
index fcdd5e030..000000000
--- a/dev-python/soaplib/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-maintainer-wanted
-
-A simple library for writing soap web services.
-
-
-
diff --git a/dev-python/soaplib/soaplib-1.0.0-r6.ebuild b/dev-python/soaplib/soaplib-1.0.0-r6.ebuild
deleted file mode 100644
index 739c170bd..000000000
--- a/dev-python/soaplib/soaplib-1.0.0-r6.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-
-PYTHON_COMPAT=(python2_7)
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 eutils python2
-
-DESCRIPTION="A simple library for writing soap web services."
-HOMEPAGE="http://wiki.github.com/jkp/soaplib"
-SRC_URI="https://github.com/${PN}/${PN}/tarball/${P} -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/lxml-python2
- dev-python/pytz-python2
-"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2
-"
-
-S="${WORKDIR}/soaplib-soaplib-2801978"
-
-python_install_all() {
- distutils2_python_install_all
-
- rm -rf "${ED}$(python_get_sitedir)/tests/"
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.py || die "doins failed"
- fi
-}
diff --git a/dev-python/sudsds/Manifest b/dev-python/sudsds/Manifest
deleted file mode 100644
index f24f46546..000000000
--- a/dev-python/sudsds/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sudsds-1.0.1.tar.gz 84196 BLAKE2B b78feddadd3bcbb6ed69862209c8721f8750ebb8bcb54b1b999cf51a8018c1a87bc1115e026a3784cb59b989dd361fb28c838e81b0b08231af2a0ed0066562f1 SHA512 11f064702300651dc7f7100698d20946f1ee06c8d08963fcb123620fd8ce34608ffb5a5df9d28f5b241080ead32680a6376ba224253383901a0d81240957be36
diff --git a/dev-python/sudsds/metadata.xml b/dev-python/sudsds/metadata.xml
deleted file mode 100644
index c46e7f526..000000000
--- a/dev-python/sudsds/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- python@gentoo.org
- Python
-
-
- A lightweight SOAP python client for consuming Web Services. Czech NIC labs fork.
-
-
diff --git a/dev-python/sudsds/sudsds-1.0.1-r4.ebuild b/dev-python/sudsds/sudsds-1.0.1-r4.ebuild
deleted file mode 100644
index c87e7ba1b..000000000
--- a/dev-python/sudsds/sudsds-1.0.1-r4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2020 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-DESCRIPTION="Lightweight SOAP client - Czech NIC labs fork"
-HOMEPAGE="https://labs.nic.cz/page/969/"
-SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/${PN}/${P}.tar.gz
- http://mirror.yandex.ru/calculate/source/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-
-DEPEND="dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-RDEPEND="${DEPEND}"
diff --git a/dev-python/typing-python2/Manifest b/dev-python/typing-python2/Manifest
deleted file mode 100644
index ff33b98cd..000000000
--- a/dev-python/typing-python2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST typing-3.7.4.3.tar.gz 78592 BLAKE2B a47991466db75729620e180d230917cb32158475804b294d2ca956544c575323765bb9d2fd87e723fb8a6c79db4c0c83387fc45fe31f8c55a802bcebe793b997 SHA512 01d3d33bf3264a8929242d58ffa3b6a897a9ce23cb84858871146ed516a6ef2fc222d3001bb5197276da1a374ae243f0ceab0325ae8675ef0ffb76df5065ae1e
diff --git a/dev-python/typing-python2/metadata.xml b/dev-python/typing-python2/metadata.xml
deleted file mode 100644
index a7c1d6201..000000000
--- a/dev-python/typing-python2/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
-
- typing
-
-
diff --git a/dev-python/typing-python2/typing-python2-3.7.4.3-r2.ebuild b/dev-python/typing-python2/typing-python2-3.7.4.3-r2.ebuild
deleted file mode 100644
index a71701688..000000000
--- a/dev-python/typing-python2/typing-python2-3.7.4.3-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-MY_PN=typing
-MY_P=$MY_PN-$PV
-DESCRIPTION="Type Hints for Python"
-HOMEPAGE="https://docs.python.org/3/library/typing.html https://pypi.org/project/typing/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-IUSE=""
-RESTRICT="test"
-
-DEPEND="dev-python/setuptools-python2[${PYTHON_USEDEP}]"
-RDEPEND="!dev-python/${MY_PN}[python_targets_python2_7]"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_install_all() {
- distutils2_python_install_all
- rm -r ${D}/usr/share
-}
diff --git a/dev-python/wxpython2/Manifest b/dev-python/wxpython2/Manifest
deleted file mode 100644
index 00c2abfef..000000000
--- a/dev-python/wxpython2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST wxPython-src-3.0.2.0.tar.bz2 58304944 BLAKE2B 1144acf2cfa0a18aa2f90aabe81aaeca54d3fe6139818267dbc031accbae38035478a64ec084fe8bb8b89126fb70ff96e68981026df8ad3fc82e81c6d0e22d1a SHA512 a3798e89ff19344253aac7d771971e519f7fa9723e82bd97e98f16fd7f1572e513170b02295b872dae0b1ae3fa95efc4ef34d078045b839694b4fdad3a27c9e4
diff --git a/dev-python/wxpython2/files/wxpython-2.8-no-preservatives-added.patch b/dev-python/wxpython2/files/wxpython-2.8-no-preservatives-added.patch
deleted file mode 100644
index 1d8839629..000000000
--- a/dev-python/wxpython2/files/wxpython-2.8-no-preservatives-added.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Portage preserve-libs removes the linker name (.so) of a library but leaves
-the soname (.so.4) and realname (.so.4.0) installed. findLib searches for
-mywxlibname.* and returns true if anything is found. Disaster ensues.
-
-
---- a/config.py
-+++ b/config.py
-@@ -612,7 +612,7 @@ def findLib(name, libdirs):
- dirs = libdirs[:]
- for d in dirs:
- p = os.path.join(d, name)
-- if glob.glob(p+'*') != []:
-+ if glob.glob(p+'*.so') != []:
- return True
- return False
-
diff --git a/dev-python/wxpython2/files/wxpython-2.8.11-drop-editra.patch b/dev-python/wxpython2/files/wxpython-2.8.11-drop-editra.patch
deleted file mode 100644
index cf3219b02..000000000
--- a/dev-python/wxpython2/files/wxpython-2.8.11-drop-editra.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -887,13 +887,6 @@ WX_PKGLIST = [ 'wx',
- 'wx.tools',
- 'wx.tools.XRCed',
- 'wx.tools.XRCed.plugins',
-- 'wx.tools.Editra',
-- 'wx.tools.Editra.src',
-- 'wx.tools.Editra.src.autocomp',
-- 'wx.tools.Editra.src.eclib',
-- 'wx.tools.Editra.src.ebmlib',
-- 'wx.tools.Editra.src.extern',
-- 'wx.tools.Editra.src.syntax',
- ]
-
- if not EGGing:
-@@ -920,7 +913,6 @@ else:
- opj('scripts/pywrap'),
- opj('scripts/pywxrc'),
- opj('scripts/xrced'),
-- opj('scripts/editra'),
- ]
- if os.name == 'nt':
- SCRIPTS.append( opj('scripts/genaxmodule') )
-@@ -934,15 +926,6 @@ DATA_FILES += find_data_files('wx/tools/XRCed', '*.txt', '*.xrc', '*.htb')
- DATA_FILES += find_data_files('wx/tools/XRCed/plugins', '*.crx')
- DATA_FILES += find_data_files('wx/tools/XRCed/plugins/bitmaps', '*.png')
-
--DATA_FILES += find_data_files('wx/tools/Editra/docs', '*.txt')
--DATA_FILES += find_data_files('wx/tools/Editra/locale', '*.mo')
--DATA_FILES += find_data_files('wx/tools/Editra/pixmaps',
-- '*.png', '*.icns', '*.ico', 'README', 'AUTHORS', 'COPYING')
--DATA_FILES += find_data_files('wx/tools/Editra/plugins', '*.egg')
--DATA_FILES += find_data_files('wx/tools/Editra/src', 'README')
--DATA_FILES += find_data_files('wx/tools/Editra/styles', '*.ess')
--DATA_FILES += find_data_files('wx/tools/Editra/tests/syntax', '*')
--DATA_FILES += find_data_files('wx/tools/Editra', '[A-Z]*', recursive=False)
-
-
- ## import pprint
-@@ -993,7 +976,6 @@ if EGGing:
- 'pyshell = wx.py.PyShell:main',
- 'pywrap = wx.py.PyWrap:main',
- 'helpviewer = wx.tools.helpviewer:main',
-- 'editra = wx.tools.Editra.launcher:main',
- 'xrced = wx.tools.XRCed.xrced:main',
- ],
- },
diff --git a/dev-python/wxpython2/files/wxpython-2.8.12.1-disable-egging-mode.patch b/dev-python/wxpython2/files/wxpython-2.8.12.1-disable-egging-mode.patch
deleted file mode 100644
index 1497a2c70..000000000
--- a/dev-python/wxpython2/files/wxpython-2.8.12.1-disable-egging-mode.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c4072ed7bc923039e544319f52d0761b7a4600a4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?=
-Date: Mon, 22 Apr 2013 18:02:37 +0200
-Subject: [PATCH] Trigger 'EGGing' mode only by 'bdist_egg' and not 'egg_info'.
-
-We use the 'egg_info' command to explicitly enforce temporary EGG file
-location outside the source tree on Gentoo. As a result, our build
-command activates the 'EGGing' mode and wxPython is not installed
-properly.
-
-I believe that the 'EGGing' mode should be activated only by an explicit
-call to 'bdist_egg' command where the expected files are actually
-created. The 'egg_info' command is a more broad one and is often used
-implicitly, e.g. by the 'install' command.
----
- config.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config.py b/config.py
-index 4fbd83f..b45707d 100644
---- a/config.py
-+++ b/config.py
-@@ -23,7 +23,7 @@
- import sys, os, glob, fnmatch, tempfile
- import subprocess
-
--EGGing = 'bdist_egg' in sys.argv or 'egg_info' in sys.argv
-+EGGing = 'bdist_egg' in sys.argv
- if not EGGing:
- from distutils.core import setup, Extension
- else:
---
-1.8.1.5
-
diff --git a/dev-python/wxpython2/files/wxpython-3.0-wxversion-demo.patch b/dev-python/wxpython2/files/wxpython-3.0-wxversion-demo.patch
deleted file mode 100644
index a4f6b0b07..000000000
--- a/dev-python/wxpython2/files/wxpython-3.0-wxversion-demo.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- demo/demo.org
-+++ demo/demo.py
-@@ -1,4 +1,7 @@
- #!/usr/bin/env python
-
-+import wxversion
-+wxversion.select("3.0")
-+
- import Main
- Main.main()
diff --git a/dev-python/wxpython2/files/wxpython-3.0.0.0-wxversion-scripts.patch b/dev-python/wxpython2/files/wxpython-3.0.0.0-wxversion-scripts.patch
deleted file mode 100644
index 9f0cb8922..000000000
--- a/dev-python/wxpython2/files/wxpython-3.0.0.0-wxversion-scripts.patch
+++ /dev/null
@@ -1,211 +0,0 @@
---- a/distrib/PyAlaMode.desktop
-+++ b/distrib/PyAlaMode.desktop
-@@ -1,8 +1,8 @@
- [Desktop Entry]
--Name=PyAlaMode
-+Name=PyAlaMode (3.0)
- Comment=GUI Python Shell with Filling and editor windows
--Exec=pyalamode
--Icon=PyCrust
-+Exec=pyalamode-3.0
-+Icon=PyCrust-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/distrib/PyCrust.desktop
-+++ b/distrib/PyCrust.desktop
-@@ -1,8 +1,8 @@
- [Desktop Entry]
--Name=PyCrust
-+Name=PyCrust (3.0)
- Comment=GUI Python Shell with Filling
--Exec=pycrust
--Icon=PyCrust
-+Exec=pycrust-3.0
-+Icon=PyCrust-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/distrib/PyShell.desktop
-+++ b/distrib/PyShell.desktop
-@@ -1,8 +1,8 @@
- [Desktop Entry]
--Name=PyShell
-+Name=PyShell (3.0)
- Comment=GUI Python Shell
--Exec=pyshell
--Icon=PyCrust
-+Exec=pyshell-3.0
-+Icon=PyCrust-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/distrib/PySlices.desktop
-+++ b/distrib/PySlices.desktop
-@@ -1,8 +1,8 @@
- [Desktop Entry]
--Name=PySlices
-+Name=PySlices (3.0)
- Comment=GUI Python Shell with Filling
--Exec=pyslices
--Icon=PySlices
-+Exec=pyslices-3.0
-+Icon=PySlices-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/distrib/PySlicesShell.desktop
-+++ b/distrib/PySlicesShell.desktop
-@@ -1,9 +1,8 @@
--
- [Desktop Entry]
--Name=PySlicesShell
-+Name=PySlicesShell (3.0)
- Comment=GUI Python Shell
--Exec=pysliceshell
--Icon=PySlices
-+Exec=pysliceshell-3.0
-+Icon=PySlices-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/distrib/XRCed.desktop
-+++ b/distrib/XRCed.desktop
-@@ -1,8 +1,8 @@
- [Desktop Entry]
--Name=XRCed
-+Name=XRCed (3.0)
- Comment=wxPython XRC resource editor
--Exec=xrced
--Icon=XRCed
-+Exec=xrced-3.0
-+Icon=XRCed-3.0
- Terminal=false
- Type=Application
- Categories=Development;
---- a/scripts/genaxmodule
-+++ b/scripts/genaxmodule
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.genaxmodule import main
- main()
---- a/scripts/helpviewer
-+++ b/scripts/helpviewer
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.helpviewer import main
- main()
---- a/scripts/img2png
-+++ b/scripts/img2png
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.img2png import main
- main()
---- a/scripts/img2py
-+++ b/scripts/img2py
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.img2py import main
- main()
---- a/scripts/img2xpm
-+++ b/scripts/img2xpm
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.img2xpm import main
- main()
---- a/scripts/pyalacarte
-+++ b/scripts/pyalacarte
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PyAlaCarte import main
- main()
---- a/scripts/pyalamode
-+++ b/scripts/pyalamode
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PyAlaMode import main
- main()
---- a/scripts/pycrust
-+++ b/scripts/pycrust
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PyCrust import main
- main()
---- a/scripts/pyshell
-+++ b/scripts/pyshell
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PyShell import main
- main()
---- a/scripts/pyslices
-+++ b/scripts/pyslices
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PySlices import main
- main()
---- a/scripts/pysliceshell
-+++ b/scripts/pysliceshell
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PySlicesShell import main
- main()
---- a/scripts/pywrap
-+++ b/scripts/pywrap
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.py.PyWrap import main
- main()
---- a/scripts/pywxrc
-+++ b/scripts/pywxrc
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.pywxrc import main
- main()
---- a/scripts/xrced
-+++ b/scripts/xrced
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-+import wxversion
-+wxversion.select("3.0")
-
- from wx.tools.XRCed.xrced import main
- main()
diff --git a/dev-python/wxpython2/files/wxpython-4.0.6-no-webkit.patch b/dev-python/wxpython2/files/wxpython-4.0.6-no-webkit.patch
deleted file mode 100644
index 795de3a93..000000000
--- a/dev-python/wxpython2/files/wxpython-4.0.6-no-webkit.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ru wxPython-4.0.5-orig/wscript wxPython-4.0.5/wscript
---- wxPython-4.0.5-orig/wscript 2019-05-18 22:03:12.000000000 -0400
-+++ wxPython-4.0.5/wscript 2019-05-22 07:59:46.522966555 -0400
-@@ -230,15 +230,6 @@
- uselib_store='WXGL', mandatory=True,
- msg='Finding libs for WXGL')
-
-- if cfg.checkSetup(wxConfigDir, 'wxUSE_WEBVIEW'):
-- wv_libs = '--libs webview,core,net'
-- else:
-- wv_libs = '--libs core,net'
-- conf.check_cfg(path=conf.options.wx_config, package='',
-- args='--cxxflags ' + wv_libs + rpath,
-- uselib_store='WXWEBVIEW', mandatory=True,
-- msg='Finding libs for WXWEBVIEW')
--
- if isDarwin:
- conf.check_cfg(path=conf.options.wx_config, package='',
- args='--cxxflags --libs core,net' + rpath,
-@@ -591,7 +582,6 @@
- makeETGRule(bld, 'etg/_stc.py', '_stc', 'WXSTC')
- makeETGRule(bld, 'etg/_html.py', '_html', 'WXHTML')
- makeETGRule(bld, 'etg/_glcanvas.py', '_glcanvas', 'WXGL')
-- makeETGRule(bld, 'etg/_html2.py', '_html2', 'WXWEBVIEW')
- makeETGRule(bld, 'etg/_xml.py', '_xml', 'WXXML')
- makeETGRule(bld, 'etg/_xrc.py', '_xrc', 'WXXRC')
- makeETGRule(bld, 'etg/_richtext.py', '_richtext', 'WXHTML WXRICHTEXT')
diff --git a/dev-python/wxpython2/files/wxpython-4.0.6-skip-broken-tests.patch b/dev-python/wxpython2/files/wxpython-4.0.6-skip-broken-tests.patch
deleted file mode 100644
index 22a561627..000000000
--- a/dev-python/wxpython2/files/wxpython-4.0.6-skip-broken-tests.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff -ru wxPython-4.0.6-orig/unittests/test_frame.py wxPython-4.0.6/unittests/test_frame.py
---- wxPython-4.0.6-orig/unittests/test_frame.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_frame.py 2019-05-24 10:15:51.350004356 -0400
-@@ -50,7 +50,7 @@
- f.Close()
-
-
-- def test_frameRestore(self):
-+ def xtest_frameRestore(self):
- f = wx.Frame(self.frame, title="Title", pos=(50,50), size=(100,100))
- f.Show()
- f.Maximize()
-diff -ru wxPython-4.0.6-orig/unittests/test_graphics.py wxPython-4.0.6/unittests/test_graphics.py
---- wxPython-4.0.6-orig/unittests/test_graphics.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_graphics.py 2019-05-24 10:16:06.520256643 -0400
-@@ -23,7 +23,7 @@
- gc = wx.GraphicsContext.Create(img)
- self.assertTrue(gc.IsOk())
-
-- def test_gcCreate4(self):
-+ def xtest_gcCreate4(self):
- class MyPanel(wx.Panel):
- def __init__(self, parent):
- super(MyPanel, self).__init__(parent)
-diff -ru wxPython-4.0.6-orig/unittests/test_lib_pubsub_provider.py wxPython-4.0.6/unittests/test_lib_pubsub_provider.py
---- wxPython-4.0.6-orig/unittests/test_lib_pubsub_provider.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_lib_pubsub_provider.py 2019-05-24 10:16:49.649969339 -0400
-@@ -49,7 +49,7 @@
-
- class lib_pubsub_Except(wtc.PubsubTestCase):
-
-- def test1(self):
-+ def xtest1(self):
-
- self.pub.addTopicDefnProvider(my_topics, self.pub.TOPIC_TREE_FROM_CLASS)
-
-diff -ru wxPython-4.0.6-orig/unittests/test_lib_pubsub_topicmgr.py wxPython-4.0.6/unittests/test_lib_pubsub_topicmgr.py
---- wxPython-4.0.6-orig/unittests/test_lib_pubsub_topicmgr.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_lib_pubsub_topicmgr.py 2019-05-24 10:17:18.276438743 -0400
-@@ -215,7 +215,7 @@
- assert 1 == topicMgr.getNumDefnProviders()
- topicMgr.clearDefnProviders()
-
-- def test20_UseProvider(self):
-+ def xtest20_UseProvider(self):
- #
- # Test the use of definition providers for topics. We create
- # two so we can check that more than one can work together.
-diff -ru wxPython-4.0.6-orig/unittests/test_sizer.py wxPython-4.0.6/unittests/test_sizer.py
---- wxPython-4.0.6-orig/unittests/test_sizer.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_sizer.py 2019-05-24 10:18:03.937181671 -0400
-@@ -71,7 +71,7 @@
- self.assertTrue(items[1].IsSpacer())
- self.assertTrue(items[2].Border == 5)
-
-- def test_iter(self):
-+ def xtest_iter(self):
- bs = wx.BoxSizer()
- widgetlist = [wx.Panel(self.frame) for _ in range(5)]
-
-diff -ru wxPython-4.0.6-orig/unittests/test_utils.py wxPython-4.0.6/unittests/test_utils.py
---- wxPython-4.0.6-orig/unittests/test_utils.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_utils.py 2019-05-24 11:14:09.399035368 -0400
-@@ -34,7 +34,7 @@
- with wx.BusyCursor():
- self.myYield()
-
-- def test_utilsSomeOtherStuff(self):
-+ def xtest_utilsSomeOtherStuff(self):
- wx.GetBatteryState()
- wx.GetPowerType()
- wx.GetKeyState(wx.WXK_F1)
-diff -ru wxPython-4.0.6-orig/unittests/test_windowid.py wxPython-4.0.6/unittests/test_windowid.py
---- wxPython-4.0.6-orig/unittests/test_windowid.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_windowid.py 2019-05-24 10:18:24.158508491 -0400
-@@ -28,12 +28,12 @@
- assert isinstance(ref, wx.WindowIDRef)
-
-
-- def test_newIdRef03(self):
-+ def xtest_newIdRef03(self):
- """Check that Auto ID Management is enabled (--enable-autoidman)"""
- # This test is expected to fail if autoID mangagement is turned on
-- # because a reference to the ID is not being saved, so it will be
-+ # because a reference to the ID is not being saved, so it will be
- # unreserved when the first widget is destroyed.
--
-+
- id = wx.Window.NewControlId()
- b = wx.Button(self.frame, id, 'button')
- b.Destroy()
diff --git a/dev-python/wxpython2/metadata.xml b/dev-python/wxpython2/metadata.xml
deleted file mode 100644
index 869a1180b..000000000
--- a/dev-python/wxpython2/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- maintainer-wanted
-
-
- python@gentoo.org
- Python
-
-
-
- wxWidgets/Phoenix
-
-
diff --git a/dev-python/wxpython2/wxpython2-3.0.2.0-r4.ebuild b/dev-python/wxpython2/wxpython2-3.0.2.0-r4.ebuild
deleted file mode 100644
index 7a71ff6e4..000000000
--- a/dev-python/wxpython2/wxpython2-3.0.2.0-r4.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-WX_GTK_VER="3.0"
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit alternatives distutils2 eutils flag-o-matic wxwidgets
-
-ORIG_PN="wxpython"
-MY_PN="wxPython-src"
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="http://www.wxpython.org/"
-SRC_URI="
- mirror://sourceforge/wxpython/${MY_PN}-${PV}.tar.bz2"
-
-LICENSE="wxWinLL-3"
-SLOT="3.0"
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~sparc x86"
-IUSE="cairo libnotify opengl"
-RESTRICT="test"
-
-RDEPEND="
- !dev-python/${ORIG_PN}[python_targets_python2_7]
- >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}=[libnotify=,opengl?,tiff,X]
- dev-libs/glib:2
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- media-libs/libpng:0=
- media-libs/tiff:0
- virtual/jpeg
- x11-libs/gtk+:2
- x11-libs/pango[X]
- cairo? ( >=dev-python/pycairo-python2-1.8.4[${PYTHON_USEDEP}] )
- opengl? ( dev-python/pyopengl-python2[${PYTHON_USEDEP}] )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_PN}-${PV}/wxPython"
-DOC_S="${WORKDIR}/wxPython-${PV}"
-
-# The hacky build system seems to be broken with out-of-source builds,
-# and installs 'wx' package globally.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-python_prepare_all() {
- sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
-
- echo "DEBUG $S"
- cd "${S}"
- eapply "${FILESDIR}"/${ORIG_PN}-3.0.0.0-wxversion-scripts.patch
- eapply "${FILESDIR}"/${ORIG_PN}-2.8.11-drop-editra.patch
- eapply "${FILESDIR}"/${ORIG_PN}-2.8-no-preservatives-added.patch
- eapply "${FILESDIR}"/${ORIG_PN}-2.8.12.1-disable-egging-mode.patch
-
- distutils2_python_prepare_all
-}
-
-src_configure() {
- need-wxwidgets unicode
-
- mydistutilsargs=(
- WXPORT=gtk2
- UNICODE=1
- BUILD_GLCANVAS=$(usex opengl 1 0)
- )
-}
-
-python_compile() {
- # We need to have separate libdirs due to hackery, bug #455332.
- distutils2_python_compile \
- build --build-purelib "${BUILD_DIR}"/lib.common
-}
-
-python_install() {
- distutils2_python_install \
- build --build-purelib "${BUILD_DIR}"/lib.common
-
- # adjust the filenames for wxPython slots.
- local file
- for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
- mv "${file}" "${file}-${SLOT}" || die
- done
- cd "${ED}"/usr/lib/python-exec/"${EPYTHON}" || die
- for file in *; do
- mv "${file}" "${file}-${SLOT}" || die
-
- # wrappers are common to all impls, so a parallel run may
- # move it for us. ln+rm is more failure-proof.
- #ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
- rm -f "${ED}/usr/bin/${file}"
- done
-}
-
-python_install_all() {
- dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
-
- for x in {Py{AlaMode,Crust,Shell},XRCed}; do
- newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
- done
- newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
- newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
- newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
-
- distutils2_python_install_all
-
- rm -r ${D}/usr/share
-}
-
-fdo-mime_desktop_database_update() {
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
- if [ -x "${EPREFIX}/usr/bin/update-desktop-database" ]
- then
- einfo "Updating desktop mime database ..."
- "${EPREFIX}/usr/bin/update-desktop-database" -q "${EROOT}usr/share/applications"
- fi
-}
-
-pkg_postinst() {
- fdo-mime_desktop_database_update
-
- create_symlinks() {
- alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
- alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
- }
- python_foreach_impl create_symlinks
-
- echo
- elog "Gentoo uses the Multi-version method for SLOT'ing."
- elog "Developers, see this site for instructions on using"
- elog "it with your apps:"
- elog "http://wiki.wxpython.org/MultiVersionInstalls"
-}
-
-pkg_postrm() {
- fdo-mime_desktop_database_update
-
- update_symlinks() {
- alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
- alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
- }
- python_foreach_impl update_symlinks
-}
-
diff --git a/eclass/calculate-utils-r12.eclass b/eclass/calculate-utils-r12.eclass
deleted file mode 100644
index ee1d774c1..000000000
--- a/eclass/calculate-utils-r12.eclass
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# @ECLASS: calculate-utils-r12.eclass
-# @MAINTAINER:
-# support@calculate.ru
-# @AUTHOR:
-# Author: Mir Calculate
-# @BLURB: Functions for calculate-utils
-# @DESCRIPTION:
-# This eclass use for calculate-utils ebuild
-
-PYTHON_COMPAT=(python2_7)
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 eutils
-
-EXPORTED_FUNCTIONS="src_compile src_install pkg_preinst"
-
-CALCULATE_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate3"
-MIRROR_URI="http://mirror.yandex.ru/calculate/source/calculate3"
-
-# @ECLASS-VARIABLE: CALCULATE_MODULES
-# @DESCRIPTION:
-# Associative array module names and versions
-# Example:
-# declare -A CALCULATE_MODULES=(
-# ["console-gui"]="3.2.3.4"
-# )
-
-# @ECLASS-VARIABLE: CALCULATE_MODULES_USE
-# @DESCRIPTION:
-# Associative array module names and use for IUSE
-# Example:
-# declare -A CALCULATE_MODULES_USE=(
-# ["console-gui"]=""
-# )
-
-# @ECLASS-VARIABLE: CALCULATE_TARBALL
-# @DESCRIPTION:
-# Associative array module names and tarball archive name
-# Example:
-# declare -A CALCULATE_TARBALL=( ["lib"]="calculate-lib-3.2.3-r1.tar.bz2" )
-
-# @ECLASS-VARIABLE: UTILS_PV
-# @DESCRIPTION:
-# Default version of all components
-# Example:
-: ${UTILS_PV:=$(ver_cut 1-3 ${PV})}
-
-declare -g -A CALCULATE_TARBALL_=()
-
-declare -g -A CALCULATE_MODULES_=(
- ["lib"]="$UTILS_PV"
- ["builder"]="$UTILS_PV"
- ["install"]="$UTILS_PV"
- ["core"]="$UTILS_PV"
- ["i18n"]="$UTILS_PV"
- ["update"]="$UTILS_PV"
- ["desktop"]="$UTILS_PV"
- ["client"]="$UTILS_PV"
- ["console-gui"]="$UTILS_PV"
- ["console"]="$UTILS_PV"
- ["server"]="$UTILS_PV"
- ["ldap"]="$UTILS_PV"
- ["unix"]="$UTILS_PV")
-
-declare -g -A CALCULATE_MODULES_USE_=(
- ["desktop"]="desktop"
- ["client"]="client"
- ["console-gui"]="qt5"
- ["console"]="console"
- ["server"]="server"
- ["ldap"]="server"
- ["unix"]="server"
-)
-
-EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
-
-# @FUNCTION: prepare_variables
-# @DESCRIPTION:
-# Prepare variables for ebuild
-prepare_variables() {
- for module in ${!CALCULATE_MODULES[@]}
- do
- CALCULATE_MODULES_[$module]=${CALCULATE_MODULES[$module]}
- done
-
- for module in ${!CALCULATE_MODULES_USE[@]}
- do
- CALCULATE_MODULES_USE_[$module]=${CALCULATE_MODULES_USE[$module]}
- done
-
- for module in ${!CALCULATE_MODULES_[@]}
- do
- MODULE_PN=calculate-${module}
- MODULE_PV=${CALCULATE_MODULES_[$module]}
- if [[ -n ${CALCULATE_TARBALL[$module]} ]]
- then
- CALCULATE_TARBALL_[$module]="${MODULE_PN}/${CALCULATE_TARBALL[$module]}"
- else
- CALCULATE_TARBALL_[$module]="${MODULE_PN}/${MODULE_PN}-${MODULE_PV}.tar.bz2"
- fi
- done
-
- for module in ${!CALCULATE_MODULES_[@]}
- do
- MODULE_USE=${CALCULATE_MODULES_USE_[$module]}
- MODULE_URI=""
- for URI in $CALCULATE_URI $MIRROR_URI
- do
- MODULE_URI="${MODULE_URI} ${URI}/${CALCULATE_TARBALL_[$module]}"
- done
- if [[ -n $MODULE_USE ]]
- then
- MODULE_URI="${MODULE_USE}? ( $MODULE_URI )"
- fi
- SRC_URI="$SRC_URI $MODULE_URI"
- done
-
- IUSE="+install dbus +gpg minimal pxe backup ${CALCULATE_MODULES_USE_[@]}"
- S="${WORKDIR}"
-}
-
-# @FUNCTION: prepare_module_info
-# @DESCRIPTION:
-# Prepare module info for compile and install
-prepare_module_info() {
- MODULE_INFO=()
- for module in ${!CALCULATE_MODULES_[@]}
- do
- MODULE_USE=${CALCULATE_MODULES_USE_[$module]}
- if [[ -z $MODULE_USE ]] || use $MODULE_USE
- then
- MODULE_INFO+=("calculate-$module ${CALCULATE_MODULES_[$module]}")
- fi
- done
-}
-
-prepare_variables
-
-RDEPEND="
- install? ( >=app-cdr/cdrtools-3.01_alpha13
- >=sys-boot/grub-2.00-r3
- >=sys-boot/syslinux-5
- sys-fs/squashfs-tools
- sys-fs/dosfstools
- sys-block/parted
- sys-apps/gptfdisk
- sys-fs/lvm2
- sys-fs/mdadm
- )
- !minimal? (
- >=sys-apps/util-linux-2.19.1
- net-misc/rsync
- dev-python/sudsds[python_targets_python2_7]
- net-libs/dslib[python_targets_python2_7]
- >=dev-python/pyopenssl-python2-0.14
- dev-libs/openssl
- dev-python/m2crypto-python2
- dev-python/pytz-python2
- )
- gpg? (
- app-crypt/gnupg
- app-crypt/openpgp-keys-calculate-release
- )
- >=dev-python/pyxml-0.8
- sys-apps/iproute2[-minimal]
- sys-apps/pciutils
- app-arch/xz-utils
-
- app-eselect/eselect-repository
- || (
- sys-apps/portage[python_targets_python3_6]
- sys-apps/portage[python_targets_python3_7]
- sys-apps/portage[python_targets_python3_8]
- sys-apps/portage[python_targets_python3_9]
- sys-apps/portage[python_targets_python3_10]
- )
- >=virtual/udev-197
- !app-misc/livecd-tools
- sys-apps/coreutils[xattr]
-
- pxe? ( sys-apps/calculate-server
- net-ftp/tftp-hpa
- net-misc/dhcp
- net-fs/nfs-utils
- )
-
- >=dev-python/soaplib-1.0-r3
- !=dev-python/python2-ldap-2.0[ssl]
- sys-auth/pam_client
- >=sys-auth/pam_ldap-180[ssl]
- >=sys-auth/nss_ldap-239
- )
-
- qt5? (
- dev-python/dbus-python2
- media-gfx/imagemagick[jpeg]
- dev-python/PyQt5-python2
- dev-python/pyinotify-python2
- )
-
- dbus? (
- dev-python/dbus-python2
- )
-
- dev-python/pexpect-python2
-
- !=app-cdr/cdrtools-3.01_alpha13
- >=sys-boot/grub-2.00-r3
- >=sys-boot/syslinux-5
- sys-fs/squashfs-tools
- sys-fs/dosfstools
- sys-block/parted
- sys-apps/gptfdisk
- sys-fs/lvm2
- sys-fs/mdadm
- )
- !minimal? (
- >=sys-apps/util-linux-2.19.1
- net-misc/rsync
- dev-python/lxml-python2
- >=dev-python/pyopenssl-python2-0.14
- dev-libs/openssl
- dev-python/m2crypto-python2
- dev-python/pytz-python2
- )
- gpg? (
- app-crypt/gnupg
- app-crypt/openpgp-keys-calculate-release
- )
- >=dev-python/pyxml-0.8
- sys-apps/iproute2[-minimal]
- sys-apps/pciutils
- app-arch/xz-utils
-
- app-eselect/eselect-repository
- || (
- sys-apps/portage[python_targets_python3_6]
- sys-apps/portage[python_targets_python3_7]
- sys-apps/portage[python_targets_python3_8]
- sys-apps/portage[python_targets_python3_9]
- sys-apps/portage[python_targets_python3_10]
- )
- >=virtual/udev-197
- !app-misc/livecd-tools
- sys-apps/coreutils[xattr]
-
- pxe? ( sys-apps/calculate-server
- net-ftp/tftp-hpa
- net-misc/dhcp
- net-fs/nfs-utils
- )
-
- !=dev-python/python2-ldap-2.0[ssl]
- sys-auth/pam_client
- >=sys-auth/pam_ldap-180[ssl]
- >=sys-auth/nss_ldap-239
- )
-
- dbus? (
- dev-python/dbus-python2
- )
-
- dev-python/pexpect-python2
-
- !
-# @AUTHOR:
-# Author: Michał Górny
-# Based on the work of: Krzysztof Pawlik
-# @SUPPORTED_EAPIS: 5 6 7
-# @BLURB: A simple eclass to build Python packages using distutils.
-# @DESCRIPTION:
-# A simple eclass providing functions to build Python packages using
-# the distutils build system. It exports phase functions for all
-# the src_* phases. Each of the phases runs two pseudo-phases:
-# python_..._all() (e.g. python_prepare_all()) once in ${S}, then
-# python_...() (e.g. python_prepare()) for each implementation
-# (see: python_foreach_impl() in python2).
-#
-# In distutils2_src_prepare(), the 'all' function is run before
-# per-implementation ones (because it creates the implementations),
-# per-implementation functions are run in a random order.
-#
-# In remaining phase functions, the per-implementation functions are run
-# before the 'all' one, and they are ordered from the least to the most
-# preferred implementation (so that 'better' files overwrite 'worse'
-# ones).
-#
-# If the ebuild doesn't specify a particular pseudo-phase function,
-# the default one will be used (distutils2_...). Defaults are provided
-# for all per-implementation pseudo-phases, python_prepare_all()
-# and python_install_all(); whenever writing your own pseudo-phase
-# functions, you should consider calling the defaults (and especially
-# distutils2_python_prepare_all).
-#
-# Please note that distutils2 sets RDEPEND and DEPEND unconditionally
-# for you.
-#
-# Also, please note that distutils2 will always inherit python2
-# as well. Thus, all the variables defined and documented there are
-# relevant to the packages using distutils2.
-#
-# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
-
-case "${EAPI:-0}" in
- 0|1|2|3|4)
- die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
- ;;
- 5|6|7)
- ;;
- *)
- die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
- ;;
-esac
-
-# @ECLASS-VARIABLE: DISTUTILS_OPTIONAL
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If set to a non-null value, distutils part in the ebuild will
-# be considered optional. No dependencies will be added and no phase
-# functions will be exported.
-#
-# If you enable DISTUTILS_OPTIONAL, you have to set proper dependencies
-# for your package (using ${PYTHON_DEPS}) and to either call
-# distutils2 default phase functions or call the build system
-# manually.
-
-# @ECLASS-VARIABLE: DISTUTILS_SINGLE_IMPL
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If set to a non-null value, the ebuild will support setting a single
-# Python implementation only. It will effectively replace the python2
-# eclass inherit with python2-single.
-#
-# Note that inheriting python2-single will cause pkg_setup()
-# to be exported. It must be run in order for the eclass functions
-# to function properly.
-
-# @ECLASS-VARIABLE: DISTUTILS_USE_SETUPTOOLS
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Controls adding dev-python/setuptools dependency. The allowed values
-# are:
-#
-# - no -- do not add the dependency (pure distutils package)
-# - bdepend -- add it to BDEPEND (the default)
-# - rdepend -- add it to BDEPEND+RDEPEND (when using entry_points)
-# - pyproject.toml -- use pyproject2setuptools to install a project
-# using pyproject.toml (flit, poetry...)
-# - manual -- do not add the depedency and suppress the checks
-# (assumes you will take care of doing it correctly)
-#
-# This variable is effective only if DISTUTILS_OPTIONAL is disabled.
-# It needs to be set before the inherit line.
-: ${DISTUTILS_USE_SETUPTOOLS:=bdepend}
-
-if [[ ! ${_DISTUTILS_R1} ]]; then
-
-[[ ${EAPI} == [456] ]] && inherit eutils
-[[ ${EAPI} == [56] ]] && inherit xdg-utils
-inherit multiprocessing toolchain-funcs
-
-if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- inherit python2
-else
- inherit python2-single
-fi
-
-fi
-
-if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
- EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
-fi
-
-if [[ ! ${_DISTUTILS_R1} ]]; then
-
-_distutils_set_globals() {
- local rdep bdep
- local setuptools_dep='>=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]'
-
- case ${DISTUTILS_USE_SETUPTOOLS} in
- no|manual)
- ;;
- bdepend)
- bdep+=" ${setuptools_dep}"
- ;;
- rdepend)
- bdep+=" ${setuptools_dep}"
- rdep+=" ${setuptools_dep}"
- ;;
- pyproject.toml)
- bdep+=' dev-python/pyproject2setuppy[${PYTHON_USEDEP}]'
- ;;
- *)
- die "Invalid DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}"
- ;;
- esac
-
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- bdep=${bdep//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
- rdep=${rdep//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
- else
- [[ -n ${bdep} ]] && bdep="$(python_gen_cond_dep "${bdep}")"
- [[ -n ${rdep} ]] && rdep="$(python_gen_cond_dep "${rdep}")"
- fi
-
- RDEPEND="${PYTHON_DEPS} ${rdep}"
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND="${PYTHON_DEPS} ${bdep}"
- else
- DEPEND="${PYTHON_DEPS} ${bdep}"
- fi
- REQUIRED_USE=${PYTHON_REQUIRED_USE}
-}
-[[ ! ${DISTUTILS_OPTIONAL} ]] && _distutils_set_globals
-unset -f _distutils_set_globals
-
-# @ECLASS-VARIABLE: PATCHES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing patches to be applied to the sources before
-# copying them.
-#
-# If unset, no custom patches will be applied.
-#
-# Please note, however, that at some point the eclass may apply
-# additional distutils patches/quirks independently of this variable.
-#
-# Example:
-# @CODE
-# PATCHES=( "${FILESDIR}"/${P}-make-gentoo-happy.patch )
-# @CODE
-
-# @ECLASS-VARIABLE: DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing documents installed using dodoc. The files listed
-# there must exist in the directory from which
-# distutils2_python_install_all() is run (${S} by default).
-#
-# If unset, the function will instead look up files matching default
-# filename pattern list (from the Package Manager Specification),
-# and install those found.
-#
-# Example:
-# @CODE
-# DOCS=( NEWS README )
-# @CODE
-
-# @ECLASS-VARIABLE: HTML_DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing documents installed using dohtml. The files
-# and directories listed there must exist in the directory from which
-# distutils2_python_install_all() is run (${S} by default).
-#
-# If unset, no HTML docs will be installed.
-#
-# Example:
-# @CODE
-# HTML_DOCS=( doc/html/. )
-# @CODE
-
-# @ECLASS-VARIABLE: EXAMPLES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# OBSOLETE: this variable is deprecated and banned in EAPI 6
-#
-# An array containing examples installed into 'examples' doc
-# subdirectory. The files and directories listed there must exist
-# in the directory from which distutils2_python_install_all() is run
-# (${S} by default).
-#
-# The 'examples' subdirectory will be marked not to be compressed
-# automatically.
-#
-# If unset, no examples will be installed.
-#
-# Example:
-# @CODE
-# EXAMPLES=( examples/. demos/. )
-# @CODE
-
-# @ECLASS-VARIABLE: DISTUTILS_IN_SOURCE_BUILD
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If set to a non-null value, in-source builds will be enabled.
-# If unset, the default is to use in-source builds when python_prepare()
-# is declared, and out-of-source builds otherwise.
-#
-# If in-source builds are used, the eclass will create a copy of package
-# sources for each Python implementation in python_prepare_all(),
-# and work on that copy afterwards.
-#
-# If out-of-source builds are used, the eclass will instead work
-# on the sources directly, prepending setup.py arguments with
-# 'build --build-base ${BUILD_DIR}' to enforce keeping & using built
-# files in the specific root.
-
-# @ECLASS-VARIABLE: DISTUTILS_ALL_SUBPHASE_IMPLS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array of patterns specifying which implementations can be used
-# for *_all() sub-phase functions. If undefined, defaults to '*'
-# (allowing any implementation). If multiple values are specified,
-# implementations matching any of the patterns will be accepted.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# If the restriction needs to apply conditionally to a USE flag,
-# the variable should be set conditionally as well (e.g. in an early
-# phase function or other convenient location).
-#
-# Please remember to add a matching || block to REQUIRED_USE,
-# to ensure that at least one implementation matching the patterns will
-# be enabled.
-#
-# Example:
-# @CODE
-# REQUIRED_USE="doc? ( || ( $(python_gen_useflags 'python2*') ) )"
-#
-# pkg_setup() {
-# use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( 'python2*' )
-# }
-# @CODE
-
-# @ECLASS-VARIABLE: mydistutilsargs
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing options to be passed to setup.py.
-#
-# Example:
-# @CODE
-# python_configure_all() {
-# mydistutilsargs=( --enable-my-hidden-option )
-# }
-# @CODE
-
-# @FUNCTION: distutils_enable_sphinx
-# @USAGE: [--no-autodoc | ...]
-# @DESCRIPTION:
-# Set up IUSE, BDEPEND, python_check_deps() and python_compile_all() for
-# building HTML docs via dev-python/sphinx. python_compile_all() will
-# append to HTML_DOCS if docs are enabled.
-#
-# This helper is meant for the most common case, that is a single Sphinx
-# subdirectory with standard layout, building and installing HTML docs
-# behind USE=doc. It assumes it's the only consumer of the three
-# aforementioned functions. If you need to use a custom implemention,
-# you can't use it.
-#
-# If your package uses additional Sphinx plugins, they should be passed
-# (without PYTHON_USEDEP) as . The function will take care
-# of setting appropriate any-of dep and python_check_deps().
-#
-# If no plugin packages are specified, the eclass will still utilize
-# any-r1 API to support autodoc (documenting source code).
-# If the package uses neither autodoc nor additional plugins, you should
-# pass --no-autodoc to disable this API and simplify the resulting code.
-#
-# This function must be called in global scope. Take care not to
-# overwrite the variables set by it. If you need to extend
-# python_compile_all(), you can call the original implementation
-# as sphinx_compile_all.
-distutils_enable_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
- [[ ${#} -ge 1 ]] || die "${FUNCNAME} takes at least one arg: "
-
- _DISTUTILS_SPHINX_SUBDIR=${1}
- shift
- _DISTUTILS_SPHINX_PLUGINS=( "${@}" )
-
- local deps autodoc=1 d
- deps="dev-python/sphinx[\${PYTHON_USEDEP}]"
- for d; do
- if [[ ${d} == --no-autodoc ]]; then
- autodoc=
- else
- deps+="
- ${d}[\${PYTHON_USEDEP}]"
- if [[ ! ${autodoc} ]]; then
- die "${FUNCNAME}: do not pass --no-autodoc if external plugins are used"
- fi
- fi
- done
-
- if [[ ${autodoc} ]]; then
- if [[ ${DISTUTILS_SINGLE_IMPL} ]]; then
- deps="$(python_gen_cond_dep "${deps}")"
- else
- deps="$(python_gen_any_dep "${deps}")"
- fi
-
- python_check_deps() {
- use doc || return 0
- local p
- for p in dev-python/sphinx "${_DISTUTILS_SPHINX_PLUGINS[@]}"; do
- has_version "${p}[${PYTHON_USEDEP}]" || return 1
- done
- }
- else
- deps="dev-python/sphinx"
- fi
-
- sphinx_compile_all() {
- use doc || return
-
- local confpy=${_DISTUTILS_SPHINX_SUBDIR}/conf.py
- [[ -f ${confpy} ]] ||
- die "${confpy} not found, distutils_enable_sphinx call wrong"
-
- if [[ ${_DISTUTILS_SPHINX_PLUGINS[0]} == --no-autodoc ]]; then
- if grep -F -q 'sphinx.ext.autodoc' "${confpy}"; then
- die "distutils_enable_sphinx: --no-autodoc passed but sphinx.ext.autodoc found in ${confpy}"
- fi
- elif [[ -z ${_DISTUTILS_SPHINX_PLUGINS[@]} ]]; then
- if ! grep -F -q 'sphinx.ext.autodoc' "${confpy}"; then
- die "distutils_enable_sphinx: sphinx.ext.autodoc not found in ${confpy}, pass --no-autodoc"
- fi
- fi
-
- build_sphinx "${_DISTUTILS_SPHINX_SUBDIR}"
- }
- python_compile_all() { sphinx_compile_all; }
-
- IUSE+=" doc"
- if [[ ${EAPI} == [56] ]]; then
- DEPEND+=" doc? ( ${deps} )"
- else
- BDEPEND+=" doc? ( ${deps} )"
- fi
-
- # we need to ensure successful return in case we're called last,
- # otherwise Portage may wrongly assume sourcing failed
- return 0
-}
-
-# @FUNCTION: distutils_enable_tests
-# @USAGE: [--install]
-# @DESCRIPTION:
-# Set up IUSE, RESTRICT, BDEPEND and python_test() for running tests
-# with the specified test runner. Also copies the current value
-# of RDEPEND to test?-BDEPEND. The test-runner argument must be one of:
-#
-# - nose: nosetests (dev-python/nose)
-# - pytest: dev-python/pytest
-# - setup.py: setup.py test (no deps included)
-# - unittest: for built-in Python unittest module
-#
-# Additionally, if --install is passed as the first parameter,
-# 'distutils_install_for_testing --via-root' is called before running
-# the test suite.
-#
-# This function is meant as a helper for common use cases, and it only
-# takes care of basic setup. You still need to list additional test
-# dependencies manually. If you have uncommon use case, you should
-# not use it and instead enable tests manually.
-#
-# This function must be called in global scope, after RDEPEND has been
-# declared. Take care not to overwrite the variables set by it.
-distutils_enable_tests() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local do_install=
- case ${1} in
- --install)
- do_install=1
- shift
- ;;
- esac
-
- [[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
- local test_pkg
- case ${1} in
- nose)
- test_pkg=">=dev-python/nose-1.3.7-r4"
- if [[ ${do_install} ]]; then
- python_test() {
- distutils_install_for_testing --via-root
- nosetests -v || die "Tests fail with ${EPYTHON}"
- }
- else
- python_test() {
- nosetests -v || die "Tests fail with ${EPYTHON}"
- }
- fi
- ;;
- pytest)
- test_pkg=">=dev-python/pytest-4.5.0"
- if [[ ${do_install} ]]; then
- python_test() {
- distutils_install_for_testing --via-root
- pytest -vv || die "Tests fail with ${EPYTHON}"
- }
- else
- python_test() {
- pytest -vv || die "Tests fail with ${EPYTHON}"
- }
- fi
- ;;
- setup.py)
- if [[ ${do_install} ]]; then
- python_test() {
- distutils_install_for_testing --via-root
- nonfatal esetup.py test --verbose ||
- die "Tests fail with ${EPYTHON}"
- }
- else
- python_test() {
- nonfatal esetup.py test --verbose ||
- die "Tests fail with ${EPYTHON}"
- }
- fi
- ;;
- unittest)
- if [[ ${do_install} ]]; then
- python_test() {
- distutils_install_for_testing --via-root
- "${EPYTHON}" -m unittest discover -v ||
- die "Tests fail with ${EPYTHON}"
- }
- else
- python_test() {
- "${EPYTHON}" -m unittest discover -v ||
- die "Tests fail with ${EPYTHON}"
- }
- fi
- ;;
- *)
- die "${FUNCNAME}: unsupported argument: ${1}"
- esac
-
- local test_deps=${RDEPEND}
- if [[ -n ${test_pkg} ]]; then
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- test_deps+=" ${test_pkg}[${PYTHON_USEDEP}]"
- else
- test_deps+=" $(python_gen_cond_dep "
- ${test_pkg}[\${PYTHON_MULTI_USEDEP}]
- ")"
- fi
- fi
- if [[ -n ${test_deps} ]]; then
- IUSE+=" test"
- RESTRICT+=" !test? ( test )"
- if [[ ${EAPI} == [56] ]]; then
- DEPEND+=" test? ( ${test_deps} )"
- else
- BDEPEND+=" test? ( ${test_deps} )"
- fi
- fi
-
- # we need to ensure successful return in case we're called last,
- # otherwise Portage may wrongly assume sourcing failed
- return 0
-}
-
-# @FUNCTION: esetup.py
-# @USAGE: [...]
-# @DESCRIPTION:
-# Run setup.py using currently selected Python interpreter
-# (if ${EPYTHON} is set; fallback 'python' otherwise).
-#
-# setup.py will be passed the following, in order:
-# 1. ${mydistutilsargs[@]}
-# 2. additional arguments passed to the esetup.py function.
-#
-# Please note that setup.py will respect defaults (unless overridden
-# via command-line options) from setup.cfg that is created
-# in distutils2_python_compile and in distutils2_python_install.
-#
-# This command dies on failure.
-esetup.py() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local die_args=()
- [[ ${EAPI} != [45] ]] && die_args+=( -n )
-
- [[ ${BUILD_DIR} ]] && _distutils2_create_setup_cfg
-
- set -- "${EPYTHON:-python}" setup.py "${mydistutilsargs[@]}" "${@}"
-
- echo "${@}" >&2
- "${@}" || die "${die_args[@]}"
- local ret=${?}
-
- if [[ ${BUILD_DIR} ]]; then
- rm "${HOME}"/.pydistutils.cfg || die "${die_args[@]}"
- fi
-
- return ${ret}
-}
-
-# @FUNCTION: distutils_install_for_testing
-# @USAGE: [--via-root|--via-home] [...]
-# @DESCRIPTION:
-# Install the package into a temporary location for running tests.
-# Update PYTHONPATH appropriately and set TEST_DIR to the test
-# installation root. The Python packages will be installed in 'lib'
-# subdir, and scripts in 'scripts' subdir (like in BUILD_DIR).
-#
-# Please note that this function should be only used if package uses
-# namespaces (and therefore proper install needs to be done to enforce
-# PYTHONPATH) or tests rely on the results of install command.
-# For most of the packages, tests built in BUILD_DIR are good enough.
-#
-# The function supports two install modes. The current default is
-# --via-root mode. Previously, the function defaulted to --via-home
-# mode but it has been broken by new versions of setuptools (50.3.0+).
-# If you find that --via-root does not work but --via-home does, please
-# file a bug to let us know. Please note that proper testing sometimes
-# requires unmerging the package first.
-distutils_install_for_testing() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # A few notes:
- # 1) because of namespaces, we can't use 'install --root'
- # (NB: this is probably no longer true with py3),
- # 2) 'install --home' is terribly broken on pypy, so we need
- # to override --install-lib and --install-scripts,
- # 3) non-root 'install' complains about PYTHONPATH and missing dirs,
- # so we need to set it properly and mkdir them,
- # 4) it runs a bunch of commands which write random files to cwd,
- # in order to avoid that, we add the necessary path overrides
- # in _distutils2_create_setup_cfg.
-
- TEST_DIR=${BUILD_DIR}/test
- local bindir=${TEST_DIR}/scripts
- local libdir=${TEST_DIR}/lib
- PATH=${bindir}:${PATH}
- PYTHONPATH=${libdir}:${PYTHONPATH}
-
- local install_method=root
- case ${1} in
- --via-home)
- install_method=home
- shift
- ;;
- --via-root)
- install_method=root
- shift
- ;;
- esac
-
- local -a add_args
- case ${install_method} in
- home)
- add_args=(
- install
- --home="${TEST_DIR}"
- --install-lib="${libdir}"
- --install-scripts="${bindir}"
- )
- mkdir -p "${libdir}" || die
- ;;
- root)
- add_args=(
- install
- --root="${TEST_DIR}"
- --install-lib=lib
- --install-scripts=scripts
- )
- ;;
- esac
-
- esetup.py "${add_args[@]}" "${@}"
-}
-
-# @FUNCTION: _distutils2_disable_ez_setup
-# @INTERNAL
-# @DESCRIPTION:
-# Stub out ez_setup.py and distribute_setup.py to prevent packages
-# from trying to download a local copy of setuptools.
-_distutils2_disable_ez_setup() {
- local stub="def use_setuptools(*args, **kwargs): pass"
- if [[ -f ez_setup.py ]]; then
- echo "${stub}" > ez_setup.py || die
- fi
- if [[ -f distribute_setup.py ]]; then
- echo "${stub}" > distribute_setup.py || die
- fi
-}
-
-# @FUNCTION: _distutils2_handle_pyproject_toml
-# @INTERNAL
-# @DESCRIPTION:
-# Generate setup.py for pyproject.toml if requested.
-_distutils2_handle_pyproject_toml() {
- if [[ ! -f setup.py && -f pyproject.toml ]]; then
- if [[ ${DISTUTILS_USE_SETUPTOOLS} == pyproject.toml ]]; then
- cat > setup.py <<-EOF || die
- #!/usr/bin/env python
- from pyproject2setuppy.main import main
- main()
- EOF
- chmod +x setup.py || die
- else
- eerror "No setup.py found but pyproject.toml is present. In order to enable"
- eerror "pyproject.toml support in distutils2, set:"
- eerror " DISTUTILS_USE_SETUPTOOLS=pyproject.toml"
- die "No setup.py found and DISTUTILS_USE_SETUPTOOLS!=pyproject.toml"
- fi
- fi
-}
-
-# @FUNCTION: distutils2_python_prepare_all
-# @DESCRIPTION:
-# The default python_prepare_all(). It applies the patches from PATCHES
-# array, then user patches and finally calls python_copy_sources to
-# create copies of resulting sources for each Python implementation.
-#
-# At some point in the future, it may also apply eclass-specific
-# distutils patches and/or quirks.
-distutils2_python_prepare_all() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
- if [[ ${EAPI} != [45] ]]; then
- default
- else
- [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
- epatch_user
- fi
- fi
-
- # by default, use in-source build if python_prepare() is used
- if [[ ! ${DISTUTILS_IN_SOURCE_BUILD+1} ]]; then
- if declare -f python_prepare >/dev/null; then
- DISTUTILS_IN_SOURCE_BUILD=1
- fi
- fi
-
- _distutils2_disable_ez_setup
- _distutils2_handle_pyproject_toml
-
- if [[ ${DISTUTILS_IN_SOURCE_BUILD} && ! ${DISTUTILS_SINGLE_IMPL} ]]
- then
- # create source copies for each implementation
- python_copy_sources
- fi
-
- _DISTUTILS_DEFAULT_CALLED=1
-}
-
-# @FUNCTION: distutils2_python_prepare
-# @DESCRIPTION:
-# The default python_prepare(). A no-op.
-distutils2_python_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI 6 (it was a no-op)"
-}
-
-# @FUNCTION: distutils2_python_configure
-# @DESCRIPTION:
-# The default python_configure(). A no-op.
-distutils2_python_configure() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI 6 (it was a no-op)"
-}
-
-# @FUNCTION: _distutils2_create_setup_cfg
-# @INTERNAL
-# @DESCRIPTION:
-# Create implementation-specific configuration file for distutils,
-# setting proper build-dir (and install-dir) paths.
-_distutils2_create_setup_cfg() {
- cat > "${HOME}"/.pydistutils.cfg <<-_EOF_ || die
- [build]
- build-base = ${BUILD_DIR}
-
- # using a single directory for them helps us export
- # ${PYTHONPATH} and ebuilds find the sources independently
- # of whether the package installs extensions or not
- #
- # note: due to some packages (wxpython) relying on separate
- # platlib & purelib dirs, we do not set --build-lib (which
- # can not be overridden with --build-*lib)
- build-platlib = %(build-base)s/lib
- build-purelib = %(build-base)s/lib
-
- # make the ebuild writer lives easier
- build-scripts = %(build-base)s/scripts
-
- # this is needed by distutils_install_for_testing since
- # setuptools like to create .egg files for install --home.
- [bdist_egg]
- dist-dir = ${BUILD_DIR}/dist
- _EOF_
-
- # we can't refer to ${D} before src_install()
- if [[ ${EBUILD_PHASE} == install ]]; then
- cat >> "${HOME}"/.pydistutils.cfg <<-_EOF_ || die
-
- # installation paths -- allow calling extra install targets
- # without the default 'install'
- [install]
- compile = True
- optimize = 2
- root = ${D%/}
- _EOF_
-
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- cat >> "${HOME}"/.pydistutils.cfg <<-_EOF_ || die
- install-scripts = $(python_get_scriptdir)
- _EOF_
- fi
- fi
-}
-
-# @FUNCTION: _distutils2_copy_egg_info
-# @INTERNAL
-# @DESCRIPTION:
-# Copy egg-info files to the ${BUILD_DIR} (that's going to become
-# egg-base in esetup.py). This way, we respect whatever's in upstream
-# egg-info.
-_distutils2_copy_egg_info() {
- mkdir -p "${BUILD_DIR}" || die
- # stupid freebsd can't do 'cp -t ${BUILD_DIR} {} +'
- find -name '*.egg-info' -type d -exec cp -R -p {} "${BUILD_DIR}"/ ';' || die
-}
-
-# @FUNCTION: distutils2_python_compile
-# @USAGE: [additional-args...]
-# @DESCRIPTION:
-# The default python_compile(). Runs 'esetup.py build'. Any parameters
-# passed to this function will be appended to setup.py invocation,
-# i.e. passed as options to the 'build' command.
-#
-# This phase also sets up initial setup.cfg with build directories
-# and copies upstream egg-info files if supplied.
-distutils2_python_compile() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _distutils2_copy_egg_info
-
- local build_args=()
- # distutils is parallel-capable since py3.5
- # to avoid breaking stable ebuilds, enable it only if either:
- # a. we're dealing with EAPI 7
- # b. we're dealing with Python 3.7 or PyPy3
- if python_is_python3 && [[ ${EPYTHON} != python3.4 ]]; then
- if [[ ${EAPI} != [56] || ${EPYTHON} != python3.[56] ]]; then
- local jobs=$(makeopts_jobs "${MAKEOPTS}" INF)
- if [[ ${jobs} == INF ]]; then
- local nproc=$(get_nproc)
- jobs=$(( nproc + 1 ))
- fi
- build_args+=( -j "${jobs}" )
- fi
- fi
-
- esetup.py build "${build_args[@]}" "${@}"
-}
-
-# @FUNCTION: _distutils2_wrap_scripts
-# @USAGE:
-# @INTERNAL
-# @DESCRIPTION:
-# Moves and wraps all installed scripts/executables as necessary.
-_distutils2_wrap_scripts() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${#} -eq 2 ]] || die "usage: ${FUNCNAME} "
- local path=${1}
- local bindir=${2}
-
- local scriptdir=$(python_get_scriptdir)
- local f python_files=() non_python_files=()
-
- if [[ -d ${path}${scriptdir} ]]; then
- for f in "${path}${scriptdir}"/*; do
- [[ -d ${f} ]] && die "Unexpected directory: ${f}"
- debug-print "${FUNCNAME}: found executable at ${f#${path}/}"
-
- local shebang
- read -r shebang < "${f}"
- if [[ ${shebang} == '#!'*${EPYTHON}* ]]; then
- debug-print "${FUNCNAME}: matching shebang: ${shebang}"
- python_files+=( "${f}" )
- else
- debug-print "${FUNCNAME}: non-matching shebang: ${shebang}"
- non_python_files+=( "${f}" )
- fi
-
- mkdir -p "${path}${bindir}" || die
- done
-
- for f in "${python_files[@]}"; do
- local basename=${f##*/}
-
- debug-print "${FUNCNAME}: installing wrapper at ${bindir}/${basename}"
- #_python_ln_rel "${path}${EPREFIX}"/usr/lib/python-exec/python-exec2 \
- # "${path}${bindir}/${basename}" || die
- done
-
- for f in "${non_python_files[@]}"; do
- local basename=${f##*/}
-
- debug-print "${FUNCNAME}: moving ${f#${path}/} to ${bindir}/${basename}"
- mv "${f}" "${path}${bindir}/${basename}" || die
- done
- fi
-}
-
-# @FUNCTION: distutils2_python_install
-# @USAGE: [additional-args...]
-# @DESCRIPTION:
-# The default python_install(). Runs 'esetup.py install', doing
-# intermediate root install and handling script wrapping afterwards.
-# Any parameters passed to this function will be appended
-# to the setup.py invocation (i.e. as options to the 'install' command).
-#
-# This phase updates the setup.cfg file with install directories.
-distutils2_python_install() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local args=( "${@}" )
-
- # enable compilation for the install phase.
- local -x PYTHONDONTWRITEBYTECODE=
-
- # python likes to compile any module it sees, which triggers sandbox
- # failures if some packages haven't compiled their modules yet.
- addpredict "${EPREFIX}/usr/lib/${EPYTHON}"
- addpredict "${EPREFIX}/usr/$(get_libdir)/${EPYTHON}"
- addpredict /usr/lib/pypy2.7
- addpredict /usr/lib/pypy3.6
- addpredict /usr/lib/portage/pym
- addpredict /usr/local # bug 498232
-
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- # user may override --install-scripts
- # note: this is poor but distutils argv parsing is dumb
- local mydistutilsargs=( "${mydistutilsargs[@]}" )
- local scriptdir=${EPREFIX}/usr/bin
-
- # construct a list of mydistutilsargs[0] args[0] args[1]...
- local arg arg_vars
- [[ ${mydistutilsargs[@]} ]] && eval arg_vars+=(
- 'mydistutilsargs['{0..$(( ${#mydistutilsargs[@]} - 1 ))}']'
- )
- [[ ${args[@]} ]] && eval arg_vars+=(
- 'args['{0..$(( ${#args[@]} - 1 ))}']'
- )
-
- set -- "${arg_vars[@]}"
- while [[ ${@} ]]; do
- local arg_var=${1}
- shift
- local a=${!arg_var}
-
- case "${a}" in
- --install-scripts=*)
- scriptdir=${a#--install-scripts=}
- unset "${arg_var}"
- ;;
- --install-scripts)
- scriptdir=${!1}
- unset "${arg_var}" "${1}"
- shift
- ;;
- esac
- done
- fi
-
- local root=${D%/}/_${EPYTHON}
- [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/}
-
- esetup.py install --skip-build --root="${root}" "${args[@]}"
-
- local forbidden_package_names=( examples test tests .pytest_cache )
- local p
- for p in "${forbidden_package_names[@]}"; do
- if [[ -d ${root}$(python_get_sitedir)/${p} ]]; then
- die "Package installs '${p}' package which is forbidden and likely a bug in the build system."
- fi
- done
-
- local shopt_save=$(shopt -p nullglob)
- shopt -s nullglob
- local pypy_dirs=(
- "${root}/usr/$(get_libdir)"/pypy*/share
- "${root}/usr/lib"/pypy*/share
- )
- ${shopt_save}
-
- if [[ -n ${pypy_dirs} ]]; then
- die "Package installs 'share' in PyPy prefix, see bug #465546."
- fi
-
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- _distutils2_wrap_scripts "${root}" "${scriptdir}"
- multibuild_merge_root "${root}" "${D%/}"
- fi
-}
-
-# @FUNCTION: distutils2_python_install_all
-# @DESCRIPTION:
-# The default python_install_all(). It installs the documentation.
-distutils2_python_install_all() {
- debug-print-function ${FUNCNAME} "${@}"
-
- einstalldocs
-
- if declare -p EXAMPLES &>/dev/null; then
- [[ ${EAPI} != [45] ]] && die "EXAMPLES are banned in EAPI ${EAPI}"
-
- (
- docinto examples
- dodoc -r "${EXAMPLES[@]}"
- )
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
-}
-
-# @FUNCTION: distutils2_run_phase
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Run the given command.
-#
-# If out-of-source builds are used, the phase function is run in source
-# directory, with BUILD_DIR pointing at the build directory
-# and PYTHONPATH having an entry for the module build directory.
-#
-# If in-source builds are used, the command is executed in the directory
-# holding the per-implementation copy of sources. BUILD_DIR points
-# to the 'build' subdirectory.
-distutils2_run_phase() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if [[ ${DISTUTILS_IN_SOURCE_BUILD} ]]; then
- # only force BUILD_DIR if implementation is explicitly enabled
- # for building; any-r1 API may select one that is not
- # https://bugs.gentoo.org/701506
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]] &&
- has "${EPYTHON/./_}" ${PYTHON_TARGETS}; then
- cd "${BUILD_DIR}" || die
- fi
- local BUILD_DIR=${BUILD_DIR}/build
- fi
- local -x PYTHONPATH="${BUILD_DIR}/lib:${PYTHONPATH}"
-
- # make PATH local for distutils_install_for_testing calls
- # it makes little sense to let user modify PATH in per-impl phases
- # and _all() already localizes it
- local -x PATH=${PATH}
-
- # Bug 559644
- # using PYTHONPATH when the ${BUILD_DIR}/lib is not created yet might lead to
- # problems in setup.py scripts that try to import modules/packages from that path
- # during the build process (Python at startup evaluates PYTHONPATH, if the dir is
- # not valid then associates a NullImporter object to ${BUILD_DIR}/lib storing it
- # in the sys.path_importer_cache)
- mkdir -p "${BUILD_DIR}/lib" || die
-
- # Set up build environment, bug #513664.
- local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX}
- tc-export AR CC CPP CXX
-
- # How to build Python modules in different worlds...
- local ldopts
- case "${CHOST}" in
- # provided by haubi, 2014-07-08
- *-aix*) ldopts='-shared -Wl,-berok';; # good enough
- # provided by grobian, 2014-06-22, bug #513664 c7
- *-darwin*) ldopts='-bundle -undefined dynamic_lookup';;
- *) ldopts='-shared';;
- esac
-
- local -x LDSHARED="${CC} ${ldopts}" LDCXXSHARED="${CXX} ${ldopts}"
-
- "${@}"
-
- cd "${_DISTUTILS_INITIAL_CWD}" || die
-}
-
-# @FUNCTION: _distutils2_run_common_phase
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Run the given command, restoring the state for a most preferred Python
-# implementation matching DISTUTILS_ALL_SUBPHASE_IMPLS.
-#
-# If in-source build is used, the command will be run in the copy
-# of sources made for the selected Python interpreter.
-_distutils2_run_common_phase() {
- local DISTUTILS_ORIG_BUILD_DIR=${BUILD_DIR}
-
- if [[ ${DISTUTILS_SINGLE_IMPL} ]]; then
- # reuse the dedicated code branch
- _distutils2_run_foreach_impl "${@}"
- else
- local -x EPYTHON PYTHON
- local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
- python_setup "${DISTUTILS_ALL_SUBPHASE_IMPLS[@]}"
-
- local MULTIBUILD_VARIANTS=( "${EPYTHON/./_}" )
- # store for restoring after distutils2_run_phase.
- local _DISTUTILS_INITIAL_CWD=${PWD}
- multibuild_foreach_variant \
- distutils2_run_phase "${@}"
- fi
-}
-
-# @FUNCTION: _distutils2_run_foreach_impl
-# @INTERNAL
-# @DESCRIPTION:
-# Run the given phase for each implementation if multiple implementations
-# are enabled, once otherwise.
-_distutils2_run_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # store for restoring after distutils2_run_phase.
- local _DISTUTILS_INITIAL_CWD=${PWD}
- set -- distutils2_run_phase "${@}"
-
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- python_foreach_impl "${@}"
- else
- if [[ ! ${EPYTHON} ]]; then
- die "EPYTHON unset, python2-single_pkg_setup not called?!"
- fi
- local BUILD_DIR=${BUILD_DIR:-${S}}
- BUILD_DIR=${BUILD_DIR%%/}_${EPYTHON}
-
- "${@}"
- fi
-}
-
-distutils2_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local _DISTUTILS_DEFAULT_CALLED
-
- # common preparations
- if declare -f python_prepare_all >/dev/null; then
- python_prepare_all
- else
- distutils2_python_prepare_all
- fi
-
- if [[ ! ${_DISTUTILS_DEFAULT_CALLED} ]]; then
- local cmd=die
- [[ ${EAPI} == [45] ]] && cmd=eqawarn
-
- "${cmd}" "QA: python_prepare_all() didn't call distutils2_python_prepare_all"
- fi
-
- if declare -f python_prepare >/dev/null; then
- _distutils2_run_foreach_impl python_prepare
- fi
-}
-
-distutils2_src_configure() {
- python_export_utf8_locale
- [[ ${EAPI} == [56] ]] && xdg_environment_reset # Bug 577704
-
- if declare -f python_configure >/dev/null; then
- _distutils2_run_foreach_impl python_configure
- fi
-
- if declare -f python_configure_all >/dev/null; then
- _distutils2_run_common_phase python_configure_all
- fi
-}
-
-distutils2_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if declare -f python_compile >/dev/null; then
- _distutils2_run_foreach_impl python_compile
- else
- _distutils2_run_foreach_impl distutils2_python_compile
- fi
-
- if declare -f python_compile_all >/dev/null; then
- _distutils2_run_common_phase python_compile_all
- fi
-}
-
-# @FUNCTION: _distutils2_clean_egg_info
-# @INTERNAL
-# @DESCRIPTION:
-# Clean up potential stray egg-info files left by setuptools test phase.
-# Those files ended up being unversioned, and caused issues:
-# https://bugs.gentoo.org/534058
-_distutils2_clean_egg_info() {
- rm -rf "${BUILD_DIR}"/lib/*.egg-info || die
-}
-
-distutils2_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if declare -f python_test >/dev/null; then
- _distutils2_run_foreach_impl python_test
- _distutils2_run_foreach_impl _distutils2_clean_egg_info
- fi
-
- if declare -f python_test_all >/dev/null; then
- _distutils2_run_common_phase python_test_all
- fi
-}
-
-# @FUNCTION: _distutils2_check_namespace_pth
-# @INTERNAL
-# @DESCRIPTION:
-# Check if any *-nspkg.pth files were installed (by setuptools)
-# and warn about the policy non-conformance if they were.
-_distutils2_check_namespace_pth() {
- local f pth=()
-
- while IFS= read -r -d '' f; do
- pth+=( "${f}" )
- done < <(find "${ED%/}" -name '*-nspkg.pth' -print0)
-
- if [[ ${pth[@]} ]]; then
- ewarn "The following *-nspkg.pth files were found installed:"
- ewarn
- for f in "${pth[@]}"; do
- ewarn " ${f#${ED%/}}"
- done
- ewarn
- ewarn "The presence of those files may break namespaces in Python 3.5+. Please"
- ewarn "read our documentation on reliable handling of namespaces and update"
- ewarn "the ebuild accordingly:"
- ewarn
- ewarn " https://wiki.gentoo.org/wiki/Project:Python/Namespace_packages"
- fi
-}
-
-distutils2_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if declare -f python_install >/dev/null; then
- _distutils2_run_foreach_impl python_install
- else
- _distutils2_run_foreach_impl distutils2_python_install
- fi
-
- if declare -f python_install_all >/dev/null; then
- _distutils2_run_common_phase python_install_all
- else
- _distutils2_run_common_phase distutils2_python_install_all
- fi
-
- _distutils2_check_namespace_pth
-}
-
-# -- distutils.eclass functions --
-
-distutils_get_intermediate_installation_image() {
- die "${FUNCNAME}() is invalid for distutils2"
-}
-
-distutils_src_unpack() {
- die "${FUNCNAME}() is invalid for distutils2, and you don't want it in EAPI ${EAPI} anyway"
-}
-
-distutils_src_prepare() {
- die "${FUNCNAME}() is invalid for distutils2, you probably want: ${FUNCNAME/_/-r1_}"
-}
-
-distutils_src_compile() {
- die "${FUNCNAME}() is invalid for distutils2, you probably want: ${FUNCNAME/_/-r1_}"
-}
-
-distutils_src_test() {
- die "${FUNCNAME}() is invalid for distutils2, you probably want: ${FUNCNAME/_/-r1_}"
-}
-
-distutils_src_install() {
- die "${FUNCNAME}() is invalid for distutils2, you probably want: ${FUNCNAME/_/-r1_}"
-}
-
-distutils_pkg_postinst() {
- die "${FUNCNAME}() is invalid for distutils2, and pkg_postinst is unnecessary"
-}
-
-distutils_pkg_postrm() {
- die "${FUNCNAME}() is invalid for distutils2, and pkg_postrm is unnecessary"
-}
-
-_DISTUTILS_R1=1
-fi
diff --git a/eclass/python2-single.eclass b/eclass/python2-single.eclass
deleted file mode 100644
index 07596321c..000000000
--- a/eclass/python2-single.eclass
+++ /dev/null
@@ -1,529 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @ECLASS: python2-single.eclass
-# @MAINTAINER:
-# Python team
-# @AUTHOR:
-# Author: Michał Górny
-# Based on work of: Krzysztof Pawlik
-# @SUPPORTED_EAPIS: 5 6 7
-# @BLURB: An eclass for Python packages not installed for multiple implementations.
-# @DESCRIPTION:
-# An extension of the python2 eclass suite for packages which
-# don't support being installed for multiple Python implementations.
-# This mostly includes tools embedding Python and packages using foreign
-# build systems.
-#
-# This eclass sets correct IUSE. It also provides PYTHON_DEPS
-# and PYTHON_REQUIRED_USE that need to be added to appropriate ebuild
-# metadata variables.
-#
-# The eclass exports PYTHON_SINGLE_USEDEP that is suitable for depending
-# on other packages using the eclass. Dependencies on packages using
-# python2 should be created via python_gen_cond_dep() function,
-# using PYTHON_USEDEP placeholder.
-#
-# Please note that packages support multiple Python implementations
-# (using python2 eclass) can not depend on packages not supporting
-# them (using this eclass).
-#
-# Please note that python2-single will always inherit python2-utils
-# as well. Thus, all the functions defined there can be used
-# in the packages using python2-single, and there is no need ever
-# to inherit both.
-#
-# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
-
-case "${EAPI:-0}" in
- 0|1|2|3|4)
- die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
- ;;
- 5|6|7)
- # EAPI=5 is required for sane USE_EXPAND dependencies
- ;;
- *)
- die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
- ;;
-esac
-
-if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
-
-if [[ ${_PYTHON_R1} ]]; then
- die 'python2-single.eclass can not be used with python2.eclass.'
-elif [[ ${_PYTHON_ANY_R1} ]]; then
- die 'python2-single.eclass can not be used with python-any-r1.eclass.'
-fi
-
-inherit python2-utils
-
-fi
-
-EXPORT_FUNCTIONS pkg_setup
-
-# @ECLASS-VARIABLE: PYTHON_COMPAT
-# @REQUIRED
-# @DESCRIPTION:
-# This variable contains a list of Python implementations the package
-# supports. It must be set before the `inherit' call. It has to be
-# an array.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
-# @CODE
-#
-# Please note that you can also use bash brace expansion if you like:
-# @CODE
-# PYTHON_COMPAT=( python2_7 python3_{3,4} )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_COMPAT_OVERRIDE
-# @USER_VARIABLE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# This variable can be used when working with ebuilds to override
-# the in-ebuild PYTHON_COMPAT. It is a string naming the implementation
-# which package will be built for. It needs to be specified
-# in the calling environment, and not in ebuilds.
-#
-# It should be noted that in order to preserve metadata immutability,
-# PYTHON_COMPAT_OVERRIDE does not affect IUSE nor dependencies.
-# The state of PYTHON_SINGLE_TARGET is ignored, and the implementation
-# in PYTHON_COMPAT_OVERRIDE is built instead. Dependencies need to be
-# satisfied manually.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT_OVERRIDE='pypy' emerge -1v dev-python/bar
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_REQ_USE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The list of USEflags required to be enabled on the chosen Python
-# implementations, formed as a USE-dependency string. It should be valid
-# for all implementations in PYTHON_COMPAT, so it may be necessary to
-# use USE defaults.
-#
-# This should be set before calling `inherit'.
-#
-# Example:
-# @CODE
-# PYTHON_REQ_USE="gdbm,ncurses(-)?"
-# @CODE
-#
-# It will cause the Python dependencies to look like:
-# @CODE
-# python_single_target_pythonX_Y? ( dev-lang/python:X.Y[gdbm,ncurses(-)?] )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_DEPS
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated Python dependency string for all
-# implementations listed in PYTHON_COMPAT.
-#
-# The dependency string is conditional on PYTHON_SINGLE_TARGET.
-#
-# Example use:
-# @CODE
-# RDEPEND="${PYTHON_DEPS}
-# dev-foo/mydep"
-# DEPEND="${RDEPEND}"
-# @CODE
-#
-# Example value:
-# @CODE
-# dev-lang/python-exec:=
-# python_single_target_python2_7? ( dev-lang/python:2.7[gdbm] )
-# python_single_target_pypy? ( dev-python/pypy[gdbm] )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_SINGLE_USEDEP
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated USE-dependency string which can be used to
-# depend on another python2-single package being built for the same
-# Python implementations.
-#
-# If you need to depend on a multi-impl (python2) package, use
-# python_gen_cond_dep with PYTHON_USEDEP placeholder instead.
-#
-# Example use:
-# @CODE
-# RDEPEND="dev-python/foo[${PYTHON_SINGLE_USEDEP}]"
-# @CODE
-#
-# Example value:
-# @CODE
-# python_single_target_python3_4(-)?
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_USEDEP
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is a placeholder variable supported by python_gen_cond_dep,
-# in order to depend on python2 packages built for the same Python
-# implementations.
-#
-# Example use:
-# @CODE
-# RDEPEND="$(python_gen_cond_dep '
-# dev-python/foo[${PYTHON_USEDEP}]
-# ')"
-# @CODE
-#
-# Example value:
-# @CODE
-# python_targets_python3_4(-)
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_MULTI_USEDEP
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is a backwards-compatibility placeholder. Use PYTHON_USEDEP
-# instead.
-
-# @ECLASS-VARIABLE: PYTHON_REQUIRED_USE
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated required-use expression which ensures
-# that exactly one PYTHON_SINGLE_TARGET value has been enabled.
-#
-# This expression should be utilized in an ebuild by including it in
-# REQUIRED_USE, optionally behind a use flag.
-#
-# Example use:
-# @CODE
-# REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# @CODE
-#
-# Example value:
-# @CODE
-# ^^ ( python_single_target_python2_7 python_single_target_python3_3 )
-# @CODE
-
-_python_single_set_globals() {
- _python_set_impls
-
- local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_single_target_}" )
-
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- # if only one implementation is supported, use IUSE defaults
- # to avoid requesting the user to enable it
- IUSE="+${flags[0]}"
- else
- IUSE="${flags[*]}"
- fi
-
- local requse="^^ ( ${flags[*]} )"
- local single_flags="${flags[@]/%/(-)?}"
- local single_usedep=${single_flags// /,}
-
- local deps= i PYTHON_PKG_DEP
- for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- _python_export "${i}" PYTHON_PKG_DEP
- # 1) well, python-exec would suffice as an RDEP
- # but no point in making this overcomplex, BDEP doesn't hurt anyone
- # 2) python-exec should be built with all targets forced anyway
- # but if new targets were added, we may need to force a rebuild
- #deps+="python_single_target_${i}? (
- # ${PYTHON_PKG_DEP}
- # >=dev-lang/python-exec-2:=[python_targets_${i}]
- #) "
- done
-
- if [[ ${PYTHON_DEPS+1} ]]; then
- if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
- eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
- eerror "Before: ${PYTHON_DEPS}"
- eerror "Now : ${deps}"
- die "PYTHON_DEPS integrity check failed"
- fi
-
- # these two are formality -- they depend on PYTHON_COMPAT only
- if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then
- eerror "PYTHON_REQUIRED_USE have changed between inherits!"
- eerror "Before: ${PYTHON_REQUIRED_USE}"
- eerror "Now : ${requse}"
- die "PYTHON_REQUIRED_USE integrity check failed"
- fi
-
- if [[ ${PYTHON_SINGLE_USEDEP} != "${single_usedep}" ]]; then
- eerror "PYTHON_SINGLE_USEDEP have changed between inherits!"
- eerror "Before: ${PYTHON_SINGLE_USEDEP}"
- eerror "Now : ${single_usedep}"
- die "PYTHON_SINGLE_USEDEP integrity check failed"
- fi
- else
- PYTHON_DEPS=${deps}
- PYTHON_REQUIRED_USE=${requse}
- PYTHON_USEDEP='%PYTHON_USEDEP-NEEDS-TO-BE-USED-IN-PYTHON_GEN_COND_DEP%'
- PYTHON_SINGLE_USEDEP=${single_usedep}
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_SINGLE_USEDEP \
- PYTHON_USEDEP
- fi
-}
-_python_single_set_globals
-unset -f _python_single_set_globals
-
-if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
-
-# @FUNCTION: _python_gen_usedep
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Output a USE dependency string for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# This is an internal function used to implement python_gen_cond_dep.
-_python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- matches+=(
- "python_single_target_${impl}(-)?"
- )
- fi
- done
-
- [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}"
-
- local out=${matches[@]}
- echo "${out// /,}"
-}
-
-# @FUNCTION: python_gen_useflags
-# @USAGE: [...]
-# @DESCRIPTION:
-# Output a list of USE flags for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_4} )
-# REQUIRED_USE="doc? ( ^^ ( $(python_gen_useflags 'python2*') ) )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# REQUIRED_USE="doc? ( ^^ ( python_single_target_python2_7 ) )"
-# @CODE
-python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- matches+=( "python_single_target_${impl}" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_gen_cond_dep
-# @USAGE: [...]
-# @DESCRIPTION:
-# Output a list of -ies made conditional to USE flags
-# of Python implementations which are both in PYTHON_COMPAT and match
-# any of the patterns passed as the remaining parameters.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# In order to enforce USE constraints on the packages, verbatim
-# '${PYTHON_SINGLE_USEDEP}' and '${PYTHON_USEDEP}' (quoted!) may
-# be placed in the dependency specification. It will get expanded within
-# the function into a proper USE dependency string.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
-# RDEPEND="$(python_gen_cond_dep \
-# 'dev-python/unittest2[${PYTHON_USEDEP}]' python2_7 pypy )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# RDEPEND="python_single_target_python2_7? (
-# dev-python/unittest2[python_targets_python2_7(-)?,...] )
-# python_single_target_pypy? (
-# dev-python/unittest2[python_targets_pypy(-)?,...] )"
-# @CODE
-python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
-
- local dep=${1}
- shift
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- # substitute ${PYTHON_SINGLE_USEDEP} if used
- # (since python_gen_usedep() will not return
- # ${PYTHON_SINGLE_USEDEP}, the code is run at most once)
- if [[ ${dep} == *'${PYTHON_SINGLE_USEDEP}'* ]]; then
- local usedep=$(_python_gen_usedep "${@}")
- dep=${dep//\$\{PYTHON_SINGLE_USEDEP\}/${usedep}}
- fi
- local multi_usedep="python_targets_${impl}(-)"
-
- local subdep=${dep//\$\{PYTHON_MULTI_USEDEP\}/${multi_usedep}}
- matches+=( "python_single_target_${impl}? (
- ${subdep//\$\{PYTHON_USEDEP\}/${multi_usedep}} )" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_gen_impl_dep
-# @USAGE: [ [...]]
-# @DESCRIPTION:
-# Output a dependency on Python implementations with the specified USE
-# dependency string appended, or no USE dependency string if called
-# without the argument (or with empty argument). If any implementation
-# patterns are passed, the output dependencies will be generated only
-# for the implementations matching them.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# Use this function when you need to request different USE flags
-# on the Python interpreter depending on package's USE flags. If you
-# only need a single set of interpreter USE flags, just set
-# PYTHON_REQ_USE and use ${PYTHON_DEPS} globally.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
-# RDEPEND="foo? ( $(python_gen_impl_dep 'xml(+)') )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# RDEPEND="foo? (
-# python_single_target_python2_7? (
-# dev-lang/python:2.7[xml(+)] )
-# python_single_target_pypy? (
-# dev-python/pypy[xml(+)] ) )"
-# @CODE
-python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl
- local matches=()
-
- local PYTHON_REQ_USE=${1}
- shift
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- local PYTHON_PKG_DEP
- _python_export "${impl}" PYTHON_PKG_DEP
- matches+=( "python_single_target_${impl}? ( ${PYTHON_PKG_DEP} )" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_setup
-# @DESCRIPTION:
-# Determine what the selected Python implementation is and set
-# the Python build environment up for it.
-python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
-
- unset EPYTHON
-
- # support developer override
- if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
- local impls=( ${PYTHON_COMPAT_OVERRIDE} )
- [[ ${#impls[@]} -eq 1 ]] || die "PYTHON_COMPAT_OVERRIDE must name exactly one implementation for python2-single"
-
- ewarn "WARNING: PYTHON_COMPAT_OVERRIDE in effect. The following Python"
- ewarn "implementation will be used:"
- ewarn
- ewarn " ${PYTHON_COMPAT_OVERRIDE}"
- ewarn
- ewarn "Dependencies won't be satisfied, and PYTHON_SINGLE_TARGET flags will be ignored."
-
- _python_export "${impls[0]}" EPYTHON PYTHON
- _python_wrapper_setup
- einfo "Using ${EPYTHON} to build"
- return
- fi
-
- local impl
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if use "python_single_target_${impl}"; then
- if [[ ${EPYTHON} ]]; then
- eerror "Your PYTHON_SINGLE_TARGET setting lists more than a single Python"
- eerror "implementation. Please set it to just one value. If you need"
- eerror "to override the value for a single package, please use package.env"
- eerror "or an equivalent solution (man 5 portage)."
- echo
- die "More than one implementation in PYTHON_SINGLE_TARGET."
- fi
-
- _python_export "${impl}" EPYTHON PYTHON
- _python_wrapper_setup
- einfo "Using ${EPYTHON} to build"
- fi
- done
-
- if [[ ! ${EPYTHON} ]]; then
- eerror "No Python implementation selected for the build. Please set"
- eerror "the PYTHON_SINGLE_TARGET variable in your make.conf to one"
- eerror "of the following values:"
- eerror
- eerror "${_PYTHON_SUPPORTED_IMPLS[@]}"
- echo
- die "No supported Python implementation in PYTHON_SINGLE_TARGET."
- fi
-}
-
-# @FUNCTION: python2-single_pkg_setup
-# @DESCRIPTION:
-# Runs python_setup.
-python2-single_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${MERGE_TYPE} != binary ]] && python_setup
-}
-
-_PYTHON_SINGLE_R1=1
-fi
diff --git a/eclass/python2-utils.eclass b/eclass/python2-utils.eclass
deleted file mode 100644
index 03b6e63af..000000000
--- a/eclass/python2-utils.eclass
+++ /dev/null
@@ -1,1450 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @ECLASS: python2-utils.eclass
-# @MAINTAINER:
-# Python team
-# @AUTHOR:
-# Author: Michał Górny
-# Based on work of: Krzysztof Pawlik
-# @SUPPORTED_EAPIS: 5 6 7
-# @BLURB: Utility functions for packages with Python parts.
-# @DESCRIPTION:
-# A utility eclass providing functions to query Python implementations,
-# install Python modules and scripts.
-#
-# This eclass does not set any metadata variables nor export any phase
-# functions. It can be inherited safely.
-#
-# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
-
-case "${EAPI:-0}" in
- [0-4]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;;
- [5-7]) ;;
- *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;;
-esac
-
-if [[ ${_PYTHON_ECLASS_INHERITED} ]]; then
- die 'python2 suite eclasses can not be used with python.eclass.'
-fi
-
-if [[ ! ${_PYTHON_UTILS_R1} ]]; then
-
-[[ ${EAPI} == 5 ]] && inherit eutils multilib
-inherit toolchain-funcs
-
-# @ECLASS-VARIABLE: _PYTHON_ALL_IMPLS
-# @INTERNAL
-# @DESCRIPTION:
-# All supported Python implementations, most preferred last.
-_PYTHON_ALL_IMPLS=(
- pypy3
- python2_7
- python3_7 python3_8 python3_9
-)
-readonly _PYTHON_ALL_IMPLS
-
-# @ECLASS-VARIABLE: _PYTHON_HISTORICAL_IMPLS
-# @INTERNAL
-# @DESCRIPTION:
-# All historical Python implementations that are no longer supported.
-_PYTHON_HISTORICAL_IMPLS=(
- jython2_7
- pypy pypy1_{8,9} pypy2_0
- python2_{5..7}
- python3_{1..6}
-)
-readonly _PYTHON_HISTORICAL_IMPLS
-
-# @ECLASS-VARIABLE: PYTHON_COMPAT_NO_STRICT
-# @INTERNAL
-# @DESCRIPTION:
-# Set to a non-empty value in order to make eclass tolerate (ignore)
-# unknown implementations in PYTHON_COMPAT.
-#
-# This is intended to be set by the user when using ebuilds that may
-# have unknown (newer) implementations in PYTHON_COMPAT. The assumption
-# is that the ebuilds are intended to be used within multiple contexts
-# which can involve revisions of this eclass that support a different
-# set of Python implementations.
-
-# @FUNCTION: _python_verify_patterns
-# @USAGE: ...
-# @INTERNAL
-# @DESCRIPTION:
-# Verify whether the patterns passed to the eclass function are correct
-# (i.e. can match any valid implementation). Dies on wrong pattern.
-_python_verify_patterns() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl pattern
- for pattern; do
- [[ ${pattern} == -[23] ]] && continue
-
- for impl in "${_PYTHON_ALL_IMPLS[@]}" "${_PYTHON_HISTORICAL_IMPLS[@]}"
- do
- [[ ${impl} == ${pattern/./_} ]] && continue 2
- done
-
- die "Invalid implementation pattern: ${pattern}"
- done
-}
-
-# @FUNCTION: _python_set_impls
-# @INTERNAL
-# @DESCRIPTION:
-# Check PYTHON_COMPAT for well-formedness and validity, then set
-# two global variables:
-#
-# - _PYTHON_SUPPORTED_IMPLS containing valid implementations supported
-# by the ebuild (PYTHON_COMPAT - dead implementations),
-#
-# - and _PYTHON_UNSUPPORTED_IMPLS containing valid implementations that
-# are not supported by the ebuild.
-#
-# Implementations in both variables are ordered using the pre-defined
-# eclass implementation ordering.
-#
-# This function must be called once in global scope by an eclass
-# utilizing PYTHON_COMPAT.
-_python_set_impls() {
- local i
-
- if ! declare -p PYTHON_COMPAT &>/dev/null; then
- die 'PYTHON_COMPAT not declared.'
- fi
- if [[ $(declare -p PYTHON_COMPAT) != "declare -a"* ]]; then
- die 'PYTHON_COMPAT must be an array.'
- fi
- if [[ ! ${PYTHON_COMPAT_NO_STRICT} ]]; then
- for i in "${PYTHON_COMPAT[@]}"; do
- # check for incorrect implementations
- # we're using pattern matching as an optimization
- # please keep them in sync with _PYTHON_ALL_IMPLS
- # and _PYTHON_HISTORICAL_IMPLS
- case ${i} in
- jython2_7|pypy|pypy1_[89]|pypy2_0|pypy3|python2_[5-7]|python3_[1-9])
- ;;
- *)
- if has "${i}" "${_PYTHON_ALL_IMPLS[@]}" \
- "${_PYTHON_HISTORICAL_IMPLS[@]}"
- then
- die "Mis-synced patterns in _python_set_impls: missing ${i}"
- else
- die "Invalid implementation in PYTHON_COMPAT: ${i}"
- fi
- esac
- done
- fi
-
- local supp=() unsupp=()
-
- for i in "${_PYTHON_ALL_IMPLS[@]}"; do
- if has "${i}" "${PYTHON_COMPAT[@]}"; then
- supp+=( "${i}" )
- else
- unsupp+=( "${i}" )
- fi
- done
- if [[ ! ${supp[@]} ]]; then
- # special-case python2_7 for python-any-r1
- if [[ ${_PYTHON_ALLOW_PY27} ]] && has python2_7 "${PYTHON_COMPAT[@]}"
- then
- supp+=( python2_7 )
- else
- die "No supported implementation in PYTHON_COMPAT."
- fi
- fi
-
- if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} ]]; then
- # set once already, verify integrity
- if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} != ${supp[@]} ]]; then
- eerror "Supported impls (PYTHON_COMPAT) changed between inherits!"
- eerror "Before: ${_PYTHON_SUPPORTED_IMPLS[*]}"
- eerror "Now : ${supp[*]}"
- die "_PYTHON_SUPPORTED_IMPLS integrity check failed"
- fi
- if [[ ${_PYTHON_UNSUPPORTED_IMPLS[@]} != ${unsupp[@]} ]]; then
- eerror "Unsupported impls changed between inherits!"
- eerror "Before: ${_PYTHON_UNSUPPORTED_IMPLS[*]}"
- eerror "Now : ${unsupp[*]}"
- die "_PYTHON_UNSUPPORTED_IMPLS integrity check failed"
- fi
- else
- _PYTHON_SUPPORTED_IMPLS=( "${supp[@]}" )
- _PYTHON_UNSUPPORTED_IMPLS=( "${unsupp[@]}" )
- readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS
- fi
-}
-
-# @FUNCTION: _python_impl_matches
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Check whether the specified matches at least one
-# of the patterns following it. Return 0 if it does, 1 otherwise.
-# Matches if no patterns are provided.
-#
-# can be in PYTHON_COMPAT or EPYTHON form. The patterns can be
-# either:
-# a) fnmatch-style patterns, e.g. 'python2*', 'pypy'...
-# b) '-2' to indicate all Python 2 variants (= !python_is_python3)
-# c) '-3' to indicate all Python 3 variants (= python_is_python3)
-_python_impl_matches() {
- [[ ${#} -ge 1 ]] || die "${FUNCNAME}: takes at least 1 parameter"
- [[ ${#} -eq 1 ]] && return 0
-
- local impl=${1} pattern
- shift
-
- for pattern; do
- if [[ ${pattern} == -2 ]]; then
- python_is_python3 "${impl}" || return 0
- elif [[ ${pattern} == -3 ]]; then
- python_is_python3 "${impl}" && return 0
- return
- # unify value style to allow lax matching
- elif [[ ${impl/./_} == ${pattern/./_} ]]; then
- return 0
- fi
- done
-
- return 1
-}
-
-# @ECLASS-VARIABLE: PYTHON
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The absolute path to the current Python interpreter.
-#
-# This variable is set automatically in the following contexts:
-#
-# python2: Set in functions called by python_foreach_impl() or after
-# calling python_setup().
-#
-# python-single-r1: Set after calling python-single-r1_pkg_setup().
-#
-# distutils2: Set within any of the python sub-phase functions.
-#
-# Example value:
-# @CODE
-# /usr/bin/python2.7
-# @CODE
-
-# @ECLASS-VARIABLE: EPYTHON
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The executable name of the current Python interpreter.
-#
-# This variable is set automatically in the following contexts:
-#
-# python2: Set in functions called by python_foreach_impl() or after
-# calling python_setup().
-#
-# python-single-r1: Set after calling python-single-r1_pkg_setup().
-#
-# distutils2: Set within any of the python sub-phase functions.
-#
-# Example value:
-# @CODE
-# python2.7
-# @CODE
-
-# @FUNCTION: python_export
-# @USAGE: [] ...
-# @INTERNAL
-# @DESCRIPTION:
-# Backwards compatibility function. The relevant API is now considered
-# private, please use python_get* instead.
-python_export() {
- debug-print-function ${FUNCNAME} "${@}"
-
- eqawarn "python_export() is part of private eclass API."
- eqawarn "Please call python_get*() instead."
-
- _python_export "${@}"
-}
-
-# @FUNCTION: _python_export
-# @USAGE: [] ...
-# @INTERNAL
-# @DESCRIPTION:
-# Set and export the Python implementation-relevant variables passed
-# as parameters.
-#
-# The optional first parameter may specify the requested Python
-# implementation (either as PYTHON_TARGETS value, e.g. python2_7,
-# or an EPYTHON one, e.g. python2.7). If no implementation passed,
-# the current one will be obtained from ${EPYTHON}.
-#
-# The variables which can be exported are: PYTHON, EPYTHON,
-# PYTHON_SITEDIR. They are described more completely in the eclass
-# variable documentation.
-_python_export() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl var
-
- case "${1}" in
- python*|jython*)
- impl=${1/_/.}
- shift
- ;;
- pypy|pypy3)
- impl=${1}
- shift
- ;;
- *)
- impl=${EPYTHON}
- if [[ -z ${impl} ]]; then
- die "_python_export called without a python implementation and EPYTHON is unset"
- fi
- ;;
- esac
- debug-print "${FUNCNAME}: implementation: ${impl}"
-
- for var; do
- case "${var}" in
- EPYTHON)
- export EPYTHON=${impl}
- debug-print "${FUNCNAME}: EPYTHON = ${EPYTHON}"
- ;;
- PYTHON)
- export PYTHON=${EPREFIX}/usr/bin/${impl}
- debug-print "${FUNCNAME}: PYTHON = ${PYTHON}"
- ;;
- PYTHON_SITEDIR)
- [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
- # sysconfig can't be used because:
- # 1) pypy doesn't give site-packages but stdlib
- # 2) jython gives paths with wrong case
- PYTHON_SITEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())') || die
- export PYTHON_SITEDIR
- debug-print "${FUNCNAME}: PYTHON_SITEDIR = ${PYTHON_SITEDIR}"
- ;;
- PYTHON_INCLUDEDIR)
- [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
- PYTHON_INCLUDEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())') || die
- export PYTHON_INCLUDEDIR
- debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = ${PYTHON_INCLUDEDIR}"
-
- # Jython gives a non-existing directory
- if [[ ! -d ${PYTHON_INCLUDEDIR} ]]; then
- die "${impl} does not install any header files!"
- fi
- ;;
- PYTHON_LIBPATH)
- [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
- PYTHON_LIBPATH=$("${PYTHON}" -c 'import os.path, sysconfig; print(os.path.join(sysconfig.get_config_var("LIBDIR"), sysconfig.get_config_var("LDLIBRARY")) if sysconfig.get_config_var("LDLIBRARY") else "")') || die
- export PYTHON_LIBPATH
- debug-print "${FUNCNAME}: PYTHON_LIBPATH = ${PYTHON_LIBPATH}"
-
- if [[ ! ${PYTHON_LIBPATH} ]]; then
- die "${impl} lacks a (usable) dynamic library"
- fi
- ;;
- PYTHON_CFLAGS)
- local val
-
- case "${impl}" in
- python*)
- # python-2.7, python-3.2, etc.
- val=$($(tc-getPKG_CONFIG) --cflags ${impl/n/n-}) || die
- ;;
- *)
- die "${impl}: obtaining ${var} not supported"
- ;;
- esac
-
- export PYTHON_CFLAGS=${val}
- debug-print "${FUNCNAME}: PYTHON_CFLAGS = ${PYTHON_CFLAGS}"
- ;;
- PYTHON_LIBS)
- local val
-
- case "${impl}" in
- python2*|python3.6|python3.7*)
- # python* up to 3.7
- val=$($(tc-getPKG_CONFIG) --libs ${impl/n/n-}) || die
- ;;
- python*)
- # python3.8+
- val=$($(tc-getPKG_CONFIG) --libs ${impl/n/n-}-embed) || die
- ;;
- *)
- die "${impl}: obtaining ${var} not supported"
- ;;
- esac
-
- export PYTHON_LIBS=${val}
- debug-print "${FUNCNAME}: PYTHON_LIBS = ${PYTHON_LIBS}"
- ;;
- PYTHON_CONFIG)
- local flags val
-
- case "${impl}" in
- python*)
- [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
- flags=$("${PYTHON}" -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS") or "")') || die
- val=${PYTHON}${flags}-config
- ;;
- *)
- die "${impl}: obtaining ${var} not supported"
- ;;
- esac
-
- export PYTHON_CONFIG=${val}
- debug-print "${FUNCNAME}: PYTHON_CONFIG = ${PYTHON_CONFIG}"
- ;;
- PYTHON_PKG_DEP)
- local d
- case ${impl} in
- python2.7)
- PYTHON_PKG_DEP='>=dev-lang/python-2.7.5-r2:2.7';;
- python*)
- PYTHON_PKG_DEP="dev-lang/python:${impl#python}";;
- pypy)
- PYTHON_PKG_DEP='>=dev-python/pypy-7.3.0:0=';;
- pypy3)
- PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.0:0=';;
- *)
- die "Invalid implementation: ${impl}"
- esac
-
- # use-dep
- if [[ ${PYTHON_REQ_USE} ]]; then
- PYTHON_PKG_DEP+=[${PYTHON_REQ_USE}]
- fi
-
- export PYTHON_PKG_DEP
- debug-print "${FUNCNAME}: PYTHON_PKG_DEP = ${PYTHON_PKG_DEP}"
- ;;
- PYTHON_SCRIPTDIR)
- local dir
- export PYTHON_SCRIPTDIR=${EPREFIX}/usr/lib/python-exec/python2.7
- debug-print "${FUNCNAME}: PYTHON_SCRIPTDIR = ${PYTHON_SCRIPTDIR}"
- ;;
- *)
- die "_python_export: unknown variable ${var}"
- esac
- done
-}
-
-# @FUNCTION: python_get_sitedir
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the 'site-packages' path for the given
-# implementation. If no implementation is provided, ${EPYTHON} will
-# be used.
-python_get_sitedir() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_SITEDIR
- echo "${PYTHON_SITEDIR}"
-}
-
-# @FUNCTION: python_get_includedir
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the include path for the given implementation. If no
-# implementation is provided, ${EPYTHON} will be used.
-python_get_includedir() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_INCLUDEDIR
- echo "${PYTHON_INCLUDEDIR}"
-}
-
-# @FUNCTION: python_get_library_path
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the Python library path for the given implementation.
-# If no implementation is provided, ${EPYTHON} will be used.
-#
-# Please note that this function can be used with CPython only. Use
-# in another implementation will result in a fatal failure.
-python_get_library_path() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_LIBPATH
- echo "${PYTHON_LIBPATH}"
-}
-
-# @FUNCTION: python_get_CFLAGS
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the compiler flags for building against Python,
-# for the given implementation. If no implementation is provided,
-# ${EPYTHON} will be used.
-#
-# Please note that this function can be used with CPython only.
-# It requires Python and pkg-config installed, and therefore proper
-# build-time dependencies need be added to the ebuild.
-python_get_CFLAGS() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_CFLAGS
- echo "${PYTHON_CFLAGS}"
-}
-
-# @FUNCTION: python_get_LIBS
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the compiler flags for linking against Python,
-# for the given implementation. If no implementation is provided,
-# ${EPYTHON} will be used.
-#
-# Please note that this function can be used with CPython only.
-# It requires Python and pkg-config installed, and therefore proper
-# build-time dependencies need be added to the ebuild.
-python_get_LIBS() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_LIBS
- echo "${PYTHON_LIBS}"
-}
-
-# @FUNCTION: python_get_PYTHON_CONFIG
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the PYTHON_CONFIG location for the given
-# implementation. If no implementation is provided, ${EPYTHON} will be
-# used.
-#
-# Please note that this function can be used with CPython only.
-# It requires Python installed, and therefore proper build-time
-# dependencies need be added to the ebuild.
-python_get_PYTHON_CONFIG() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_CONFIG
- echo "${PYTHON_CONFIG}"
-}
-
-# @FUNCTION: python_get_scriptdir
-# @USAGE: []
-# @DESCRIPTION:
-# Obtain and print the script install path for the given
-# implementation. If no implementation is provided, ${EPYTHON} will
-# be used.
-python_get_scriptdir() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_export "${@}" PYTHON_SCRIPTDIR
- echo "${PYTHON_SCRIPTDIR}"
-}
-
-# @FUNCTION: _python_ln_rel
-# @USAGE:
-# @INTERNAL
-# @DESCRIPTION:
-# Create a relative symlink.
-_python_ln_rel() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local target=${1}
- local symname=${2}
-
- local tgpath=${target%/*}/
- local sympath=${symname%/*}/
- local rel_target=
-
- while [[ ${sympath} ]]; do
- local tgseg= symseg=
-
- while [[ ! ${tgseg} && ${tgpath} ]]; do
- tgseg=${tgpath%%/*}
- tgpath=${tgpath#${tgseg}/}
- done
-
- while [[ ! ${symseg} && ${sympath} ]]; do
- symseg=${sympath%%/*}
- sympath=${sympath#${symseg}/}
- done
-
- if [[ ${tgseg} != ${symseg} ]]; then
- rel_target=../${rel_target}${tgseg:+${tgseg}/}
- fi
- done
- rel_target+=${tgpath}${target##*/}
-
- debug-print "${FUNCNAME}: ${symname} -> ${target}"
- debug-print "${FUNCNAME}: rel_target = ${rel_target}"
-
- ln -fs "${rel_target}" "${symname}"
-}
-
-# @FUNCTION: python_optimize
-# @USAGE: [...]
-# @DESCRIPTION:
-# Compile and optimize Python modules in specified directories (absolute
-# paths). If no directories are provided, the default system paths
-# are used (prepended with ${D}).
-python_optimize() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if [[ ${EBUILD_PHASE} == pre* || ${EBUILD_PHASE} == post* ]]; then
- eerror "The new Python eclasses expect the compiled Python files to"
- eerror "be controlled by the Package Manager. For this reason,"
- eerror "the python_optimize function can be used only during src_* phases"
- eerror "(src_install most commonly) and not during pkg_* phases."
- echo
- die "python_optimize is not to be used in pre/post* phases"
- fi
-
- [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
-
- local PYTHON=${PYTHON}
- [[ ${PYTHON} ]] || _python_export PYTHON
- [[ -x ${PYTHON} ]] || die "PYTHON (${PYTHON}) is not executable"
-
- # default to sys.path
- if [[ ${#} -eq 0 ]]; then
- local f
- while IFS= read -r -d '' f; do
- # 1) accept only absolute paths
- # (i.e. skip '', '.' or anything like that)
- # 2) skip paths which do not exist
- # (python2.6 complains about them verbosely)
-
- if [[ ${f} == /* && -d ${D%/}${f} ]]; then
- set -- "${D%/}${f}" "${@}"
- fi
- done < <("${PYTHON}" -c 'import sys; print("".join(x + "\0" for x in sys.path))' || die)
-
- debug-print "${FUNCNAME}: using sys.path: ${*/%/;}"
- fi
-
- local d
- for d; do
- # make sure to get a nice path without //
- local instpath=${d#${D%/}}
- instpath=/${instpath##/}
-
- case "${EPYTHON}" in
- python2.7|python3.[34])
- "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}"
- "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}"
- ;;
- python*|pypy3)
- # both levels of optimization are separate since 3.5
- "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}"
- "${PYTHON}" -O -m compileall -q -f -d "${instpath}" "${d}"
- "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}"
- ;;
- *)
- "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}"
- ;;
- esac
- done
-}
-
-# @FUNCTION: python_scriptinto
-# @USAGE:
-# @DESCRIPTION:
-# Set the directory to which files passed to python_doexe(),
-# python_doscript(), python_newexe() and python_newscript()
-# are going to be installed. The new value needs to be relative
-# to the installation root (${ED}).
-#
-# If not set explicitly, the directory defaults to /usr/bin.
-#
-# Example:
-# @CODE
-# src_install() {
-# python_scriptinto /usr/sbin
-# python_foreach_impl python_doscript foo
-# }
-# @CODE
-python_scriptinto() {
- debug-print-function ${FUNCNAME} "${@}"
-
- python_scriptroot=${1}
-}
-
-# @FUNCTION: python_doexe
-# @USAGE: ...
-# @DESCRIPTION:
-# Install the given executables into the executable install directory,
-# for the current Python implementation (${EPYTHON}).
-#
-# The executable will be wrapped properly for the Python implementation,
-# though no shebang mangling will be performed.
-python_doexe() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local f
- for f; do
- python_newexe "${f}" "${f##*/}"
- done
-}
-
-# @FUNCTION: python_newexe
-# @USAGE:
-# @DESCRIPTION:
-# Install the given executable into the executable install directory,
-# for the current Python implementation (${EPYTHON}).
-#
-# The executable will be wrapped properly for the Python implementation,
-# though no shebang mangling will be performed. It will be renamed
-# to .
-python_newexe() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
- [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} "
-
- local wrapd=${python_scriptroot:-/usr/bin}
-
- local f=${1}
- local newfn=${2}
-
- local scriptdir=$(python_get_scriptdir)
- local d=${scriptdir#${EPREFIX}}
-
- (
- dodir "${wrapd}"
- exeopts -m 0755
- exeinto "${d}"
- newexe "${f}" "${newfn}" || return ${?}
- )
-
- # install the wrapper
- #_python_ln_rel "${ED%/}"/usr/lib/python-exec/python-exec2 \
- # "${ED%/}/${wrapd}/${newfn}" || die
-
- # don't use this at home, just call python_doscript() instead
- if [[ ${_PYTHON_REWRITE_SHEBANG} ]]; then
- python_fix_shebang -q "${ED%/}/${d}/${newfn}"
- fi
-}
-
-# @FUNCTION: python_doscript
-# @USAGE: ...
-# @DESCRIPTION:
-# Install the given scripts into the executable install directory,
-# for the current Python implementation (${EPYTHON}).
-#
-# All specified files must start with a 'python' shebang. The shebang
-# will be converted, and the files will be wrapped properly
-# for the Python implementation.
-#
-# Example:
-# @CODE
-# src_install() {
-# python_foreach_impl python_doscript ${PN}
-# }
-# @CODE
-python_doscript() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local _PYTHON_REWRITE_SHEBANG=1
- python_doexe "${@}"
-}
-
-# @FUNCTION: python_newscript
-# @USAGE:
-# @DESCRIPTION:
-# Install the given script into the executable install directory
-# for the current Python implementation (${EPYTHON}), and name it
-# .
-#
-# The file must start with a 'python' shebang. The shebang will be
-# converted, and the file will be wrapped properly for the Python
-# implementation. It will be renamed to .
-#
-# Example:
-# @CODE
-# src_install() {
-# python_foreach_impl python_newscript foo.py foo
-# }
-# @CODE
-python_newscript() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local _PYTHON_REWRITE_SHEBANG=1
- python_newexe "${@}"
-}
-
-# @FUNCTION: python_moduleinto
-# @USAGE:
-# @DESCRIPTION:
-# Set the Python module install directory for python_domodule().
-# The can either be an absolute target system path (in which
-# case it needs to start with a slash, and ${ED} will be prepended to
-# it) or relative to the implementation's site-packages directory
-# (then it must not start with a slash). The relative path can be
-# specified either using the Python package notation (separated by dots)
-# or the directory notation (using slashes).
-#
-# When not set explicitly, the modules are installed to the top
-# site-packages directory.
-#
-# In the relative case, the exact path is determined directly
-# by each python_doscript/python_newscript function. Therefore,
-# python_moduleinto can be safely called before establishing the Python
-# interpreter and/or a single call can be used to set the path correctly
-# for multiple implementations, as can be seen in the following example.
-#
-# Example:
-# @CODE
-# src_install() {
-# python_moduleinto bar
-# # installs ${PYTHON_SITEDIR}/bar/baz.py
-# python_foreach_impl python_domodule baz.py
-# }
-# @CODE
-python_moduleinto() {
- debug-print-function ${FUNCNAME} "${@}"
-
- python_moduleroot=${1}
-}
-
-# @FUNCTION: python_domodule
-# @USAGE: ...
-# @DESCRIPTION:
-# Install the given modules (or packages) into the current Python module
-# installation directory. The list can mention both modules (files)
-# and packages (directories). All listed files will be installed
-# for all enabled implementations, and compiled afterwards.
-#
-# Example:
-# @CODE
-# src_install() {
-# # (${PN} being a directory)
-# python_foreach_impl python_domodule ${PN}
-# }
-# @CODE
-python_domodule() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
-
- local d
- if [[ ${python_moduleroot} == /* ]]; then
- # absolute path
- d=${python_moduleroot}
- else
- # relative to site-packages
- local sitedir=$(python_get_sitedir)
- d=${sitedir#${EPREFIX}}/${python_moduleroot//.//}
- fi
-
- (
- insopts -m 0644
- insinto "${d}"
- doins -r "${@}" || return ${?}
- )
-
- python_optimize "${ED%/}/${d}"
-}
-
-# @FUNCTION: python_doheader
-# @USAGE: ...
-# @DESCRIPTION:
-# Install the given headers into the implementation-specific include
-# directory. This function is unconditionally recursive, i.e. you can
-# pass directories instead of files.
-#
-# Example:
-# @CODE
-# src_install() {
-# python_foreach_impl python_doheader foo.h bar.h
-# }
-# @CODE
-python_doheader() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
-
- local includedir=$(python_get_includedir)
- local d=${includedir#${EPREFIX}}
-
- (
- insopts -m 0644
- insinto "${d}"
- doins -r "${@}" || return ${?}
- )
-}
-
-# @FUNCTION: python_wrapper_setup
-# @USAGE: [ []]
-# @DESCRIPTION:
-# Backwards compatibility function. The relevant API is now considered
-# private, please use python_setup instead.
-python_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
-
- eqawarn "python_wrapper_setup() is part of private eclass API."
- eqawarn "Please call python_setup() instead."
-
- _python_wrapper_setup "${@}"
-}
-
-# @FUNCTION: _python_wrapper_setup
-# @USAGE: [ []]
-# @INTERNAL
-# @DESCRIPTION:
-# Create proper 'python' executable and pkg-config wrappers
-# (if available) in the directory named by . Set up PATH
-# and PKG_CONFIG_PATH appropriately. defaults to ${T}/${EPYTHON}.
-#
-# The wrappers will be created for implementation named by ,
-# or for one named by ${EPYTHON} if no passed.
-#
-# If the named directory contains a python symlink already, it will
-# be assumed to contain proper wrappers already and only environment
-# setup will be done. If wrapper update is requested, the directory
-# shall be removed first.
-_python_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local workdir=${1:-${T}/${EPYTHON}}
- local impl=${2:-${EPYTHON}}
-
- [[ ${workdir} ]] || die "${FUNCNAME}: no workdir specified."
- [[ ${impl} ]] || die "${FUNCNAME}: no impl nor EPYTHON specified."
-
- if [[ ! -x ${workdir}/bin/python ]]; then
- _python_check_dead_variables
-
- mkdir -p "${workdir}"/{bin,pkgconfig} || die
-
- # Clean up, in case we were supposed to do a cheap update.
- rm -f "${workdir}"/bin/python{,2,3}{,-config} || die
- rm -f "${workdir}"/bin/2to3 || die
- rm -f "${workdir}"/pkgconfig/python{2,3}{,-embed}.pc || die
-
- local EPYTHON PYTHON
- _python_export "${impl}" EPYTHON PYTHON
-
- local pyver pyother
- if python_is_python3; then
- pyver=3
- pyother=2
- else
- pyver=2
- pyother=3
- fi
-
- # Python interpreter
- # note: we don't use symlinks because python likes to do some
- # symlink reading magic that breaks stuff
- # https://bugs.gentoo.org/show_bug.cgi?id=555752
- cat > "${workdir}/bin/python" <<-_EOF_ || die
- #!/bin/sh
- exec "${PYTHON}" "\${@}"
- _EOF_
- cp "${workdir}/bin/python" "${workdir}/bin/python${pyver}" || die
- chmod +x "${workdir}/bin/python" "${workdir}/bin/python${pyver}" || die
-
- local nonsupp=( "python${pyother}" "python${pyother}-config" )
-
- # CPython-specific
- if [[ ${EPYTHON} == python* ]]; then
- cat > "${workdir}/bin/python-config" <<-_EOF_ || die
- #!/bin/sh
- exec "${PYTHON}-config" "\${@}"
- _EOF_
- cp "${workdir}/bin/python-config" \
- "${workdir}/bin/python${pyver}-config" || die
- chmod +x "${workdir}/bin/python-config" \
- "${workdir}/bin/python${pyver}-config" || die
-
- # Python 2.6+.
- ln -s "${PYTHON/python/2to3-}" "${workdir}"/bin/2to3 || die
-
- # Python 2.7+.
- ln -s "${EPREFIX}"/usr/$(get_libdir)/pkgconfig/${EPYTHON/n/n-}.pc \
- "${workdir}"/pkgconfig/python${pyver}.pc || die
-
- # Python 3.8+.
- if [[ ${EPYTHON} != python[23].[67] ]]; then
- ln -s "${EPREFIX}"/usr/$(get_libdir)/pkgconfig/${EPYTHON/n/n-}-embed.pc \
- "${workdir}"/pkgconfig/python${pyver}-embed.pc || die
- fi
- else
- nonsupp+=( 2to3 python-config "python${pyver}-config" )
- fi
-
- local x
- for x in "${nonsupp[@]}"; do
- cat >"${workdir}"/bin/${x} <<-_EOF_ || die
- #!/bin/sh
- echo "${ECLASS}: ${FUNCNAME}: ${x} is not supported by ${EPYTHON} (PYTHON_COMPAT)" >&2
- exit 127
- _EOF_
- chmod +x "${workdir}"/bin/${x} || die
- done
- fi
-
- # Now, set the environment.
- # But note that ${workdir} may be shared with something else,
- # and thus already on top of PATH.
- if [[ ${PATH##:*} != ${workdir}/bin ]]; then
- PATH=${workdir}/bin${PATH:+:${PATH}}
- fi
- if [[ ${PKG_CONFIG_PATH##:*} != ${workdir}/pkgconfig ]]; then
- PKG_CONFIG_PATH=${workdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
- fi
- export PATH PKG_CONFIG_PATH
-}
-
-# @FUNCTION: python_is_python3
-# @USAGE: []
-# @DESCRIPTION:
-# Check whether (or ${EPYTHON}) is a Python3k variant
-# (i.e. uses syntax and stdlib of Python 3.*).
-#
-# Returns 0 (true) if it is, 1 (false) otherwise.
-python_is_python3() {
- local impl=${1:-${EPYTHON}}
- [[ ${impl} ]] || die "python_is_python3: no impl nor EPYTHON"
-
- [[ ${impl} == python3* || ${impl} == pypy3 ]]
-}
-
-# @FUNCTION: python_is_installed
-# @USAGE: []
-# @DESCRIPTION:
-# Check whether the interpreter for (or ${EPYTHON}) is installed.
-# Uses has_version with a proper dependency string.
-#
-# Returns 0 (true) if it is, 1 (false) otherwise.
-python_is_installed() {
- local impl=${1:-${EPYTHON}}
- [[ ${impl} ]] || die "${FUNCNAME}: no impl nor EPYTHON"
- local hasv_args=()
-
- case ${EAPI} in
- 5|6)
- hasv_args+=( --host-root )
- ;;
- *)
- hasv_args+=( -b )
- ;;
- esac
-
- local PYTHON_PKG_DEP
- _python_export "${impl}" PYTHON_PKG_DEP
- has_version "${hasv_args[@]}" "${PYTHON_PKG_DEP}"
-}
-
-# @FUNCTION: python_fix_shebang
-# @USAGE: [-f|--force] [-q|--quiet] ...
-# @DESCRIPTION:
-# Replace the shebang in Python scripts with the current Python
-# implementation (EPYTHON). If a directory is passed, works recursively
-# on all Python scripts.
-#
-# Only files having a 'python*' shebang will be modified. Files with
-# other shebang will either be skipped when working recursively
-# on a directory or treated as error when specified explicitly.
-#
-# Shebangs matching explicitly current Python version will be left
-# unmodified. Shebangs requesting another Python version will be treated
-# as fatal error, unless --force is given.
-#
-# --force causes the function to replace even shebangs that require
-# incompatible Python version. --quiet causes the function not to list
-# modified files verbosely.
-python_fix_shebang() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${EPYTHON} ]] || die "${FUNCNAME}: EPYTHON unset (pkg_setup not called?)"
-
- local force quiet
- while [[ ${@} ]]; do
- case "${1}" in
- -f|--force) force=1; shift;;
- -q|--quiet) quiet=1; shift;;
- --) shift; break;;
- *) break;;
- esac
- done
-
- [[ ${1} ]] || die "${FUNCNAME}: no paths given"
-
- local path f
- for path; do
- local any_correct any_fixed is_recursive
-
- [[ -d ${path} ]] && is_recursive=1
-
- while IFS= read -r -d '' f; do
- local shebang i
- local error= from=
-
- # note: we can't ||die here since read will fail if file
- # has no newline characters
- IFS= read -r shebang <"${f}"
-
- # First, check if it's shebang at all...
- if [[ ${shebang} == '#!'* ]]; then
- local split_shebang=()
- read -r -a split_shebang <<<${shebang} || die
-
- # Match left-to-right in a loop, to avoid matching random
- # repetitions like 'python2.7 python2'.
- for i in "${split_shebang[@]}"; do
- case "${i}" in
- *"${EPYTHON}")
- debug-print "${FUNCNAME}: in file ${f#${D%/}}"
- debug-print "${FUNCNAME}: shebang matches EPYTHON: ${shebang}"
-
- # Nothing to do, move along.
- any_correct=1
- from=${EPYTHON}
- break
- ;;
- *python|*python[23])
- debug-print "${FUNCNAME}: in file ${f#${D%/}}"
- debug-print "${FUNCNAME}: rewriting shebang: ${shebang}"
-
- if [[ ${i} == *python2 ]]; then
- from=python2
- if [[ ! ${force} ]]; then
- python_is_python3 "${EPYTHON}" && error=1
- fi
- elif [[ ${i} == *python3 ]]; then
- from=python3
- if [[ ! ${force} ]]; then
- python_is_python3 "${EPYTHON}" || error=1
- fi
- else
- from=python
- fi
- break
- ;;
- *python[23].[0123456789]|*pypy|*pypy3|*jython[23].[0123456789])
- # Explicit mismatch.
- if [[ ! ${force} ]]; then
- error=1
- else
- case "${i}" in
- *python[23].[0123456789])
- from="python[23].[0123456789]";;
- *pypy)
- from="pypy";;
- *pypy3)
- from="pypy3";;
- *jython[23].[0123456789])
- from="jython[23].[0123456789]";;
- *)
- die "${FUNCNAME}: internal error in 2nd pattern match";;
- esac
- fi
- break
- ;;
- esac
- done
- fi
-
- if [[ ! ${error} && ! ${from} ]]; then
- # Non-Python shebang. Allowed in recursive mode,
- # disallowed when specifying file explicitly.
- [[ ${is_recursive} ]] && continue
- error=1
- fi
-
- if [[ ! ${quiet} ]]; then
- einfo "Fixing shebang in ${f#${D%/}}."
- fi
-
- if [[ ! ${error} ]]; then
- # We either want to match ${from} followed by space
- # or at end-of-string.
- if [[ ${shebang} == *${from}" "* ]]; then
- sed -i -e "1s:${from} :${EPYTHON} :" "${f}" || die
- else
- sed -i -e "1s:${from}$:${EPYTHON}:" "${f}" || die
- fi
- any_fixed=1
- else
- eerror "The file has incompatible shebang:"
- eerror " file: ${f#${D%/}}"
- eerror " current shebang: ${shebang}"
- eerror " requested impl: ${EPYTHON}"
- die "${FUNCNAME}: conversion of incompatible shebang requested"
- fi
- done < <(find -H "${path}" -type f -print0 || die)
-
- if [[ ! ${any_fixed} ]]; then
- local cmd=eerror
- [[ ${EAPI} == 5 ]] && cmd=eqawarn
-
- "${cmd}" "QA warning: ${FUNCNAME}, ${path#${D%/}} did not match any fixable files."
- if [[ ${any_correct} ]]; then
- "${cmd}" "All files have ${EPYTHON} shebang already."
- else
- "${cmd}" "There are no Python files in specified directory."
- fi
-
- [[ ${cmd} == eerror ]] && die "${FUNCNAME} did not match any fixable files (QA warning fatal in EAPI ${EAPI})"
- fi
- done
-}
-
-# @FUNCTION: _python_check_locale_sanity
-# @USAGE:
-# @RETURN: 0 if sane, 1 otherwise
-# @INTERNAL
-# @DESCRIPTION:
-# Check whether the specified locale sanely maps between lowercase
-# and uppercase ASCII characters.
-_python_check_locale_sanity() {
- local -x LC_ALL=${1}
- local IFS=
-
- local lc=( {a..z} )
- local uc=( {A..Z} )
- local input="${lc[*]}${uc[*]}"
-
- local output=$(tr '[:lower:][:upper:]' '[:upper:][:lower:]' <<<"${input}")
- [[ ${output} == "${uc[*]}${lc[*]}" ]]
-}
-
-# @FUNCTION: python_export_utf8_locale
-# @RETURN: 0 on success, 1 on failure.
-# @DESCRIPTION:
-# Attempts to export a usable UTF-8 locale in the LC_CTYPE variable. Does
-# nothing if LC_ALL is defined, or if the current locale uses a UTF-8 charmap.
-# This may be used to work around the quirky open() behavior of python3.
-python_export_utf8_locale() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # If the locale program isn't available, just return.
- type locale >/dev/null || return 0
-
- if [[ $(locale charmap) != UTF-8 ]]; then
- # Try English first, then everything else.
- local lang locales="C.UTF-8 en_US.UTF-8 en_GB.UTF-8 $(locale -a)"
-
- for lang in ${locales}; do
- if [[ $(LC_ALL=${lang} locale charmap 2>/dev/null) == UTF-8 ]]; then
- if _python_check_locale_sanity "${lang}"; then
- export LC_CTYPE=${lang}
- if [[ -n ${LC_ALL} ]]; then
- export LC_NUMERIC=${LC_ALL}
- export LC_TIME=${LC_ALL}
- export LC_COLLATE=${LC_ALL}
- export LC_MONETARY=${LC_ALL}
- export LC_MESSAGES=${LC_ALL}
- export LC_PAPER=${LC_ALL}
- export LC_NAME=${LC_ALL}
- export LC_ADDRESS=${LC_ALL}
- export LC_TELEPHONE=${LC_ALL}
- export LC_MEASUREMENT=${LC_ALL}
- export LC_IDENTIFICATION=${LC_ALL}
- export LC_ALL=
- fi
- return 0
- fi
- fi
- done
-
- ewarn "Could not find a UTF-8 locale. This may trigger build failures in"
- ewarn "some python packages. Please ensure that a UTF-8 locale is listed in"
- ewarn "/etc/locale.gen and run locale-gen."
- return 1
- fi
-
- return 0
-}
-
-# @FUNCTION: build_sphinx
-# @USAGE:
-# @DESCRIPTION:
-# Build HTML documentation using dev-python/sphinx in the specified
-# . Takes care of disabling Intersphinx and appending
-# to HTML_DOCS.
-#
-# If is relative to the current directory, care needs
-# to be taken to run einstalldocs from the same directory
-# (usually ${S}).
-build_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
- [[ ${#} -eq 1 ]] || die "${FUNCNAME} takes 1 arg: "
-
- local dir=${1}
-
- sed -i -e 's:^intersphinx_mapping:disabled_&:' \
- "${dir}"/conf.py || die
- # not all packages include the Makefile in pypi tarball
- sphinx-build -b html -d "${dir}"/_build/doctrees "${dir}" \
- "${dir}"/_build/html || die
-
- HTML_DOCS+=( "${dir}/_build/html/." )
-}
-
-# -- python.eclass functions --
-
-_python_check_dead_variables() {
- local v
-
- for v in PYTHON_DEPEND PYTHON_USE_WITH{,_OR,_OPT} {RESTRICT,SUPPORT}_PYTHON_ABIS
- do
- if [[ ${!v} ]]; then
- die "${v} is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Ebuild_head"
- fi
- done
-
- for v in PYTHON_{CPPFLAGS,CFLAGS,CXXFLAGS,LDFLAGS}
- do
- if [[ ${!v} ]]; then
- die "${v} is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#PYTHON_CFLAGS"
- fi
- done
-
- for v in PYTHON_TESTS_RESTRICTED_ABIS PYTHON_EXPORT_PHASE_FUNCTIONS \
- PYTHON_VERSIONED_{SCRIPTS,EXECUTABLES} PYTHON_NONVERSIONED_EXECUTABLES
- do
- if [[ ${!v} ]]; then
- die "${v} is invalid for python2 suite"
- fi
- done
-
- for v in DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES DISTUTILS_SETUP_FILES \
- DISTUTILS_GLOBAL_OPTIONS DISTUTILS_SRC_TEST PYTHON_MODNAME
- do
- if [[ ${!v} ]]; then
- die "${v} is invalid for distutils2, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#${v}"
- fi
- done
-
- if [[ ${DISTUTILS_DISABLE_TEST_DEPENDENCY} ]]; then
- die "${v} is invalid for distutils2, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#DISTUTILS_SRC_TEST"
- fi
-
- # python.eclass::progress
- for v in PYTHON_BDEPEND PYTHON_MULTIPLE_ABIS PYTHON_ABI_TYPE \
- PYTHON_RESTRICTED_ABIS PYTHON_TESTS_FAILURES_TOLERANT_ABIS \
- PYTHON_CFFI_MODULES_GENERATION_COMMANDS
- do
- if [[ ${!v} ]]; then
- die "${v} is invalid for python2 suite"
- fi
- done
-}
-
-python_pkg_setup() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#pkg_setup"
-}
-
-python_convert_shebangs() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#python_convert_shebangs"
-}
-
-python_clean_py-compile_files() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_clean_installation_image() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_execute_function() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#python_execute_function"
-}
-
-python_generate_wrapper_scripts() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_merge_intermediate_installation_images() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_set_active_version() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#pkg_setup"
-}
-
-python_need_rebuild() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-PYTHON() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#.24.28PYTHON.29.2C_.24.7BEPYTHON.7D"
-}
-
-python_get_implementation() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_implementational_package() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_libdir() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_library() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_version() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_implementation_and_version() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_execute_nosetests() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_execute_py.test() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_execute_trial() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_enable_pyc() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_disable_pyc() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_mod_optimize() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Python_byte-code_compilation"
-}
-
-python_mod_cleanup() {
- die "${FUNCNAME}() is invalid for python2 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Python_byte-code_compilation"
-}
-
-# python.eclass::progress
-
-python_abi_depend() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_install_executables() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_get_extension_module_suffix() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_byte-compile_modules() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_clean_byte-compiled_modules() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-python_generate_cffi_modules() {
- die "${FUNCNAME}() is invalid for python2 suite"
-}
-
-_PYTHON_UTILS_R1=1
-fi
diff --git a/eclass/python2.eclass b/eclass/python2.eclass
deleted file mode 100644
index b7e026073..000000000
--- a/eclass/python2.eclass
+++ /dev/null
@@ -1,862 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @ECLASS: python2.eclass
-# @MAINTAINER:
-# Python team
-# @AUTHOR:
-# Author: Michał Górny
-# Based on work of: Krzysztof Pawlik
-# @SUPPORTED_EAPIS: 5 6 7
-# @BLURB: A common, simple eclass for Python packages.
-# @DESCRIPTION:
-# A common eclass providing helper functions to build and install
-# packages supporting being installed for multiple Python
-# implementations.
-#
-# This eclass sets correct IUSE. Modification of REQUIRED_USE has to
-# be done by the author of the ebuild (but PYTHON_REQUIRED_USE is
-# provided for convenience, see below). python2 exports PYTHON_DEPS
-# and PYTHON_USEDEP so you can create correct dependencies for your
-# package easily. It also provides methods to easily run a command for
-# each enabled Python implementation and duplicate the sources for them.
-#
-# Please note that python2 will always inherit python2-utils as
-# well. Thus, all the functions defined there can be used
-# in the packages using python2, and there is no need ever to inherit
-# both.
-#
-# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
-
-case "${EAPI:-0}" in
- 0|1|2|3|4)
- die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
- ;;
- 5|6|7)
- # EAPI=5 is required for sane USE_EXPAND dependencies
- ;;
- *)
- die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
- ;;
-esac
-
-if [[ ! ${_PYTHON_R1} ]]; then
-
-if [[ ${_PYTHON_SINGLE_R1} ]]; then
- die 'python2.eclass can not be used with python2-single.eclass.'
-elif [[ ${_PYTHON_ANY_R1} ]]; then
- die 'python2.eclass can not be used with python-any-r1.eclass.'
-fi
-
-[[ ${EAPI} == [45] ]] && inherit eutils
-inherit multibuild python2-utils
-
-fi
-
-# @ECLASS-VARIABLE: PYTHON_COMPAT
-# @REQUIRED
-# @DESCRIPTION:
-# This variable contains a list of Python implementations the package
-# supports. It must be set before the `inherit' call. It has to be
-# an array.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
-# @CODE
-#
-# Please note that you can also use bash brace expansion if you like:
-# @CODE
-# PYTHON_COMPAT=( python2_7 python3_{3,4} )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_COMPAT_OVERRIDE
-# @USER_VARIABLE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# This variable can be used when working with ebuilds to override
-# the in-ebuild PYTHON_COMPAT. It is a string listing all
-# the implementations which package will be built for. It need be
-# specified in the calling environment, and not in ebuilds.
-#
-# It should be noted that in order to preserve metadata immutability,
-# PYTHON_COMPAT_OVERRIDE does not affect IUSE nor dependencies.
-# The state of PYTHON_TARGETS is ignored, and all the implementations
-# in PYTHON_COMPAT_OVERRIDE are built. Dependencies need to be satisfied
-# manually.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT_OVERRIDE='pypy python3_3' emerge -1v dev-python/foo
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_REQ_USE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The list of USEflags required to be enabled on the chosen Python
-# implementations, formed as a USE-dependency string. It should be valid
-# for all implementations in PYTHON_COMPAT, so it may be necessary to
-# use USE defaults.
-#
-# This should be set before calling `inherit'.
-#
-# Example:
-# @CODE
-# PYTHON_REQ_USE="gdbm,ncurses(-)?"
-# @CODE
-#
-# It will cause the Python dependencies to look like:
-# @CODE
-# python_targets_pythonX_Y? ( dev-lang/python:X.Y[gdbm,ncurses(-)?] )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_DEPS
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated Python dependency string for all
-# implementations listed in PYTHON_COMPAT.
-#
-# Example use:
-# @CODE
-# RDEPEND="${PYTHON_DEPS}
-# dev-foo/mydep"
-# DEPEND="${RDEPEND}"
-# @CODE
-#
-# Example value:
-# @CODE
-# dev-lang/python-exec:=
-# python_targets_python2_7? ( dev-lang/python:2.7[gdbm] )
-# python_targets_pypy? ( dev-python/pypy[gdbm] )
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_USEDEP
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated USE-dependency string which can be used to
-# depend on another Python package being built for the same Python
-# implementations.
-#
-# The generate USE-flag list is compatible with packages using python2
-# and python-distutils-ng eclasses. It must not be used on packages
-# using python.eclass.
-#
-# Example use:
-# @CODE
-# RDEPEND="dev-python/foo[${PYTHON_USEDEP}]"
-# @CODE
-#
-# Example value:
-# @CODE
-# python_targets_python2_7(-)?,python_targets_python3_4(-)?
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_SINGLE_USEDEP
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# An eclass-generated USE-dependency string for the currently tested
-# implementation. It is set locally for python_check_deps() call.
-#
-# The generated USE-flag list is compatible with packages using
-# python2-single eclass. For python2 dependencies,
-# use PYTHON_USEDEP.
-#
-# Example use:
-# @CODE
-# python_check_deps() {
-# has_version "dev-python/bar[${PYTHON_SINGLE_USEDEP}]"
-# }
-# @CODE
-#
-# Example value:
-# @CODE
-# python_single_target_python3_7(-)
-# @CODE
-
-# @ECLASS-VARIABLE: PYTHON_REQUIRED_USE
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# This is an eclass-generated required-use expression which ensures at
-# least one Python implementation has been enabled.
-#
-# This expression should be utilized in an ebuild by including it in
-# REQUIRED_USE, optionally behind a use flag.
-#
-# Example use:
-# @CODE
-# REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# @CODE
-#
-# Example value:
-# @CODE
-# || ( python_targets_python2_7 python_targets_python3_4 )
-# @CODE
-
-_python_set_globals() {
- local deps i PYTHON_PKG_DEP
-
- _python_set_impls
-
- for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- _python_export "${i}" PYTHON_PKG_DEP
- deps+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) "
- done
-
- local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" )
- local optflags=${flags[@]/%/(-)?}
-
- # A nice QA trick here. Since a python2-single package has to have
- # at least one PYTHON_SINGLE_TARGET enabled (REQUIRED_USE),
- # the following check will always fail on those packages. Therefore,
- # it should prevent developers from mistakenly depending on packages
- # not supporting multiple Python implementations.
-
- local flags_st=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/-python_single_target_}" )
- optflags+=,${flags_st[@]/%/(-)}
- local requse="|| ( ${flags[*]} )"
- local usedep=${optflags// /,}
-
- # 1) well, python-exec would suffice as an RDEP
- # but no point in making this overcomplex, BDEP doesn't hurt anyone
- # 2) python-exec should be built with all targets forced anyway
- # but if new targets were added, we may need to force a rebuild
- # deps+=">=dev-lang/python-exec-2:=[${usedep}]"
-
- if [[ ${PYTHON_DEPS+1} ]]; then
- # IUSE is magical, so we can't really check it
- # (but we verify PYTHON_COMPAT already)
-
- if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
- eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
- eerror "Before: ${PYTHON_DEPS}"
- eerror "Now : ${deps}"
- die "PYTHON_DEPS integrity check failed"
- fi
-
- # these two are formality -- they depend on PYTHON_COMPAT only
- if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then
- eerror "PYTHON_REQUIRED_USE have changed between inherits!"
- eerror "Before: ${PYTHON_REQUIRED_USE}"
- eerror "Now : ${requse}"
- die "PYTHON_REQUIRED_USE integrity check failed"
- fi
-
- if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
- eerror "PYTHON_USEDEP have changed between inherits!"
- eerror "Before: ${PYTHON_USEDEP}"
- eerror "Now : ${usedep}"
- die "PYTHON_USEDEP integrity check failed"
- fi
- else
- IUSE=${flags[*]}
-
- PYTHON_DEPS=${deps}
- PYTHON_REQUIRED_USE=${requse}
- PYTHON_USEDEP=${usedep}
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE
- fi
-}
-_python_set_globals
-unset -f _python_set_globals
-
-if [[ ! ${_PYTHON_R1} ]]; then
-
-# @FUNCTION: _python_validate_useflags
-# @INTERNAL
-# @DESCRIPTION:
-# Enforce the proper setting of PYTHON_TARGETS, if PYTHON_COMPAT_OVERRIDE
-# is not in effect. If it is, just warn that the flags will be ignored.
-_python_validate_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
- if [[ ! ${_PYTHON_COMPAT_OVERRIDE_WARNED} ]]; then
- ewarn "WARNING: PYTHON_COMPAT_OVERRIDE in effect. The following Python"
- ewarn "implementations will be enabled:"
- ewarn
- ewarn " ${PYTHON_COMPAT_OVERRIDE}"
- ewarn
- ewarn "Dependencies won't be satisfied, and PYTHON_TARGETS will be ignored."
- _PYTHON_COMPAT_OVERRIDE_WARNED=1
- fi
- # we do not use flags with PCO
- return
- fi
-
- local i
-
- for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- use "python_targets_${i}" && return 0
- done
-
- eerror "No Python implementation selected for the build. Please add one"
- eerror "of the following values to your PYTHON_TARGETS (in make.conf):"
- eerror
- eerror "${PYTHON_COMPAT[@]}"
- echo
- die "No supported Python implementation in PYTHON_TARGETS."
-}
-
-# @FUNCTION: _python_gen_usedep
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Output a USE dependency string for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# This is an internal function used to implement python_gen_cond_dep
-# and deprecated python_gen_usedep.
-_python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- matches+=(
- "python_targets_${impl}(-)?"
- "-python_single_target_${impl}(-)"
- )
- fi
- done
-
- [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}"
-
- local out=${matches[@]}
- echo "${out// /,}"
-}
-
-# @FUNCTION: python_gen_usedep
-# @USAGE: [...]
-# @DESCRIPTION:
-# DEPRECATED. Please use python_gen_cond_dep instead.
-#
-# Output a USE dependency string for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# When all implementations are requested, please use ${PYTHON_USEDEP}
-# instead. Please also remember to set an appropriate REQUIRED_USE
-# to avoid ineffective USE flags.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_4} )
-# DEPEND="doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )"
-# @CODE
-#
-# It will cause the dependency to look like:
-# @CODE
-# DEPEND="doc? ( dev-python/epydoc[python_targets_python2_7?] )"
-# @CODE
-python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # output only once, during some reasonable phase
- # (avoid spamming cache regen runs)
- if [[ ${EBUILD_PHASE} == setup ]]; then
- eqawarn "python_gen_usedep() is deprecated. Please use python_gen_cond_dep instead."
- fi
- _python_gen_usedep "${@}"
-}
-
-# @FUNCTION: python_gen_useflags
-# @USAGE: [...]
-# @DESCRIPTION:
-# Output a list of USE flags for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_4} )
-# REQUIRED_USE="doc? ( || ( $(python_gen_useflags python2*) ) )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# REQUIRED_USE="doc? ( || ( python_targets_python2_7 ) )"
-# @CODE
-python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- matches+=( "python_targets_${impl}" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_gen_cond_dep
-# @USAGE: [...]
-# @DESCRIPTION:
-# Output a list of -ies made conditional to USE flags
-# of Python implementations which are both in PYTHON_COMPAT and match
-# any of the patterns passed as the remaining parameters.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# In order to enforce USE constraints on the packages, verbatim
-# '${PYTHON_USEDEP}' (quoted!) may be placed in the dependency
-# specification. It will get expanded within the function into a proper
-# USE dependency string.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
-# RDEPEND="$(python_gen_cond_dep \
-# 'dev-python/unittest2[${PYTHON_USEDEP}]' python2_7 pypy )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# RDEPEND="python_targets_python2_7? (
-# dev-python/unittest2[python_targets_python2_7?] )
-# python_targets_pypy? (
-# dev-python/unittest2[python_targets_pypy?] )"
-# @CODE
-python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
- local dep=${1}
- shift
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- # substitute ${PYTHON_USEDEP} if used
- # (since python_gen_usedep() will not return ${PYTHON_USEDEP}
- # the code is run at most once)
- if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
- local usedep=$(_python_gen_usedep "${@}")
- dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
- fi
-
- matches+=( "python_targets_${impl}? ( ${dep} )" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_gen_impl_dep
-# @USAGE: [ [...]]
-# @DESCRIPTION:
-# Output a dependency on Python implementations with the specified USE
-# dependency string appended, or no USE dependency string if called
-# without the argument (or with empty argument). If any implementation
-# patterns are passed, the output dependencies will be generated only
-# for the implementations matching them.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# Use this function when you need to request different USE flags
-# on the Python interpreter depending on package's USE flags. If you
-# only need a single set of interpreter USE flags, just set
-# PYTHON_REQ_USE and use ${PYTHON_DEPS} globally.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
-# RDEPEND="foo? ( $(python_gen_impl_dep 'xml(+)') )"
-# @CODE
-#
-# It will cause the variable to look like:
-# @CODE
-# RDEPEND="foo? (
-# python_targets_python2_7? (
-# dev-lang/python:2.7[xml(+)] )
-# python_targets_pypy? (
-# dev-python/pypy[xml(+)] ) )"
-# @CODE
-python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local impl matches=()
- local PYTHON_REQ_USE=${1}
- shift
-
- _python_verify_patterns "${@}"
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- local PYTHON_PKG_DEP
- _python_export "${impl}" PYTHON_PKG_DEP
- matches+=( "python_targets_${impl}? ( ${PYTHON_PKG_DEP} )" )
- fi
- done
-
- echo "${matches[@]}"
-}
-
-# @FUNCTION: python_gen_any_dep
-# @USAGE: [...]
-# @DESCRIPTION:
-# Generate an any-of dependency that enforces a version match between
-# the Python interpreter and Python packages. needs
-# to list one or more dependencies with verbatim '${PYTHON_USEDEP}'
-# or '${PYTHON_SINGLE_USEDEP}' references (quoted!) that will get
-# expanded inside the function. Optionally, patterns may be specified
-# to restrict the dependency to a subset of Python implementations
-# supported by the ebuild.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# This should be used along with an appropriate python_check_deps()
-# that checks which of the any-of blocks were matched, and python_setup
-# call that enables use of the matched implementation.
-#
-# Example use:
-# @CODE
-# DEPEND="$(python_gen_any_dep '
-# dev-python/foo[${PYTHON_SINGLE_USEDEP}]
-# || ( dev-python/bar[${PYTHON_USEDEP}]
-# dev-python/baz[${PYTHON_USEDEP}] )' -2)"
-#
-# python_check_deps() {
-# has_version "dev-python/foo[${PYTHON_SINGLE_USEDEP}]" \
-# && { has_version "dev-python/bar[${PYTHON_USEDEP}]" \
-# || has_version "dev-python/baz[${PYTHON_USEDEP}]"; }
-# }
-#
-# src_compile() {
-# python_foreach_impl usual_code
-#
-# # some common post-build task that requires Python 2
-# python_setup -2
-# emake frobnicate
-# }
-# @CODE
-#
-# Example value:
-# @CODE
-# || (
-# (
-# dev-lang/python:3.7
-# dev-python/foo[python_single_target_python3_7(-)]
-# || ( dev-python/bar[python_targets_python3_7(-),-python_single_target_python3_7(-)]
-# dev-python/baz[python_targets_python3_7(-),-python_single_target_python3_7(-)] )
-# )
-# (
-# dev-lang/python:3.8
-# dev-python/foo[python_single_target_python3_8(-)]
-# || ( dev-python/bar[python_targets_python3_8(-),-python_single_target_python3_8(-)]
-# dev-python/baz[python_targets_python3_8(-),-python_single_target_python3_8(-)] )
-# )
-# )
-# @CODE
-python_gen_any_dep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local depstr=${1}
- [[ ${depstr} ]] || die "No dependency string provided"
- shift
-
- local i PYTHON_PKG_DEP out=
- _python_verify_patterns "${@}"
- for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${i}" "${@}"; then
- local PYTHON_USEDEP="python_targets_${i}(-),-python_single_target_${i}(-)"
- local PYTHON_SINGLE_USEDEP="python_single_target_${i}(-)"
- _python_export "${i}" PYTHON_PKG_DEP
-
- local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
- i_depstr=${i_depstr//\$\{PYTHON_SINGLE_USEDEP\}/${PYTHON_SINGLE_USEDEP}}
- # note: need to strip '=' slot operator for || deps
- out="( ${PYTHON_PKG_DEP/:0=/:0} ${i_depstr} ) ${out}"
- fi
- done
- echo "|| ( ${out})"
-}
-
-# @ECLASS-VARIABLE: BUILD_DIR
-# @OUTPUT_VARIABLE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The current build directory. In global scope, it is supposed to
-# contain an initial build directory; if unset, it defaults to ${S}.
-#
-# In functions run by python_foreach_impl(), the BUILD_DIR is locally
-# set to an implementation-specific build directory. That path is
-# created through appending a hyphen and the implementation name
-# to the final component of the initial BUILD_DIR.
-#
-# Example value:
-# @CODE
-# ${WORKDIR}/foo-1.3-python2_7
-# @CODE
-
-# @FUNCTION: python_copy_sources
-# @DESCRIPTION:
-# Create a single copy of the package sources for each enabled Python
-# implementation.
-#
-# The sources are always copied from initial BUILD_DIR (or S if unset)
-# to implementation-specific build directory matching BUILD_DIR used by
-# python_foreach_abi().
-python_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local MULTIBUILD_VARIANTS
- _python_obtain_impls
-
- multibuild_copy_sources
-}
-
-# @FUNCTION: _python_obtain_impls
-# @INTERNAL
-# @DESCRIPTION:
-# Set up the enabled implementation list.
-_python_obtain_impls() {
- _python_validate_useflags
-
- if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
- MULTIBUILD_VARIANTS=( ${PYTHON_COMPAT_OVERRIDE} )
- return
- fi
-
- MULTIBUILD_VARIANTS=()
-
- local impl
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- has "${impl}" "${PYTHON_COMPAT[@]}" && \
- use "python_targets_${impl}" && MULTIBUILD_VARIANTS+=( "${impl}" )
- done
-}
-
-# @FUNCTION: _python_multibuild_wrapper
-# @USAGE: [...]
-# @INTERNAL
-# @DESCRIPTION:
-# Initialize the environment for Python implementation selected
-# for multibuild.
-_python_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local -x EPYTHON PYTHON
- local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
- _python_export "${MULTIBUILD_VARIANT}" EPYTHON PYTHON
- _python_wrapper_setup
-
- "${@}"
-}
-
-# @FUNCTION: python_foreach_impl
-# @USAGE: [...]
-# @DESCRIPTION:
-# Run the given command for each of the enabled Python implementations.
-# If additional parameters are passed, they will be passed through
-# to the command.
-#
-# The function will return 0 status if all invocations succeed.
-# Otherwise, the return code from first failing invocation will
-# be returned.
-#
-# For each command being run, EPYTHON, PYTHON and BUILD_DIR are set
-# locally, and the former two are exported to the command environment.
-python_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local MULTIBUILD_VARIANTS
- _python_obtain_impls
-
- multibuild_foreach_variant _python_multibuild_wrapper "${@}"
-}
-
-# @FUNCTION: python_setup
-# @USAGE: [...]
-# @DESCRIPTION:
-# Find the best (most preferred) Python implementation that is suitable
-# for running common Python code. Set the Python build environment up
-# for that implementation. This function has two modes of operation:
-# pure and any-of dep.
-#
-# The pure mode is used if python_check_deps() function is not declared.
-# In this case, an implementation is considered suitable if it is
-# supported (in PYTHON_COMPAT), enabled (via USE flags) and matches
-# at least one of the patterns passed (or '*' if no patterns passed).
-#
-# Implementation restrictions in the pure mode need to be accompanied
-# by appropriate REQUIRED_USE constraints. Otherwise, the eclass may
-# fail at build time due to unsatisfied dependencies.
-#
-# The any-of dep mode is used if python_check_deps() is declared.
-# In this mode, an implementation is considered suitable if it is
-# supported, matches at least one of the patterns and python_check_deps()
-# has successful return code. USE flags are not considered.
-#
-# The python_check_deps() function in the any-of mode needs to be
-# accompanied by appropriate any-of dependencies.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# This function needs to be used when Python is being called outside
-# of python_foreach_impl calls (e.g. for shared processes like doc
-# building). python_foreach_impl sets up the build environment itself.
-#
-# Pure mode example:
-# @CODE
-# DEPEND="doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )"
-# REQUIRED_USE="doc? ( $(python_gen_useflags 'python2*') )"
-#
-# src_compile() {
-# #...
-# if use doc; then
-# python_setup 'python2*'
-# make doc
-# fi
-# }
-# @CODE
-#
-# Any-of mode example:
-# @CODE
-# DEPEND="doc? (
-# $(python_gen_any_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' 'python2*') )"
-#
-# python_check_deps() {
-# has_version "dev-python/epydoc[${PYTHON_USEDEP}]"
-# }
-#
-# src_compile() {
-# #...
-# if use doc; then
-# python_setup 'python2*'
-# make doc
-# fi
-# }
-# @CODE
-python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_validate_useflags
- local pycompat=( "${PYTHON_COMPAT[@]}" )
- if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
- pycompat=( ${PYTHON_COMPAT_OVERRIDE} )
- fi
-
- local has_check_deps
- declare -f python_check_deps >/dev/null && has_check_deps=1
-
- # (reverse iteration -- newest impl first)
- local found
- _python_verify_patterns "${@}"
- for (( i = ${#_PYTHON_SUPPORTED_IMPLS[@]} - 1; i >= 0; i-- )); do
- local impl=${_PYTHON_SUPPORTED_IMPLS[i]}
-
- # check PYTHON_COMPAT[_OVERRIDE]
- has "${impl}" "${pycompat[@]}" || continue
-
- # match USE flags only if override is not in effect
- # and python_check_deps() is not defined
- if [[ ! ${PYTHON_COMPAT_OVERRIDE} && ! ${has_check_deps} ]]; then
- use "python_targets_${impl}" || continue
- fi
-
- # check patterns
- _python_impl_matches "${impl}" "${@}" || continue
-
- _python_export "${impl}" EPYTHON PYTHON
-
- # if python_check_deps() is declared, switch into any-of mode
- if [[ ${has_check_deps} ]]; then
- # first check if the interpreter is installed
- python_is_installed "${impl}" || continue
- # then run python_check_deps
- local PYTHON_USEDEP="python_targets_${impl}(-),-python_single_target_${impl}(-)"
- local PYTHON_SINGLE_USEDEP="python_single_target_${impl}(-)"
- python_check_deps || continue
- fi
-
- found=1
- break
- done
-
- if [[ ! ${found} ]]; then
- eerror "${FUNCNAME}: none of the enabled implementation matched the patterns."
- eerror " patterns: ${@-'(*)'}"
- eerror "Likely a REQUIRED_USE constraint (possibly USE-conditional) is missing."
- eerror " suggested: || ( \$(python_gen_useflags ${@}) )"
- eerror "(remember to quote all the patterns with '')"
- die "${FUNCNAME}: no enabled implementation satisfy requirements"
- fi
-
- _python_wrapper_setup
- einfo "Using ${EPYTHON} in global scope"
-}
-
-# @FUNCTION: python_replicate_script
-# @USAGE: ...
-# @DESCRIPTION:
-# Copy the given script to variants for all enabled Python
-# implementations, then replace it with a symlink to the wrapper.
-#
-# All specified files must start with a 'python' shebang. A file not
-# having a matching shebang will be refused.
-python_replicate_script() {
- debug-print-function ${FUNCNAME} "${@}"
-
- _python_replicate_script() {
- local _PYTHON_FIX_SHEBANG_QUIET=1
-
- local PYTHON_SCRIPTDIR
- _python_export PYTHON_SCRIPTDIR
-
- (
- exeopts -m 0755
- exeinto "${PYTHON_SCRIPTDIR#${EPREFIX}}"
- doexe "${files[@]}"
- )
-
- python_fix_shebang -q \
- "${files[@]/*\//${D%/}/${PYTHON_SCRIPTDIR}/}"
- }
-
- local files=( "${@}" )
- python_foreach_impl _python_replicate_script
- unset -f _python_replicate_script
-}
-
-_PYTHON_R1=1
-fi
diff --git a/media-gfx/displaycal/Manifest b/media-gfx/displaycal/Manifest
deleted file mode 100644
index e575775dc..000000000
--- a/media-gfx/displaycal/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST DisplayCAL-3.8.9.3.tar.gz 10639277 BLAKE2B b99d2a39eb707654799b089a8f14891b257a27cb209511ed04ea6e2de7ec4bc3e68db884ebc460e25325495645d1a851b936f91632c571a385e009ea6b9cd6d2 SHA512 cece09605c12be6a154d8d8b088005e527a9e6674a89ec2787b0687a92b7f424749681f149a07bb798df6729c9f4c37e8760abeec115a014c06f94f25fc2f904
diff --git a/media-gfx/displaycal/displaycal-3.8.9.3-r4.ebuild b/media-gfx/displaycal/displaycal-3.8.9.3-r4.ebuild
deleted file mode 100644
index 1477dd7a9..000000000
--- a/media-gfx/displaycal/displaycal-3.8.9.3-r4.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2 gnome2-utils xdg
-
-MY_PN="DisplayCAL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Display calibration and characterization powered by Argyll CMS"
-HOMEPAGE="https://displaycal.net/"
-SRC_URI="mirror://sourceforge/dispcalgui/${MY_P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
- >=media-gfx/argyllcms-1.1.0
- dev-python/wxpython2:3.0[${PYTHON_USEDEP}]
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
- >=x11-libs/libX11-1.3.3
- >=x11-apps/xrandr-1.3.2
- >=x11-libs/libXxf86vm-1.1.0
- >=x11-libs/libXinerama-1.1
-"
-RDEPEND="${DEPEND}
- dev-python/faulthandler-python2[${PYTHON_USEDEP}]
- dev-python/numpy-python2[${PYTHON_USEDEP}]
- dev-python/dbus-python2[${PYTHON_USEDEP}]
-"
-
-# Just in case someone renames the ebuild
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- # Do not generate udev/hotplug files
- sed -e '/if os.path.isdir/s#/etc/udev/rules.d\|/etc/hotplug#\0-non-existant#' \
- -i DisplayCAL/setup.py || die
- # Prohibit setup from running xdg-* programs, resulting to sandbox violation
- sed -e '/if which/s#xdg-icon-resource#\0-non-existant#' \
- -e '/if which/s#xdg-desktop-menu#\0-non-existant#' \
- -i DisplayCAL/postinstall.py || die
-
- # Remove deprecated Encoding key from .desktop file
- sed -e '/Encoding=UTF-8/d' -i misc/*.desktop || die
-
- # Remove x-world Media Type
- sed -e 's/x\-world\/x\-vrml\;//g' \
- -i misc/displaycal-vrml-to-x3d-converter.desktop || die
-
- distutils2_src_prepare
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_icon_cache_update
-}
diff --git a/net-libs/dslib/Manifest b/net-libs/dslib/Manifest
deleted file mode 100644
index 525becd0b..000000000
--- a/net-libs/dslib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dslib-3.0.tar.gz 85076 BLAKE2B cd3f42546cbf1c03e9a9864ad6f85170e49e9b666da9984d3700979007cd675c1d5859b6f28a6b691ebc5e6e0db786793ef2f717ac01bc127102182e4d70b3eb SHA512 070e93fc89a50b379400613ff8991c8cbf6b58e2997f11dba917f943f3539e5b248f6a357f75f905bdacead3fc1eb0afbcc0a2af1bdcf9ce0cfc8884132c7ed9
diff --git a/net-libs/dslib/dslib-3.0-r5.ebuild b/net-libs/dslib/dslib-3.0-r5.ebuild
deleted file mode 100644
index 7cf9937f8..000000000
--- a/net-libs/dslib/dslib-3.0-r5.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_USE_SETUPTOOLS=manual
-inherit distutils2
-
-DESCRIPTION="Library to access Czech eGov system \"Datove schranky\""
-HOMEPAGE="http://labs.nic.cz/page/969/datovka/"
-SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/${PN}/${P}.tar.gz
- http://mirror.yandex.ru/calculate/source/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- dev-python/pyasn1-python2[${PYTHON_USEDEP}]
- dev-python/pyopenssl-python2[${PYTHON_USEDEP}]
- >=dev-python/sudsds-1.0.1[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}
- dev-python/setuptools-python2[${PYTHON_USEDEP}]
-"
diff --git a/net-libs/dslib/metadata.xml b/net-libs/dslib/metadata.xml
deleted file mode 100644
index 0db98bb95..000000000
--- a/net-libs/dslib/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- A library for accessing ISDS (Informační systém datových schránek
- / Data Box Information System) SOAP services as defined in Czech ISDS Act
- (300/2008 Coll.) and implied documents.
-
-
-
diff --git a/profiles/default/package.use/default b/profiles/default/package.use/default
index c5749382f..7c049f143 100644
--- a/profiles/default/package.use/default
+++ b/profiles/default/package.use/default
@@ -238,10 +238,8 @@ media-video/ffmpeg openssl chromium xcb libaom
# opengl? ( gui widgets ), webkit? ( network printsupport )
dev-python/PyQt5 gui printsupport network widgets
-dev-python/PyQt5-python2 gui printsupport network widgets
# webengine? ( widgets? ( webchannel ) )
dev-python/PyQt5 webengine webchannel
-dev-python/PyQt5-python2 webengine webchannel
# vpn, bluetooth, etc support
net-misc/connman l2tp ofono openconnect openvpn pptp vpnc wispr
diff --git a/profiles/default/package.use/required-by b/profiles/default/package.use/required-by
index 17a6ed3a4..221a21579 100644
--- a/profiles/default/package.use/required-by
+++ b/profiles/default/package.use/required-by
@@ -237,7 +237,6 @@ dev-libs/libnl utils
# required by www-client/qutebrowser-0.9.1, dev-python/pytest-qt-2.3.0-r2, dev-util/eric-17.04, net-misc/gns3-gui-2.1.21
dev-python/PyQt5 declarative testlib multimedia sql help websockets
-dev-python/PyQt5-python2 declarative testlib multimedia sql help websockets
# required by net-im/pidgin-2.12.0[gadu]
net-libs/libgadu gnutls
diff --git a/profiles/default/package.use/unnecessary-dependency b/profiles/default/package.use/unnecessary-dependency
index a8c4bad11..2fcb4db1a 100644
--- a/profiles/default/package.use/unnecessary-dependency
+++ b/profiles/default/package.use/unnecessary-dependency
@@ -12,7 +12,6 @@ app-misc/mc -spell
app-text/evince -nsplugin
dev-lang/php -spell
dev-libs/folks -bluetooth
-dev-python/PyQt5-python2 -webengine -webkit
dev-python/PyQt5 -webengine -webkit
dev-python/translate-toolkit -html
dev-qt/qt-creator -qmldesigner
diff --git a/sys-apps/calculate-lib/ChangeLog b/sys-apps/calculate-lib/ChangeLog
deleted file mode 100644
index ed89f10b4..000000000
--- a/sys-apps/calculate-lib/ChangeLog
+++ /dev/null
@@ -1,928 +0,0 @@
-# ChangeLog for sys-apps/calculate-lib
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: $
-
-*calculate-lib-3.0.2 (31 Aug 2012)
-
- 31 Aug 2012; Mike Hiretsky (mhiretskiy)
- +calculate-lib-3.0.2.ebuild, +calculate-lib-2.2.30.ebuild:
- Bump version
-
-*calculate-lib-2.2.28 (15 Feb 2012)
-
- 15 Feb 2012; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.28.ebuild:
- Version bump
-
-*calculate-lib-2.2.27-r3 (16 Dec 2011)
-
- 16 Dec 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.27-r3.ebuild, +files/calculate-lib-2.2.27-r3.patch:
- Update for client
-
-*calculate-lib-2.2.27-r1 (14 Dec 2011)
-
- 14 Dec 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.27-r1.ebuild, +files/calculate-lib-2.2.27-r1.patch:
- Update for bugfix
-
-*calculate-lib-2.2.27 (12 Dec 2011)
-
- 12 Dec 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.27.ebuild:
- Bump version
-
-*calculate-lib-2.2.26 (16 Nov 2011)
-
- 16 Nov 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.26.ebuild:
- Version bump
-
-*calculate-lib-2.2.25-r1 (10 Nov 2011)
-
- 10 Nov 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.25-r1.ebuild, +files/calculate-lib-2.2.25-r1.patch:
- Update for builder and assemble
-
-*calculate-lib-2.2.25 (18 Oct 2011)
-
- 18 Oct 2011; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.24.ebuild, -calculate-lib-2.2.24-r1.ebuild,
- -files/calculate-lib-2.2.24-r1.patch, +calculate-lib-2.2.25.ebuild:
- Version bump. Remove old.
-
-*calculate-lib-3.0.9999 (11 Oct 2011)
-
- 11 Oct 2011; Mike Hiretsky (mhiretskiy)
- calculate-lib-2.2.9999.ebuild, +calculate-lib-3.0.9999.ebuild,
- calculate-lib-9999.ebuild:
- Update live ebuilds
-
-*calculate-lib-2.2.24-r2 (28 Sep 2011)
-
- 28 Sep 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.24-r2.ebuild, +files/calculate-lib-2.2.24-r2.patch:
- Update for featues
-
-*calculate-lib-2.2.24-r1 (21 Sep 2011)
-
- 21 Sep 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.24-r1.ebuild, +files/calculate-lib-2.2.24-r1.patch:
- Update for feature
-
- 21 Sep 2011; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.18.ebuild,
- -calculate-lib-2.2.18-r1.ebuild, -calculate-lib-2.2.18-r2.ebuild,
- -files/calculate-lib-2.2.18-part_size.patch,
- -files/calculate-lib-2.2.18-to_2.2.19_rc1.patch,
- -calculate-lib-2.2.19.ebuild, -calculate-lib-2.2.19-r1.ebuild,
- -calculate-lib-2.2.19-r2.ebuild, -calculate-lib-2.2.19-r3.ebuild,
- -calculate-lib-2.2.19-r4.ebuild, -calculate-lib-2.2.19-r5.ebuild,
- -calculate-lib-2.2.19-r6.ebuild,
- -files/calculate-lib-2.2.19_2.2.20_rc1.patch,
- -files/calculate-lib-2.2.19_fix_detect_video.patch,
- -files/calculate-lib-2.2.19_lvmraid_rc1.patch,
- -files/calculate-lib-2.2.19_lvmraid_rc2.patch,
- -files/calculate-lib-2.2.19_lvmraid_rc3.patch, -calculate-lib-2.2.20.ebuild,
- -calculate-lib-2.2.20-r1.ebuild, -calculate-lib-2.2.20-r2.ebuild,
- -calculate-lib-2.2.20-r3.ebuild, -calculate-lib-2.2.20-r4.ebuild,
- -calculate-lib-2.2.20-r5.ebuild,
- -files/calculate-lib-2.2.20-fix_get_part_type.patch,
- -files/calculate-lib-2.2.20-fix_getsize.patch,
- -files/calculate-lib-2.2.20-ini_ver.patch,
- -files/calculate-lib-2.2.20-many_bugfix.patch, -calculate-lib-2.2.21.ebuild,
- -calculate-lib-2.2.21-r1.ebuild, -calculate-lib-2.2.21-r2.ebuild,
- -files/calculate-lib-2.2.21-r1.patch, -files/calculate-lib-2.2.21-r2.patch,
- -calculate-lib-2.2.22.ebuild, -calculate-lib-2.2.22-r1.ebuild,
- -calculate-lib-2.2.22-r2.ebuild, -files/calculate-lib-2.2.22-r2.patch,
- -files/calculate-lib-2.2.22-timezone.patch, -calculate-lib-2.2.23.ebuild:
- Remove old
-
-*calculate-lib-2.2.24 (20 Sep 2011)
-
- 20 Sep 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.24.ebuild:
- Version bump
-
-*calculate-lib-2.2.23 (05 Sep 2011)
-
- 05 Sep 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.23.ebuild:
- Version bump
-
-*calculate-lib-2.2.22-r2 (31 Aug 2011)
-
- 31 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.22-r2.ebuild, +files/calculate-lib-2.2.22-r2.patch:
- Update for features
-
-*calculate-lib-2.2.22-r1 (29 Aug 2011)
-
- 29 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.22-r1.ebuild, +files/calculate-lib-2.2.22-timezone.patch:
- Update for features
-
-*calculate-lib-2.2.22 (26 Aug 2011)
-
- 26 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.22.ebuild:
- Version bump
-
-*calculate-lib-2.2.21-r2 (25 Aug 2011)
-
- 25 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.21-r2.ebuild, +files/calculate-lib-2.2.21-r2.patch:
- Update templates for xautologin
-
-*calculate-lib-2.2.21-r1 (22 Aug 2011)
-
- 22 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.21-r1.ebuild, +files/calculate-lib-2.2.21-r1.patch:
- Update for bugfix and features
-
-*calculate-lib-2.2.21 (18 Aug 2011)
-
- 18 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.21.ebuild:
- Bump version
-
- 18 Aug 2011; Mike Hiretsky (mhiretskiy)
- calculate-lib-2.2.20-r4.ebuild:
- Update deps
-
-*calculate-lib-2.2.20-r4 (16 Aug 2011)
-
- 16 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.20-r4.ebuild, +files/calculate-lib-2.2.20-ini_ver.patch:
- Update for features and bugfix
-
-*calculate-lib-2.2.20-r3 (02 Aug 2011)
-
- 02 Aug 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.20-r3.ebuild,
- +files/calculate-lib-2.2.20-many_bugfix.patch:
- Update for bugfix
-
-*calculate-lib-2.2.20-r2 (28 Jul 2011)
-
- 28 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.20-r2.ebuild,
- +files/calculate-lib-2.2.20-fix_get_part_type.patch:
- Update for bugfix
-
-*calculate-lib-2.2.20-r1 (28 Jul 2011)
-
- 28 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.20-r1.ebuild,
- +files/calculate-lib-2.2.20-fix_getsize.patch:
- Update for bugfix
-
-*calculate-lib-2.2.20 (27 Jul 2011)
-
- 27 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.20.ebuild:
- Bump version
-
-*calculate-lib-2.2.19-r6 (27 Jul 2011)
-
- 27 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.19-r6.ebuild,
- +files/calculate-lib-2.2.19_lvmraid_rc3.patch:
- Update to rc3.
-
-*calculate-lib-2.2.19-r5 (26 Jul 2011)
-
- 26 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.19-r5.ebuild,
- +files/calculate-lib-2.2.19_lvmraid_rc2.patch:
- Update for raid lvm
-
-*calculate-lib-2.2.19-r1 (20 Jul 2011)
-
- 20 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.19-r1.ebuild,
- +files/calculate-lib-2.2.19_2.2.20_rc1.patch:
- Update to 2.2.20_rc1
-
-*calculate-lib-2.2.19 (18 Jul 2011)
-
- 18 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.19.ebuild:
- Bump version
-
-*calculate-lib-2.2.18-r2 (14 Jul 2011)
-
- 14 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.18-r2.ebuild,
- +files/calculate-lib-2.2.18-to_2.2.19_rc1.patch:
- Update for bugfix
-
-*calculate-lib-2.2.18-r1 (01 Jul 2011)
-
- 01 Jul 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.18-r1.ebuild, +files/calculate-lib-2.2.18-part_size.patch:
- Update for install.
-
-*calculate-lib-2.2.18 (29 Jun 2011)
-
- 29 Jun 2011; Mike Hiretsky (mhiretskiy)
- -files/calculate-lib-2.1.8-fix_fifo.patch,
- -files/calculate-lib-2.2.8-file.patch, -calculate-lib-2.2.15.ebuild,
- -calculate-lib-2.2.15-r2.ebuild,
- -files/calculate-lib-2.2.15-fix_get_from_xorg.patch,
- -files/lib_i18n_path.patch, -calculate-lib-2.2.15-r1.ebuild,
- -files/calculate-lib-2.2.15-fix_update_config.patch,
- -calculate-lib-2.2.16.ebuild, -calculate-lib-2.2.16-r1.ebuild,
- -files/calculate-lib-2.2.16-fix_get_uid.patch, -calculate-lib-2.2.17.ebuild,
- -calculate-lib-2.2.17-r1.ebuild, -calculate-lib-2.2.17-r2.ebuild,
- -calculate-lib-2.2.17-r3.ebuild, -files/calculate-lib-2.2.17-backport.patch,
- -files/calculate-lib-2.2.17-fix_videodetect.patch,
- -files/calculate-lib-2.2.17_2.2.18_rc1.patch, +calculate-lib-2.2.18.ebuild:
- Bump version
-
-*calculate-lib-2.2.17-r3 (27 Jun 2011)
-
- 27 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.17-r3.ebuild,
- +files/calculate-lib-2.2.17_2.2.18_rc1.patch:
- Update to 2.2.18_rc1.
-
-*calculate-lib-2.2.17-r2 (24 Jun 2011)
-
- 24 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.17-r2.ebuild,
- +files/calculate-lib-2.2.17-fix_videodetect.patch:
- Update for bugfix.
-
-*calculate-lib-2.2.17-r1 (23 Jun 2011)
-
- 23 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.17-r1.ebuild, +files/calculate-lib-2.2.17-backport.patch:
- Update for some features.
-
-*calculate-lib-2.2.17 (22 Jun 2011)
-
- 22 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.17.ebuild:
- Bump version
-
-*calculate-lib-2.2.16-r1 (14 Jun 2011)
-
- 14 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.16-r1.ebuild,
- +files/calculate-lib-2.2.16-fix_get_uid.patch:
- Fix get uid and gid by /etc.
-
-*calculate-lib-2.2.16 (09 Jun 2011)
-
- 09 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.16.ebuild:
- Bump version
-
-*calculate-lib-2.2.15-r2 (03 Jun 2011)
-
- 03 Jun 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.15-r2.ebuild,
- +files/calculate-lib-2.2.15-fix_update_config.patch:
- Update for bugfix.
-
-*calculate-lib-2.1.11 (30 May 2011)
-
- 30 May 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.1.11.ebuild:
- Update 2.1 libs.
-
-*calculate-lib-2.2.15-r1 (23 May 2011)
-
- 23 May 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.15-r1.ebuild,
- +files/calculate-lib-2.2.15-fix_get_from_xorg.patch:
- Update lib for bug fix.
-
-*calculate-lib-2.2.15 (18 May 2011)
-
- 18 May 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.15.ebuild:
- Bump version
-
-*calculate-lib-2.1.8-r2 (17 May 2011)
-
- 17 May 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.1.8-r2.ebuild, +files/calculate-lib-2.1.8-fix_fifo.patch:
- Fix fifo processing.
-
-*calculate-lib-2.2.14-r2 (13 May 2011)
-
- 13 May 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.14-r2.ebuild,
- +files/calculate-lib-2.2.14-fix_root_type_detect.patch:
- Update for bugfix.
-
-*calculate-lib-2.2.14 (20 Apr 2011)
-
- 20 Apr 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.14.ebuild:
- Bump version
-
- 13 Apr 2011; Mike Hiretsky (mhiretskiy)
- calculate-lib-2.1.8-r1.ebuild, -calculate-lib-2.2.11-r2.ebuild,
- -calculate-lib-2.2.11-r3.ebuild, -calculate-lib-2.2.11-r4.ebuild,
- -files/calculate-lib-2.2.11-autoupdate_opt.patch,
- -files/calculate-lib-2.2.11-dialog_fix.patch,
- -files/calculate-lib-2.2.11-feature_for_builder.patch,
- -files/calculate-lib-2.2.11-fix_C_locale.patch,
- -calculate-lib-2.2.12.ebuild, -calculate-lib-2.2.12-r1.ebuild,
- -calculate-lib-2.2.12-r2.ebuild, -calculate-lib-2.2.12-r3.ebuild,
- -calculate-lib-2.2.12-r4.ebuild, -calculate-lib-2.2.12-r5.ebuild,
- -files/calculate-lib-2.2.12-exec_option.patch,
- -files/calculate-lib-2.2.12-fix_magic_type.patch,
- -files/calculate-lib-2.2.12-fix_plasma_format.patch,
- -files/calculate-lib-2.2.12-fix_traceback_initrd.patch,
- calculate-lib-2.2.13.ebuild, calculate-lib-2.2.9999.ebuild,
- calculate-lib-9999.ebuild:
- Remove old. Fix EAPI.
-
-*calculate-lib-2.2.13 (12 Apr 2011)
-
- 12 Apr 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.13.ebuild:
- Version bump
-
- 04 Apr 2011; Mike Hiretsky (mhiretskiy)
- calculate-lib-2.2.9999.ebuild:
- Fix live depends.
-
-
-*calculate-lib-2.2.12-r5 (04 Apr 2011)
-
- 04 Apr 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.12-r5.ebuild,
- +files/calculate-lib-2.2.12-fix_plasma_format.patch:
- Update for bugfix.
-
-*calculate-lib-2.2.12-r4 (04 Apr 2011)
-
- 04 Apr 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.12-r4.ebuild,
- +files/calculate-lib-2.2.12-exec_option.patch:
- Update for feature.
-
- 26 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.12-r1.ebuild,
- +files/calculate-lib-2.2.12-fix_traceback_initrd.patch:
- Update for bugfix.
-
-*calculate-lib-2.2.12 (22 Mar 2011)
-
- 22 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.12.ebuild:
- Bump version
-
-*calculate-lib-2.2.11-r4 (22 Mar 2011)
-
- 22 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.11-r4.ebuild,
- +files/calculate-lib-2.2.11-autoupdate_opt.patch:
- Update for autoupdate option.
-
-*calculate-lib-2.2.11-r3 (21 Mar 2011)
-
- 21 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.11-r3.ebuild,
- +files/calculate-lib-2.2.11-feature_for_builder.patch:
- Update for feature.
-
- 18 Mar 2011; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.1.8-r1.ebuild, -calculate-lib-2.2.8.ebuild,
- -calculate-lib-2.2.8-r1.ebuild, -calculate-lib-2.2.9.ebuild,
- -calculate-lib-2.2.10.ebuild, -calculate-lib-2.2.11.ebuild,
- -calculate-lib-2.2.11-r1.ebuild:
- Remove old.
-
-*calculate-lib-2.2.11-r2 (16 Mar 2011)
-
- 16 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.11-r2.ebuild,
- +files/calculate-lib-2.2.11-fix_C_locale.patch:
- Update for bugfix.
-
-*calculate-lib-2.2.11-r1 (15 Mar 2011)
-
- 15 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.11-r1.ebuild,
- +files/calculate-lib-2.2.11-dialog_fix.patch:
- Update for bug fix.
-
-*calculate-lib-2.2.11 (11 Mar 2011)
-
- 11 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.11.ebuild:
- Bump version
-
-*calculate-lib-2.2.10 (09 Mar 2011)
-
- 09 Mar 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.10.ebuild:
- Bump version
-
-*calculate-lib-2.2.9 (09 Feb 2011)
-
- 09 Feb 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.9.ebuild:
- Bump version
-
- 24 Jan 2011; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.3.ebuild, -calculate-lib-2.2.4-r1.ebuild,
- -files/calculate-lib-2.2.4-fixfilter.patch, -calculate-lib-2.2.5.ebuild,
- -calculate-lib-2.2.5-r1.ebuild,
- -files/calculate-lib-2.2.5-encoding-fix.patch,
- -files/calculate-lib-2.2.5-uuid-fix.patch, -calculate-lib-2.2.6.ebuild,
- -calculate-lib-2.2.7.ebuild:
- Clean old ebuilds.
-
-*calculate-lib-2.2.8-r1 (21 Jan 2011)
-
- 21 Jan 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.8-r1.ebuild, +files/calculate-lib-2.2.8-file.patch:
- Add patch for work with sys-apps/file-2.05
-
-*calculate-lib-2.2.8 (20 Jan 2011)
-
- 20 Jan 2011; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.8_rc1.ebuild, +calculate-lib-2.2.8.ebuild:
- Version bump
-
-*calculate-lib-2.2.8_rc1 (20 Jan 2011)
-
- 20 Jan 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.8_rc1.ebuild:
- Bump version
-
-*calculate-lib-2.2.7 (19 Jan 2011)
-
- 19 Jan 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.7.ebuild:
- Bump version
-
-*calculate-lib-2.2.6 (14 Jan 2011)
-
- 14 Jan 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.6.ebuild:
- Bump version
-
-*calculate-lib-2.2.5-r1 (11 Jan 2011)
-
- 11 Jan 2011; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.5-r1.ebuild,
- +files/calculate-lib-2.2.5-encoding-fix.patch,
- +files/calculate-lib-2.2.5-uuid-fix.patch:
- Add patch for fix uuid absent.
- Add patch for fix encoding in help.
-
-*calculate-lib-2.2.5 (30 Dec 2010)
-
- 30 Dec 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.5.ebuild:
- Bump version.
-
-*calculate-lib-2.2.4 (23 Dec 2010)
-
- 23 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1-r2.ebuild,
- -files/calculate-lib-2.2.1-fix_getversion.patch,
- -files/calculate-lib-2.2.1-fix_resolution.patch,
- -calculate-lib-2.2.4_rc2.ebuild, +calculate-lib-2.2.4.ebuild:
- Bump version. Remove old.
-
-*calculate-lib-2.2.4_rc2 (22 Dec 2010)
-
- 22 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.4_rc1.ebuild, +calculate-lib-2.2.4_rc2.ebuild:
- Bump version.
-
-*calculate-lib-2.2.4_rc1 (22 Dec 2010)
-
- 22 Dec 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.4_rc1.ebuild:
- Version bump.
-
-*calculate-lib-2.2.3 (17 Dec 2010)
-
- 17 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc17.ebuild, -calculate-lib-2.2.2-r1.ebuild,
- -files/calculate-lib-2.2.2-add_cmc.patch, +calculate-lib-2.2.3.ebuild:
- Bump version. Remove previous with patch.
-
-*calculate-lib-2.2.2 (15 Dec 2010)
-
- 15 Dec 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.2.ebuild:
- Bump version.
-
-*calculate-lib-2.2.1 (09 Dec 2010)
-
- 09 Dec 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.1.ebuild:
- Bump version.
-
-*calculate-lib-2.2.1_rc17 (09 Dec 2010)
-
- 09 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc16.ebuild, +calculate-lib-2.2.1_rc17.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc16 (08 Dec 2010)
-
- 08 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc15.ebuild, +calculate-lib-2.2.1_rc16.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc15 (03 Dec 2010)
-
- 03 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc14-r1.ebuild, +calculate-lib-2.2.1_rc15.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc14 (03 Dec 2010)
-
- 03 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc13-r1.ebuild, +calculate-lib-2.2.1_rc14.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc13 (01 Dec 2010)
-
- 01 Dec 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc12.ebuild, +calculate-lib-2.2.1_rc13.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc12 (29 Nov 2010)
-
- 29 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc11-r1.ebuild, +calculate-lib-2.2.1_rc12.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc11 (26 Nov 2010)
-
- 26 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc10.ebuild, +calculate-lib-2.2.1_rc11.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc10 (23 Nov 2010)
-
- 23 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc9.ebuild, +calculate-lib-2.2.1_rc10.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc9 (22 Nov 2010)
-
- 22 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc8-r2.ebuild, +calculate-lib-2.2.1_rc9.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc8 (18 Nov 2010)
-
- 18 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc7-r5.ebuild, +calculate-lib-2.2.1_rc8.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc7 (13 Nov 2010)
-
- 13 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc6-r2.ebuild, +calculate-lib-2.2.1_rc7.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc6 (10 Nov 2010)
-
- 10 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc5.ebuild, +calculate-lib-2.2.1_rc6.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc5 (03 Nov 2010)
-
- 03 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc4-r2.ebuild, +calculate-lib-2.2.1_rc5.ebuild:
- Update version.
-
-*calculate-lib-2.2.1_rc4-r2 (02 Nov 2010)
-
- 02 Nov 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc4-r1.ebuild, +calculate-lib-2.2.1_rc4-r2.ebuild:
- Update for fix bug detect chroot.
-
-*calculate-lib-2.2.1_rc4 (29 Oct 2010)
-
- 29 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc3.ebuild, +calculate-lib-2.2.1_rc4.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc3 (28 Oct 2010)
-
- 28 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc2.ebuild, +calculate-lib-2.2.1_rc3.ebuild:
- Daily update.
-
- 28 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.1.7.ebuild, -calculate-lib-2.1.9-r1.ebuild,
- -calculate-lib-2.1.10-r1.ebuild:
- Remove calculate lib which needless calculate-server.
-
-*calculate-lib-2.2.1_rc2 (28 Oct 2010)
-
- 28 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.1_rc1.ebuild, +calculate-lib-2.2.1_rc2.ebuild:
- Daily update.
-
-*calculate-lib-2.2.1_rc1 (22 Oct 2010)
-
- 22 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.1_rc2-r2.ebuild, +calculate-lib-2.2.1_rc1.ebuild:
- First release candidat of 2.2.1.
-
-*calculate-lib-2.2.0.1_rc2-r2 (18 Oct 2010)
-
- 18 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.1_rc2-r1.ebuild,
- +calculate-lib-2.2.0.1_rc2-r2.ebuild:
- Update for using without py-smbpasswd.
-
-*calculate-lib-2.2.0.1_rc2 (15 Oct 2010)
-
- 15 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.1_rc1.ebuild, +calculate-lib-2.2.0.1_rc2.ebuild:
- Update for add USE minimal.
-
-*calculate-lib-2.2.0.1_rc1 (15 Oct 2010)
-
- 15 Oct 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.0.1_rc1.ebuild:
- First release candidat of 2.2.0.1.
-
-*calculate-lib-2.2.0.0 (07 Oct 2010)
-
- 07 Oct 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.0.0.ebuild:
- Bump version.
-
-*calculate-lib-2.2.0.0_p20100930-r6 (07 Oct 2010)
-
- 07 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100826-r1.ebuild,
- -calculate-lib-2.2.0.0_p20100902-r1.ebuild,
- -calculate-lib-2.2.0.0_p20100915.ebuild,
- -calculate-lib-2.2.0.0_p20100930-r5.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r6.ebuild:
- Daily update. Remove old.
-
-*calculate-lib-2.2.0.0_p20100930-r5 (05 Oct 2010)
-
- 05 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100930-r4.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r5.ebuild:
- Update depends for new templates.
-
-*calculate-lib-2.2.0.0_p20100930-r4 (05 Oct 2010)
-
- 05 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100930-r3.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r4.ebuild:
- Update version for fix some fail.
-
-*calculate-lib-2.2.0.0_p20100930-r3 (04 Oct 2010)
-
- 04 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100930-r2.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r3.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100930-r2 (01 Oct 2010)
-
- 01 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100930-r1.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r2.ebuild:
- Update version for fix crash by detect uuid without /dev/disk/by-id.
-
-*calculate-lib-2.2.0.0_p20100930-r1 (01 Oct 2010)
-
- 01 Oct 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100930.ebuild,
- +calculate-lib-2.2.0.0_p20100930-r1.ebuild:
- Update version for fix initrd detect.
-
-*calculate-lib-2.2.0.0_p20100930 (30 Sep 2010)
-
- 30 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100921-r3.ebuild,
- -calculate-lib-2.2.0.0_p20100929.ebuild,
- +calculate-lib-2.2.0.0_p20100930.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100921-r3 (30 Sep 2010)
-
- 30 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100921-r2.ebuild,
- +calculate-lib-2.2.0.0_p20100921-r3.ebuild, +files/writelog-fix.patch:
- Added patch for lib from 2010 09 21.
-
-*calculate-lib-2.2.0.0_p20100929 (29 Sep 2010)
-
- 29 Sep 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.0.0_p20100929.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100921-r2 (28 Sep 2010)
-
- 28 Sep 2010; Aleksey Samoukin
- -calculate-lib-2.2.0.0_p20100921-r1.ebuild,
- +calculate-lib-2.2.0.0_p20100921-r2.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100921-r1 (23 Sep 2010)
-
- 23 Sep 2010; Aleksey Samoukin
- -calculate-lib-2.2.0.0_p20100921.ebuild,
- +calculate-lib-2.2.0.0_p20100921-r1.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100921 (21 Sep 2010)
-
- 21 Sep 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.0.0_p20100921.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100915 (15 Sep 2010)
-
- 15 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100910.ebuild,
- +calculate-lib-2.2.0.0_p20100915.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100907 (07 Sep 2010)
-
- 07 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100903.ebuild,
- +calculate-lib-2.2.0.0_p20100907.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100903 (03 Sep 2010)
-
- 03 Sep 2010; Mike Hiretsky (mhiretskiy)
- +calculate-lib-2.2.0.0_p20100903.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100902 (02 Sep 2010)
-
- 02 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100901-r1.ebuild,
- +calculate-lib-2.2.0.0_p20100902.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100901-r1 (01 Sep 2010)
-
- 01 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100901.ebuild,
- +calculate-lib-2.2.0.0_p20100901-r1.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100901 (01 Sep 2010)
-
- 01 Sep 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100813-r1.ebuild,
- +calculate-lib-2.2.0.0_p20100901.ebuild:
- Daily update. Remove old live ebuild.
-
-*calculate-lib-2.2.0.0_p20100826-r1 (26 Aug 2010)
-
- 26 Aug 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100826.ebuild,
- +calculate-lib-2.2.0.0_p20100826-r1.ebuild:
- Update.
-
-*calculate-lib-2.2.0.0_p20100826 (26 Aug 2010)
-
- 26 Aug 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100823-r2.ebuild,
- +calculate-lib-2.2.0.0_p20100826.ebuild:
- Daily update.
-
-*calculate-lib-2.2.0.0_p20100823-r2 (25 Aug 2010)
-
- 25 Aug 2010; Mike Hiretsky (mhiretskiy)
- -calculate-lib-2.2.0.0_p20100823-r1.ebuild,
- +calculate-lib-2.2.0.0_p20100823-r2.ebuild:
- Fix depends.
-
-*calculate-lib-2.2.0.0_p20100823 (24 Aug 2010)
-
- 24 Aug 2010; Mike Hiretsky (mhiretskiy)