The 'awt' USE flag has not been added to 5.10.0, which is effectively
like this USE flag is enabled by default (dev-java/jna[awt(+)]). Bug
830812 shows that x11-libs/libXt is still required for 5.10.0. Another
long-existing bug 762940 suggests that if the ebuild had the 'awt' USE
flag and it was disabled then libXt might be redundant, but that is not
applicable to this case.
As of the commit time, based on experiments in containers created from
the gentoo/stage3 Docker image, declaration of x11-libs/libXt as a
dependency would only cause 3 additional packages to be installed in a
new copy of stage3, none of which would take a very long time to merge,
so the benefit of making the dependency optional via the 'awt' USE flag
might not be very significant.
Bug: https://bugs.gentoo.org/762940
Closes: https://bugs.gentoo.org/830812
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/23708
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
The test failure bug being fixed by this commit is caused by
servlet-api-4.0 being added to the classpath earlier than
servlet-api-2.3 by java-ant-2.eclass. servlet-api-4.0 is present in the
classpath because it is a transitive dependency of this package
introduced by dev-java/bndlib, but it is incompatible with the test
sources. The tests are supposed to be compiled with servlet-api-2.3,
but javac will choose servlet-api-4.0 because it appears earlier in the
classpath.
java-ant-2.eclass constructs the classpath by traversing the dependency
tree using depth-first search, so transitive dependencies like
servlet-api-4.0 can appear earlier than direct dependencies like
servlet-api-2.3. java-pkg-simple.eclass, on the other hand, uses
breadth-first search, which ensures that all direct dependencies will be
visited earlier than any transitive dependencies in the traversal.
Therefore, simply switching to java-pkg-simple.eclass resolves this bug.
However, by doing this, this ebuild now relies on the undocumented
implementation detail of java-pkg-simple.eclass, that the dependency
tree is traversed with BFS.
If java-pkg-simple.eclass switches to DFS for classpath construction in
the future, the same bug might resurface!
Yet there are still benefits of using java-pkg-simple.eclass even if it
were not done merely for the bug. The upstream uses Maven instead of
Ant to build the project -- the build.xml used by java-ant-2.eclass is a
Gentoo custom one. Switching to java-pkg-simple.eclass means that there
is no more maintenance burden of this package caused by the custom
build.xml. As of this commit, ebuilds for slot 2 of this package also
use java-pkg-simple.eclass, so the eclass switch fosters consistency.
Closes: https://bugs.gentoo.org/804594
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/23705
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Add a conditional dev-lang/python-exec dep to Python 3.11 that will
be enabled once it leaves alpha stage. This will make sure we won't
forget to add it.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Bump the minimal pytest dep to what we have right now, since a growing
number of packages requires new pytest version (>= 6.2.4 is the highest
explicit dep we have) and there is really no point in repeating the dep.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
The dev-lang/python-exec dependency is now enforced through
dev-lang/python, remove the explicit dep to reduce the metadata size
and make dependency resolution lighter.
Signed-off-by: Michał Górny <mgorny@gentoo.org>