summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--databases/postgresql91-client/Makefile5
-rw-r--r--databases/postgresql91/distinfo5
-rw-r--r--databases/postgresql91/patches/patch-src_backend_access_gist_gistutil.c22
-rw-r--r--databases/postgresql91/patches/patch-src_include_access_htup.h53
-rw-r--r--databases/postgresql91/patches/patch-src_include_access_itup.h26
5 files changed, 109 insertions, 2 deletions
diff --git a/databases/postgresql91-client/Makefile b/databases/postgresql91-client/Makefile
index 196d3a3e686..44a2e555ad0 100644
--- a/databases/postgresql91-client/Makefile
+++ b/databases/postgresql91-client/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.8 2012/10/02 21:25:46 asau Exp $
+# $NetBSD: Makefile,v 1.9 2012/10/07 10:24:54 marino Exp $
PKGNAME= ${DISTNAME:C/-/91-client-/}
COMMENT= PostgreSQL database client programs
@@ -42,6 +42,9 @@ CONF_FILES+= share/postgresql/${f}.sample ${PKG_SYSCONFDIR}/${f}
# XXX work around core dumps with the native libedit
USE_GNU_READLINE= yes
+# Silence unused but set variable warnings from GCC4.7
+CFLAGS+= -Wno-unused-but-set-variable
+
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
diff --git a/databases/postgresql91/distinfo b/databases/postgresql91/distinfo
index 58b3c16af78..e496ee9e5e5 100644
--- a/databases/postgresql91/distinfo
+++ b/databases/postgresql91/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.9 2012/10/05 22:15:36 adam Exp $
+$NetBSD: distinfo,v 1.10 2012/10/07 10:24:54 marino Exp $
SHA1 (postgresql-9.1.6.tar.bz2) = a24b7c002463572ee7371f055e566b69e39cda3e
RMD160 (postgresql-9.1.6.tar.bz2) = 83ef4c516658c18c1e2937eee89b05a938aa8620
@@ -9,6 +9,9 @@ SHA1 (patch-contrib_dblink_Makefile) = 4960ad57d42465fae203870548e4c53f8a32ce04
SHA1 (patch-contrib_dblink_dblink.c) = 4d7c40d107d4c13c63ef2908d9a02be319863657
SHA1 (patch-src_Makefile.shlib) = 2370e3c4260ba7f947b0c15b9bdc43e4820e01a4
SHA1 (patch-src_backend_Makefile) = 76ddd3015d93b19cdd6000eaffc4f53cbd4965b5
+SHA1 (patch-src_backend_access_gist_gistutil.c) = 915f545f3cec156cc20b356feb5dd2fdd849dafc
+SHA1 (patch-src_include_access_htup.h) = 5c057067a55f19af280e500f676583e5b653225e
+SHA1 (patch-src_include_access_itup.h) = 140981895f4ec05cc0073cd4538721ab43602380
SHA1 (patch-src_makefiles_Makefile.solaris) = 0168f5bc105ffc89d5db40907a08966d8465f5a0
SHA1 (patch-src_pl_plperl_GNUmakefile) = 2b7448d6dd8550e2ea61f40728a2780068b93d07
SHA1 (patch-src_pl_plperl_plperl.h) = bd663fa80a47f7b82ce689060750fa6e631fbc61
diff --git a/databases/postgresql91/patches/patch-src_backend_access_gist_gistutil.c b/databases/postgresql91/patches/patch-src_backend_access_gist_gistutil.c
new file mode 100644
index 00000000000..b42c72146a7
--- /dev/null
+++ b/databases/postgresql91/patches/patch-src_backend_access_gist_gistutil.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_backend_access_gist_gistutil.c,v 1.1 2012/10/07 10:24:54 marino Exp $
+
+GCC 4.6 and GCC 4.7 do not consider the storage array has having a constant
+size due to the macro definition of GEVHDRSZ found in gist.h
+"gistutil.c:248:14: error: storage size of `storage` isn't constant"
+Using an enumeration satisfies these compilers.
+
+--- src/backend/access/gist/gistutil.c.orig 2012-09-19 21:50:31.000000000 +0000
++++ src/backend/access/gist/gistutil.c
+@@ -244,8 +244,11 @@ gistMakeUnionKey(GISTSTATE *giststate, i
+ {
+
+ int dstsize;
++ enum {
++ GEV_STORAGE_SIZE = 2 * sizeof(GISTENTRY) + GEVHDRSZ
++ };
+
+- static char storage[2 * sizeof(GISTENTRY) + GEVHDRSZ];
++ static char storage[GEV_STORAGE_SIZE];
+ GistEntryVector *evec = (GistEntryVector *) storage;
+
+ evec->n = 2;
diff --git a/databases/postgresql91/patches/patch-src_include_access_htup.h b/databases/postgresql91/patches/patch-src_include_access_htup.h
new file mode 100644
index 00000000000..99520a69f0a
--- /dev/null
+++ b/databases/postgresql91/patches/patch-src_include_access_htup.h
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_include_access_htup.h,v 1.1 2012/10/07 10:24:54 marino Exp $
+
+Fixes GCC 4.7 warning and error
+Also see comments about similar problems in patch-src_include_access_ihup.h
+htup.h:464:2: warning: variably modified 'mt_padding' at file scope
+ [enabled by default]
+relscan.h:51:15: error: variably modified 'rs_vistuples' at file scope
+
+The relscan.h error is caused by the MaxHeapTuplesPerPage definition found
+in htup.h. Use enum method to satisfy gcc.
+
+--- src/include/access/htup.h.orig 2012-09-19 21:50:31.000000000 +0000
++++ src/include/access/htup.h
+@@ -16,6 +16,7 @@
+
+ #include "access/tupdesc.h"
+ #include "access/tupmacs.h"
++#include "storage/bufpage.h"
+ #include "storage/itemptr.h"
+ #include "storage/relfilenode.h"
+
+@@ -405,9 +406,10 @@ do { \
+ * pointers to this anyway, to avoid excessive line-pointer bloat and not
+ * require increases in the size of work arrays.
+ */
+-#define MaxHeapTuplesPerPage \
+- ((int) ((BLCKSZ - SizeOfPageHeaderData) / \
+- (MAXALIGN(offsetof(HeapTupleHeaderData, t_bits)) + sizeof(ItemIdData))))
++#define MaxHeapTuplesPerPageInt \
++ (BLCKSZ - SizeOfPageHeaderData) / \
++ (MAXALIGN(offsetof(HeapTupleHeaderData, t_bits)) + \
++ sizeof(ItemIdData))
+
+ /*
+ * MaxAttrSize is a somewhat arbitrary upper limit on the declared size of
+@@ -452,11 +454,16 @@ do { \
+ */
+ #define MINIMAL_TUPLE_OFFSET \
+ ((offsetof(HeapTupleHeaderData, t_infomask2) - sizeof(uint32)) / MAXIMUM_ALIGNOF * MAXIMUM_ALIGNOF)
+-#define MINIMAL_TUPLE_PADDING \
++#define MINIMAL_TUPLE_PADDING_MACRO \
+ ((offsetof(HeapTupleHeaderData, t_infomask2) - sizeof(uint32)) % MAXIMUM_ALIGNOF)
+ #define MINIMAL_TUPLE_DATA_OFFSET \
+ offsetof(MinimalTupleData, t_infomask2)
+
++enum {
++ MINIMAL_TUPLE_PADDING = MINIMAL_TUPLE_PADDING_MACRO,
++ MaxHeapTuplesPerPage = MaxHeapTuplesPerPageInt
++};
++
+ typedef struct MinimalTupleData
+ {
+ uint32 t_len; /* actual length of minimal tuple */
diff --git a/databases/postgresql91/patches/patch-src_include_access_itup.h b/databases/postgresql91/patches/patch-src_include_access_itup.h
new file mode 100644
index 00000000000..9707d06e3cc
--- /dev/null
+++ b/databases/postgresql91/patches/patch-src_include_access_itup.h
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_include_access_itup.h,v 1.1 2012/10/07 10:24:54 marino Exp $
+
+GCC 4.7 fails on nbtree.h:509:16 with this message:
+error: variably modified 'items' at file scope
+It does like defining records with "variable" array lengths
+Use the enum trick to convertMaxIndexTuplesPerPage into a constant
+
+--- src/include/access/itup.h.orig 2012-09-19 21:50:31.000000000 +0000
++++ src/include/access/itup.h
+@@ -133,10 +133,13 @@ typedef IndexAttributeBitMapData *IndexA
+ * IndexTupleData struct. We arrive at the divisor because each tuple
+ * must be maxaligned, and it must have an associated item pointer.
+ */
+-#define MaxIndexTuplesPerPage \
+- ((int) ((BLCKSZ - SizeOfPageHeaderData) / \
+- (MAXALIGN(sizeof(IndexTupleData) + 1) + sizeof(ItemIdData))))
++#define MaxIndexTuplesPerPageInt \
++ (BLCKSZ - SizeOfPageHeaderData) / \
++ (MAXALIGN(sizeof(IndexTupleData) + 1) + sizeof(ItemIdData))
+
++enum {
++ MaxIndexTuplesPerPage = MaxIndexTuplesPerPageInt
++};
+
+ /* routines in indextuple.c */
+ extern IndexTuple index_form_tuple(TupleDesc tupleDescriptor,