mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
expat: bump version
This commit is contained in:
@@ -9,14 +9,14 @@ LICENSE="MIT"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://downloads.sourceforge.net/expat/expat-$portVersion.tar.bz2"
|
||||
#SOURCE_URI="git+https://github.com/libexpat/libexpat?signed#tag=R_${portVersion//./_}"
|
||||
CHECKSUM_SHA256="59c31441fec9a66205307749eccfee551055f2d792f329f18d97099e919a3b2f"
|
||||
CHECKSUM_SHA256="e6af11b01e32e5ef64906a5cca8809eabc4beb7ff2f9a0e6aabbd42e825135d0"
|
||||
PATCHES="expat-$portVersion.patchset"
|
||||
#PGPKEYS="3176EF7DB2367F1FCA4F306B1F9B0E909AF37285"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion=1.11.1
|
||||
libVersion=1.11.2
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
portVersionCompat="$portVersion compat >= 2.2"
|
||||
|
||||
@@ -1,426 +0,0 @@
|
||||
From 4a60f5d1409daa83b91742eb7b06cdd109680650 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
||||
Date: Sat, 2 Dec 2023 02:02:15 +0100
|
||||
Subject: Fix INTERFACE_INCLUDE_DIRECTORIES on Haiku
|
||||
|
||||
Not sure if the IMPORTED_LOCATION shouldn't be develop/lib
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index d612d43..8b0268b 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -71,6 +71,7 @@ _EXTRA_DIST_CMAKE = \
|
||||
cmake/autotools/expat__linux.cmake.in \
|
||||
cmake/autotools/expat__macos.cmake.in \
|
||||
cmake/autotools/expat__windows.cmake.in \
|
||||
+ cmake/autotools/expat-noconfig__haiku.cmake.in \
|
||||
cmake/autotools/expat-noconfig__linux.cmake.in \
|
||||
cmake/autotools/expat-noconfig__macos.cmake.in \
|
||||
cmake/autotools/expat-noconfig__windows.cmake.in \
|
||||
diff --git a/cmake/autotools/expat-noconfig__haiku.cmake.in b/cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
new file mode 100644
|
||||
index 0000000..c1aad9d
|
||||
--- /dev/null
|
||||
+++ b/cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
@@ -0,0 +1,26 @@
|
||||
+#----------------------------------------------------------------
|
||||
+# Generated CMake target import file for configuration "NoConfig".
|
||||
+#----------------------------------------------------------------
|
||||
+
|
||||
+# Commands may need to know the format version.
|
||||
+set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
+
|
||||
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
+
|
||||
+set_target_properties(expat::expat PROPERTIES
|
||||
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}"
|
||||
+ INTERFACE_LINK_LIBRARIES "m"
|
||||
+)
|
||||
+
|
||||
+# Import target "expat::expat" for configuration "NoConfig"
|
||||
+set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
|
||||
+set_target_properties(expat::expat PROPERTIES
|
||||
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@"
|
||||
+ IMPORTED_SONAME_NOCONFIG "libexpat.so.@SO_MAJOR@"
|
||||
+ )
|
||||
+
|
||||
+list(APPEND _cmake_import_check_targets expat::expat )
|
||||
+list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" )
|
||||
+
|
||||
+# Commands beyond this point should not need to know the version.
|
||||
+set(CMAKE_IMPORT_FILE_VERSION)
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b9966ea..eb53b68 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -448,6 +448,10 @@ AS_CASE("${host_os}",
|
||||
CMAKE_SOURCE=cmake/autotools/expat__windows.cmake.in
|
||||
CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__windows.cmake.in
|
||||
],
|
||||
+ [haiku*], [
|
||||
+ CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
+ CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
+ ],
|
||||
[
|
||||
CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__linux.cmake.in
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 3729fea144ac6255d64db68e7f81e72b70aa0769 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 7 Feb 2024 18:47:27 +0100
|
||||
Subject: can't allocate so much on Haiku
|
||||
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index b799591..43bbfd4 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -474,6 +474,7 @@ _EXTRA_DIST_CMAKE = \
|
||||
cmake/autotools/expat__linux.cmake.in \
|
||||
cmake/autotools/expat__macos.cmake.in \
|
||||
cmake/autotools/expat__windows.cmake.in \
|
||||
+ cmake/autotools/expat-noconfig__haiku.cmake.in \
|
||||
cmake/autotools/expat-noconfig__linux.cmake.in \
|
||||
cmake/autotools/expat-noconfig__macos.cmake.in \
|
||||
cmake/autotools/expat-noconfig__windows.cmake.in \
|
||||
diff --git a/configure b/configure
|
||||
index 3c6d4ad..e7d77ec 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -1785,7 +1785,7 @@ else case e in #(
|
||||
#define $2 innocuous_$2
|
||||
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
- which can conflict with char $2 (void); below. */
|
||||
+ which can conflict with char $2 (); below. */
|
||||
|
||||
#include <limits.h>
|
||||
#undef $2
|
||||
@@ -1796,7 +1796,7 @@ else case e in #(
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
-char $2 (void);
|
||||
+char $2 ();
|
||||
/* The GNU C library defines this for functions which it implements
|
||||
to always fail with ENOSYS. Some functions are actually named
|
||||
something starting with __ and the normal name is an alias. */
|
||||
@@ -2564,7 +2564,9 @@ struct stat;
|
||||
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
-static char *e (char **p, int i)
|
||||
+static char *e (p, i)
|
||||
+ char **p;
|
||||
+ int i;
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
@@ -2632,7 +2634,6 @@ extern int puts (const char *);
|
||||
extern int printf (const char *, ...);
|
||||
extern int dprintf (int, const char *, ...);
|
||||
extern void *malloc (size_t);
|
||||
-extern void free (void *);
|
||||
|
||||
// Check varargs macros. These examples are taken from C99 6.10.3.5.
|
||||
// dprintf is used instead of fprintf to avoid needing to declare
|
||||
@@ -14306,14 +14307,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char dlopen (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char dlopen ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -14377,14 +14372,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char shl_load (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char shl_load ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -14429,14 +14418,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char dlopen (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char dlopen ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -14476,14 +14459,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char dlopen (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char dlopen ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -14523,14 +14500,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char dld_link (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char dld_link ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -15744,11 +15715,11 @@ if test x$ac_prog_cxx_stdcxx = xno
|
||||
then :
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
|
||||
printf %s "checking for $CXX option to enable C++11 features... " >&6; }
|
||||
-if test ${ac_cv_prog_cxx_cxx11+y}
|
||||
+if test ${ac_cv_prog_cxx_11+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
- e) ac_cv_prog_cxx_cxx11=no
|
||||
+ e) ac_cv_prog_cxx_11=no
|
||||
ac_save_CXX=$CXX
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
@@ -15793,11 +15764,11 @@ if test x$ac_prog_cxx_stdcxx = xno
|
||||
then :
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
|
||||
printf %s "checking for $CXX option to enable C++98 features... " >&6; }
|
||||
-if test ${ac_cv_prog_cxx_cxx98+y}
|
||||
+if test ${ac_cv_prog_cxx_98+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
- e) ac_cv_prog_cxx_cxx98=no
|
||||
+ e) ac_cv_prog_cxx_98=no
|
||||
ac_save_CXX=$CXX
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
@@ -16575,8 +16546,7 @@ then :
|
||||
lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
|
||||
fi
|
||||
fi
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
- conftest$ac_exeext conftest.$ac_ext
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
if test -z "$lt_cv_aix_libpath__CXX"; then
|
||||
lt_cv_aix_libpath__CXX=/usr/lib:/lib
|
||||
fi
|
||||
@@ -20491,23 +20461,22 @@ unsigned short int ascii_mm[] =
|
||||
int use_ebcdic (int i) {
|
||||
return ebcdic_mm[i] + ebcdic_ii[i];
|
||||
}
|
||||
- int
|
||||
- main (int argc, char **argv)
|
||||
- {
|
||||
- /* Intimidate the compiler so that it does not
|
||||
- optimize the arrays away. */
|
||||
- char *p = argv[0];
|
||||
- ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
|
||||
- ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
|
||||
- return use_ascii (argc) == use_ebcdic (*p);
|
||||
- }
|
||||
+ extern int foo;
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+return use_ascii (foo) == use_ebcdic (foo);
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
_ACEOF
|
||||
-if ac_fn_c_try_link "$LINENO"
|
||||
+if ac_fn_c_try_compile "$LINENO"
|
||||
then :
|
||||
- if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
|
||||
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
- if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
|
||||
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
|
||||
if test "$ac_cv_c_bigendian" = unknown; then
|
||||
ac_cv_c_bigendian=no
|
||||
else
|
||||
@@ -21169,14 +21138,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char _mwvalidcheckl (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char _mwvalidcheckl ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -21217,14 +21180,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char cos (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char cos ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -21267,14 +21224,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char cos (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char cos ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -21332,14 +21283,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
- builtin and then its argument prototype would still apply.
|
||||
- The 'extern "C"' is for builds by C++ compilers;
|
||||
- although this is not generally supported in C code supporting it here
|
||||
- has little cost and some practical benefit (sr 110532). */
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-#endif
|
||||
-char arc4random_buf (void);
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char arc4random_buf ();
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
@@ -22080,6 +22025,11 @@ case "${host_os}" in #(
|
||||
CMAKE_SOURCE=cmake/autotools/expat__windows.cmake.in
|
||||
CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__windows.cmake.in
|
||||
;; #(
|
||||
+ haiku*) :
|
||||
+
|
||||
+ CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
+ CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
+ ;; #(
|
||||
*) :
|
||||
|
||||
CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
diff --git a/expat_config.h b/expat_config.h
|
||||
index ac1ee7f..1750d16 100644
|
||||
--- a/expat_config.h
|
||||
+++ b/expat_config.h
|
||||
@@ -14,7 +14,7 @@
|
||||
/* #undef HAVE_ARC4RANDOM */
|
||||
|
||||
/* Define to 1 if you have the `arc4random_buf' function. */
|
||||
-#define HAVE_ARC4RANDOM_BUF 1
|
||||
+/* #undef HAVE_ARC4RANDOM_BUF */
|
||||
|
||||
/* define if the compiler supports basic C++11 syntax */
|
||||
#define HAVE_CXX11 1
|
||||
@@ -29,7 +29,7 @@
|
||||
#define HAVE_GETPAGESIZE 1
|
||||
|
||||
/* Define to 1 if you have the `getrandom' function. */
|
||||
-#define HAVE_GETRANDOM 1
|
||||
+/* #undef HAVE_GETRANDOM */
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
@@ -56,7 +56,7 @@
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have `syscall' and `SYS_getrandom'. */
|
||||
-#define HAVE_SYSCALL_GETRANDOM 1
|
||||
+/* #undef HAVE_SYSCALL_GETRANDOM */
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#define HAVE_SYS_PARAM_H 1
|
||||
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
|
||||
index 0231e09..97c8042 100644
|
||||
--- a/tests/basic_tests.c
|
||||
+++ b/tests/basic_tests.c
|
||||
@@ -3109,13 +3109,18 @@ START_TEST(test_buffer_can_grow_to_max) {
|
||||
"withreadabilityprettygreatithinkanywaysthisisprobablylongenoughbye><x a='"};
|
||||
const int num_prefixes = sizeof(prefixes) / sizeof(prefixes[0]);
|
||||
int maxbuf = INT_MAX / 2 + (INT_MAX & 1); // round up without overflow
|
||||
-#if defined(__MINGW32__) && ! defined(__MINGW64__)
|
||||
+#if defined(__HAIKU__) || (defined(__MINGW32__) && ! defined(__MINGW64__))
|
||||
// workaround for mingw/wine32 on GitHub CI not being able to reach 1GiB
|
||||
// Can we make a big allocation?
|
||||
void *big = malloc(maxbuf);
|
||||
if (! big) {
|
||||
// The big allocation failed. Let's be a little lenient.
|
||||
maxbuf = maxbuf / 2;
|
||||
+ big = malloc(maxbuf);
|
||||
+ if (! big) {
|
||||
+ // The big allocation failed. Let's be a little lenient.
|
||||
+ maxbuf = maxbuf / 2;
|
||||
+ }
|
||||
}
|
||||
free(big);
|
||||
#endif
|
||||
--
|
||||
2.48.1
|
||||
|
||||
125
dev-libs/expat/patches/expat-2.7.4.patchset
Normal file
125
dev-libs/expat/patches/expat-2.7.4.patchset
Normal file
@@ -0,0 +1,125 @@
|
||||
From 6a247234a78e6bb5d2685457043fae610415d2b2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
||||
Date: Sat, 2 Dec 2023 02:02:15 +0100
|
||||
Subject: Fix INTERFACE_INCLUDE_DIRECTORIES on Haiku
|
||||
|
||||
Not sure if the IMPORTED_LOCATION shouldn't be develop/lib
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 72f2fca..2eb13d5 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -71,6 +71,7 @@ _EXTRA_DIST_CMAKE = \
|
||||
cmake/autotools/expat__linux.cmake.in \
|
||||
cmake/autotools/expat__macos.cmake.in \
|
||||
cmake/autotools/expat__windows.cmake.in \
|
||||
+ cmake/autotools/expat-noconfig__haiku.cmake.in \
|
||||
cmake/autotools/expat-noconfig__linux.cmake.in \
|
||||
cmake/autotools/expat-noconfig__macos.cmake.in \
|
||||
cmake/autotools/expat-noconfig__windows.cmake.in \
|
||||
diff --git a/cmake/autotools/expat-noconfig__haiku.cmake.in b/cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
new file mode 100644
|
||||
index 0000000..c1aad9d
|
||||
--- /dev/null
|
||||
+++ b/cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
@@ -0,0 +1,26 @@
|
||||
+#----------------------------------------------------------------
|
||||
+# Generated CMake target import file for configuration "NoConfig".
|
||||
+#----------------------------------------------------------------
|
||||
+
|
||||
+# Commands may need to know the format version.
|
||||
+set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
+
|
||||
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
+
|
||||
+set_target_properties(expat::expat PROPERTIES
|
||||
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/develop/headers${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}"
|
||||
+ INTERFACE_LINK_LIBRARIES "m"
|
||||
+)
|
||||
+
|
||||
+# Import target "expat::expat" for configuration "NoConfig"
|
||||
+set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
|
||||
+set_target_properties(expat::expat PROPERTIES
|
||||
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@"
|
||||
+ IMPORTED_SONAME_NOCONFIG "libexpat.so.@SO_MAJOR@"
|
||||
+ )
|
||||
+
|
||||
+list(APPEND _cmake_import_check_targets expat::expat )
|
||||
+list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" )
|
||||
+
|
||||
+# Commands beyond this point should not need to know the version.
|
||||
+set(CMAKE_IMPORT_FILE_VERSION)
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 71fe499..d25195d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -452,6 +452,10 @@ AS_CASE("${host_os}",
|
||||
CMAKE_SOURCE=cmake/autotools/expat__windows.cmake.in
|
||||
CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__windows.cmake.in
|
||||
],
|
||||
+ [haiku*], [
|
||||
+ CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
+ CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__haiku.cmake.in
|
||||
+ ],
|
||||
[
|
||||
CMAKE_SOURCE=cmake/autotools/expat__linux.cmake.in
|
||||
CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__linux.cmake.in
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
||||
From 417621cbc6239a61a4f79d4ee15c0431b6cb11df Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 7 Feb 2024 18:47:27 +0100
|
||||
Subject: can't allocate so much on Haiku
|
||||
|
||||
|
||||
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
|
||||
index b76cc45..67dd17e 100644
|
||||
--- a/tests/basic_tests.c
|
||||
+++ b/tests/basic_tests.c
|
||||
@@ -3109,13 +3109,18 @@ START_TEST(test_buffer_can_grow_to_max) {
|
||||
"withreadabilityprettygreatithinkanywaysthisisprobablylongenoughbye><x a='"};
|
||||
const int num_prefixes = sizeof(prefixes) / sizeof(prefixes[0]);
|
||||
int maxbuf = INT_MAX / 2 + (INT_MAX & 1); // round up without overflow
|
||||
-#if defined(__MINGW32__) && ! defined(__MINGW64__)
|
||||
+#if defined(__HAIKU__) || (defined(__MINGW32__) && ! defined(__MINGW64__))
|
||||
// workaround for mingw/wine32 on GitHub CI not being able to reach 1GiB
|
||||
// Can we make a big allocation?
|
||||
void *big = malloc(maxbuf);
|
||||
if (! big) {
|
||||
// The big allocation failed. Let's be a little lenient.
|
||||
maxbuf = maxbuf / 2;
|
||||
+ big = malloc(maxbuf);
|
||||
+ if (! big) {
|
||||
+ // The big allocation failed. Let's be a little lenient.
|
||||
+ maxbuf = maxbuf / 2;
|
||||
+ }
|
||||
}
|
||||
free(big);
|
||||
#endif
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
||||
From e108afcce3ea84156f3f2ff17d3b34fb3301621b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
|
||||
Date: Mon, 2 Feb 2026 18:25:03 +0100
|
||||
Subject: Haiku: link against libbsd for arc4random_buf
|
||||
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d25195d..179167f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -216,6 +216,7 @@ AM_CONDITIONAL([_INTERNAL_LARGE_SIZE], [echo -- "${CPPFLAGS}${CFLAGS}" | ${FGREP
|
||||
|
||||
LT_LIB_M
|
||||
|
||||
+AC_CHECK_LIB([bsd], [arc4random_buf])
|
||||
AC_MSG_CHECKING([for arc4random_buf (BSD or glibc 2.36+)])
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
||||
#include <stdlib.h>
|
||||
--
|
||||
2.51.0
|
||||
|
||||
Reference in New Issue
Block a user