summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2023-02-13 10:15:28 +0000
committerPatrick Lauer <patrick@gentoo.org>2023-02-13 10:15:28 +0000
commit94def12de08ed79ef33ed7300d517782b7fae970 (patch)
tree74150e5438c3a5da49dca2aae253f6ace3f3a4c0 /dev-db
parentdev-util/nvidia-cuda-toolkit: add 12.0.1 (diff)
downloadgentoo-94def12de08ed79ef33ed7300d517782b7fae970.tar.gz
gentoo-94def12de08ed79ef33ed7300d517782b7fae970.tar.bz2
gentoo-94def12de08ed79ef33ed7300d517782b7fae970.zip
dev-db/citus: Fix compilation
Recent changes in postgres caused compile errors for citus 11.2 Patch from upstream. Closes: https://bugs.gentoo.org/894136 Signed-off-by: Patrick Lauer <patrick@gentoo.org>
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/citus/citus-11.2.0.ebuild7
-rw-r--r--dev-db/citus/files/citus-11.2.0-redefine.patch79
2 files changed, 86 insertions, 0 deletions
diff --git a/dev-db/citus/citus-11.2.0.ebuild b/dev-db/citus/citus-11.2.0.ebuild
index 1b91866bc2b8..514c4a7fa4d6 100644
--- a/dev-db/citus/citus-11.2.0.ebuild
+++ b/dev-db/citus/citus-11.2.0.ebuild
@@ -30,6 +30,13 @@ DEPEND="${POSTGRES_DEP}
"
RDEPEND="${DEPEND}"
+src_prepare() {
+ eapply "${FILESDIR}"/citus-11.2.0-redefine.patch
+
+ postgres-multi_src_prepare
+}
+
+
src_configure() {
postgres-multi_foreach econf
}
diff --git a/dev-db/citus/files/citus-11.2.0-redefine.patch b/dev-db/citus/files/citus-11.2.0-redefine.patch
new file mode 100644
index 000000000000..d45fba3d65a1
--- /dev/null
+++ b/dev-db/citus/files/citus-11.2.0-redefine.patch
@@ -0,0 +1,79 @@
+From 341fdb32fc07a3aea2dda2fa33a70d22819be37b Mon Sep 17 00:00:00 2001
+From: Jelte Fennema <jelte.fennema@microsoft.com>
+Date: Fri, 10 Feb 2023 16:02:03 +0100
+Subject: [PATCH] Support compilation and run tests on latest PG versions
+ (#6711)
+
+Postgres got minor updates this starts using the images with the latest
+version for our tests.
+
+These new Postgres versions caused a compilation issue in PG14 and PG13
+due to some function being backported that we had already backported
+ourselves. Due this backport being a static inline function it doesn't
+matter who provides this and there will be no linkage errors when either
+running old Citus packages on new PG versions or the other way around.
+
+(cherry picked from commit 3200187757600180fa2b90a5fdba13cbf8aee8b6)
+---
+ .circleci/config.yml | 10 +++++-----
+ src/include/pg_version_compat.h | 11 +++++++++++
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/.circleci/config.yml b/.circleci/config.yml
+index 4905dfbc52c..3a5c30132f6 100644
+--- a/.circleci/config.yml
++++ b/.circleci/config.yml
+@@ -6,19 +6,19 @@ orbs:
+ parameters:
+ image_suffix:
+ type: string
+- default: '-v7e4468f'
++ default: '-vc4b1573'
+ pg13_version:
+ type: string
+- default: '13.9'
++ default: '13.10'
+ pg14_version:
+ type: string
+- default: '14.6'
++ default: '14.7'
+ pg15_version:
+ type: string
+- default: '15.1'
++ default: '15.2'
+ upgrade_pg_versions:
+ type: string
+- default: '13.9-14.6-15.1'
++ default: '13.10-14.7-15.2'
+ style_checker_tools_version:
+ type: string
+ default: '0.8.18'
+diff --git a/src/include/pg_version_compat.h b/src/include/pg_version_compat.h
+index fcb857c4111..eb81bca43ac 100644
+--- a/src/include/pg_version_compat.h
++++ b/src/include/pg_version_compat.h
+@@ -55,6 +55,14 @@ pg_strtoint64(char *s)
+ }
+
+
++/*
++ * RelationGetSmgr got backported in 13.10 and 14.7 so redefining it for any
++ * version higher causes compilation errors due to redefining of the function.
++ * We want to use it in all versions. So we backport it ourselves in earlier
++ * versions, and rely on the Postgres provided version in the later versions.
++ */
++#if PG_VERSION_NUM >= PG_VERSION_13 && PG_VERSION_NUM < 130010 \
++ || PG_VERSION_NUM >= PG_VERSION_14 && PG_VERSION_NUM < 140007
+ static inline SMgrRelation
+ RelationGetSmgr(Relation rel)
+ {
+@@ -66,6 +74,9 @@ RelationGetSmgr(Relation rel)
+ }
+
+
++#endif
++
++
+ #define CREATE_SEQUENCE_COMMAND \
+ "CREATE SEQUENCE IF NOT EXISTS %s AS %s INCREMENT BY " INT64_FORMAT \
+ " MINVALUE " INT64_FORMAT " MAXVALUE " INT64_FORMAT \