download.lst                                                                   
       |    4 
 
external/postgresql/0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1
 |  190 ----------
 external/postgresql/UnpackedTarball_postgresql.mk                              
       |    1 
 3 files changed, 2 insertions(+), 193 deletions(-)

New commits:
commit 88945b5afdb3106efe3bd2d0463642d42fbd8a59
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Thu May 8 22:34:54 2025 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri May 9 08:09:02 2025 +0200

    postgresql: upgrade to 15.13
    
    * 0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1 has
    been fixed upstream
    Downloaded from 
https://ftp.postgresql.org/pub/source/v15.13/postgresql-15.13.tar.bz2
    
    Change-Id: I23c9e543ff5bcf649616d3ef0d3253d33e09d3aa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185069
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/download.lst b/download.lst
index 4eca7bce62a4..1e8434a7eca2 100644
--- a/download.lst
+++ b/download.lst
@@ -585,8 +585,8 @@ POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POSTGRESQL_SHA256SUM := 
3bc8462a38ca0857270cc88b949a3f6659f0d5c44c029c482355835b61a0f6f7
-POSTGRESQL_TARBALL := postgresql-15.12.tar.bz2
+POSTGRESQL_SHA256SUM := 
4f62e133d22ea08a0401b0840920e26698644d01a80c34341fb732dd0a90ca5d
+POSTGRESQL_TARBALL := postgresql-15.13.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git 
a/external/postgresql/0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1
 
