commit:     ff400d7539fc97a478f50776d449e922ec1e3ea7
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 02:21:46 2023 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 10:38:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff400d75

sci-mathematics/pari: new revision to fix USE=X handling

Pari's build system is interesting, and choosing a graphics library (for
use in plotting) is... not straightforward. We have two patches that
affect it, and still nobody has noticed in all this time that USE=X does
precisely nothing at all.

I've just sent one of those patches, for building against fltk,
upstream. To avoid having to reroll the other patch and add an X11 case
to it, this revision switches from using e.g. the "--with-fltk" flag to
using "--graphic=fltk" instead. This turns out to be a stronger hint to
the build system, and more imporantly supports both none/X11 as options,
unlike --with-foo. Hopefully it allows us to go patch-free with the next
release of pari.

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 .../pari/{pari-2.15.4.ebuild => pari-2.15.4-r1.ebuild}   | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/sci-mathematics/pari/pari-2.15.4.ebuild 
b/sci-mathematics/pari/pari-2.15.4-r1.ebuild
similarity index 84%
rename from sci-mathematics/pari/pari-2.15.4.ebuild
rename to sci-mathematics/pari/pari-2.15.4-r1.ebuild
index 4869bbe3d995..f7363f67f698 100644
--- a/sci-mathematics/pari/pari-2.15.4.ebuild
+++ b/sci-mathematics/pari/pari-2.15.4-r1.ebuild
@@ -16,6 +16,7 @@ LICENSE="GPL-2"
 SLOT="0/8"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux 
~x86-linux"
 IUSE="data doc examples fltk gmp test threads X"
+REQUIRED_USE="fltk? ( !X )" # mutually exclusive plot implementations
 RESTRICT="!test? ( test )"
 
 BDEPEND="
@@ -31,6 +32,9 @@ DEPEND="
        X? ( x11-libs/libX11:0= )"
 RDEPEND="${DEPEND}"
 
+# Both of these should be obsolete in the next version. I've sent the
+# fltk CXXFLAGS bit upstream, and using --graphic=<foo> hopefully works
+# around the automagic parts.
 PATCHES=(
        "${FILESDIR}/${PN}"-2.9.4-fltk-detection.patch
        "${FILESDIR}/${PN}"-2.11.2-no-automagic.patch
@@ -71,6 +75,13 @@ src_configure() {
        # expecting a compiler driver. See bugs 722090 and 871117.
        # DLLDFLAGS, on the other hand, is used exactly like LDFLAGS would
        # be in a less-weird build system.
+       #
+       # There's a lot of automagic involved in the graphics detection.  We
+       # first pass --graphic=none, which disables some of it. We then pass
+       # --graphic=fltk (or --graphic=X11) only if USE=fltk (or USE=X) is
+       # set. This is a stronger hint to the build system than --with-fltk
+       # would be, and importantly does not rely on the corresponding but
+       # nonexistent(!) option option for X11.
        LD="" DLLD="$(tc-getCC)" DLLDFLAGS="${LDFLAGS}" ./Configure \
                --prefix="${EPREFIX}"/usr \
                --datadir="${EPREFIX}/usr/share/${PN}" \
@@ -80,9 +91,10 @@ src_configure() {
                --with-readline="${EPREFIX}"/usr \
                --with-readline-lib="${EPREFIX}/usr/$(get_libdir)" \
                --with-ncurses-lib="${EPREFIX}/usr/$(get_libdir)" \
-               $(use_with fltk) \
+               --graphic=none \
+               $(usex X --graphic=X11 "" "" "") \
+               $(usex fltk --graphic=fltk "" "" "") \
                $(use_with gmp) \
-               --without-qt \
                $(usex threads "--mt=pthread" "" "" "") \
                || die "./Configure failed"
 }

Reply via email to