- If this package can be used as a library and installs Python modules (*.so or *.py) into site-packages directories, then consider supporting installation for multiple Python versions. Please read section "Types of packages" in documentation [1] to decide if this package can support installation for multiple Python versions. - Ensure that the ebuilds do not use deprecated functions or variables. - Please check if Python 3 is supported by this package. You can temporarily set Python 3 as main active version of Python to properly test if this package supports Python 3. - If this package does not support Python 3: - Specify dependency on Python 2. You can use PYTHON_DEPEND helper variable, which should be set before inheriting of python eclass. Please read section "Specification of dependency on Python" in documentation [1]. - If this package cannot support installation for multiple versions of Python, then set active version of Python using python_set_active_version(). - Ensure that shebangs in installed scripts specify correct version of Python. If shebangs are too generic (e.g. '#!/usr/bin/python'), then you can use python_convert_shebangs() to convert shebangs. (Wrapper scripts generated by python_generate_wrapper_scripts() do not require any changes.) Please read section "Shebangs in installed scripts" in documentation [1]. - To ensure that changes applied to the ebuilds are sufficient, please temporarily set Python 3 as main active version of Python and test if this package can be properly installed and if it works at run time. Please see documentation [1] for more details. [1] http://www.gentoo.org/proj/en/Python/developersguide.xml
Created attachment 292407 [details, diff] ebuild patch tested, emerges aok, good foy python 2&&3. Usual EAPI bump 3.
Comment on attachment 292407 [details, diff] ebuild patch pretty sure this package works with more than just python-2.6 you wrote "kg_setup()" which means that func gets ignored your src_install has commented/dead code in it i don't see much point in declaring DOCS a global array variable unless the PM is taking care of it (i.e. EAPI=4)
PYTHON_DEPEND="*:2.6" means unconditional dependency on Python >=2.6, including 3.*.
Created attachment 292547 [details, diff] libnatspec-0.2.6.ebuild.patch This patch adds support for installation for multiple Python ABIs.
this is way more complicated than it should be. if this is "normal", the python.eclass needs a *lot* of work.
comment2 roger. comment4. roger. comment5. ehh, roger, that too.
(In reply to comment #5) This is a standard solution for packages with autotools-based build system and optional installation of Python bindings. Different packages require slightly different changes in ebuilds, so a generic solution for these packages in an eclass is rather not implementable. E.g. dev-libs/libnatspec contains Python bindings in "${S}/src/python" directory, while dev-libs/xapian-bindings contains Python bindings in "${S}/python" directory. dev-libs/libnatspec uses PYTHON_INCLUDES variable (with initial "-I"), while dev-libs/xapian-bindings uses PYTHON_INC variable (without initial "-I").
(In reply to comment #7) i know this is the current "standard solution". my complaint is that python.eclass should not be crapping its guts all over ebuilds. what libnatspec needs isn't exactly uncommon, so forcing duplication is undesirable.
python_execute_function() etc. is a standard public functionality, not any guts.
Comment on attachment 292547 [details, diff] libnatspec-0.2.6.ebuild.patch needs updating to a recent python eclass. maybe the result will be reasonable.
the ebuild uses python-single-r1 now