maintainer-feedback requested: [Bug 295509] graphics/krita: fix build with libc++ 21

[email protected]
Newsgroups gmane.comp.kde.freebsd
Message-ID <[email protected]/bugzilla/>
Bugzilla Automation <[email protected]> has asked freebsd-kde (group)
<[email protected]> for maintainer-feedback:
Bug 295509: graphics/krita: fix build with libc++ 21
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295509



--- Description ---
After libc++ was imported in base 700637cbb5e582861067a11aaca4d053546871d2,
graphics/krita fails to compile, with errors similar to:

  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/mocs_compilation.cpp:2:
  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/EWIEGA46WW/moc_KoColorDisplayRendererInterface.cpp:10:
  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/EWIEGA46WW/../../../../../krita-5.2.14/libs/pigment/KoColorDisplayRendererInte
rface.h:14:
  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/EWIEGA46WW/../../../../../krita-5.2.14/libs/pigment/KoColor.h:16:
  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/EWIEGA46WW/../../../../../krita-5.2.14/libs/pigment/KoColorSpaceTraits.h:14:
  In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen
/EWIEGA46WW/../../../../../krita-5.2.14/libs/pigment/KoColorSpaceMaths.h:109:
 
/wrkdirs/usr/ports/graphics/krita/work/krita-5.2.14/libs/global/KisHalfTraits.h
:33:10:
error: no template named '__libcpp_is_integral'; did you mean
'__libcpp_is_final'?
     33 |   struct __libcpp_is_integral<half>
	|	   ^~~~~~~~~~~~~~~~~~~~
	|	   __libcpp_is_final
  /usr/include/c++/v1/__type_traits/is_final.h:22:8: note: '__libcpp_is_final'
declared here
     22 | struct __libcpp_is_final : integral_constant<bool, __is_final(_Tp)>
{};
	|	 ^

This is because overriding std::is_integral is no longer supported. Patch out
the offending code for libc++ >= 21.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.