diff options
author | schmonz <schmonz@pkgsrc.org> | 2021-09-14 13:32:50 +0000 |
---|---|---|
committer | schmonz <schmonz@pkgsrc.org> | 2021-09-14 13:32:50 +0000 |
commit | debc1ef4740709a3fa6938aa740012caba510ec4 (patch) | |
tree | b2dfb3e47ab1f5027d9643c754993d024e53058a | |
parent | 5163278ff9f45499ac109a336639436ba70abc28 (diff) | |
download | pkgsrc-debc1ef4740709a3fa6938aa740012caba510ec4.tar.gz |
Apply upstream patch 32517af7 to check for st_mtim in struct stat. Fixes
macOS build.
-rw-r--r-- | databases/gdbm/distinfo | 6 | ||||
-rw-r--r-- | databases/gdbm/patches/patch-configure | 36 | ||||
-rw-r--r-- | databases/gdbm/patches/patch-src_gdbmshell.c | 19 | ||||
-rw-r--r-- | databases/gdbm/patches/patch-src_gdbmsync.c | 45 | ||||
-rw-r--r-- | databases/gdbm/patches/patch-src_systems.h | 21 |
5 files changed, 126 insertions, 1 deletions
diff --git a/databases/gdbm/distinfo b/databases/gdbm/distinfo index d5370df7051..3b60d8cf548 100644 --- a/databases/gdbm/distinfo +++ b/databases/gdbm/distinfo @@ -1,7 +1,11 @@ -$NetBSD: distinfo,v 1.18 2021/09/12 09:12:34 wiz Exp $ +$NetBSD: distinfo,v 1.19 2021/09/14 13:32:50 schmonz Exp $ SHA1 (gdbm-1.21.tar.gz) = f6eec6113f04a4b5fd2c1cfead10e7d65c8f3d89 RMD160 (gdbm-1.21.tar.gz) = 0a39c460bc85e271cac4d7fe08f6b38bf9426e6a SHA512 (gdbm-1.21.tar.gz) = b2a31802d1af9f97b24d3dd01cb048bab4a8e748297f1b70851c0342400dde4281242b7f80bd92a36035e22398d240d131b550ab444ee838a077522a6921fa43 Size (gdbm-1.21.tar.gz) = 1005982 bytes +SHA1 (patch-configure) = 0ae6c9280f911a524a3a2043df1e24588bd93a63 SHA1 (patch-src_Makefile.in) = 52b47f3dcd381143d1cdae40f1972bd989dcce1f +SHA1 (patch-src_gdbmshell.c) = 56e8d69db9cab2a2e4846d9adec908596dd1f6a0 +SHA1 (patch-src_gdbmsync.c) = b57595f11838faabe5accda79fb62207c021a052 +SHA1 (patch-src_systems.h) = dc4132ae62c6b4f050dcf3d4c30552af087b310b diff --git a/databases/gdbm/patches/patch-configure b/databases/gdbm/patches/patch-configure new file mode 100644 index 00000000000..8893873b99e --- /dev/null +++ b/databases/gdbm/patches/patch-configure @@ -0,0 +1,36 @@ +$NetBSD: patch-configure,v 1.1 2021/09/14 13:32:50 schmonz Exp $ + +Apply upstream patch 32517af7 to check for st_mtim in struct stat. +Fixes macOS build. + +--- configure.orig 2021-09-02 12:47:45.000000000 +0000 ++++ configure +@@ -15451,6 +15451,28 @@ _ACEOF + + + fi ++ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "#include <sys/types.h> ++ #include <sys/stat.h> ++" ++if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then : ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_STRUCT_STAT_ST_MTIM 1 ++_ACEOF ++ ++ ++fi ++ac_fn_c_check_member "$LINENO" "struct stat" "st_mtimespec" "ac_cv_member_struct_stat_st_mtimespec" "#include <sys/types.h> ++ #include <sys/stat.h> ++" ++if test "x$ac_cv_member_struct_stat_st_mtimespec" = xyes; then : ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_STRUCT_STAT_ST_MTIMESPEC 1 ++_ACEOF ++ ++ ++fi + + + if test "$want_compat" = yes; then diff --git a/databases/gdbm/patches/patch-src_gdbmshell.c b/databases/gdbm/patches/patch-src_gdbmshell.c new file mode 100644 index 00000000000..0e98f380fef --- /dev/null +++ b/databases/gdbm/patches/patch-src_gdbmshell.c @@ -0,0 +1,19 @@ +$NetBSD: patch-src_gdbmshell.c,v 1.1 2021/09/14 13:32:50 schmonz Exp $ + +Apply upstream patch 32517af7 to check for st_mtim in struct stat. +Fixes macOS build. + +--- src/gdbmshell.c.orig 2021-09-02 12:39:55.000000000 +0000 ++++ src/gdbmshell.c +@@ -1010,7 +1010,11 @@ print_snapshot (char const *snapname, FI + fprintf (fp, "%s: ", snapname); + fprintf (fp, "%03o %s ", st.st_mode & 0777, + decode_mode (st.st_mode, buf)); ++#if HAVE_STRUCT_STAT_ST_MTIM + fprintf (fp, "%ld.%09ld", st.st_mtim.tv_sec, st.st_mtim.tv_nsec); ++#else ++ fprintf (fp, "%ld [%s]", st.st_mtime, _("insufficient precision")); ++#endif + if (S_ISREG (st.st_mode)) + { + GDBM_FILE dbf; diff --git a/databases/gdbm/patches/patch-src_gdbmsync.c b/databases/gdbm/patches/patch-src_gdbmsync.c new file mode 100644 index 00000000000..c40d93e991c --- /dev/null +++ b/databases/gdbm/patches/patch-src_gdbmsync.c @@ -0,0 +1,45 @@ +$NetBSD: patch-src_gdbmsync.c,v 1.1 2021/09/14 13:32:50 schmonz Exp $ + +Apply upstream patch 32517af7 to check for st_mtim in struct stat. +Fixes macOS build. + +--- src/gdbmsync.c.orig 2021-08-10 12:13:24.000000000 +0000 ++++ src/gdbmsync.c +@@ -220,16 +220,23 @@ gdbm_failure_atomic (GDBM_FILE dbf, cons + } + + static inline int +-timespec_cmp (struct timespec const *a, struct timespec const *b) ++timespec_cmp (struct stat const *a, struct stat const *b) + { +- if (a->tv_sec < b->tv_sec) ++#if HAVE_STRUCT_STAT_ST_MTIM ++ if (a->st_mtim.tv_sec < b->st_mtim.tv_sec) + return -1; +- if (a->tv_sec > b->tv_sec) ++ if (a->st_mtim.tv_sec > b->st_mtim.tv_sec) + return 1; +- if (a->tv_nsec < b->tv_nsec) ++ if (a->st_mtim.tv_nsec < b->st_mtim.tv_nsec) + return -1; +- if (a->tv_nsec > b->tv_nsec) ++ if (a->st_mtim.tv_nsec > b->st_mtim.tv_nsec) + return 1; ++#else ++ if (a->st_mtime < b->st_mtime) ++ return -1; ++ if (a->st_mtime > b->st_mtime) ++ return 1; ++#endif + return 0; + } + +@@ -374,7 +381,7 @@ gdbm_latest_snapshot (const char *even, + * Select the newer snapshot, i.e. the one whose mtime + * is greater than the other's + */ +- switch (timespec_cmp (&st_even.st_mtim, &st_odd.st_mtim)) ++ switch (timespec_cmp (&st_even, &st_odd)) + { + case -1: + *ret = odd; diff --git a/databases/gdbm/patches/patch-src_systems.h b/databases/gdbm/patches/patch-src_systems.h new file mode 100644 index 00000000000..852255d0cac --- /dev/null +++ b/databases/gdbm/patches/patch-src_systems.h @@ -0,0 +1,21 @@ +$NetBSD: patch-src_systems.h,v 1.1 2021/09/14 13:32:50 schmonz Exp $ + +Apply upstream patch 32517af7 to check for st_mtim in struct stat. +Fixes macOS build. + +--- src/systems.h.orig 2021-08-10 12:13:24.000000000 +0000 ++++ src/systems.h +@@ -52,6 +52,13 @@ + # define STATBLKSIZE(st) 1024 + #endif + ++#if ! HAVE_STRUCT_STAT_ST_MTIM ++# if HAVE_STRUCT_STAT_ST_MTIMESPEC ++# define st_mtim st_mtimespec ++# define HAVE_STRUCT_STAT_ST_MTIM 1 ++# endif ++#endif ++ + #ifndef STDERR_FILENO + # define STDERR_FILENO 2 + #endif |