1 |
Am Donnerstag, den 19.01.2012, 11:50 -0500 schrieb Ian Stakenvicius: |
2 |
> On 19/01/12 03:27 AM, "Paweł Hajdan, Jr." wrote: |
3 |
> > On 1/19/12 9:05 AM, Johannes Huber wrote: |
4 |
> >> Summary of the comments: 1) Ebuilds should always pick the latest |
5 |
> >> boost version. 2) Boost should be compared to gcc, python, ruby |
6 |
> >> etc |
7 |
> >> |
8 |
> >> [1] https://bugs.gentoo.org/show_bug.cgi?id=335108 |
9 |
> > |
10 |
> > Right, Tiziano Müller's (dev-zero) comments are pretty clear that |
11 |
> > ebuilds should use latest boost. |
12 |
> > |
13 |
> > I'm fine with last-riting eselect-boost, and I'm also fine with |
14 |
> > eselect-boost applying to ebuilds too, like eselect-python. |
15 |
> > |
16 |
> > What I mostly care about is consistency and principle of least |
17 |
> > surprise. |
18 |
> > |
19 |
> |
20 |
> I thought there was a push to eventually de-slot boost? (in which |
21 |
> case this issue just disappears) |
22 |
No. |
23 |
|
24 |
> |
25 |
> Anyways, if we ARE going to keep boost slotted, we should probably |
26 |
> have a mechanism within ebuilds to select the boost version that will |
27 |
> be used -- simiar to/same as python and ruby (or perhaps closer to |
28 |
> autotools? unsure which paradigm best fits). Yes, I know how much of |
29 |
> a potential mess this could be and how much of a PITA it's going to be |
30 |
> to do.* I'm not sure if using eselect-boost for this would be a good |
31 |
> idea, though; isn't eselect mainly just for the system? IE, when a |
32 |
> user is using boost for their own stuffs? |
33 |
Yes, exactly. As I wrote in the bug: the eselect-boost module was for |
34 |
the transition from unslotted to slotted boost as well as for people |
35 |
doing development on Gentoo using boost. |
36 |
|
37 |
If you want compare the boost-case to something, it's probably best |
38 |
compared to sys-libs/db. |
39 |
|
40 |
Two years ago (maybe there is a better solution by now) I used something |
41 |
like this to extract the boost-include directory in an ebuild: |
42 |
|
43 |
BOOST_PKG="$(best_version ">=dev-libs/boost-1.35.0-r5")" |
44 |
BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")" |
45 |
BOOST_INC="/usr/include/boost-$(replace_all_version_separators _ "${BOOST_VER}")" |
46 |
|
47 |
Maybe someone can come up with a wrapper to have something like this: |
48 |
|
49 |
WORKING_BOOST_SLOTS="1.37 1.38 1.42 1.45" |
50 |
[...] |
51 |
DEPEND="$(slot_deps dev-libs/boost ${WORKING_BOOST_SLOTS})" |
52 |
[...] |
53 |
BOOST_SLOT="$(best_slot dev-libs/boost ${WORKING_BOOST_SLOTS})" |
54 |
BOOST_INC="$(best_slot_boost_include ${WORKING_BOOST_SLOTS})" |
55 |
|
56 |
which could be used for other slotted libs, like sys-libs/db. |
57 |
|
58 |
(basically a generalization of the db-use.eclass) |
59 |
|
60 |
Cheers, |
61 |
Tiziano |