summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/xsb/files/xsb-4.0.0-gcc14-build-fix.patch11
-rw-r--r--dev-lang/xsb/files/xsb-4.0.0-gcc14-sql.patch16
-rw-r--r--dev-lang/xsb/xsb-4.0.0-r2.ebuild (renamed from dev-lang/xsb/xsb-4.0.0-r1.ebuild)2
3 files changed, 29 insertions, 0 deletions
diff --git a/dev-lang/xsb/files/xsb-4.0.0-gcc14-build-fix.patch b/dev-lang/xsb/files/xsb-4.0.0-gcc14-build-fix.patch
new file mode 100644
index 000000000000..86439ff99ef1
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-4.0.0-gcc14-build-fix.patch
@@ -0,0 +1,11 @@
+--- a/emu/timer_xsb.c
++++ b/emu/timer_xsb.c
+@@ -264,7 +264,7 @@ int make_timed_call(CTXTdeclc xsbTimeout *pptr, void (*fptr)(xsbTimeout *))
+ pptr->timeout_info.th=th;
+ // below, fptr is pointer to start routine, pptr is pointer to arg-array.
+ // TIMED_THREAD_CREATE_ARG is a cell of timeout_info.
+- if (pthread_create(TIMED_THREAD_CREATE_ARG, NULL, fptr, pptr)) {
++ if (pthread_create(TIMED_THREAD_CREATE_ARG, NULL, (void *)fptr, pptr)) {
+ xsb_error("SOCKET_REQUEST: Can't create concurrent timer thread\n");
+ return TIMER_SETUP_ERR;
+ }
diff --git a/dev-lang/xsb/files/xsb-4.0.0-gcc14-sql.patch b/dev-lang/xsb/files/xsb-4.0.0-gcc14-sql.patch
new file mode 100644
index 000000000000..d100bdbb0cce
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-4.0.0-gcc14-sql.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/949632
+--- a/emu/odbc_xsb.c 2021-03-06 18:46:16.000000000 -0500
++++ b/emu/odbc_xsb.c 2025-02-11 15:49:47.204779582 -0500
+@@ -411,10 +411,10 @@
+ cberrormsgmax=SQL_MAX_MESSAGE_LENGTH-1;
+ if (cur != NULL)
+ rc = SQLError(SQL_NULL_HENV, cur->hdbc, cur->hstmt, szsqlstate,
+- pfnativeerror, szerrormsg,cberrormsgmax,pcberrormsg);
++ (void *)pfnativeerror, szerrormsg,cberrormsgmax,pcberrormsg);
+ else
+ rc = SQLError(SQL_NULL_HENV, NULL, SQL_NULL_HSTMT, szsqlstate,
+- pfnativeerror, szerrormsg,cberrormsgmax,pcberrormsg);
++ (void *)pfnativeerror, szerrormsg,cberrormsgmax,pcberrormsg);
+ if ((rc == SQL_SUCCESS) || (rc == SQL_SUCCESS_WITH_INFO)) {
+ term = makecs(hreg);
+ bld_functor(hreg, pair_psc(insert("odbc_error",2,(Psc)flags[CURRENT_MODULE],&isnew)));
diff --git a/dev-lang/xsb/xsb-4.0.0-r1.ebuild b/dev-lang/xsb/xsb-4.0.0-r2.ebuild
index 7e053d1e83ff..f391e5a4cbd7 100644
--- a/dev-lang/xsb/xsb-4.0.0-r1.ebuild
+++ b/dev-lang/xsb/xsb-4.0.0-r2.ebuild
@@ -35,6 +35,8 @@ PATCHES=(
# https://bugs.gentoo.org/870970
# https://sourceforge.net/p/xsb/bugs/265/
"${FILESDIR}"/0001-modern-C-fix-for-implicit-int.patch
+ "${FILESDIR}"/xsb-4.0.0-gcc14-build-fix.patch
+ "${FILESDIR}"/xsb-4.0.0-gcc14-sql.patch
)
src_prepare() {