From 94def12de08ed79ef33ed7300d517782b7fae970 Mon Sep 17 00:00:00 2001 From: Patrick Lauer Date: Mon, 13 Feb 2023 10:15:28 +0000 Subject: 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 --- dev-db/citus/citus-11.2.0.ebuild | 7 +++ dev-db/citus/files/citus-11.2.0-redefine.patch | 79 ++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 dev-db/citus/files/citus-11.2.0-redefine.patch (limited to 'dev-db') 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 +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 \ -- cgit v1.2.3-65-gdbad