1 |
On 21/07/14 12:23 AM, Thomas Kahle wrote: |
2 |
> Hi, |
3 |
> |
4 |
> the OCR software tesseract has many different plugins for |
5 |
> language packs used for OCR for different languages. The ebuild |
6 |
> uses the LINGUAS variable to pass the choice of which packages to |
7 |
> install to the user. |
8 |
> |
9 |
> A reverse dependency is app-text/pdfsandwich which roughly puts |
10 |
> OCR'ed text in a scanned pdf. Since it uses tesseract it |
11 |
> supports exactly those languages that tesseract supports. |
12 |
> |
13 |
> Should its ebuild have LINGUAS use flags and then depend on |
14 |
> tesseract with at least those flags set? |
15 |
> |
16 |
> While it seems consistent to put the LINGUAS choice in the most |
17 |
> user facing package, in this case I would actually not put it in |
18 |
> here. It would introduces a point of failure and maintenance |
19 |
> work for the each tesseract upgrade (since the language set |
20 |
> slightly changes from time to time). A typical user would set |
21 |
> LINGUAS in her make.conf anyway. In this case the same choice |
22 |
> applies to both packages anyway. Maybe an einfo is sufficient to |
23 |
> inform the user it? |
24 |
> |
25 |
> Cheers, |
26 |
> Thomas |
27 |
> |
28 |
|
29 |
there are two possible scenarios here. |
30 |
|
31 |
1. the dependency is COMPILE TIME (ABI, API, whatever). in this |
32 |
scenario, the depender *must* have appropriate LINGUAS, even if that |
33 |
means copying and pasting from the dependee. this is necessary for |
34 |
correct rebuilding, and everything else associated with automagic deps. |
35 |
|
36 |
2. the dependency is RUN TIME. in this scenario, the case is the same |
37 |
with all other runtime USE dependencies; that is to say, the correct |
38 |
solution is USE_RUNTIME or something along those lines. [0] here, I |
39 |
would say that einfo is superior to copying IUSE, since these flags |
40 |
should be set globally anyways to make sense. |
41 |
|
42 |
|
43 |
[0] please no bikeshedding on whether to call it RUNTIME_USE or ǝsn‾ǝɯıʇunɹ. |