1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00

biology/biosig: fix build with libc++ 19

With libc++ 19, biology/biosig fails to compile, with errors similar to:

  /usr/include/c++/v1/__math/special_functions.h:51:16: error: expected unqualified-id
     51 |   if (!__math::isfinite(__H_n)) {
        |                ^
  ./t230/../biosig-dev.h:932:22: note: expanded from macro 'isfinite'
    932 | # define isfinite(a) (-INFINITY < (a) && (a) < INFINITY)
        |                      ^

This is because biosig attempts to define its own isfinite() macro,
which it should not do. Stub out the incompatible definition.

PR:		281976
Approved by:	yuri (maintainer)
MFH:		2024Q4

(cherry picked from commit 08d6ba6fa1)
This commit is contained in:
Dimitry Andric 2024-10-09 20:57:33 +02:00
parent 4dcce15930
commit 9e3c846ca0

View File

@ -1,4 +1,4 @@
--- biosig4c++/biosig-dev.h.orig 2022-10-08 10:54:15 UTC
--- biosig4c++/biosig-dev.h.orig 2024-08-03 10:06:47 UTC
+++ biosig4c++/biosig-dev.h
@@ -35,6 +35,8 @@
#include <time.h>
@ -9,16 +9,25 @@
#ifdef __cplusplus
extern "C" {
@@ -549,6 +551,12 @@ HDRTYPE* sopen_extended(const char* FileName, const ch
#elif defined(__linux__)
@@ -550,6 +552,12 @@ HDRTYPE* sopen_extended(const char* FileName, const ch
# include <endian.h>
# include <byteswap.h>
+
+#elif defined(__FreeBSD__)
+# include <machine/endian.h>
+# define __BIG_ENDIAN _BIG_ENDIAN
+# define __LITTLE_ENDIAN _LITTLE_ENDIAN
+# define __BYTE_ORDER _BYTE_ORDER
+
#elif defined(__FreeBSD__)
# include <machine/endian.h>
@@ -920,7 +928,7 @@ static inline void bef64a( double i, void* r) {
#ifndef INFINITY
# define INFINITY (1.0/0.0) /* positive infinity */
#endif
-#ifndef isfinite
+#if 0
# define isfinite(a) (-INFINITY < (a) && (a) < INFINITY)
#endif