Summary: | app-office/lyx: Verify and potentially improve Python-related code | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arfrever Frehtes Taifersar Arahesis (RETIRED) <arfrever> |
Component: | Current packages | Assignee: | Alexis Ballier <aballier> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cjk, ps, tex |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 308257 | ||
Attachments: |
lyx-1.6.6.1.ebuild
lyx-1.6.7.ebuild python2.patch |
Description
Arfrever Frehtes Taifersar Arahesis (RETIRED)
2010-03-27 22:23:23 UTC
I don't see a bug here but rather a documentation about how to improve python support, as I already told you on IRC months ago. People do not submit bugs for every single package written in C pointing at the K&R for improving their C code, I fail to see why python is so special. Reopen with real and confirmed issues, thanks. This package fails to build when Python 3.* is set as main active version of Python. lyx has some scripts intended for python 2 and this version is not going to be changed soon. i've tried to go through the manual and set PYTHON_DEPEND, then src_prepare() { python_convert_shebangs -r 2 . } pkg_setup() { python_set_active_version 2 } but it seem not to do anything interesting. convert_shebangs probably expects different header, dunno which one. i currently see two types - either there is no shebang at all, or there is "#! /usr/bin/env python" what should be done? (In reply to comment #3) Maybe modify files in "${D}": src_install() { ... python_convert_shebangs -r 2 "${D}" ... } (In reply to comment #3) You need EAPI >=2 for src_prepare(). (In reply to comment #5) > You need EAPI >=2 for src_prepare(). yes that helps, thanks. shebangs are converted now. emerge wont finish now either because of EAPI=2 - access violation in font_src_install. should this function work Alexis? (attached example ebuild) Created attachment 237189 [details]
lyx-1.6.6.1.ebuild
Created attachment 239191 [details]
lyx-1.6.7.ebuild
new ebuild which correctly emerges.
however lyx does not work anymore if i switch to python3 and the reason is the following: it calls some python routines directly via "python -tt" ... in C++ code so no shebangs will help.
i'm not sure what is the solution here. should we patch the sources so "python2 -tt" is always called?
Created attachment 239193 [details, diff]
python2.patch
it would be patch like this one.
*lyx-1.6.7-r1 (08 Aug 2010) 08 Aug 2010; Justin Lecher <jlec@gentoo.org> lyx-1.6.7.ebuild, +lyx-1.6.7-r1.ebuild: Do not byte-compile scripts, 247683, Fix code for PYTHON ABI, 311677 Thanks for the contribution |