public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCHES] python-utils-r1.eclass: Getter cleanup & ABIFLAGS preparation
@ 2015-11-08  9:35 Michał Górny
  2015-11-08  9:35 ` [gentoo-dev] [PATCH 1/7] python-utils-r1.eclass: Switch tests to use python3.4 Michał Górny
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Michał Górny @ 2015-11-08  9:35 UTC (permalink / raw
  To: gentoo-dev; +Cc: python

Hello, everyone.

As you probably don't know, Justin lately noticed that we're carrying
some ugly hacks in Python 3.2+ where we diverge from upstream and break
binary compatibility for the sake of 'aesthetics'. While we're not yet
ready to kill them completely (the current work being kept
in python-soabi-cleanup branch), here's a batch of patches that clean up
python-utils-r1 getters and future-proof them for restoring ABIFLAGS.

In order:

1. updates tests to use py3.4 rather than py3.3,
2. prepares python_export() for spawning python,
3. gets includedir from python,
4. gets library path from python,
5. gets site-packages path from python,
6. adds API to get python-config path,
7. updates python_wrapper_setup() appropriately.

Summarizing, when the changes are done, the eclass is going to hardcode
less variables and call Python more often. Implications for ebuilds:

a. calling the relevant getters will require build-time dependency on
Python. Not that it really made sense without it -- why would you get
library path or include directory if you're not going to link or compile
against Python? Or why would you get sitedir if you're not going to
install modules (=> byte-compile them)?

b. ${PYTHON}-config hacks need to replaced by
$(python_get_PYTHON_CONFIG). Direct python-config calls are still fine
(wrapped by the eclass). The GNOME ebuilds which used the former syntax
directly are already fixed in the branch.

c. The getters will get a little slower. However, that shouldn't be
really important since they are forbidden during metadata regen, and in
ebuild runs we can expect the relevant Python version to be spawned
anyway (=> hot cache).



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-11-11 10:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-08  9:35 [gentoo-dev] [PATCHES] python-utils-r1.eclass: Getter cleanup & ABIFLAGS preparation Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 1/7] python-utils-r1.eclass: Switch tests to use python3.4 Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 2/7] python-utils-r1.eclass: set PYTHON locally in python_export() Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 3/7] python-utils-r1.eclass: Obtain include directory from the interpreter Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 4/7] python-utils-r1.eclass: Obtain library path " Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 5/7] python-utils-r1.eclass: Obtain PYTHON_SITEDIR " Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 6/7] python-utils-r1.eclass: Support getting PYTHON_CONFIG path Michał Górny
2015-11-08  9:35 ` [gentoo-dev] [PATCH 7/7] python-utils-r1.eclass: Reuse PYTHON_CONFIG in python_wrapper_setup() Michał Górny
2015-11-08 18:28 ` [gentoo-dev] Re: [PATCHES] python-utils-r1.eclass: Getter cleanup & ABIFLAGS preparation Mike Gilbert
2015-11-11 10:28 ` [gentoo-dev] " Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox