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 - - - Build bindings for the QtBluetooth module - Build bindings for the QtDBus module - Build bindings for the QtQml/QtQuick modules and enable the qmlscene plugin - Build bindings for the QtDesigner module and enable the designer plugin - Build bindings for the QtGui module - Build bindings for the QtHelp module - Build bindings for the QtLocation module - Build bindings for the QtMultimedia module - Build bindings for the QtNetwork module - Build bindings for the QtNetworkAuth module - Build bindings for the QtOpenGL module - Build bindings for the QtPositioning module - Build bindings for the QtPrintSupport module - Build bindings for the QtSensors module - Build bindings for the QtSerialPort module - Build bindings for the QtSql module - Build bindings for the QtSvg module - Build bindings for the QtTest module - Build bindings for the QtWebChannel module - Build bindings for the QtWebKit module - Build bindings for the QtWebSockets module - Build bindings for the QtWidgets module - Build bindings for the QtX11Extras module - Build bindings for the QtXmlPatterns module - - - - 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 - - - enable support for the old, deprecated IDNA specification (RFC 3490) - - - 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 - - - - 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 - - - Install interactive demo module browser and sample applets. - - - 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 - - ! -# @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) - -calculate-lib-2.2.0.0_p20100819.ebuild, - +calculate-lib-2.2.0.0_p20100823.ebuild: - Daily update. - -*calculate-lib-2.2.0.0_p20100816 (16 Aug 2010) - - 16 Aug 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.2.0.0_p20100816.ebuild: - New live ebuild from 2010/08/16. - -*calculate-lib-2.2.0.0_p20100813-r1 (15 Aug 2010) - - 15 Aug 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.2.0.0_p20100813.ebuild, - +calculate-lib-2.2.0.0_p20100813-r1.ebuild, +files/shortname-fix.patch: - Change commit version. Add added patch. - -*calculate-lib-2.2.0.0_p20100813 (13 Aug 2010) - - 13 Aug 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.2.0.0_p20100812-r1.ebuild, - +calculate-lib-2.2.0.0_p20100813.ebuild: - Update live ebuild. - -*calculate-lib-2.2.0.0_p20100812-r1 (13 Aug 2010) - - 13 Aug 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.2.0.0_p20100812.ebuild, - +calculate-lib-2.2.0.0_p20100812-r1.ebuild: - Change depends. - -*calculate-lib-2.2.0.0_p20100812 (12 Aug 2010) - - 12 Aug 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.2.0.0_p20100811-r1.ebuild, - +calculate-lib-2.2.0.0_p20100812.ebuild: - Update live ebuild from 12/08/2010. - -*calculate-lib-2.1.9-r1 (12 Aug 2010) - - 12 Aug 2010; Mike Hiretsky (mhiretskiy) - +files/lib_i18n_path.patch, -calculate-lib-2.1.9.ebuild, - +calculate-lib-2.1.9-r1.ebuild: - Add path for place i18n files. - -*calculate-lib-2.2.0.0_p20100811 (11 Aug 2010) - - 11 Aug 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.2.0.0_rc1.ebuild, - +calculate-lib-2.2.0.0_p20100811.ebuild: - Add ebuild from 11/08/2010. - - 11 Aug 2010; Mike Hiretsky (mhiretskiy) - calculate-lib-2.2.9999.ebuild: - Add remove cl_pass_action from calculate2.env file. - - 03 Aug 2010; Mike Hiretsky (mhiretskiy) - calculate-lib-2.2.9999.ebuild: - Added depend of 2.2.9999 from calculate-templates. - -*calculate-lib-2.2.0.0_rc1 (21 Jun 2010) - - 21 Jun 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.2.0.0_rc1.ebuild: - Added first release candidate calculate-lib-2.2.0.0. - - 04 May 2010; Mike Hiretsky (mhiretskiy) - calculate-lib-2.2.9999.ebuild, calculate-lib-9999.ebuild: - Fix git path. - -*calculate-lib-2.1.10 (20 Apr 2010) - - 20 Apr 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.1.10.ebuild: - Bump version. - -*calculate-lib-2.1.9 (16 Apr 2010) - - 16 Apr 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.1.9.ebuild: - Bump version. - - 10 Apr 2010; Mike Hiretsky (mhiretskiy) - -calculate-lib-2.1.1.ebuild, -calculate-lib-2.1.2.ebuild, - -calculate-lib-2.1.3-r1.ebuild, -calculate-lib-2.1.4.ebuild, - -calculate-lib-2.1.5.ebuild: - Removed Calculate lib which has version less 2.1.7. - -*calculate-lib-2.1.8 (05 Apr 2010) - - 05 Apr 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.1.8.ebuild: - Bump version. - -*calculate-lib-2.1.7 (15 Mar 2010) - - 15 Mar 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.1.7.ebuild: - Bump version. - -*calculate-lib-2.1.6 (03 Mar 2010) - - 03 Mar 2010; Mike Hiretsky (mhiretskiy) - +calculate-lib-2.1.6.ebuild: - Version bump. - -*calculate-lib-2.1.4 (01 Dec 2009) - - 01 Dec 2009; Mike Hirecky (mhiretskiy) - +calculate-lib-2.1.4.ebuild, +metadata.xml: - Ebuild for new version of calculate-lib. - diff --git a/sys-apps/calculate-lib/Manifest b/sys-apps/calculate-lib/Manifest deleted file mode 100644 index 57b9108a2..000000000 --- a/sys-apps/calculate-lib/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST calculate-lib-2.1.12.tar.bz2 62375 BLAKE2B f4b962072286a61e3222db5ef8bf31dbe2cd12029edd89495dab1a15dea9e64cddbb4fc77776f6d0288cc01023d1a2b8d87e2c55ec5ff75cf99d65d878fe15f1 SHA512 a7c53d8333f8ee11b0536fbe8f7284e3b19a226b67034e84831fbb47b9d4df5f1da9631c0f15ad8ccadfca4aa6d6d5c7ed35dde6ab0e6a77618a15d1f04fbe40 diff --git a/sys-apps/calculate-lib/calculate-lib-2.1.12-r7.ebuild b/sys-apps/calculate-lib/calculate-lib-2.1.12-r7.ebuild deleted file mode 100644 index 0665ae86d..000000000 --- a/sys-apps/calculate-lib/calculate-lib-2.1.12-r7.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2011 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="The library for Calculate 2" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="" -DEPEND="!=dev-python/python2-ldap-2.0[ssl] - dev-python/setuptools-python2[${PYTHON_USEDEP}] - >=dev-python/pyxml-0.8" -RDEPEND="${DEPEND}" - -src_unpack() { - unpack "${A}" - cd "${S}" - - # fix work with calculate.env - epatch "${FILESDIR}/calculate-lib-2.1.12-fix_env.patch" - # fix dhcp format - epatch "${FILESDIR}/calculate-lib-2.1.12-fix_dhcp.patch" - # fix net interfaces detect - epatch "${FILESDIR}/calculate-lib-2.1.12-fix_bond.patch" -} diff --git a/sys-apps/calculate-lib/calculate-lib-2.1.9999.ebuild b/sys-apps/calculate-lib/calculate-lib-2.1.9999.ebuild deleted file mode 100644 index 95c492e96..000000000 --- a/sys-apps/calculate-lib/calculate-lib-2.1.9999.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2011 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 git-r3 - -EGIT_REPO_URI="git://git.calculate-linux.org/calculate-2.1/calculate-lib.git" - -DESCRIPTION="The library for Calculate 2" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="" -IUSE="" - -DEPEND=">=dev-python/python2-ldap-2.0[ssl] - dev-python/setuptools-python2[${PYTHON_USEDEP}] - >=dev-python/pyxml-0.8" -RDEPEND="${DEPEND}" diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-dovecot_restart.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.11-dovecot_restart.patch deleted file mode 100644 index 164422d2f..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-dovecot_restart.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git pym/cl_utils.py pym/cl_utils.py -index ac25984..5672b4e 100644 ---- pym/cl_utils.py -+++ pym/cl_utils.py -@@ -296,7 +296,8 @@ def runOsCommand(cmd, inStr=None, ret_first=None, env_dict=None): - retcode = pipe.wait() - res = fout.readlines() - fout.close() -- res += ferr.readlines() -+ if not ("dovecot start" in cmd or "dovecot restart" in cmd): -+ res += ferr.readlines() - ferr.close() - if res: - if len(res) == 1 or ret_first: diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_getip.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_getip.patch deleted file mode 100644 index 2a9e86533..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_getip.patch +++ /dev/null @@ -1,185 +0,0 @@ -diff --git a/pym/cl_fill.py b/pym/cl_fill.py -index c5dea91..e86343d 100644 ---- a/pym/cl_fill.py -+++ b/pym/cl_fill.py -@@ -129,57 +129,22 @@ class fillVars(object, cl_base.glob_attr): - # все ip - def get_os_net_ip(self): - """все ip компьютера, разделитель запятая""" -- IPs = [] -- netInterfaces=cl_utils.getdirlist("/sys/class/net/") -- for i in netInterfaces: -- res = self._runos("/sbin/ifconfig %s"%i) -- if not res: -- break -- for line in res: -- searchIP = re.search('addr:([0-9\.]+).+Bcast:', line) -- if searchIP: -- # ip адрес -- ip = searchIP.groups()[0] -- IPs.append(ip) -- return ",".join(IPs) -+ return ",".join(map(cl_utils.getIp, -+ cl_utils.getInterfaces())) - - # Разрешенные сети (в данном случае все сети) - def get_os_net_allow(self): - """Разрешенные сети разделитель запятая""" -- -- def getNet(ip, mask): -- """По ip и маске получаем сеть""" -- octetsMult = (0x1, 0x100, 0x10000, 0x1000000) -- octetsIp = map(lambda x: int(x), ip.split(".")) -- octetsMask = map(lambda x: int(x), mask.split(".")) -- ipNumb = 0 -- for i in octetsMult: -- ipNumb += octetsIp.pop()*i -- maskNumb = 0 -- for i in octetsMult: -- maskNumb += octetsMask.pop()*i -- startIpNumber = maskNumb&ipNumb -- x = startIpNumber -- nMask = lambda y: len(filter(lambda x: y >> x &1 ,range(32))) -- return "%s.%s.%s.%s/%s"\ -- %(x>>24, x>>16&255, x>>8&255, x&255, nMask(maskNumb)) -- - networks=[] -- netInterfaces=cl_utils.getdirlist("/sys/class/net/") -- flagError = False -+ netInterfaces=cl_utils.getInterfaces() - for i in netInterfaces: -- res = self._runos("/sbin/ifconfig %s"%i) -- if not res: -- flagError = True -- break -- for j in res: -- s_ip=re.search('addr:([0-9\.]+).+Bcast:.+Mask:([0-9\.]+)' ,j) -- if s_ip: -- ip, mask = s_ip.groups() -- networks.append(getNet(ip, mask)) -- if flagError: -- return "" -- return ",".join(networks) -+ ipaddr, mask = cl_utils.getIp(i), \ -+ cl_utils.cidrToMask(cl_utils.getMask(i)) -+ if ipaddr and mask: -+ networks.append(cl_utils.getIpNet(ipaddr, mask)) -+ else: -+ networks.append("") -+ return ",".join(filter(lambda x:x,networks)) - - def get_os_locale_locale(self): - """локаль (прим: ru_RU.UTF-8)""" -diff --git a/pym/cl_utils.py b/pym/cl_utils.py -index 195d4d5..8f25ffd 100644 ---- a/pym/cl_utils.py -+++ b/pym/cl_utils.py -@@ -21,6 +21,11 @@ from re import search, compile, S - import os - import types - import subprocess -+import socket -+import struct -+import fcntl -+import math -+import ctypes - - def getdirlist(s_path): - #Получить список директорий по указаному пути -@@ -508,3 +513,96 @@ def _toUNICODE(val): - return val - else: - return str(val).decode('UTF-8') -+ -+SYSFS_NET_PATH = "/sys/class/net" -+ -+# From linux/sockios.h -+SIOCGIFADDR = 0x8915 -+SIOCGIFNETMASK = 0x891B -+SIOCGIFHWADDR = 0x8927 -+ -+def getInterfaces(): -+ """ -+ Get available interfaces (discard which hasn't device) -+ """ -+ try: -+ return filter(lambda x:os.path.exists( -+ os.path.join(SYSFS_NET_PATH,x,"device")), -+ os.listdir(SYSFS_NET_PATH)) -+ except: -+ return [] -+ -+def getIp(iface): -+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -+ ifreq = struct.pack('16sH14s', iface, socket.AF_INET, '\x00'*14) -+ try: -+ res = fcntl.ioctl(sockfd, SIOCGIFADDR, ifreq) -+ except IOError: -+ return "" -+ finally: -+ sockfd.close() -+ ip = struct.unpack('16sH2x4s8x', res)[2] -+ return socket.inet_ntoa(ip) -+ -+def getMask(iface): -+ """ -+ Get mask for interface -+ """ -+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -+ ifreq = struct.pack('16sH14s', iface, socket.AF_INET, '\x00'*14) -+ try: -+ res = fcntl.ioctl(sockfd, SIOCGIFNETMASK, ifreq) -+ except IOError: -+ return 0 -+ finally: -+ sockfd.close() -+ netmask = socket.ntohl(struct.unpack('16sH2xI8x', res)[2]) -+ return 32 - int(math.log(ctypes.c_uint32(~netmask).value + 1, 2)) -+ -+def getMac(iface): -+ """ -+ Get mac for interface -+ """ -+ sockfd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -+ ifreq = struct.pack('16sH14s', iface, socket.AF_UNIX, '\x00'*14) -+ res = fcntl.ioctl(sockfd, SIOCGIFHWADDR, ifreq) -+ address = struct.unpack('16sH14s', res)[2] -+ mac = struct.unpack('6B8x', address) -+ sockfd.close() -+ return ":".join(['%02X' % i for i in mac]) -+ -+def intIpToStrIp(addr): -+ """Convert ip specified by integer to string""" -+ return "{0}.{1}.{2}.{3}".format( -+ addr>>24,(addr>>16)&0xff,(addr>>8)&0xff,addr&0xff) -+ -+def maskToCidr(mask): -+ """Convert mask specified by str to net""" -+ mask = strIpToIntIp(mask) -+ return 32-int(math.log(((~mask) & 0xffffffff)+1,2)) -+ -+def cidrToMask(cidr): -+ """Convert net to mask specified by str""" -+ return intIpToStrIp((2**cidr-1)<<(32-cidr)) -+ -+def strIpToIntIp(addr): -+ """Convert ip specified by string to integer""" -+ addr = addr.split('.') -+ return ((int(addr[0])<<24)| -+ (int(addr[1])<<16)| -+ (int(addr[2])<<8)| -+ (int(addr[3]))) -+ return reduce(lambda x,y:x+(int(y[1])<<(y[0]*8)), -+ enumerate(reversed(addr.split("."))),0) -+ -+def getIpNet(ip,mask=None,cidr=None): -+ """Get net (xx.xx.xx.xx/xx) by ip address and mask""" -+ ip = strIpToIntIp(ip) -+ if not mask is None: -+ net = maskToCidr(mask) -+ else: -+ net = int(cidr) -+ mask = cidrToMask(net) -+ mask = strIpToIntIp(mask) -+ return "{ip}/{net}".format(ip=intIpToStrIp(ip&mask), -+ net=net) diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_iniparser.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_iniparser.patch deleted file mode 100644 index a01545564..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_iniparser.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git pym/cl_base.py pym/cl_base.pypym/cl_base.py -index 15a8d34..860e33a 100644 ---- pym/cl_base.py -+++ pym/cl_base.pypym/cl_base.py -@@ -379,6 +379,7 @@ class iniParser(cl_profile._error): - return False - self.checkIni = "samba" - # В файле есть данные -+ textIni = re.sub(r"^#.*$",textIni,'',re.M) - if not self.isEmptyFile(textIni): - try: - objIni = cl_profile.plasma(textIni) -diff --git pym/cl_utils.py pym/cl_base.pypym/cl_utils.py -index 8f25ffd..ac25984 100644 ---- pym/cl_utils.py -+++ pym/cl_base.pypym/cl_utils.py -@@ -526,9 +526,7 @@ def getInterfaces(): - Get available interfaces (discard which hasn't device) - """ - try: -- return filter(lambda x:os.path.exists( -- os.path.join(SYSFS_NET_PATH,x,"device")), -- os.listdir(SYSFS_NET_PATH)) -+ return filter(lambda x: x!= "lo",os.listdir(SYSFS_NET_PATH)) - except: - return [] - diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_xpath.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_xpath.patch deleted file mode 100644 index 6dbfd8ae5..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.11-fix_xpath.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/pym/cl_profile.py b/pym/cl_profile.py -index 5e57685..7c28b27 100644 ---- a/pym/cl_profile.py -+++ b/pym/cl_profile.py -@@ -20,6 +20,9 @@ import cl_base - import stat - import re - import xml.dom.minidom -+import xml -+if hasattr(xml,"use_pyxml"): -+ xml.use_pyxml() - from xml import xpath - import subprocess - import types diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_bond.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_bond.patch deleted file mode 100644 index f0a8e108b..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_bond.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/pym/cl_utils.py b/pym/cl_utils.py -index dc626c6..44c1cc2 100644 ---- a/pym/cl_utils.py -+++ b/pym/cl_utils.py -@@ -527,7 +527,11 @@ def getInterfaces(): - Get available interfaces (discard which hasn't device) - """ - try: -- return filter(lambda x: x!= "lo",os.listdir(SYSFS_NET_PATH)) -+ return [x -+ for x in os.listdir(SYSFS_NET_PATH) -+ if x != "lo" and os.path.exists( -+ os.path.join(SYSFS_NET_PATH,x,"dev_id")) -+ ] - except: - return [] - diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_dhcp.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_dhcp.patch deleted file mode 100644 index a5b16620a..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_dhcp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git pym/cl_profile.py pym/cl_profile.py -index 87acf30..f876fd7 100644 ---- pym/cl_profile.py -+++ pym/cl_profile.py -@@ -4729,7 +4729,7 @@ class bind(objShare): - startBloc = "" - bodyBloc = "" - endBloc = "" -- textLines = text.splitlines() -+ textLines = text.replace("} ", "}\n").splitlines() - findOpen = False - if textLines: - findOpen = reOpen.search(textLines[0]) diff --git a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_env.patch b/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_env.patch deleted file mode 100644 index 77fd5a6fb..000000000 --- a/sys-apps/calculate-lib/files/calculate-lib-2.1.12-fix_env.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit 2e08c91e338af1017bab776a965df67876deec7a -Author: Хирецкий Михаил -Date: Mon Dec 19 13:06:25 2016 +0300 - - Исправлено использование /var/lib/calculate/calculate.env - -diff --git a/pym/cl_base.py b/pym/cl_base.py -index aa79af4..52c578d 100644 ---- a/pym/cl_base.py -+++ b/pym/cl_base.py -@@ -880,7 +880,7 @@ class DataVars(object): - # получаем полный путь до файла ini - if location == 'default': - name_calculate_ini = calculate_ini[3] -- if location == 'custom': -+ elif location == 'custom': - name_calculate_ini = calculate_ini[2] - elif location == 'local': - name_calculate_ini = calculate_ini[1] -@@ -921,7 +921,7 @@ class DataVars(object): - # получаем полный путь до файла ini - if location == 'default': - name_calculate_ini = calculate_ini[3] -- if location == 'custom': -+ elif location == 'custom': - name_calculate_ini = calculate_ini[2] - elif location == 'local': - name_calculate_ini = calculate_ini[1] -@@ -1033,7 +1033,7 @@ class DataVars(object): - value = cl_utils.convertStrListDict(v.encode("UTF-8")) - self.Set(k, value, True) - importFileVars[k] = value -- if i < 3: -+ if i < 4: - importVars[locations[i]] = importFileVars - i += 1 - return importVars diff --git a/sys-apps/calculate-lib/metadata.xml b/sys-apps/calculate-lib/metadata.xml deleted file mode 100644 index e7dcd7037..000000000 --- a/sys-apps/calculate-lib/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - -maintainer-wanted - -Library for packages calculate-server and calculate-client. Part of Calculate Linux. - - - diff --git a/sys-apps/calculate-server/Manifest b/sys-apps/calculate-server/Manifest index badbe253b..63791c5fd 100644 --- a/sys-apps/calculate-server/Manifest +++ b/sys-apps/calculate-server/Manifest @@ -1,3 +1 @@ -DIST calculate-server-2.1.19.tar.bz2 172336 BLAKE2B 16e61e248c2fa2cbe3c6fe624392338014f5a5ecdc9b5fd68c9841834365e64b8487b9936236869bbf3ac4cb5f65d663525ace0aa9f42cf4303743c5d9b10b78 SHA512 77d358c8e6882a12e85ba4e6210fb1728e998604ffdd0af37c1ab1324a6520fc610d213fc91185379fd73e9a642bb33ab97ea781474da74b6aa71ae9a849c81b -DIST calculate-server-2.1.20.tar.bz2 174872 BLAKE2B f69eccf40a13eb33de446fecadfd7de949ea676f3a9c9e89020a1e2005a7e65e4414b847ed844bac8fd992730c2564cfb65f72badacd8903f76aedc60851ac1a SHA512 f24c22e3a1fc87ce39411ec8176e46b64e147893481abc2c5591637bab8a4012ee032387434ffb1ef90ce4b278afd3eed4edf18cce254ef1d0fa2a7446ec654a -DIST calculate-server-2.3.0.tar.bz2 237994 BLAKE2B b559d5fff8f0c8d2df7eb0bf993434a6973c09e10f6de70561baac77eff1af285507fcf956258927546895a11595669ed5796fc7b25b3c064c1706a3c6357db2 SHA512 bf9ce64f67eb5c2ef37ade566243abc1d60bf57e7e74a7984f15ef55e7c9e55e66b6437f26f161367e9a549c19460819d414a655919b3f16eb145c33bf9cc9d5 +DIST calculate-server-2.3.1.tar.bz2 238066 BLAKE2B 0d100e13cbdcf6e90101b35f00f3335aa36f4d32bfd842574e3dd4482380d0a078364893707061c32597d67aea7519e8a91c2f42d9e4f6f77e667716300f1615 SHA512 9899b1e7e68e07431d8b4bda79441f94ff972f9fa7406df87a30fe8c4d8e02ab722cd209cf7a39a6cd4857f8aa80b18c14e4cb8efe47297b930ae36f1a4cc243 diff --git a/sys-apps/calculate-server/calculate-server-2.1.19-r21.ebuild b/sys-apps/calculate-server/calculate-server-2.1.19-r21.ebuild deleted file mode 100644 index dd33b8ed7..000000000 --- a/sys-apps/calculate-server/calculate-server-2.1.19-r21.ebuild +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 1999-2012 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="Configuration utility for Linux services" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="calculate_nomail -calculate_nodhcp -calculate_noftp -calculate_nojabber -calculate_nonamed -calculate_nosamba -calculate_noproxy" - -DEPEND="=sys-apps/calculate-lib-2.1.12-r7 - dev-python/setuptools-python2 - >=net-nds/openldap-2.3[-minimal] - >=sys-auth/pam_ldap-180[ssl] - >=sys-auth/nss_ldap-239 - !=net-fs/samba-4[acl,client,cups,ldap,pam] - ) - ) - !calculate_nomail? ( - || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] - ) - >=mail-filter/procmail-3.22 - dev-python/pymilter-python2 - >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] - ) - !calculate_noftp? ( - || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] - ) - ) - !calculate_nojabber? ( - || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] - >=net-im/ejabberd-16.04-r1[ldap] ) - || ( media-gfx/imagemagick - media-gfx/graphicsmagick ) - ) - !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) - !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) - !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" - -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/calculate-server-2.1.19-fix_sortmilter.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_mailservice.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_certgen.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_jabber.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_gendh.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_samba4.11.patch - "${FILESDIR}"/calculate-server-2.1.19-fix_ejabber_20.04.patch -) - -pkg_postinst() { - if [ -d /var/calculate/server-data/mail/imap ] || \ - [ -d /var/calculate/server-data/samba/win/profiles ] || \ - [ -d /var/calculate/server-data/samba/unix/profiles ] || \ - [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - ewarn "Data found in directories of previous version calculate-server" - fi - - if [ -d /var/calculate/server-data/mail/imap ]; - then - if ! [ -d /var/calculate/server-data/mail~ ]; - then - if mv /var/calculate/server-data/mail/imap \ - /var/calculate/server-data/mail~ && \ - rmdir /var/calculate/server-data/mail && \ - mv /var/calculate/server-data/mail~ \ - /var/calculate/server-data/mail; - then - ewarn - ewarn "Data from /var/calculate/server-data/mail/imap" - ewarn "was moved to /var/calculate/server-data/mail" - MAILUPDATE="TRUE" - fi - fi - if ! [ "${MAILUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/mail/imap" - eerror "Please manualy move /var/calculate/server-data/mail/imap" - eerror "to /var/calculate/server-data/mail" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/profiles ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/win ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv /var/calculate/server-data/samba/win/profiles \ - /var/calculate/server-data/samba/profiles/win; - then - ewarn - ewarn "Data from /var/calculate/server-data/samba/win/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/win" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/profiles" - eerror "to /var/calculate/server-data/samba/profiles/win" - fi - fi - - if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv -f /var/calculate/server-data/samba/unix/profiles \ - /var/calculate/server-data/samba/profiles/unix; - then - rmdir /var/calculate/server-data/samba/unix - ewarn - ewarn "Data from /var/calculate/server-data/samba/unix/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/unix/profiles" - eerror "to /var/calculate/server-data/samba/profiles/unix" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/netlogon ]; - then - if mv -f /var/calculate/server-data/samba/win/netlogon \ - /var/calculate/server-data/samba/netlogon; - then - rmdir /var/calculate/server-data/samba/win - ewarn - ewarn "Data form /var/calculate/server-data/samba/win/netlogon" - ewarn "was moved to /var/calculate/server-data/samba/netlogon" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/netlogon" - eerror "/var/calculate/server-data/samba/netlogon" - fi - fi - - if [ "${MAILUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update mail service by the command:" - ewarn "\tcl-update mail" - fi - if [ "${SAMBAUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update samba service by the command:" - ewarn "\tcl-update samba" - fi - - ewarn - ewarn "WARNING!!! If you have the samba service, then update it by the command:" - ewarn "\tcl-update samba" -} diff --git a/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild b/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild deleted file mode 100644 index d1653c7d9..000000000 --- a/sys-apps/calculate-server/calculate-server-2.1.20-r1.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2012 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="Configuration utility for Linux services" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="calculate_nomail -calculate_nodhcp -calculate_noftp -calculate_nojabber -calculate_nonamed -calculate_nosamba -calculate_noproxy" - -DEPEND="=sys-apps/calculate-lib-2.1.12-r7 - dev-python/setuptools-python2 - >=net-nds/openldap-2.3[-minimal] - >=sys-auth/pam_ldap-180[ssl] - >=sys-auth/nss_ldap-239 - !=net-fs/samba-4[acl,client,cups,ldap,pam] - ) - ) - !calculate_nomail? ( - || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] - ) - >=mail-filter/procmail-3.22 - dev-python/pymilter-python2 - >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] - ) - !calculate_noftp? ( - || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] - ) - ) - !calculate_nojabber? ( - || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] - >=net-im/ejabberd-16.04-r1[ldap] ) - || ( media-gfx/imagemagick - media-gfx/graphicsmagick ) - ) - !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) - !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) - !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" - -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/calculate-server-2.1.20-remove_profile_pack.patch -) - -pkg_postinst() { - if [ -d /var/calculate/server-data/mail/imap ] || \ - [ -d /var/calculate/server-data/samba/win/profiles ] || \ - [ -d /var/calculate/server-data/samba/unix/profiles ] || \ - [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - ewarn "Data found in directories of previous version calculate-server" - fi - - if [ -d /var/calculate/server-data/mail/imap ]; - then - if ! [ -d /var/calculate/server-data/mail~ ]; - then - if mv /var/calculate/server-data/mail/imap \ - /var/calculate/server-data/mail~ && \ - rmdir /var/calculate/server-data/mail && \ - mv /var/calculate/server-data/mail~ \ - /var/calculate/server-data/mail; - then - ewarn - ewarn "Data from /var/calculate/server-data/mail/imap" - ewarn "was moved to /var/calculate/server-data/mail" - MAILUPDATE="TRUE" - fi - fi - if ! [ "${MAILUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/mail/imap" - eerror "Please manualy move /var/calculate/server-data/mail/imap" - eerror "to /var/calculate/server-data/mail" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/profiles ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/win ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv /var/calculate/server-data/samba/win/profiles \ - /var/calculate/server-data/samba/profiles/win; - then - ewarn - ewarn "Data from /var/calculate/server-data/samba/win/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/win" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/profiles" - eerror "to /var/calculate/server-data/samba/profiles/win" - fi - fi - - if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv -f /var/calculate/server-data/samba/unix/profiles \ - /var/calculate/server-data/samba/profiles/unix; - then - rmdir /var/calculate/server-data/samba/unix - ewarn - ewarn "Data from /var/calculate/server-data/samba/unix/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/unix/profiles" - eerror "to /var/calculate/server-data/samba/profiles/unix" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/netlogon ]; - then - if mv -f /var/calculate/server-data/samba/win/netlogon \ - /var/calculate/server-data/samba/netlogon; - then - rmdir /var/calculate/server-data/samba/win - ewarn - ewarn "Data form /var/calculate/server-data/samba/win/netlogon" - ewarn "was moved to /var/calculate/server-data/samba/netlogon" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/netlogon" - eerror "/var/calculate/server-data/samba/netlogon" - fi - fi - - if [ "${MAILUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update mail service by the command:" - ewarn "\tcl-update mail" - fi - if [ "${SAMBAUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update samba service by the command:" - ewarn "\tcl-update samba" - fi - - ewarn - ewarn "WARNING!!! If you have the samba service, then update it by the command:" - ewarn "\tcl-update samba" -} diff --git a/sys-apps/calculate-server/calculate-server-2.1.20-r2.ebuild b/sys-apps/calculate-server/calculate-server-2.1.20-r2.ebuild deleted file mode 100644 index 723bebdfb..000000000 --- a/sys-apps/calculate-server/calculate-server-2.1.20-r2.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 1999-2012 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="Configuration utility for Linux services" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="calculate_nomail -calculate_nodhcp -calculate_noftp -calculate_nojabber -calculate_nonamed -calculate_nosamba -calculate_noproxy" - -DEPEND="=sys-apps/calculate-lib-2.1.12-r7 - dev-python/setuptools-python2 - >=net-nds/openldap-2.3[-minimal] - >=sys-auth/pam_ldap-180[ssl] - >=sys-auth/nss_ldap-239 - !=net-fs/samba-4[acl,client,cups,ldap,pam] - ) - ) - !calculate_nomail? ( - || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] - ) - >=mail-filter/procmail-3.22 - dev-python/pymilter-python2 - >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] - ) - !calculate_noftp? ( - || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] - ) - ) - !calculate_nojabber? ( - || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] - >=net-im/ejabberd-16.04-r1[ldap] ) - || ( media-gfx/imagemagick - media-gfx/graphicsmagick ) - ) - !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) - !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) - !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" - -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/calculate-server-2.1.20-remove_profile_pack.patch - "${FILESDIR}"/calculate-server-2.1.20-remove_min_version.patch -) - -pkg_postinst() { - if [ -d /var/calculate/server-data/mail/imap ] || \ - [ -d /var/calculate/server-data/samba/win/profiles ] || \ - [ -d /var/calculate/server-data/samba/unix/profiles ] || \ - [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - ewarn "Data found in directories of previous version calculate-server" - fi - - if [ -d /var/calculate/server-data/mail/imap ]; - then - if ! [ -d /var/calculate/server-data/mail~ ]; - then - if mv /var/calculate/server-data/mail/imap \ - /var/calculate/server-data/mail~ && \ - rmdir /var/calculate/server-data/mail && \ - mv /var/calculate/server-data/mail~ \ - /var/calculate/server-data/mail; - then - ewarn - ewarn "Data from /var/calculate/server-data/mail/imap" - ewarn "was moved to /var/calculate/server-data/mail" - MAILUPDATE="TRUE" - fi - fi - if ! [ "${MAILUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/mail/imap" - eerror "Please manualy move /var/calculate/server-data/mail/imap" - eerror "to /var/calculate/server-data/mail" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/profiles ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/win ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv /var/calculate/server-data/samba/win/profiles \ - /var/calculate/server-data/samba/profiles/win; - then - ewarn - ewarn "Data from /var/calculate/server-data/samba/win/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/win" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/profiles" - eerror "to /var/calculate/server-data/samba/profiles/win" - fi - fi - - if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv -f /var/calculate/server-data/samba/unix/profiles \ - /var/calculate/server-data/samba/profiles/unix; - then - rmdir /var/calculate/server-data/samba/unix - ewarn - ewarn "Data from /var/calculate/server-data/samba/unix/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/unix/profiles" - eerror "to /var/calculate/server-data/samba/profiles/unix" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/netlogon ]; - then - if mv -f /var/calculate/server-data/samba/win/netlogon \ - /var/calculate/server-data/samba/netlogon; - then - rmdir /var/calculate/server-data/samba/win - ewarn - ewarn "Data form /var/calculate/server-data/samba/win/netlogon" - ewarn "was moved to /var/calculate/server-data/samba/netlogon" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/netlogon" - eerror "/var/calculate/server-data/samba/netlogon" - fi - fi - - if [ "${MAILUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update mail service by the command:" - ewarn "\tcl-update mail" - fi - if [ "${SAMBAUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update samba service by the command:" - ewarn "\tcl-update samba" - fi - - ewarn - ewarn "WARNING!!! If you have the samba service, then update it by the command:" - ewarn "\tcl-update samba" -} diff --git a/sys-apps/calculate-server/calculate-server-2.1.20-r3.ebuild b/sys-apps/calculate-server/calculate-server-2.1.20-r3.ebuild deleted file mode 100644 index 9ad7f33a3..000000000 --- a/sys-apps/calculate-server/calculate-server-2.1.20-r3.ebuild +++ /dev/null @@ -1,193 +0,0 @@ -# Copyright 1999-2012 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="Configuration utility for Linux services" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="calculate_nomail -calculate_nodhcp -calculate_noftp -calculate_nojabber -calculate_nonamed -calculate_nosamba -calculate_noproxy" - -DEPEND="=sys-apps/calculate-lib-2.1.12-r7 - dev-python/setuptools-python2 - >=net-nds/openldap-2.3[-minimal] - >=sys-auth/pam_ldap-180[ssl] - >=sys-auth/nss_ldap-239 - !=net-fs/samba-4[acl,client,cups,ldap,pam] - ) - ) - !calculate_nomail? ( - || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] - ) - >=mail-filter/procmail-3.22 - dev-python/pymilter-python2 - >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] - ) - !calculate_noftp? ( - || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] - ) - ) - !calculate_nojabber? ( - || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] - >=net-im/ejabberd-16.04-r1[ldap] ) - || ( media-gfx/imagemagick - media-gfx/graphicsmagick ) - ) - !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) - !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) - !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" - -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/calculate-server-2.1.20-remove_profile_pack.patch - "${FILESDIR}"/calculate-server-2.1.20-remove_min_version.patch - "${FILESDIR}"/calculate-server-2.1.20-fix_pam.patch -) - -pkg_postinst() { - if [ -d /var/calculate/server-data/mail/imap ] || \ - [ -d /var/calculate/server-data/samba/win/profiles ] || \ - [ -d /var/calculate/server-data/samba/unix/profiles ] || \ - [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - ewarn "Data found in directories of previous version calculate-server" - fi - - if [ -d /var/calculate/server-data/mail/imap ]; - then - if ! [ -d /var/calculate/server-data/mail~ ]; - then - if mv /var/calculate/server-data/mail/imap \ - /var/calculate/server-data/mail~ && \ - rmdir /var/calculate/server-data/mail && \ - mv /var/calculate/server-data/mail~ \ - /var/calculate/server-data/mail; - then - ewarn - ewarn "Data from /var/calculate/server-data/mail/imap" - ewarn "was moved to /var/calculate/server-data/mail" - MAILUPDATE="TRUE" - fi - fi - if ! [ "${MAILUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/mail/imap" - eerror "Please manualy move /var/calculate/server-data/mail/imap" - eerror "to /var/calculate/server-data/mail" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/profiles ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/win ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv /var/calculate/server-data/samba/win/profiles \ - /var/calculate/server-data/samba/profiles/win; - then - ewarn - ewarn "Data from /var/calculate/server-data/samba/win/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/win" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/profiles" - eerror "to /var/calculate/server-data/samba/profiles/win" - fi - fi - - if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv -f /var/calculate/server-data/samba/unix/profiles \ - /var/calculate/server-data/samba/profiles/unix; - then - rmdir /var/calculate/server-data/samba/unix - ewarn - ewarn "Data from /var/calculate/server-data/samba/unix/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/unix/profiles" - eerror "to /var/calculate/server-data/samba/profiles/unix" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/netlogon ]; - then - if mv -f /var/calculate/server-data/samba/win/netlogon \ - /var/calculate/server-data/samba/netlogon; - then - rmdir /var/calculate/server-data/samba/win - ewarn - ewarn "Data form /var/calculate/server-data/samba/win/netlogon" - ewarn "was moved to /var/calculate/server-data/samba/netlogon" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/netlogon" - eerror "/var/calculate/server-data/samba/netlogon" - fi - fi - - if [ "${MAILUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update mail service by the command:" - ewarn "\tcl-update mail" - fi - if [ "${SAMBAUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update samba service by the command:" - ewarn "\tcl-update samba" - fi - - ewarn - ewarn "WARNING!!! If you have the samba service, then update it by the command:" - ewarn "\tcl-update samba" -} diff --git a/sys-apps/calculate-server/calculate-server-2.1.20.ebuild b/sys-apps/calculate-server/calculate-server-2.1.20.ebuild deleted file mode 100644 index bb0881804..000000000 --- a/sys-apps/calculate-server/calculate-server-2.1.20.ebuild +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright 1999-2012 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 - -SRC_URI="ftp://ftp.calculate-linux.org/calculate/source/calculate2/${PN}/${P}.tar.bz2 - http://mirror.yandex.ru/calculate/source/calculate2/${PN}/${P}.tar.bz2" - -DESCRIPTION="Configuration utility for Linux services" -HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="calculate_nomail -calculate_nodhcp -calculate_noftp -calculate_nojabber -calculate_nonamed -calculate_nosamba -calculate_noproxy" - -DEPEND="=sys-apps/calculate-lib-2.1.12-r7 - dev-python/setuptools-python2 - >=net-nds/openldap-2.3[-minimal] - >=sys-auth/pam_ldap-180[ssl] - >=sys-auth/nss_ldap-239 - !=net-fs/samba-4[acl,client,cups,ldap,pam] - ) - ) - !calculate_nomail? ( - || ( =net-mail/dovecot-1.2.0[ldap,pam,ssl(+)] - ) - >=mail-filter/procmail-3.22 - dev-python/pymilter-python2 - >=mail-mta/postfix-2.2[ldap,pam,ssl,sasl,dovecot-sasl] - ) - !calculate_noftp? ( - || ( =net-ftp/proftpd-1.3.3[-acl,ident,ldap,ncurses,nls,pam,ssl,tcpd] - ) - ) - !calculate_nojabber? ( - || ( >=net-im/ejabberd-2.1.8[mod_pubsub,ldap] - >=net-im/ejabberd-16.04-r1[ldap] ) - || ( media-gfx/imagemagick - media-gfx/graphicsmagick ) - ) - !calculate_nonamed? ( >=net-dns/bind-9.6.1_p1[sdb-ldap] ) - !calculate_noproxy? ( >=net-proxy/squid-3.0.14[ldap,pam,ssl] ) - !calculate_nodhcp? ( >=net-misc/dhcp-3.1.2_p1 )" - -RDEPEND="${DEPEND}" - -pkg_postinst() { - if [ -d /var/calculate/server-data/mail/imap ] || \ - [ -d /var/calculate/server-data/samba/win/profiles ] || \ - [ -d /var/calculate/server-data/samba/unix/profiles ] || \ - [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - ewarn "Data found in directories of previous version calculate-server" - fi - - if [ -d /var/calculate/server-data/mail/imap ]; - then - if ! [ -d /var/calculate/server-data/mail~ ]; - then - if mv /var/calculate/server-data/mail/imap \ - /var/calculate/server-data/mail~ && \ - rmdir /var/calculate/server-data/mail && \ - mv /var/calculate/server-data/mail~ \ - /var/calculate/server-data/mail; - then - ewarn - ewarn "Data from /var/calculate/server-data/mail/imap" - ewarn "was moved to /var/calculate/server-data/mail" - MAILUPDATE="TRUE" - fi - fi - if ! [ "${MAILUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/mail/imap" - eerror "Please manualy move /var/calculate/server-data/mail/imap" - eerror "to /var/calculate/server-data/mail" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/profiles ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/win ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv /var/calculate/server-data/samba/win/profiles \ - /var/calculate/server-data/samba/profiles/win; - then - ewarn - ewarn "Data from /var/calculate/server-data/samba/win/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/win" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/profiles" - eerror "to /var/calculate/server-data/samba/profiles/win" - fi - fi - - if [ -d /var/calculate/server-data/samba/unix/profiles ]; \ - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/profiles/unix ]; - then - if mkdir -p /var/calculate/server-data/samba/profiles && \ - mv -f /var/calculate/server-data/samba/unix/profiles \ - /var/calculate/server-data/samba/profiles/unix; - then - rmdir /var/calculate/server-data/samba/unix - ewarn - ewarn "Data from /var/calculate/server-data/samba/unix/profiles" - ewarn "was moved to /var/calculate/server-data/samba/profiles/unix" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/unix/profiles" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/unix/profiles" - eerror "to /var/calculate/server-data/samba/profiles/unix" - fi - fi - - if [ -d /var/calculate/server-data/samba/win/netlogon ]; - then - SAMBAUPDATE="" - if ! [ -d /var/calculate/server-data/samba/netlogon ]; - then - if mv -f /var/calculate/server-data/samba/win/netlogon \ - /var/calculate/server-data/samba/netlogon; - then - rmdir /var/calculate/server-data/samba/win - ewarn - ewarn "Data form /var/calculate/server-data/samba/win/netlogon" - ewarn "was moved to /var/calculate/server-data/samba/netlogon" - SAMBAUPDATE="TRUE" - fi - fi - if ! [ "${SAMBAUPDATE}" == "TRUE" ]; - then - eerror "Cannot move /var/calculate/server-data/samba/win/netlogon" - eerror "Please manualy move " - eerror "/var/calculate/server-data/samba/win/netlogon" - eerror "/var/calculate/server-data/samba/netlogon" - fi - fi - - if [ "${MAILUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update mail service by the command:" - ewarn "\tcl-update mail" - fi - if [ "${SAMBAUPDATE}" == "TRUE" ]; - then - ewarn - ewarn "Please update samba service by the command:" - ewarn "\tcl-update samba" - fi - - ewarn - ewarn "WARNING!!! If you have the samba service, then update it by the command:" - ewarn "\tcl-update samba" -} diff --git a/sys-apps/calculate-server/calculate-server-2.3.0.ebuild b/sys-apps/calculate-server/calculate-server-2.3.1.ebuild similarity index 99% rename from sys-apps/calculate-server/calculate-server-2.3.0.ebuild rename to sys-apps/calculate-server/calculate-server-2.3.1.ebuild index a51f29377..7ef55dfb0 100644 --- a/sys-apps/calculate-server/calculate-server-2.3.0.ebuild +++ b/sys-apps/calculate-server/calculate-server-2.3.1.ebuild @@ -14,7 +14,7 @@ DESCRIPTION="Configuration utility for Linux services" HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="calculate_nomail calculate_nodhcp @@ -25,6 +25,8 @@ calculate_nosamba calculate_noproxy" DEPEND="!sys-apps/calculate-lib + acct-group/ldap + acct-user/ldap >=net-nds/openldap-2.3[-minimal] >=sys-auth/pam_ldap-180[ssl] >=sys-auth/nss_ldap-239 diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-distfiles.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-distfiles.patch deleted file mode 100644 index eb41c5d6d..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-distfiles.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit fa80839cb9ecf7b7bc17130093be93f6114a4fb0 -Author: Хирецкий Михаил -Date: Tue Apr 9 09:49:30 2013 +0400 - - Samba domain distfiles - -diff --git profile/samba/etc/samba/smb.conf profile/samba/etc/samba/smb.conf -index 4be8ede..40391a5 100644 ---- profile/samba/etc/samba/smb.conf -+++ profile/samba/etc/samba/smb.conf -@@ -165,6 +165,8 @@ chown=root:root - security mask = 0664 - force create mode = 0664 - force security mode = 0664 -+ force directory security mode = 2775 -+ force directory mode = 2775 - vfs objects = acl_xattr fake_perms - #pkg# - diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_dovecot.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_dovecot.patch deleted file mode 100644 index b4905d428..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_dovecot.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git profile/mail/etc/dovecot/conf.d/10-mail.conf profile/mail/etc/dovecot/conf.d/10-mail.conf -index 5869b52..4c1c0a1 100644 ---- profile/mail/etc/dovecot/conf.d/10-mail.conf -+++ profile/mail/etc/dovecot/conf.d/10-mail.conf -@@ -2,3 +2,6 @@ - # Тип хранения почты и расположение почтовых папок - mail_location = maildir:#-sr_mail_path-#/%u - mail_gid = maildomain -+namespace inbox { -+ inbox = yes -+} diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_empty_ip.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_empty_ip.patch deleted file mode 100644 index fcd21d550..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_empty_ip.patch +++ /dev/null @@ -1,20 +0,0 @@ -commit 32ab0f219c901bc4e0209c09b68c27638b1a61ad -Author: Хирецкий Михаил -Date: Tue Dec 11 11:22:42 2012 +0400 - - Fix multi net cards - -diff --git pym/cl_ldap.py pym/cl_ldap.py -index 697273e..924547f 100644 ---- pym/cl_ldap.py -+++ pym/cl_ldap.py -@@ -20897,7 +20900,8 @@ incompatible, use one of the options")) - dnsIP = ",".join(dnsIPs) - if not self.servDnsObj.searchZoneInLDAP(zoneName): - # Находим все ip DNS cервера -- IPs = self.servDnsObj.clVars.Get("os_net_ip").split(",") -+ IPs = filter(None, -+ self.servDnsObj.clVars.Get("os_net_ip").split(",")) - if not IPs: - self.printERROR(_("Can not found ip in net interfaces")) - return False diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_get_ip.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_get_ip.patch deleted file mode 100644 index 670a9ba67..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_get_ip.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit c8b5dc8b118498a122fa2ab756ca3d064011696d -Author: Хирецкий Михаил -Date: Wed Sep 26 12:23:00 2012 +0400 - - Discard empty ip - -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 0de3698..7580ef8 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -21634,7 +21634,7 @@ network %s")%net) - domainNames = self.unicList(domainNames) - domain = domainNames[0] - fullHostNameServer = "%s.%s"%(hostname,domain) -- IPs = self.clVars.Get("os_net_ip").split(",") -+ IPs = filter(None,self.clVars.Get("os_net_ip").split(",")) - if not any(IPs): - self.printERROR(_("Can not found ip in net interfaces")) - return False diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_inienv.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_inienv.patch deleted file mode 100644 index 65aa3fb5e..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_inienv.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git pym/cl_ldap.py pym/cl_ldap.py -index 697273e..dc5324e 100644 ---- pym/cl_ldap.py -+++ pym/cl_ldap.py -@@ -8910,10 +8910,13 @@ for running replication")%bFile) - return False - # Получим пути к ini файлам - iniFiles = self.clVars.Get("cl_env_path") -- # Удаляем все ini файлы -+ # Удаляем секции настроек из всех ini - for iniFile in iniFiles: - if os.path.exists(iniFile): -- os.remove(iniFile) -+ if "remote" in iniFile: -+ cl_base.iniParser(iniFile).delArea("client") -+ else: -+ cl_base.iniParser(iniFile).delArea("server") - # Получим путь к ldap файлу - ldapParser = iniLdapParser() - ldapFile = ldapParser.nameIniFile diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_ip_check.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_ip_check.patch deleted file mode 100644 index a312d24ea..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_ip_check.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 47644c08fa88cfbc1ff972d1e60ff27b8fd93f63 -Author: Хирецкий Михаил -Date: Mon Sep 24 11:52:28 2012 +0400 - - Fix check ip - -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 9800c80..0de3698 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -21544,6 +21544,10 @@ network %s")%net) - self.printERROR(_("Not enough command line options: %s")\ - %", ".join(notFoundKeys)) - return False -+ IPs = self.clVars.Get("os_net_ip").split(',') -+ if not any(IPs): -+ self.printERROR(_("Can not found ip in net interfaces")) -+ return False - if not forceOptions: - # предупреждение при выполнении этой программы будут изменены - # конфигурационные файлы сервиса DHCP (программa dhcpd) -@@ -21631,7 +21635,7 @@ network %s")%net) - domain = domainNames[0] - fullHostNameServer = "%s.%s"%(hostname,domain) - IPs = self.clVars.Get("os_net_ip").split(",") -- if not IPs: -+ if not any(IPs): - self.printERROR(_("Can not found ip in net interfaces")) - return False - ipServer = "" diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy.patch deleted file mode 100644 index 9393a3614..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit feaac7e468f233699d39f2d1bceaef56bced5df5 -Author: Хирецкий Михаил -Date: Tue May 21 11:57:55 2013 +0400 - - Добавлена поддержка squid 3.2 - -diff --git profile/proxy/etc/squid/squid.conf profile/proxy/etc/squid/squid.conf -index 9a3fb48..0f50a6f 100644 ---- profile/proxy/etc/squid/squid.conf -+++ profile/proxy/etc/squid/squid.conf -@@ -1,9 +1,16 @@ - # Calculate format=squid append=replace -+#?pkg(net-proxy/squid)<3.2# - auth_param basic program /usr/libexec/squid/squid_ldap_auth -b "ou=Users,#-ld_proxy_dn-#" -f "(&(uid=%s)(initials=Yes))" -D "#-ld_proxy_dn-#" -W /etc/squid/squid.ldap -h localhost -+#pkg# -+#?pkg(net-proxy/squid)>=3.2# -+auth_param basic program /usr/libexec/squid/basic_ldap_auth -b "ou=Users,#-ld_proxy_dn-#" -f "(&(uid=%s)(initials=Yes))" -D "#-ld_proxy_dn-#" -W /etc/squid/squid.ldap -h localhost -+#pkg# - auth_param basic credentialsttl 5 minute - external_acl_type ldap_users ttl=300 %LOGIN %PORT /usr/lib/calculate/calculate-server/bin/proxy -s "#-ld_proxy_dn-#" -b "#-ld_base_dn-#" -P /etc/squid/squid.ldap -+#?pkg(net-proxy/squid)<3.2# - acl manager proto cache_object - acl localhost src 127.0.0.1/32 -+#pkg# - #-sr_proxy_net_allow_pass-# - acl SSL_ports port 443 - acl access_port external ldap_users diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy2.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy2.patch deleted file mode 100644 index 3cb3e4f3a..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_proxy2.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/profile/proxy/etc/squid/squid.conf b/profile/proxy/etc/squid/squid.conf -index 0f50a6f..31c4db6 100644 ---- a/profile/proxy/etc/squid/squid.conf -+++ b/profile/proxy/etc/squid/squid.conf -@@ -30,8 +30,8 @@ icp_access deny all - htcp_access allow localnet - htcp_access deny all - http_port #-sr_proxy_port-# --hierarchy_stoplist cgi-bin ? - #?pkg(net-proxy/squid)<3.1.6# -+hierarchy_stoplist cgi-bin ? - logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %=3.1.6# diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_replcron.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_replcron.patch deleted file mode 100644 index 639c79449..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_replcron.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git pym/cl_ldap.py pym/cl_ldap.py -index 924547f..f288483 100644 ---- pym/cl_ldap.py -+++ pym/cl_ldap.py -@@ -13356,7 +13356,10 @@ incompatible")) - os.chdir(path) - users = os.listdir(".") - users = filter(lambda x: os.path.isdir(x), users) -- for userName in users: -+ for dirName in users: -+ # имя пользователя (исключая суффикс V2) -+ userName = \ -+ dirName[:-3] if dirName.endswith('.V2') else dirName - if not self.servUnixObj.searchUnixUser(userName) and\ - not self.servUnixObj.searchPasswdUser(userName): - # Удаляем пользователя из ветки Worked -@@ -13369,9 +13372,9 @@ in the LDAP branch 'Worked'")%userName - flagError = True - break - # Удаляем директорию пользователя -- self.removeDir(userName) -+ self.removeDir(dirName) - message = _("deleted %s")\ -- %os.path.join(path,userName) -+ %os.path.join(path,dirName) - if logObj: - logObj.writeSuccess(message) - self.printWARNING(message) diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_sasl_config.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_sasl_config.patch deleted file mode 100644 index 1e3191089..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-fix_sasl_config.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git profile/mail/etc/postfix/main.cf profile/mail/etc/postfix/main.cf -index 308769a..de16ede 100644 ---- profile/mail/etc/postfix/main.cf -+++ profile/mail/etc/postfix/main.cf -@@ -205,7 +205,12 @@ smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache - - #включаем авторизацию через dovecot - smtpd_sasl_auth_enable = yes -+#pkg(mail-mta/postfix)<2.10.1# - smtpd_sasl2_auth_enable = yes -+#pkg# -+#pkg(mail-mta/postfix)>=2.10.1# -+!smtpd_sasl2_auth_enable = del -+#pkg# - smtpd_sasl_type = dovecot - smtpd_sasl_path = private/auth - smtpd_sasl_security_options = noanonymous diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_max_instances.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_max_instances.patch deleted file mode 100644 index 17e3ce458..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_max_instances.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git profile/ftp/etc/proftpd/proftpd.conf profile/ftp/etc/proftpd/proftpd.conf -index feff794..fc48ea9 100644 ---- profile/ftp/etc/proftpd/proftpd.conf -+++ profile/ftp/etc/proftpd/proftpd.conf -@@ -16,7 +16,7 @@ Port 21 - Umask 022 - - #Максимальное количество подключений (защита от DOS) --MaxInstances 30 -+MaxInstances 100 - - #Пользователь под кототрым работает сервер - User nobody diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_trash.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_trash.patch deleted file mode 100644 index 9338cb20c..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-ftp_trash.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 0069b26d762ca6f488d9a7dd31316f6072d586d6 -Author: Хирецкий Михаил -Date: Fri Aug 31 15:30:04 2012 +0400 - - Add .Trash for FTP service - -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 65fa9e8..9800c80 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -12246,14 +12246,21 @@ class servRepl(shareLdap): - userTrashDir =\ - os.path.join(self.clVars.Get("sr_samba_share_path"), - ".Trash-%d"%uid) -+ userTrashDirFtp =\ -+ os.path.join(self.clVars.Get("sr_ftp_path"), -+ ".Trash-%d"%uid) - - userDirs = [("home",userHomeDir), - ("netlogon",userNetlogonDir), - ("win_prof",winProfDir), - ('lin_prof',linProfDir), -- ('trash',userTrashDir)] -+ ('trash',userTrashDir), -+ ('ftp',userTrashDirFtp)] - flagError = False - for name, userDir in userDirs: -+ if name == "ftp": -+ if self.clVars.Get("sr_ftp_set") != "on": -+ continue - if not os.path.exists(userDir): - if not self.createUserDir(uid, gid, userDir): - flagError = True diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-jabber_tls.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-jabber_tls.patch deleted file mode 100644 index d46e45ec4..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-jabber_tls.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit 2787a17c985af58b6d4c7b9b76acdea70e0a03ca -Author: Хирецкий Михаил -Date: Tue Dec 11 11:44:56 2012 +0400 - - Add starttls - -diff --git profile/jabber/etc/jabber/ejabberd.cfg profile/jabber/etc/jabber/ejabberd.cfg -index 747c77c..5459465 100644 ---- profile/jabber/etc/jabber/ejabberd.cfg -+++ profile/jabber/etc/jabber/ejabberd.cfg -@@ -13,6 +13,12 @@ - {certfile, "/etc/jabber/ssl.pem"}, tls, - {max_stanza_size, 65536} - ]}, -+ {#-sr_jabber_port_starttls-#, ejabberd_c2s, [ -+ {access, c2s}, -+ {shaper, c2s_shaper}, -+ {certfile, "/etc/jabber/ssl.pem"}, starttls,starttls_required, -+ {max_stanza_size, 65536} -+ ]}, - - {5269, ejabberd_s2s_in, [ - {shaper, s2s_shaper}, -@@ -125,4 +131,4 @@ - ]} - ]}, - {mod_version, []} -- ]}. -\ No newline at end of file -+ ]}. -diff --git pym/cl_vars_server.py pym/cl_vars_server.py -index 71561a1..35ecafc 100644 ---- pym/cl_vars_server.py -+++ pym/cl_vars_server.py -@@ -175,6 +175,9 @@ class Data: - # порт jabber сервиса - sr_jabber_port = {'mode':"w",'value':'5223'} - -+ # порт jabber сервиса -+ sr_jabber_port_starttls = {'mode':"w",'value':'5222'} -+ - # включение хранения истории сообщений jabber сервиса - # по умолчанию выключено - sr_jabber_history = {'mode':"w", diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-mac_lower.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-mac_lower.patch deleted file mode 100644 index 67b48a3dd..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-mac_lower.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 924547f..59fe9a1 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -19733,6 +19736,8 @@ class servDhcp(shareLdap, shareIP): - return False - # mac адрес хоста - mac = options["mac"] -+ if mac: -+ mac = mac.lower() - if not self.isCorrectMacAddress(mac): - self.printERROR(_('Command line option "--mac %s" incorrectly')\ - %mac) -@@ -19954,6 +19959,8 @@ eth0, eth1, ... etc."%net) - if options.has_key("mac"): - # mac адрес хоста - mac = options["mac"] -+ if mac: -+ mac = mac.lower() - if not self.isCorrectMacAddress(mac): - self.printERROR(\ - _('Command line option "--mac %s" incorrectly') %mac) diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-nt_acl.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-nt_acl.patch deleted file mode 100644 index 9e4fc44e1..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-nt_acl.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git profile/samba/etc/samba/smb.conf profile/samba/etc/samba/smb.conf -index 40391a5..d11542c 100644 ---- profile/samba/etc/samba/smb.conf -+++ profile/samba/etc/samba/smb.conf -@@ -153,6 +153,7 @@ chown=root:root - browseable = yes - writable = yes - hide unreadable = yes -+ nt acl support = no - - - [remote] diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-smtp_auth.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-smtp_auth.patch deleted file mode 100644 index db258884e..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-smtp_auth.patch +++ /dev/null @@ -1,69 +0,0 @@ -commit 0545e98854ee0d766cfdc6cc6c0fadc6b1085f95 -Author: Хирецкий Михаил -Date: Tue Dec 25 17:44:59 2012 +0400 - - Add dovecot auth for postfix - -diff --git profile/mail/etc/dovecot/conf.d/10-auth.conf profile/mail/etc/dovecot/conf.d/10-auth.conf -index f503282..b9ce1c3 100644 ---- profile/mail/etc/dovecot/conf.d/10-auth.conf -+++ profile/mail/etc/dovecot/conf.d/10-auth.conf -@@ -7,3 +7,4 @@ disable_plaintext_auth=no - #sr_mail_crypt# - !!include auth-system.conf.ext - !include auth-ldap.conf.ext -+auth_mechanisms = plain login -diff --git profile/mail/etc/dovecot/conf.d/10-master.conf profile/mail/etc/dovecot/conf.d/10-master.conf -index 52c522d..90aca40 100644 ---- profile/mail/etc/dovecot/conf.d/10-master.conf -+++ profile/mail/etc/dovecot/conf.d/10-master.conf -@@ -28,3 +28,11 @@ service pop3-login { - #sr_mail_crypt# - } - } -+ -+service auth { -+ unix_listener /var/spool/postfix/private/auth { -+ mode = 0666 -+ user = postfix -+ group = postfix -+ } -+} -diff --git profile/mail/etc/postfix/main.cf profile/mail/etc/postfix/main.cf -index aca83b7..308769a 100644 ---- profile/mail/etc/postfix/main.cf -+++ profile/mail/etc/postfix/main.cf -@@ -194,7 +194,23 @@ show_user_unknown_table_name = no - # Чтобы проверка шла в порядке заданном нами - smtpd_delay_reject = yes - -- -+#включаем использование tls -+smtpd_tls_cert_file=/etc/ssl/postfix/server.crt -+smtpd_tls_key_file=/etc/ssl/postfix/server.key -+smtpd_use_tls=yes -+smtpd_tls_auth_only = yes -+smtpd_tls_received_header = yes -+smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache -+smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache -+ -+#включаем авторизацию через dovecot -+smtpd_sasl_auth_enable = yes -+smtpd_sasl2_auth_enable = yes -+smtpd_sasl_type = dovecot -+smtpd_sasl_path = private/auth -+smtpd_sasl_security_options = noanonymous -+smtpd_sasl_tls_security_options = noanonymous -+broken_sasl_auth_clients = yes - - #Эти директивы используются для запрещения доступа к Postfix - #Принимаем письма: -@@ -291,7 +307,7 @@ readme_directory = no - #В данном примере backup - #always_bcc = backup@mydomain.ru - --#Особенности настройки host.calculate.ru -+#Особенности настройки amavis - #setgid_group = maildrop - #content_filter = smtp-amavis:[127.0.0.1]:10024 - diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-squid_ipv4.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-squid_ipv4.patch deleted file mode 100644 index fbf92f89e..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-squid_ipv4.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/profile/proxy/etc/squid/squid.conf b/profile/proxy/etc/squid/squid.conf -index 31c4db6..9b213b9 100644 ---- a/profile/proxy/etc/squid/squid.conf -+++ b/profile/proxy/etc/squid/squid.conf -@@ -1,4 +1,5 @@ - # Calculate format=squid append=replace -+dns_v4_first on - #?pkg(net-proxy/squid)<3.2# - auth_param basic program /usr/libexec/squid/squid_ldap_auth -b "ou=Users,#-ld_proxy_dn-#" -f "(&(uid=%s)(initials=Yes))" -D "#-ld_proxy_dn-#" -W /etc/squid/squid.ldap -h localhost - #pkg# diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.16-win7_profile.patch b/sys-apps/calculate-server/files/calculate-server-2.1.16-win7_profile.patch deleted file mode 100644 index ca935287d..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.16-win7_profile.patch +++ /dev/null @@ -1,109 +0,0 @@ -commit c15ade5f6d1d9fef27e65ef6e51c370191f2dcd8 -Author: Хирецкий Михаил -Date: Mon Oct 1 09:43:16 2012 +0400 - - Add autocreate win7 profile directory - -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 7580ef8..697273e 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -5971,6 +5971,9 @@ of version > 2.1.10, then you can delete this file.") + "\n" - winProfDir =\ - os.path.join(self.clVars.Get("sr_samba_winprof_path"), - userName) -+ win7ProfDir =\ -+ os.path.join(self.clVars.Get("sr_samba_winprof_path"), -+ userName+".V2") - linProfDir =\ - os.path.join(self.clVars.Get("sr_samba_linprof_path"), - userName) -@@ -5988,6 +5991,10 @@ of version > 2.1.10, then you can delete this file.") + "\n" - if not self.backupDelUser(userName, 'samba/winprofile', - winProfDir): - return False -+ if os.path.exists(win7ProfDir) and os.listdir(win7ProfDir): -+ if not self.backupDelUser(userName, 'samba/win7profile', -+ win7ProfDir): -+ return False - if os.path.exists(linProfDir) and os.listdir(linProfDir): - if not self.backupDelUser(userName, 'samba/linprofile', - linProfDir): -@@ -6013,6 +6020,10 @@ of version > 2.1.10, then you can delete this file.") + "\n" - _("Can not delete Samba user") + " " + str(delUser)) - return False - else: -+ # Удаляем win7 профиль -+ if not win7ProfDir in notDeletedDirs and\ -+ os.path.exists(win7ProfDir): -+ self.removeDir(win7ProfDir) - # Удаляем win профиль - if not winProfDir in notDeletedDirs and\ - os.path.exists(winProfDir): -@@ -6154,6 +6165,9 @@ of version > 2.1.10, then you can delete this file.") + "\n" - winProfDir =\ - os.path.join(self.clVars.Get("sr_samba_winprof_path"), - userName) -+ win7ProfDir =\ -+ os.path.join(self.clVars.Get("sr_samba_winprof_path"), -+ userName+".V2") - linProfDir =\ - os.path.join(self.clVars.Get("sr_samba_linprof_path"), - userName) -@@ -6174,6 +6188,15 @@ of version > 2.1.10, then you can delete this file.") + "\n" - else: - term, createDirWinProfile, removeProfileBack = resWinProf - -+ resWin7Prof = self.restorePathDelUser(userName, win7ProfDir, -+ "samba/win7profile", term) -+ removeProfile7Back = False -+ if not resWin7Prof: -+ flagError = True -+ createDirWin7Profile = False -+ else: -+ term, createDirWin7Profile, removeProfile7Back = resWin7Prof -+ - removeHomeBack = False - if not flagError: - resHome = self.restorePathDelUser(userName, userHomeDir, -@@ -6216,15 +6239,10 @@ of version > 2.1.10, then you can delete this file.") + "\n" - uid = int(resPasswd.split(":")[2]) - gid = int(resPasswd.split(":")[3]) - # Не удаляемые директории -- notDeletedDirs = [] -- if createDirHome and os.path.exists(createDirHome): -- notDeletedDirs.append(createDirHome) -- if createDirLogon and os.path.exists(createDirLogon): -- notDeletedDirs.append(createDirLogon) -- if createDirWinProfile and os.path.exists(createDirWinProfile): -- notDeletedDirs.append(createDirWinProfile) -- if createDirLinProfile and os.path.exists(createDirLinProfile): -- notDeletedDirs.append(createDirLinProfile) -+ notDeletedDirs = filter(lambda x:x and os.path.exists(x), -+ (createDirHome,createDirLogon, -+ createDirWin7Profile, -+ createDirWinProfile,createDirLinProfile)) - if (resPasswd or resSearchUnix) and\ - (options.has_key('n') or int(uid) >=1000): - # Cоздаем домашнюю директорию -@@ -6259,11 +6277,20 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios) - if not flagError and createDirWinProfile: - if not self.createUserDir(uid,gid,createDirWinProfile): - flagError = True -+ # Cоздаем директорию профиля win7 -+ if not flagError and createDirWin7Profile: -+ if not self.createUserDir(uid,gid,createDirWin7Profile): -+ flagError = True - # Создаем директорию профиля lin - if not flagError and createDirLinProfile: - if not self.createUserDir(uid,gid,createDirLinProfile): - flagError = True - if not flagError: -+ # Удаляем директорию бекапа профиля win7 -+ if removeProfile7Back and\ -+ os.path.exists(removeProfile7Back): -+ self.removeDir(removeProfile7Back) -+ self.removeEmptyDir(os.path.split(removeProfile7Back)[0]) - # Удаляем директорию бекапа профиля win - if removeProfileBack and\ - os.path.exists(removeProfileBack): diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.17-rename-backup.patch b/sys-apps/calculate-server/files/calculate-server-2.1.17-rename-backup.patch deleted file mode 100644 index d81205ae0..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.17-rename-backup.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git i18n/cl_server_ru.mo i18n/cl_server_ru.mo -index 5b30c73..8e63d98 100644 -Binary files i18n/cl_server_ru.mo and i18n/cl_server_ru.mo differ -diff --git pym/cl_ldap.py pym/cl_ldap.py -index 601eee8..be22774 100644 ---- pym/cl_ldap.py -+++ pym/cl_ldap.py -@@ -7370,7 +7370,7 @@ class servLdap(shareLdap): - self.printWARNING(_("The backup file is created %s days ago")\ - %deltaTime.days) - self.printWARNING(_("cl-rebuld uses a file backup, make sure it is not \ --outdated. If the backup is obsolete, use cl-backup.")) -+outdated. If the backup is obsolete, use cl-backup-server.")) - messDialog = \ - _("If you are ready to continue executing the program")+", "+\ - _("input 'yes'") +", "+ _("if not 'no'") -@@ -9023,7 +9023,7 @@ class cl_ldap(shareLdap): - 'cl-usermod':5, - 'cl-setup':6, - 'cl-passwd':7, -- 'cl-backup':8, -+ 'cl-backup-server':8, - 'cl-update-server':9, - 'cl-rebuild':10, - 'execserv':11, -@@ -11288,7 +11288,7 @@ service") - { - 'progAccess':(8,), - 'helpChapter':_("Examples"), -- 'help':pcs(" cl-backup -r", self.column_width, -+ 'help':pcs(" cl-backup-server -r", self.column_width, - "# "+_("restore all services") + ".", - self.consolewidth-self.column_width) - }, -@@ -13633,7 +13633,7 @@ file %s")%bFile) - else: - self.printWARNING(_("The backup file is created %s days ago")\ - %deltaTime.days) -- self.printWARNING(_("If the backup is obsolete, use cl-backup.")) -+ self.printWARNING(_("If the backup is obsolete, use cl-backup-server.")) - messDialog = \ - _("If you are ready to continue executing the program")+", "+\ - _("input 'yes'") +", "+ _("if not 'no'") -diff --git scripts/cl-backup scripts/cl-backup -deleted file mode 100644 -index 37a243a..0000000 ---- scripts/cl-backup -+++ /dev/null -@@ -1,41 +0,0 @@ --#!/usr/bin/python --#-*- coding: utf-8 -*- -- --# Copyright 2008-2010 Mir Calculate. http://www.calculate-linux.org --# --# Licensed under the Apache License, Version 2.0 (the "License"); --# you may not use this file except in compliance with the License. --# You may obtain a copy of the License at --# --# http://www.apache.org/licenses/LICENSE-2.0 --# --# Unless required by applicable law or agreed to in writing, software --# distributed under the License is distributed on an "AS IS" BASIS, --# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --# See the License for the specific language governing permissions and --# limitations under the License. -- --import sys --import os --sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym')) --sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym')) --import cl_base --tr = cl_base.lang() --tr.setGlobalDomain('cl_server') --tr.setLanguage(sys.modules[__name__]) --import cl_ldap -- --if __name__ == "__main__": -- ldapObj = cl_ldap.cl_ldap("cl-backup") -- optObj = cl_ldap.tsOpt(ldapObj,[],False) -- flagError = False -- if not optObj.flagHelp: -- # Настройка сервера LDAP -- flagError = True -- obj = cl_ldap.servLdap() -- if obj.backupLdapServer(optObj.opt): -- flagError = False -- if flagError: -- sys.exit(1) -- else: -- sys.exit(0) -diff --git scripts/cl-backup-server scripts/cl-backup-server -new file mode 100644 -index 0000000..37a243a ---- /dev/null -+++ scripts/cl-backup-server -@@ -0,0 +1,41 @@ -+#!/usr/bin/python -+#-*- coding: utf-8 -*- -+ -+# Copyright 2008-2010 Mir Calculate. http://www.calculate-linux.org -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+ -+import sys -+import os -+sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym')) -+sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym')) -+import cl_base -+tr = cl_base.lang() -+tr.setGlobalDomain('cl_server') -+tr.setLanguage(sys.modules[__name__]) -+import cl_ldap -+ -+if __name__ == "__main__": -+ ldapObj = cl_ldap.cl_ldap("cl-backup") -+ optObj = cl_ldap.tsOpt(ldapObj,[],False) -+ flagError = False -+ if not optObj.flagHelp: -+ # Настройка сервера LDAP -+ flagError = True -+ obj = cl_ldap.servLdap() -+ if obj.backupLdapServer(optObj.opt): -+ flagError = False -+ if flagError: -+ sys.exit(1) -+ else: -+ sys.exit(0) -diff --git setup.py setup.py -index 57532bd..8f485e7 100755 ---- setup.py -+++ setup.py -@@ -189,7 +189,7 @@ setup( - "./scripts/cl-groupdel", - "./scripts/cl-passwd", - "./scripts/cl-setup", -- "./scripts/cl-backup", -+ "./scripts/cl-backup-server", - "./scripts/cl-update-server", - "./scripts/cl-rebuild", - "./scripts/cl-replication", diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.18-config_path.patch b/sys-apps/calculate-server/files/calculate-server-2.1.18-config_path.patch deleted file mode 100644 index d404fc6b7..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.18-config_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index be22774..a1d0e16 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -182,7 +182,7 @@ class iniLdapParser(cl_base.iniParser): - """Класс для работы c ini-файлом ldap""" - def __init__(self): - # название ini файла -- self.nameIniFile = "/etc/calculate/calculate.ldap" -+ self.nameIniFile = "/var/lib/calculate/calculate.ldap" - cl_base.iniParser.__init__(self, self.nameIniFile) - # права создаваемого ini-файла - self.setMode(0600) diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.18-disable_jabber_oauth.patch b/sys-apps/calculate-server/files/calculate-server-2.1.18-disable_jabber_oauth.patch deleted file mode 100644 index e4acb3dac..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.18-disable_jabber_oauth.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit bfa0828daeb6379aa675465317f1639a7964ed9e -Author: Хирецкий Михаил -Date: Wed Feb 1 16:25:39 2017 +0300 - - Отключена аутентификация OAUTH2 для jabber по умолчанию - - Проблема аутентификация kde telepathy - -diff --git a/profile/jabber/etc/jabber/ejabberd.yml b/profile/jabber/etc/jabber/ejabberd.yml -index c588142..599020d 100644 ---- a/profile/jabber/etc/jabber/ejabberd.yml -+++ b/profile/jabber/etc/jabber/ejabberd.yml -@@ -1,5 +1,6 @@ - # Calculate chmod=0640 chown=root:jabber pkg(ejabberd)>=15 - loglevel: 1 -+disable_sasl_mechanisms: ["X-OAUTH2"] - hosts: - - "localhost" - - #-sr_jabber_hosts_pass-# diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_ejabberd_yml.patch b/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_ejabberd_yml.patch deleted file mode 100644 index c3c7b530e..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_ejabberd_yml.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit e4d3e45feb20388dbff5a41575ac7479d5344dfe -Author: Хирецкий Михаил -Date: Thu Feb 2 13:15:55 2017 +0300 - - Исправлено формирование jabber.yml файла если указано несколько хостов - -diff --git a/profile/jabber/etc/jabber/ejabberd.yml b/profile/jabber/etc/jabber/ejabberd.yml -index 599020d..7d5f4f2 100644 ---- a/profile/jabber/etc/jabber/ejabberd.yml -+++ b/profile/jabber/etc/jabber/ejabberd.yml -@@ -3,7 +3,7 @@ loglevel: 1 - disable_sasl_mechanisms: ["X-OAUTH2"] - hosts: - - "localhost" -- - #-sr_jabber_hosts_pass-# -+#-sr_jabber_hosts_yml-# - listen: - - - port: #-sr_jabber_port-# -diff --git a/pym/cl_fill_server.py b/pym/cl_fill_server.py -index 194fe90..04c303e 100644 ---- a/pym/cl_fill_server.py -+++ b/pym/cl_fill_server.py -@@ -546,6 +546,13 @@ class fillVars(object, cl_base.glob_attr): - return ", ".join(map(lambda x: '"'+x+'"', jabberHosts.split(","))) - return "" - -+ def get_sr_jabber_hosts_yml(self): -+ """Текст в ejabberd.cfg - имена хостов с которыми работает сервис""" -+ jabberHosts = self.Get("sr_jabber_hosts") -+ if jabberHosts: -+ return "\n".join(map(lambda x: ' - "%s"' % x, jabberHosts.split(","))) -+ return "" -+ - def get_sr_jabber_user_name(self): - """Имя jabber пользователя (левая часть jabber id)""" - userJid = self.Get("sr_jabber_user_id") -diff --git a/pym/cl_vars_server.py b/pym/cl_vars_server.py -index c66bd3a..2eeb339 100644 ---- a/pym/cl_vars_server.py -+++ b/pym/cl_vars_server.py -@@ -163,6 +163,9 @@ class Data: - # Текст в ejabberd.cfg - имена хостов с которыми работает сервис - sr_jabber_hosts_pass = {} - -+ # Текст в ejabberd.yml - имена хостов с которыми работает сервис -+ sr_jabber_hosts_yml = {} -+ - # jabber id пользователя - sr_jabber_user_id = {'mode':"w"} - diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_rebuild.patch b/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_rebuild.patch deleted file mode 100644 index fb843dc1d..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.18-fix_rebuild.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index a1d0e16..519df51 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -45,7 +45,7 @@ from xml import xpath - # Для 32 битного целого (генерация серийного номера DNS зоны) - import ctypes - --Version = "calculate-server 2.1.16" -+Version = "calculate-server 2.1.18" - - tr = cl_base.lang() - tr.setLanguage(sys.modules[__name__]) -@@ -8640,6 +8640,7 @@ for running replication")%bFile) - if not self.removeLdapDatabase(): - return False - # Если архив содержит LDAP данные -+ tarCommand = "tar -C / --transform 's|etc/calculate|var/lib/calculate|' " - if flagArchLdap: - # Накладываем профили (берем из папки backup) - if not self.applyProfilesFromService(self.backupDir): -@@ -8732,22 +8733,24 @@ for running replication")%bFile) - self.printERROR(_("Not supported replication service %s")\ - %replServices[0]) - return False -- if self.execProg("tar -C / --files-from=%s -xjf %s"\ -+ if self.execProg(tarCommand + "--files-from=%s -xjf %s"\ - %(listReplFile, bFile)) == False: - self.printERROR(_("Can not extract archive") +\ - ": "+str(bFile)) - return False - else: - # Распаковываем целиком архив -- if self.execProg("tar -C / -xjf %s" %(bFile)) == False: -+ if self.execProg(tarCommand + "-xjf %s" %(bFile)) == False: - self.printERROR(_("Can not extract archive") +\ - ": "+str(bFile)) - return False -+ self.changeHostname() - else: - # Распаковываем целиком архив -- if self.execProg("tar -C / -xjf %s" %(bFile)) == False: -+ if self.execProg(tarCommand + "-xjf %s" %(bFile)) == False: - self.printERROR(_("Can not extract archive") + ": "+str(bFile)) - return False -+ self.changeHostname() - # Удаляем временные файлы - self.removeTmpFiles() - # считаем переменные из ini файлов -@@ -8768,6 +8771,19 @@ for running replication")%bFile) - %", ".join(replServices) + " ...") - return True - -+ def changeHostname(self): -+ """ -+ Меняем имя хоста на имя в /etc/hosts -+ """ -+ with open('/etc/hosts','r') as f: -+ hosts_data = f.read() -+ hostname_ = re.search("^127.0.0.1\s+([^.]+)", -+ hosts_data, flags=re.M) -+ if hostname_: -+ hostname = hostname_.group(1) -+ with open("/proc/sys/kernel/hostname",'w') as f: -+ f.write(hostname) -+ - def removeTmpFiles(self): - """Удаляем временные файлы""" - removeFiles=[self.tmpListFile,self.archLdifFile, diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_certgen.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_certgen.patch deleted file mode 100644 index 51ee78dde..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_certgen.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 5480365..11bf6f9 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -1862,7 +1862,7 @@ This command is not allowed.")) - # Создаем сертификат для Postfix - if not self.createCertificate(sslOrganization="Postfix IMAP Server", - userName="postfix", groupName="postfix", -- certFile="/etc/ssl/postfix/server.pem", -+ certFile="/etc/ssl/postfix/server.crt", - keyFile="/etc/ssl/postfix/server.key"): - return False - return True diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_ejabber_20.04.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_ejabber_20.04.patch deleted file mode 100644 index 1757d9502..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_ejabber_20.04.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/profile/jabber/etc/jabber/ejabberd.yml b/profile/jabber/etc/jabber/ejabberd.yml -index 6706b1e..3bad236 100644 ---- a/profile/jabber/etc/jabber/ejabberd.yml -+++ b/profile/jabber/etc/jabber/ejabberd.yml -@@ -58,6 +58,35 @@ acl: - local: - user_regexp: - - "" -+#?pkg(ejabberd)>=20.04# -+access_rules: -+ announce: -+ - allow: admin -+ c2s: -+ - deny: blocked -+ - allow -+ configure: -+ - allow: admin -+ local: -+ - allow: local -+ muc: -+ - allow -+ muc_admin: -+ - allow: admin -+ pubsub_createnode: -+ - allow -+ register: -+ - allow -+host_config: -+ "localhost": -+ access: -+ c2s: -+ - allow: admin -+ - deny -+ register: -+ - deny -+#pkg# -+#?pkg(ejabberd)<20.04# - access: - announce: - admin: allow -@@ -91,6 +120,7 @@ host_config: - all: deny - register: - all: deny -+#pkg# - language: "en" - modules: - mod_adhoc: [] -@@ -122,7 +152,12 @@ modules: - mod_pubsub: - access_createnode: pubsub_createnode - plugins: -+#?pkg(ejabberd)>=20.04# -+ - "flat" -+#pkg# -+#?pkg(ejabberd)<20.04# - - "default" -+#pkg# - - "pep" - mod_register: - welcome_message: -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 00279a2..f07b3e4 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -1836,6 +1836,7 @@ This command is not allowed.")) - return self.dialogYesNo(message) - - def createJabberCertificate(self): -+ hostname = self.clVars.Get("sr_jabber_host") - # создаем сертификат если есть используем прежний - if not os.path.exists("/etc/jabber/ssl.pem"): - if os.path.exists("/etc/jabber/self-cert.sh"): -@@ -1846,6 +1847,7 @@ This command is not allowed.")) - "Automatically-generated ejabberd SSL key", - userName="jabber", - groupName="jabber", -+ sslCommonName=hostname, - certFile="/etc/jabber/ssl.pem", - genDH=True): - return False diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_gendh.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_gendh.patch deleted file mode 100644 index 0e16ecd74..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_gendh.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 39b3167..00279a2 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -1901,7 +1901,10 @@ This command is not allowed.")) - if not os.path.exists(rndFile): - self.printERROR(_("Can not create %s")%rndFile) - return False -- textLine = self.execProg("%s gendh -rand %s 512 >> %s"\ -+ self.printOK( -+ _("Generating DH. This is going to take a long time") -+ + " ...", printBR=False) -+ textLine = self.execProg("%s dhparam -dsaparam -rand %s 4096 >> %s"\ - %(sslFile, rndFile, dhFile)) - if textLine == False: - self.printERROR(_("Can not create DH certificate %s")%certFile) -@@ -1971,7 +1974,10 @@ nsCertType = %s - return False - # Создание DH - if genDH: -- textLine = self.execProg("%s gendh -rand %s 512 >> %s"\ -+ self.printOK( -+ _("Generating DH. This is going to take a long time") -+ + " ...", printBR=False) -+ textLine = self.execProg("%s dhparam -dsaparam -rand %s 4096 >> %s"\ - %(sslFile, rndFile, certFile)) - if textLine == False: - self.printERROR(_("Can not create DH certificate %s")%certFile) diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_jabber.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_jabber.patch deleted file mode 100644 index 3436e04c8..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_jabber.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 11bf6f9..39b3167 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -5284,6 +5284,7 @@ in Jabber service")) - # Изменяемые аттрибуты пользователя - modAttrs = [] - # Изменяем Jabber ID -+ jabber_hosts = self.get_jabber_hosts() - if options.has_key('j'): - # Изменяем JID - jabberId = options['j'] -@@ -5293,6 +5294,10 @@ in Jabber service")) - if len(jabberId.split("@")) != 2: - self.printERROR(_("JID %s incorrect") %jabberId) - return False -+ if jabberId.rpartition('@')[2] not in jabber_hosts: -+ self.printERROR( -+ _("JID %s not supported on these jabber hosts") %jabberId) -+ return False - searchUser = self.searchUserToId(jabberId) - if searchUser: - foundUserName = searchUser[0][0][1]['uid'][0] -@@ -5552,10 +5557,16 @@ in Unix service") %str(jabberId)) - return False - return True - -+ def get_jabber_hosts(self): -+ jabber_host = self.clVars.Get('sr_jabber_host') -+ jabber_hosts = self.clVars.Get('sr_jabber_hosts').split(',') -+ jabber_hosts.append(jabber_host) -+ return list(set(jabber_hosts)) - - @adminConnectLdap - def addUserJabberServer(self, userName, options, checkSetup=True): - """Добавляет jabber пользователя""" -+ jabber_hosts = self.get_jabber_hosts() - # Проверим установлен ли сервис jabber - if checkSetup and not self.initialChecks("jabber"): - return False -@@ -5570,6 +5581,10 @@ in Unix service") %str(jabberId)) - if len(jabberId.split("@")) != 2: - self.printERROR(_("JID %s incorrect") %jabberId) - return False -+ if jabberId.rpartition('@')[2] not in jabber_hosts: -+ self.printERROR( -+ _("JID %s not supported on these jabber hosts") %jabberId) -+ return False - # добавляем jabberID в Unix - if self.isServiceSetup("unix",False): - if not self.servUnixObj.setUserJabberID(userName, jabberId): diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_mailservice.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_mailservice.patch deleted file mode 100644 index 7fc64a819..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_mailservice.patch +++ /dev/null @@ -1,236 +0,0 @@ -commit 5675cc832a13c52988cd371ae480fe8aa46a5275 -Author: Хирецкий Михаил -Date: Mon Sep 17 14:11:29 2018 +0300 - - Исправлена настройка почтового сервиса и генерации сертификатов - - * исправлена генереация сертификатов для mail сервиса и jabber - * добавлена генерация сертификтаов при выполнении cl-update-server - * исправлена конфигурационные файлы для postfix - * добавлена поддержка dh параметра для dovecot - -diff --git a/profile/mail/etc/dovecot/conf.d/10-ssl.conf b/profile/mail/etc/dovecot/conf.d/10-ssl.conf -new file mode 100644 -index 0000000..4b08b5e ---- /dev/null -+++ b/profile/mail/etc/dovecot/conf.d/10-ssl.conf -@@ -0,0 +1,8 @@ -+# Calculate format=dovecot chmod=0644 chown=root:root -+ -+#?pkg(net-mail/dovecot)>=2.3# -+ssl_dh = =2.9.3# -+#?pkg(mail-mta/postfix)>=2.9.3# - daemon_directory = /usr/libexec/postfix - #pkg# - -@@ -205,10 +205,10 @@ smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache - - #включаем авторизацию через dovecot - smtpd_sasl_auth_enable = yes --#pkg(mail-mta/postfix)<2.10.1# -+#?pkg(mail-mta/postfix)<2.10.1# - smtpd_sasl2_auth_enable = yes - #pkg# --#pkg(mail-mta/postfix)>=2.10.1# -+#?pkg(mail-mta/postfix)>=2.10.1# - !smtpd_sasl2_auth_enable = del - #pkg# - smtpd_sasl_type = dovecot -@@ -340,3 +340,4 @@ non_smtpd_milters = inet:localhost:2525 - # В случае почтового релея удаляем mailbox_command - #?sr_mail_relay_set==on#!mailbox_command = #sr_mail_relay_set# - #?sr_mail_relay_set==off#mailbox_command = /usr/bin/procmail -m /etc/procmailrc#sr_mail_relay_set# -+smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index 49273d7..5480365 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -1835,6 +1835,38 @@ This command is not allowed.")) - else: - return self.dialogYesNo(message) - -+ def createJabberCertificate(self): -+ # создаем сертификат если есть используем прежний -+ if not os.path.exists("/etc/jabber/ssl.pem"): -+ if os.path.exists("/etc/jabber/self-cert.sh"): -+ self.execProg("/bin/bash /etc/jabber/self-cert.sh") -+ else: -+ # Создаем сертификат для Ejabberd -+ if not self.createCertificate(sslOrganization=\ -+ "Automatically-generated ejabberd SSL key", -+ userName="jabber", -+ groupName="jabber", -+ certFile="/etc/jabber/ssl.pem", -+ genDH=True): -+ return False -+ return True -+ -+ def createMailCertificate(self): -+ if not self.createCertificate(sslOrganization="Dovecot IMAP Server", -+ userName="dovecot", groupName="mail", -+ certFile="/etc/ssl/dovecot/server.pem", -+ dhFile="/etc/ssl/dovecot/dh.pem", -+ genDH=True, -+ keyFile="/etc/ssl/dovecot/server.key"): -+ return False -+ # Создаем сертификат для Postfix -+ if not self.createCertificate(sslOrganization="Postfix IMAP Server", -+ userName="postfix", groupName="postfix", -+ certFile="/etc/ssl/postfix/server.pem", -+ keyFile="/etc/ssl/postfix/server.key"): -+ return False -+ return True -+ - def createCertificate(self, sslCountry="US", - sslState="California", - sslLocality="Santa Barbara", -@@ -1850,21 +1882,49 @@ This command is not allowed.")) - certFileMode=0400, - keyFile="/tmp/server.key", - keyFileMode=0400, -+ dhFile=None, -+ dhFileMode=0400, - genDH=False): - """Создает сертификат""" -- if genDH: -- keyFile = certFile -- certAndKeyFiles = [certFile] -- foundCertFiles = filter(lambda x: os.path.exists(x),certAndKeyFiles) -- if len(foundCertFiles)==1: -- return True -- else: -- certAndKeyFiles = [certFile, keyFile] -+ sslFile = "/usr/bin/openssl" -+ strData = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time())) -+ if not os.path.exists(sslFile): -+ self.printERROR(_("Can not found %s")%sslFile) -+ return False -+ -+ if genDH and dhFile: -+ certAndKeyFiles = [dhFile, certFile, keyFile] - foundCertFiles = filter(lambda x: os.path.exists(x), certAndKeyFiles) -- if len(foundCertFiles)==2: -+ if not os.path.exists(dhFile): -+ rndFile = "/tmp/%s.rnd" %strData -+ self.execProg("dd if=/dev/urandom of=%s count=1"%rndFile) -+ if not os.path.exists(rndFile): -+ self.printERROR(_("Can not create %s")%rndFile) -+ return False -+ textLine = self.execProg("%s gendh -rand %s 512 >> %s"\ -+ %(sslFile, rndFile, dhFile)) -+ if textLine == False: -+ self.printERROR(_("Can not create DH certificate %s")%certFile) -+ return False -+ if os.path.exists(rndFile): -+ os.remove(rndFile) -+ foundCertFiles = filter(lambda x: os.path.exists(x), certAndKeyFiles) -+ if len(foundCertFiles)==3: - return True -- # Удаляем файл сертификата -- map(lambda x: os.remove(x), foundCertFiles) -+ else: -+ if genDH: -+ keyFile = certFile -+ certAndKeyFiles = [certFile] -+ foundCertFiles = filter(lambda x: os.path.exists(x),certAndKeyFiles) -+ if len(foundCertFiles)==1: -+ return True -+ else: -+ certAndKeyFiles = [certFile, keyFile] -+ foundCertFiles = filter(lambda x: os.path.exists(x), certAndKeyFiles) -+ if len(foundCertFiles)==2: -+ return True -+ # Удаляем файл сертификата -+ map(lambda x: os.remove(x), foundCertFiles) - uidAndGid = self.getUserUidAndGid(userName, groupName) - if not uidAndGid: - return False -@@ -1888,7 +1948,6 @@ nsCertType = %s - """%(sslBits, sslCountry, sslState, sslLocality, sslOrganization, sslUnit, - sslCommonName, sslEmail, nsCertType) - # генерируем название файла конфигурации -- strData = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time())) - cnfFile = "/tmp/%s.cnf" %strData - if genDH: - rndFile = "/tmp/%s.rnd" %strData -@@ -1896,10 +1955,6 @@ nsCertType = %s - if not os.path.exists(rndFile): - self.printERROR(_("Can not create %s")%rndFile) - return False -- sslFile = "/usr/bin/openssl" -- if not os.path.exists(sslFile): -- self.printERROR(_("Can not found %s")%sslFile) -- return False - # Cоздание директорий - for fileName in certAndKeyFiles: - dirName = os.path.split(fileName)[0] -@@ -4835,11 +4890,7 @@ if you want to continue to run the program again")) - self.clVars.Set("sr_mail_crypt", mailCrypt, True) - if not self.applyProfilesFromService('mail'): - return False -- # Создаем сертификат для Dovecot -- if not self.createCertificate(sslOrganization="Dovecot IMAP Server", -- userName="dovecot", groupName="mail", -- certFile="/etc/ssl/dovecot/server.pem", -- keyFile="/etc/ssl/dovecot/server.key"): -+ if not self.createMailCertificate(): - return False - # Проверим запущен ли ldap - if not self.getRunService("ldap"): -@@ -5708,18 +5759,8 @@ in Unix service") %str(jabberId)) - "PASS":self.clVars.Get("ld_jabber_pw")}) - self.printOK(_("Added ldif file") + " ...") - # создаем сертификат если есть используем прежний -- if not os.path.exists("/etc/jabber/ssl.pem"): -- if os.path.exists("/etc/jabber/self-cert.sh"): -- self.execProg("/bin/bash /etc/jabber/self-cert.sh") -- else: -- # Создаем сертификат для Ejabberd -- if not self.createCertificate(sslOrganization=\ -- "Automatically-generated ejabberd SSL key", -- userName="jabber", -- groupName="jabber", -- certFile="/etc/jabber/ssl.pem", -- genDH=True): -- return False -+ if not self.createJabberCertificate(): -+ return False - if not os.path.exists("/etc/jabber/ssl.pem"): - self.printERROR(_("Can not create Jabber certificate")) - return False -@@ -7497,6 +7538,9 @@ outdated. If the backup is obsolete, use cl-backup-server.")) - self.clVars.Set("sr_proxy_host",fullHostName,True) - # Настройка почты - if serviceUpdate in ["all","mail"]: -+ # Создаем сертификат для Dovecot -+ if not self.createMailCertificate(): -+ return False - history,history_domain,history_path = \ - self.getMailHistoryData(options) - if options.has_key("t"): -@@ -7525,6 +7569,8 @@ outdated. If the backup is obsolete, use cl-backup-server.")) - previousJabberHost = self.clVars.Get("sr_jabber_host") - if serviceUpdate in ["all","jabber"]: - # Устанавливаем основной хост jabber cервиса -+ if not self.createJabberCertificate(): -+ return False - if options.has_key("host"): - newHostName = options['host'] - if not "." in newHostName: diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_samba4.11.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_samba4.11.patch deleted file mode 100644 index fd8cf643a..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_samba4.11.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff --git a/profile/samba/etc/samba/smb.conf b/profile/samba/etc/samba/smb.conf -index d11542c..8b25c18 100644 ---- a/profile/samba/etc/samba/smb.conf -+++ b/profile/samba/etc/samba/smb.conf -@@ -10,8 +10,7 @@ chown=root:root - - # Права на создание файлов - # -------------------------------------------------------------------- -- #маска создаваемых директорий для Windows и cifs-клиентов -- directory mask = 0755 -+#?pkg(samba)<4.10# - #маска для изменения прав на директории для cifs-клиентов - directory security mask = 0755 - #маска создаваемых директорий для smbfs-клиентов -@@ -20,11 +19,27 @@ chown=root:root - #для cifs и smbfs клиентов - security mask = 0644 - force security mode = 0644 -+#pkg# -+#?pkg(samba)>=4.10# -+ !directory security mask = -+ !force directory security mode = -+ !security mask = -+ !force security mode = -+#pkg# -+ #маска создаваемых директорий для Windows и cifs-клиентов -+ directory mask = 0755 -+ force directory mode = 0755 - #права файлов на создаваемые и модифицируемые файлы из Windows - create mask = 0644 -+ force create mode = 0644 - -+#?pkg(samba)<4.10# - # добавление админских привилегий в домене группе Domain Admins - enable privileges = yes -+#pkg# -+#?pkg(samba)>=4.10# -+ !enable privileges = -+#pkg# - - # Настройки LDAP - # -------------------------------------------------------------------- -@@ -59,7 +74,12 @@ chown=root:root - - dos charset = 866 - unix charset = UTF-8 -+#?pkg(samba)<4.10# - display charset = UTF-8 -+#pkg# -+#?pkg(samba)>=4.10# -+ !display charset = -+#pkg# - - local master = yes - domain master = yes -@@ -79,14 +99,25 @@ chown=root:root - #interfaces = 127.0.0.1 eth0 - map to guest = bad user - security = user -+ -+#?pkg(samba)<4.11# - encrypt passwords = yes -+#pkg# -+#?pkg(samba)>=4.11# -+ !encrypt passwords = -+#pkg# - # Запрет изменения пароля пользователя windows компьютера -- unix password sync = yes -+ unix password sync = no -+#?pkg(samba)<4.11# - null passwords = no -+#pkg# -+#?pkg(samba)>=4.11# -+ !null passwords = -+#pkg# - hide unreadable = yes - hide dot files = yes - socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 -- -+ server min protocol = NT1 - - # Поддержка wins - # -------------------------------------------------------------------- -@@ -124,12 +155,24 @@ chown=root:root - path = #-sr_samba_linprof_path-#/%u - browseable = No - writable = yes -+#?pkg(samba)<4.11# - directory mask = 0777 - directory security mask = 0777 - force directory security mode = 0 - create mask = 0777 - security mask = 0777 - force security mode = 0 -+#pkg# -+#?pkg(samba)>=4.11# -+ !directory security mask = -+ !force directory security mode = -+ !security mask = -+ !force security mode = -+ directory mask = 0777 -+ force directory mode = 0 -+ create mask = 0777 -+ force create mode = 0 -+#pkg# - force user = %U - valid users = %U - hide unreadable = no -@@ -162,7 +205,7 @@ chown=root:root - browseable = No - writable = yes - hide unreadable = yes --#?pkg(net-fs/samba)>=3.5.8# -+#?pkg(net-fs/samba)<4.11# - security mask = 0664 - force create mode = 0664 - force security mode = 0664 -@@ -170,6 +213,16 @@ chown=root:root - force directory mode = 2775 - vfs objects = acl_xattr fake_perms - #pkg# -+#pkg(net-fs/samba)>=4.11# -+ force create mode = 0664 -+ force directory mode = 2775 -+ !security mask = -+ !force directory security mode = -+ vfs objects = acl_xattr -+ inherit acls = yes -+ inherit owner = yes -+ inherit permissions = yes -+#pkg# - - #Удаляем ресурс для FTP - сервис FTP не установлен - #?sr_ftp_set==off# diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sambaminversion.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sambaminversion.patch deleted file mode 100644 index 478baeaa2..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sambaminversion.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/profile/samba/etc/samba/smb.conf b/profile/samba/etc/samba/smb.conf -index d11542c..4b1a877 100644 ---- a/profile/samba/etc/samba/smb.conf -+++ b/profile/samba/etc/samba/smb.conf -@@ -86,7 +86,7 @@ chown=root:root - hide unreadable = yes - hide dot files = yes - socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 -- -+ server min protocol = NT1 - - # Поддержка wins - # -------------------------------------------------------------------- diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sortmilter.patch b/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sortmilter.patch deleted file mode 100644 index fa60e016d..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.19-fix_sortmilter.patch +++ /dev/null @@ -1,16 +0,0 @@ -commit d603441f1d6ea25774c1791a78fc4b8fe989c94f -Author: Хирецкий Михаил -Date: Fri Feb 16 11:08:14 2018 +0300 - - Изсправлен init.d/sortmilter для openrc - -diff --git a/data/sortmilter.init b/data/sortmilter.init -index ff03154..0d8bed6 100755 ---- a/data/sortmilter.init -+++ b/data/sortmilter.init -@@ -1,4 +1,4 @@ --#!/sbin/runscript -+#!/sbin/openrc-run - # Copyright 2010-2011 Mir Calculate. - # Distributed under the terms of the GNU General Public License v2 - # $Header: $ diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.20-fix_pam.patch b/sys-apps/calculate-server/files/calculate-server-2.1.20-fix_pam.patch deleted file mode 100644 index ecfd96ffa..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.20-fix_pam.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit ebb5f8e930b7c77ceac6c26250540c70ced77015 -Author: Хирецкий Михаил -Date: Mon Apr 26 17:26:01 2021 +0300 - - Fix pam cracklib passwdqc - -diff --git a/profile/unix/etc/pam.d/system-auth b/profile/unix/etc/pam.d/system-auth -index 96ed33a..2273e14 100644 ---- a/profile/unix/etc/pam.d/system-auth -+++ b/profile/unix/etc/pam.d/system-auth -@@ -9,8 +9,13 @@ auth required pam_deny.so - - account required pam_unix.so - account sufficient pam_ldap.so -- -+ -+#?pkg(cracklib)!=# - password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 try_first_pass retry=3 -+#pkg# -+#?pkg(passwdqc)!=# -+password required pam_passwdqc.so min=8,8,8,8,8 retry=3 -+#pkg# - - password sufficient pam_unix.so try_first_pass use_authtok nullok md5 shadow - password sufficient pam_ldap.so diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_min_version.patch b/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_min_version.patch deleted file mode 100644 index cd2c58dc6..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_min_version.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit acb67f1857a42aa649b8952c29b3ab1bf5dc8935 -Author: Хирецкий Михаил -Date: Mon Mar 15 17:08:57 2021 +0300 - - Remove min protocol option - -diff --git a/profile/samba/etc/samba/smb.conf b/profile/samba/etc/samba/smb.conf -index 4eeb2d4..03fe2f8 100644 ---- a/profile/samba/etc/samba/smb.conf -+++ b/profile/samba/etc/samba/smb.conf -@@ -117,7 +117,7 @@ chown=root:root - hide unreadable = yes - hide dot files = yes - socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 -- server min protocol = NT1 -+ !server min protocol = - - # Поддержка wins - # -------------------------------------------------------------------- diff --git a/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch b/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch deleted file mode 100644 index 140a10431..000000000 --- a/sys-apps/calculate-server/files/calculate-server-2.1.20-remove_profile_pack.patch +++ /dev/null @@ -1,78 +0,0 @@ -commit e2f3486d0fdfed28c4c7ccf71710519d33fa4d40 -Author: Хирецкий Михаил -Date: Mon Mar 15 15:53:33 2021 +0300 - - Удалена логика запаковки профиля при репликации - -diff --git a/pym/cl_ldap.py b/pym/cl_ldap.py -index c4145ea..870d4d2 100644 ---- a/pym/cl_ldap.py -+++ b/pym/cl_ldap.py -@@ -13120,11 +13120,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) - # пользователя - sectionPwd = ["command","passwd_samba"] - varsPwdDict = txtConfig.getAreaVars(sectionPwd) -- # Если включена репликация -- if flagRepl: -- # Команда для упаковки профиля -- sectionPack = ["command","pack"] -- varsPackDict = txtConfig.getAreaVars(sectionPack) - error = txtConfig.getError() - if error: - printErrMessages(error) -@@ -13155,21 +13150,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) - if set(varsPwdDict.keys()) == set(["date", - "status"]): - supportSections.append(",".join(sectionPwd)) -- # Упаковка профиля пользователя -- if flagRepl and varsPackDict: -- # Если run=on выполняем команду -- if varsPackDict.get("run") == "on": -- # Дата новее которой файлы помещаются в архив -- strArchDate = varsPackDict.get("arch_date") -- # Текущее время на клинтском компьютере -- strCurrentTime = varsPackDict.get("curr_time") -- if strArchDate and strCurrentTime: -- # Создаем инкрементный архив -- if not self.packUserProfile(dirLogOut, -- strArchDate, -- strCurrentTime, -- txtConfig): -- return False - # Удаление секций которые не можем отработать - # и секции для создания архива профиля пользователя - sections = txtConfig.getAllSectionNames() -@@ -13503,11 +13483,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) - # пользователя - sectionPwd = ["command","passwd_samba"] - varsPwdDict = txtConfig.getAreaVars(sectionPwd) -- # Если включена репликация -- if flagRepl: -- # Команда для упаковки профиля -- sectionPack = ["command","pack"] -- varsPackDict = txtConfig.getAreaVars(sectionPack) - error = txtConfig.getError() - if error: - printErrMessages(error) -@@ -13538,21 +13513,6 @@ remove user %s in the LDAP branch 'Worked'")%str(userName)) - if set(varsPwdDict.keys()) == set(["date", - "status"]): - supportSections.append(",".join(sectionPwd)) -- # Упаковка профиля пользователя -- if flagRepl and varsPackDict: -- # Если run=on выполняем команду -- if varsPackDict.get("run") == "on": -- # Дата новее которой файлы помещаются в архив -- strArchDate = varsPackDict.get("arch_date") -- # Текущее время на клинтском компьютере -- strCurrentTime = varsPackDict.get("curr_time") -- if strArchDate and strCurrentTime: -- # Создаем инкрементный архив -- if not self.packUserProfile(dirLogOut, -- strArchDate, -- strCurrentTime, -- txtConfig): -- return False - # Удаление секций которые не можем отработать - # и секции для создания архива профиля пользователя - sections = txtConfig.getAllSectionNames() diff --git a/sys-apps/calculate-utils/Manifest b/sys-apps/calculate-utils/Manifest index 0af55422e..d7264da2c 100644 --- a/sys-apps/calculate-utils/Manifest +++ b/sys-apps/calculate-utils/Manifest @@ -1,23 +1,11 @@ -DIST calculate-builder-3.6.9.2.tar.bz2 42588 BLAKE2B d695905b8333b36cf73d97b82870bc5545961530523f28ec8ff1792f3d65215a05063089b40a856f8987f0a4fa17138135bf882526162ea659e34eb1295131c1 SHA512 c5f7358ead25029150b99bfa230ac751bc240cd6758f25bbe1ecd9e7ef2aa1029ee62b062d141f75e11a43d76c06dd73b744d25f1faa9f7b9f6f5d5952d7c949 DIST calculate-builder-3.7.1.2.tar.bz2 42703 BLAKE2B 504992c9d3dec1363cc6d767c69256bfb5ee1a362307d8e3172418a5cfafc6fe8a10d07ee905324c953633d9addfeabcc1561f9ed1b8b00c00f921fa1cdc65cd SHA512 73b810cf48376430b347cc7ad08da6f470300bbb46e1523cf6e1c37861a2cf808b04ddcc6e823da278d49def241681b0372349e364d0ef96e554cef18ae3468c -DIST calculate-client-3.6.9.10.tar.bz2 32966 BLAKE2B 445c6de547215d97f19812424a78379ad706797236e04927200af94d4561440716adfbe92dd0c2e59af73262019490148053d75395b1067add8df9367679b55c SHA512 50c12c872d42b31659d4d88ecb97fa97529ba5b77da5bd67a8c39449b8ba588381ce8a06603ff1cbea81ad1d970b535a04d74c878250d5ff68bc32e96f997877 DIST calculate-client-3.7.1.tar.bz2 33229 BLAKE2B 283e430eea5bd8f19165ea9f9fde03144e55af6c906aae1c7f5df884af51ce265dedd6dd58073afb203ac92857f5f5380e3a19cb9b5e211a69bdbc85fc5e02c8 SHA512 5a07acb5fa6ab96bfd7d494b41153ecf7554ff82774adc2355ec26dc3759d52cc64c98709e20f7e3608e3de2e898d3e0c5fc02b05c0e812c07dae2ea040e8509 -DIST calculate-console-3.6.9.tar.bz2 24744 BLAKE2B 5e3d4ef8ae89a24aef15d3498b163555e519b5c6ee4ac3375380c04271fbbbfc4a05620395fad2228d5cb3b3165ece51976ab1a415f426901a3b57153bff4889 SHA512 c9d62161683dcfdfcbb9e0301d16d4ff595f41d270f7dc2f965652f625c29b3d1d8217d664ba109bc7d6ed1eefacf501010379bd6d70c017aadab7df71f86ab6 DIST calculate-console-3.7.1.1.tar.bz2 27076 BLAKE2B 8a6552023e0e436e460a20733155d237420ea5253b66de96604c5a89fa533b8d4c526c6ff78de5fd5fb0aab34a92d88736fdda970d6b531d9ff0c77cd80681fc SHA512 7d0a49ed4fbefdfac409898df85a1725d9fe677055ca2e075d2b3c4492cafd24e2c431f47b1e04c2918e05fa41f9787d03eb83644e68aafea7d107fb9514ae6c -DIST calculate-console-gui-3.6.9.1.tar.bz2 415274 BLAKE2B 0d35bf404d993730479bcd10e9033f8d52800a7bbead1f6ccd66e8f511344e854a63c1ff880901c7de87b271df611f9e1890cf837c159dd399169f30eb81265f SHA512 3ae34483ca08f7819835eef8158468996021c1ece9f354d5371f617a1992034e778d8bf0a025463d63ca70a7fd03ef9be06dc4619d7fe1c45ac46d8a43ff0106 DIST calculate-console-gui-3.7.1.2.tar.bz2 420413 BLAKE2B 45f146df22c03f7c259837a877da3afcbb1c41ef72ea6313da1dde15357db0dacb7aec1d678e02cc2376c8f0da2f8a07a458890f2ddbae96975c052092400fd0 SHA512 deedd8352d6fa8064b93724a201c6955bb5d66110b059ec847c4d440e60d74d6cc0148d180304ba1e77561b3d055df915245c92d02d9ad233bdf8bd011b0ee78 -DIST calculate-core-3.6.9.tar.bz2 99169 BLAKE2B 0ccb5ad09fce632d2b6c45c4ff807ea167e4c2de32245f5ad9d521b647e859ff2e3a7c4ff3d5260d250c3ceed5a1476006be924db3f974a0f7a12a90b83bae6e SHA512 b98dd9559c94d8f4397bcda1dbc45bfd3a567070f818be1f030c3ebec00096f8b70de16cdcbf24371a7e879645a7ea3d5fd6a6cc3409f9a08788de8ba5effb0d DIST calculate-core-3.7.1.3.tar.bz2 100279 BLAKE2B cf4af11e60504d128ac8eeeaaf39b21023c1eebeead70e9da8ba606edd67101d979387ff7a98ca28dd8ffb23d89e685a13c99c75b13c2b55c47879945d63249c SHA512 a3f7228c41e97ce25649ca93624476818bfbe368f3460a54299820575f35f4db5d8211746822e9aca82660816bd4014de17a471f21150034b9e86a13fb6c3056 -DIST calculate-desktop-3.6.9.3.tar.bz2 19899 BLAKE2B e340bd6fe6ee1a99ee52c4d63e0371352303bbb421eb824376c5db5360e073878077d515a0b16b0824fa6918f0d0a73226e227073475dfb11baba14c3c9d5249 SHA512 331a7f82c9d2e836ad4e85a4070355b5f977a35b1b7239a9d1cbbd8681bc7117bbf869200cd4a8073c74aba0e5408d43450e678e029d5f76c6e24d47b1ae2b58 DIST calculate-desktop-3.7.1.tar.bz2 20172 BLAKE2B 41b7c18be0fd9db497b4d3221430a9eb1f46fbbbd4563c8ef987d6d558afdfa7ccdbfc55ff7640d475059e6b04cab45be6846d936a57b358c515486f20cf7474 SHA512 6a1c2ad7974d3db9843da3be61f8d281417e99de0f8ef0ac8a52ea29183f1c770f53baa6130d14dd926a98508a1bdbd29d9f05b655ef0fed3127d5624a7c807c -DIST calculate-i18n-3.6.9.tar.bz2 822847 BLAKE2B ae2e27d5595522abe2b38ddf62ed3c8a82b6a595f26f49af91eb002c16a45ab02850e55d746d2c24a183659418fff1d86418c9fa2c697eb6fa6677812831eb73 SHA512 90704a12ae90ced0870f3061b3743a57266181879ee109d6747bc1d82d7d1ad47d8a5ef834bafaa9c1656d2f14ca53e30118f3a23b8a07ffa9139a1c522b3690 DIST calculate-i18n-3.7.1.tar.bz2 822620 BLAKE2B 847f7a58cbbbe17ec63dfad0c8161340544914a0afc38e55f11882e92d42380c604bad897887b1a35e43d43f4e7d18fb93034e1bd632772a5225bf10543aca53 SHA512 758a217f884ba496d4f1fa5d1775c1c373bcc61bcb99b8411bd9158b85d1418ecbd54cd1dfcbff81fca342c3f5d2ee8b0b094f33d964ad479b5552da3aa35051 -DIST calculate-install-3.6.9.20.tar.bz2 85653 BLAKE2B 97f28ceab532291d875cf62b4ec0f65ac6251c3e26c36ca006d020022da44ebdc7156c9b1c7bff164e1e274cdbfc489ed863ddf9749ba300df895284ff2badd0 SHA512 83927f95c84e463d3adb6f39162a3275807fa79eab0bbd04e5e948357e72703a1f04415a7fc49db686507a206d0b0a1619760b9e6ebb0cdebe30a630d1775bf6 DIST calculate-install-3.7.1.3.tar.bz2 86346 BLAKE2B 29032cfb6963a6bae085137ea4f33c5eae169990a6436bb45a54165f8a9385fa867d5dba36518e6bcd15a88448895c4d9bf8d7377bc678f61d2654c26e35ea4f SHA512 fcd91ee2d21c91ec04fc2ddcf8967d8bf96445ef2414c7c3a7fdc7cd8be69f42227922c1923140af8302fcebb26f0b890d79ea3488b8caecc0491d390169a563 -DIST calculate-ldap-3.6.9.tar.bz2 11928 BLAKE2B 1e1d48e72b2775833beefa3b5f17d7f37247ce5906504565aaa197e429f9a014310b9294e1b475e24797941e27ee4520d030052f79de32362aebb66cfda706fd SHA512 fa7e42fb9ee01049c48659a796b08be4b5d4c5f63106655798e96c1662159b54776522fe9cde96df0c7760b01832c1fa758e4da014bb14b9aaaf9bb1a5de84dd -DIST calculate-lib-3.6.9.8.tar.bz2 618666 BLAKE2B 1d11d4347e1698e09ac2d36b4f0a6c7a157da1b37e8dd3eb9971c6fa67490190b1992a50f05165206d32e3df9fc923537eacaef5ae11833ed264489446964d41 SHA512 a321cda4bed56ee3a4e42f1be7d711e18af4c9bc417ded030a22bf0eca6acbc82488e855d589b5443da6eec770a55f89422625803655cf1f65ea63ac85ac58b8 +DIST calculate-lib-3.7.1.10.tar.bz2 1221772 BLAKE2B 2bbefec7278aad08dde3ecbafa2dc42c7f66c604e4a68abad1cd14457628164ac4807fb40ee53741d0e30ed9afe3ced57210dac33413b390cab19ceb29f88bdc SHA512 8d350d74b674c390671335957f7b41392b184982bb9b5b4eddc106d1a305dcd8d8672a17c13407d19a1ee7246eb6d236aaf3003825a0795dc6517da86248313d DIST calculate-lib-3.7.1.9.tar.bz2 1222090 BLAKE2B 1fd7f425c9d4fc23c6d1fe530be6763963af39652ec990ccdd10646eaec91c81d31f4fd457bfaa6a26402662bb66c42519b433bcd912fc163c1e103af07a1ce6 SHA512 58cc34a03c98557b1dd7b34bf8e6ddc1f0b3e21a039a42c3e44c35e2e251ecf2604385c669e48267ef8e70b6cc34db9d2cfcbff9417f269bb9f9e03463ffac74 -DIST calculate-server-3.6.9.tar.bz2 6633 BLAKE2B 7ca41b527a11c4178dbd104bf2ca083cc4441bf656c8991928a7ad07478a50bae4b561ea132cd4c00947e360f48568cdc05bb93db2c9542877ba6b105e56246c SHA512 26d010cd45b64576894b2ba9961223181de5bc58eea0641e751d456c01c7b9f60e3f13223f445b017d39f250fde4d003be19f459ae61b6f05510593b38f1f492 -DIST calculate-unix-3.6.9.tar.bz2 21693 BLAKE2B 6ba40f8559f90026a124a88d5c0e854f01d601562a35f6a619b77cffe55b5f690984daff835c66f907fc558d7d4fa5e4fdbd89b510086623ec403df2931fff0c SHA512 63b40096dc7a95c69b5ff5cec8cc13d814e85cc08b80e465fc5921b15f8faf0b0fc62e18a1abadfa1797db2ae90be497bb7019132e389c98971baa676ce9eddd -DIST calculate-update-3.6.9.3.tar.bz2 38559 BLAKE2B 2f284a656739e4333724a4ed8a088fc8e668c191ec9e1668ed6dae81bcdebfd68b3d08f41763fd38af0c6f509bfbacf1f94a0d997146e26633dd26a39b414580 SHA512 7bda39fb52369a37f45c4ae58c4d480e765cfa994008487cadc8f828934f61c35bfaf1e7fb88cc22c7490b85b811fbb4075e36cdcdc435a84074e4317d586500 DIST calculate-update-3.7.1.tar.bz2 38770 BLAKE2B 153f108b54ee247a37f1c7e7f3cda4f6f37523839df82f2f413aaaf8798becc285aa8cb04bbdad90e6b0fd9de9907e4afaad2f1e8a7aa954d666ab383de9b11f SHA512 a8e598a338a961320048391ab7b86757b93a3bc117bb713d4eb1ebfe316fe0669b78bc9418043d6ef554ee83da09765a95811b52a471d2bb254444c8a7bdf09a diff --git a/sys-apps/calculate-utils/calculate-utils-3.6.9.25.ebuild b/sys-apps/calculate-utils/calculate-utils-3.7.1.12.ebuild similarity index 63% rename from sys-apps/calculate-utils/calculate-utils-3.6.9.25.ebuild rename to sys-apps/calculate-utils/calculate-utils-3.7.1.12.ebuild index c611e8553..b7893f9c2 100644 --- a/sys-apps/calculate-utils/calculate-utils-3.6.9.25.ebuild +++ b/sys-apps/calculate-utils/calculate-utils-3.7.1.12.ebuild @@ -3,19 +3,18 @@ # $Header: $ EAPI="7" -PYTHON_COMPAT=(python2_7) +PYTHON_COMPAT=(python3_9) declare -A CALCULATE_MODULES=( - ["lib"]="3.6.9.8" - ["install"]="3.6.9.20" - ["client"]="3.6.9.10" - ["desktop"]="3.6.9.3" - ["console-gui"]="3.6.9.1" - ["update"]="3.6.9.3" - ["builder"]="3.6.9.2" + ["lib"]="3.7.1.10" + ["install"]="3.7.1.3" + ["core"]="3.7.1.3" + ["console"]="3.7.1.1" + ["console-gui"]="3.7.1.2" + ["builder"]="3.7.1.2" ) -inherit calculate-utils-r12 +inherit calculate-utils-r15 DESCRIPTION="A set of Calculate utilities for system installation, build and upgrade" HOMEPAGE="http://www.calculate-linux.org/main/en/calculate_utilities"