b/external/postgresql/0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1
deleted file mode 100644
index 2fe2e3bd314d..000000000000
--- 
a/external/postgresql/0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1
+++ /dev/null
@@ -1,190 +0,0 @@
-From 0de9560ba9b8fc4f0de8c5784303db82156279a6 Mon Sep 17 00:00:00 2001
-From: Tom Lane <t...@sss.pgh.pa.us>
-Date: Tue, 1 Apr 2025 16:49:51 -0400
-Subject: [PATCH] Fix detection and handling of strchrnul() for macOS 15.4.
-
-As of 15.4, macOS has strchrnul(), but access to it is blocked behind
-a check for MACOSX_DEPLOYMENT_TARGET >= 15.4.  But our does-it-link
-configure check finds it, so we try to use it, and fail with the
-present default deployment target (namely 15.0).  This accounts for
-today's buildfarm failures on indri and sifaka.
-
-This is the identical problem that we faced some years ago when Apple
-introduced preadv and pwritev in the same way.  We solved that in
-commit f014b1b9b by using AC_CHECK_DECLS instead of AC_CHECK_FUNCS
-to check the functions' availability.  So do the same now for
-strchrnul().  Interestingly, we already had a workaround for
-"the link check doesn't agree with <string.h>" cases with glibc,
-which we no longer need since only the header declaration is being
-checked.
-
-Testing this revealed that the meson version of this check has never
-worked, because it failed to use "-Werror=unguarded-availability-new".
-(Apparently nobody's tried to build with meson on macOS versions that
-lack preadv/pwritev as standard.)  Adjust that while at it.  Also,
-we had never put support for "-Werror=unguarded-availability-new"
-into v13, but we need that now.
-
-Co-authored-by: Tom Lane <t...@sss.pgh.pa.us>
-Co-authored-by: Peter Eisentraut <pe...@eisentraut.org>
-Discussion: https://postgr.es/m/385134.1743523...@sss.pgh.pa.us
-Backpatch-through: 13
----
- configure                  | 14 +++++++++++++-
- configure.ac               |  2 +-
- src/include/pg_config.h.in |  7 ++++---
- src/port/snprintf.c        | 29 +++++++++++++----------------
- src/tools/msvc/Solution.pm |  2 +-
- 5 files changed, 32 insertions(+), 22 deletions(-)
-
-diff --git a/configure b/configure
-index 1df55250ed6..a52cef20f39 100755
---- a/configure
-+++ b/configure
-@@ -16308,7 +16308,7 @@ fi
- LIBS_including_readline="$LIBS"
- LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
- 
--for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs 
getpeerucred getrlimit inet_pton kqueue mbstowcs_l memset_s poll 
posix_fallocate ppoll pstat pthread_is_threaded_np readlink readv setproctitle 
setproctitle_fast setsid shm_open strchrnul strsignal symlink syncfs 
sync_file_range uselocale wcstombs_l writev
-+for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs 
getpeerucred getrlimit inet_pton kqueue mbstowcs_l memset_s poll 
posix_fallocate ppoll pstat pthread_is_threaded_np readlink readv setproctitle 
setproctitle_fast setsid shm_open strsignal symlink syncfs sync_file_range 
uselocale wcstombs_l writev
- do :
-   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-@@ -16930,6 +16930,18 @@ esac
- 
- fi
- 
-+ac_fn_c_check_decl "$LINENO" "strchrnul" "ac_cv_have_decl_strchrnul" 
"#include <string.h>
-+"
-+if test "x$ac_cv_have_decl_strchrnul" = xyes; then :
-+  ac_have_decl=1
-+else
-+  ac_have_decl=0
-+fi
-+
-+cat >>confdefs.h <<_ACEOF
-+#define HAVE_DECL_STRCHRNUL $ac_have_decl
-+_ACEOF
-+
- 
- # This is probably only present on macOS, but may as well check always
- ac_fn_c_check_decl "$LINENO" "F_FULLFSYNC" "ac_cv_have_decl_F_FULLFSYNC" 
"#include <fcntl.h>
-diff --git a/configure.ac b/configure.ac
-index 0488b4bdd80..93dd05ddeba 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1854,7 +1854,6 @@ AC_CHECK_FUNCS(m4_normalize([
-       setproctitle_fast
-       setsid
-       shm_open
--      strchrnul
-       strsignal
-       symlink
-       syncfs
-@@ -1923,6 +1922,7 @@ AC_CHECK_DECLS([strlcat, strlcpy, strnlen])
- # won't handle deployment target restrictions on macOS
- AC_CHECK_DECLS([preadv], [], [AC_LIBOBJ(preadv)], [#include <sys/uio.h>])
- AC_CHECK_DECLS([pwritev], [], [AC_LIBOBJ(pwritev)], [#include <sys/uio.h>])
-+AC_CHECK_DECLS([strchrnul], [], [], [#include <string.h>])
- 
- # This is probably only present on macOS, but may as well check always
- AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>])
-diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
-index 1a0d9eee4f7..5ec240d59a5 100644
---- a/src/include/pg_config.h.in
-+++ b/src/include/pg_config.h.in
-@@ -150,6 +150,10 @@
-    don't. */
- #undef HAVE_DECL_SIGWAIT
- 
-+/* Define to 1 if you have the declaration of `strchrnul', and to 0 if you
-+   don't. */
-+#undef HAVE_DECL_STRCHRNUL
-+
- /* Define to 1 if you have the declaration of `strlcat', and to 0 if you
-    don't. */
- #undef HAVE_DECL_STRLCAT
-@@ -520,9 +524,6 @@
- /* Define to 1 if you have the <stdlib.h> header file. */
- #undef HAVE_STDLIB_H
- 
--/* Define to 1 if you have the `strchrnul' function. */
--#undef HAVE_STRCHRNUL
--
- /* Define to 1 if you have the `strerror_r' function. */
- #undef HAVE_STRERROR_R
- 
-diff --git a/src/port/snprintf.c b/src/port/snprintf.c
-index b8e2b0e7f86..a821a297f48 100644
---- a/src/port/snprintf.c
-+++ b/src/port/snprintf.c
-@@ -348,13 +348,22 @@ static void leading_pad(int zpad, int signvalue, int 
*padlen,
- static void trailing_pad(int padlen, PrintfTarget *target);
- 
- /*
-- * If strchrnul exists (it's a glibc-ism), it's a good bit faster than the
-- * equivalent manual loop.  If it doesn't exist, provide a replacement.
-+ * If strchrnul exists (it's a glibc-ism, but since adopted by some other
-+ * platforms), it's a good bit faster than the equivalent manual loop.
-+ * Use it if possible, and if it doesn't exist, use this replacement.
-  *
-  * Note: glibc declares this as returning "char *", but that would require
-  * casting away const internally, so we don't follow that detail.
-+ *
-+ * Note: macOS has this too as of Sequoia 15.4, but it's hidden behind
-+ * a deployment-target check that causes compile errors if the deployment
-+ * target isn't high enough.  So !HAVE_DECL_STRCHRNUL may mean "yes it's
-+ * declared, but it doesn't compile".  To avoid failing in that scenario,
-+ * use a macro to avoid matching <string.h>'s name.
-  */
--#ifndef HAVE_STRCHRNUL
-+#if !HAVE_DECL_STRCHRNUL
-+
-+#define strchrnul pg_strchrnul
- 
- static inline const char *
- strchrnul(const char *s, int c)
-@@ -364,19 +373,7 @@ strchrnul(const char *s, int c)
-       return s;
- }
- 
--#else
--
--/*
-- * glibc's <string.h> declares strchrnul only if _GNU_SOURCE is defined.
-- * While we typically use that on glibc platforms, configure will set
-- * HAVE_STRCHRNUL whether it's used or not.  Fill in the missing declaration
-- * so that this file will compile cleanly with or without _GNU_SOURCE.
-- */
--#ifndef _GNU_SOURCE
--extern char *strchrnul(const char *s, int c);
--#endif
--
--#endif                                                        /* 
HAVE_STRCHRNUL */
-+#endif                                                        /* 
!HAVE_DECL_STRCHRNUL */
- 
- 
- /*
-diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
-index 8c8dd4996fe..d92bbbaf7db 100644
---- a/src/tools/msvc/Solution.pm
-+++ b/src/tools/msvc/Solution.pm
-@@ -246,6 +246,7 @@ sub GenerateFiles
-               HAVE_DECL_RTLD_GLOBAL                       => 0,
-               HAVE_DECL_RTLD_NOW                          => 0,
-               HAVE_DECL_SIGWAIT                           => 0,
-+              HAVE_DECL_STRCHRNUL                         => 0,
-               HAVE_DECL_STRLCAT                           => 0,
-               HAVE_DECL_STRLCPY                           => 0,
-               HAVE_DECL_STRNLEN                           => 1,
-@@ -366,7 +367,6 @@ sub GenerateFiles
-               HAVE_SSL_CTX_SET_NUM_TICKETS             => undef,
-               HAVE_STDINT_H                            => 1,
-               HAVE_STDLIB_H                            => 1,
--              HAVE_STRCHRNUL                           => undef,
-               HAVE_STRERROR_R                          => undef,
-               HAVE_STRINGS_H                           => undef,
-               HAVE_STRING_H                            => 1,
--- 
-2.39.5
-
diff --git a/external/postgresql/UnpackedTarball_postgresql.mk 
b/external/postgresql/UnpackedTarball_postgresql.mk
index fa97e1e13391..11fb603ef34f 100644
--- a/external/postgresql/UnpackedTarball_postgresql.mk
+++ b/external/postgresql/UnpackedTarball_postgresql.mk
@@ -17,7 +17,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,postgresql, \
        external/postgresql/windows.patch.0 \
        external/postgresql/postgresql.exit.patch.0 \
        external/postgresql/postgres-msvc-build.patch.1 \
-       
external/postgresql/0001-Fix-detection-and-handling-of-strchrnul-for-macOS-15.patch.1
 \
        $(if $(filter WNT_AARCH64,$(OS)_$(CPUNAME)), 
external/postgresql/arm64.patch.1) \
 ))
 

Reply via email to