[Bug 293269] math/givaro: fix build with libc++ 21

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 18 Feb 2026 20:29:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293269

            Bug ID: 293269
           Summary: math/givaro: fix build with libc++ 21
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: pi@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: pi@FreeBSD.org
             Flags: maintainer-feedback?(pi@FreeBSD.org)

With libc++ 21 math/givaro fails to build, with errors similar to:

    In file included from gmp++_int_lib.C:18:
    In file included from ./gmp++/gmp++.h:57:
    In file included from ./gmp++/gmp++/gmp++_int.h:27:
    In file included from ../../../src/kernel/recint/recint/rconvert.h:45:
    ../../../src/kernel/recint/recint/rrint.h:122:32: error: 'make_signed'
cannot be specialized: Users are not allowed to specialize this standard
library entity [-Winvalid-specialization]
      122 |     template <size_t K> struct make_signed<RecInt::rint<K>> {
          |                                ^
    /usr/include/c++/v1/__type_traits/make_signed.h:73:8: note: marked
'_Clang::no_specializations' here
       73 | struct _LIBCPP_NO_SPECIALIZATIONS make_signed {
          |        ^
    /usr/include/c++/v1/__config:1167:9: note: expanded from macro
'_LIBCPP_NO_SPECIALIZATIONS'
     1167 |       [[_Clang::__no_specializations__("Users are not allowed to
specialize this standard library entity")]]
          |         ^

This is because libc++ 21 no longer allows std::make_signed to be
overridden. Upstream fixed this as part of
<https://github.com/linbox-team/givaro/commit/ed91ee0>, so pull it in as
a patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.