Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [wip] add postgresql14, remove postgresql12
@ 2021-09-30 20:29 Chocimier
  2021-10-26 18:14 ` [PR PATCH] [Updated] " Chocimier
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Chocimier @ 2021-09-30 20:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 345 bytes --]

There is a new pull request by Chocimier against master on the void-packages repository

https://github.com/Chocimier/void-packages-org postgresql14
https://github.com/void-linux/void-packages/pull/33195

[wip] add postgresql14, remove postgresql12
None

A patch file from https://github.com/void-linux/void-packages/pull/33195.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-postgresql14-33195.patch --]
[-- Type: text/x-diff, Size: 56932 bytes --]

From cd1ad47e6932d23228677786dc6cbd25c314aabf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 1/6] postgis-postgresql12: remove

---
 srcpkgs/postgis-postgresql12/template | 33 ---------------------------
 srcpkgs/postgis-postgresql12/update   |  2 --
 2 files changed, 35 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql12/template
 delete mode 100644 srcpkgs/postgis-postgresql12/update

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
deleted file mode 100644
index f801d76f0324..000000000000
--- a/srcpkgs/postgis-postgresql12/template
+++ /dev/null
@@ -1,33 +0,0 @@
-# Template file for 'postgis-postgresql12'
-pkgname=postgis-postgresql12
-version=3.1.4
-revision=1
-wrksrc="postgis-${version}"
-build_style=gnu-configure
-configure_args="
- --with-projdir=${XBPS_CROSS_BASE}/usr
- --with-jsondir=${XBPS_CROSS_BASE}/usr
- --with-protobufdir=${XBPS_CROSS_BASE}/usr
- --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
-hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql12-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
- proj-devel protobuf-c-devel pcre-devel json-c-devel"
-checkdepends="libxslt CUnit-devel"
-short_desc="Spatial database extender for PostgreSQL"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="GPL-2.0-or-later"
-homepage="https://postgis.net/"
-changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
-distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
-nocross="FIXME: Cannot run test program to determine PROJ version"
-
-pre_configure() {
-	./autogen.sh
-}
-
-pre_check() {
-	# regression tests require running postgresql
-	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
-}
diff --git a/srcpkgs/postgis-postgresql12/update b/srcpkgs/postgis-postgresql12/update
deleted file mode 100644
index dc7538d851a9..000000000000
--- a/srcpkgs/postgis-postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha*"

From d6c721597c5c68c670178d9261023139972f8bde Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 2/6] postgresql12: remove

---
 srcpkgs/postgresql12-client                   |   1 -
 srcpkgs/postgresql12-contrib                  |   1 -
 srcpkgs/postgresql12-doc                      |   1 -
 srcpkgs/postgresql12-libs                     |   1 -
 srcpkgs/postgresql12-libs-devel               |   1 -
 srcpkgs/postgresql12-plperl                   |   1 -
 srcpkgs/postgresql12-plpython                 |   1 -
 srcpkgs/postgresql12-pltcl                    |   1 -
 srcpkgs/postgresql12/files/pg_config.sh.in    | 143 -----------
 srcpkgs/postgresql12/files/postgresql.confd   |  17 --
 srcpkgs/postgresql12/files/postgresql.pam     |   3 -
 .../postgresql12/files/postgresql12/control/t |   2 -
 .../postgresql12/files/postgresql12/log/run   |   2 -
 srcpkgs/postgresql12/files/postgresql12/run   |  24 --
 srcpkgs/postgresql12/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  46 ----
 srcpkgs/postgresql12/patches/relocate.patch   |  22 --
 srcpkgs/postgresql12/template                 | 227 ------------------
 srcpkgs/postgresql12/update                   |   2 -
 19 files changed, 510 deletions(-)
 delete mode 120000 srcpkgs/postgresql12-client
 delete mode 120000 srcpkgs/postgresql12-contrib
 delete mode 120000 srcpkgs/postgresql12-doc
 delete mode 120000 srcpkgs/postgresql12-libs
 delete mode 120000 srcpkgs/postgresql12-libs-devel
 delete mode 120000 srcpkgs/postgresql12-plperl
 delete mode 120000 srcpkgs/postgresql12-plpython
 delete mode 120000 srcpkgs/postgresql12-pltcl
 delete mode 100644 srcpkgs/postgresql12/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/control/t
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/log/run
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/run
 delete mode 100644 srcpkgs/postgresql12/files/profile.sh
 delete mode 100644 srcpkgs/postgresql12/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql12/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql12/template
 delete mode 100644 srcpkgs/postgresql12/update

diff --git a/srcpkgs/postgresql12-client b/srcpkgs/postgresql12-client
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-contrib b/srcpkgs/postgresql12-contrib
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-doc b/srcpkgs/postgresql12-doc
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs b/srcpkgs/postgresql12-libs
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs-devel b/srcpkgs/postgresql12-libs-devel
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plperl b/srcpkgs/postgresql12-plperl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plpython b/srcpkgs/postgresql12-plpython
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-pltcl b/srcpkgs/postgresql12-pltcl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12/files/pg_config.sh.in b/srcpkgs/postgresql12/files/pg_config.sh.in
deleted file mode 100644
index 3d20d215d0b3..000000000000
--- a/srcpkgs/postgresql12/files/pg_config.sh.in
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-# Released to Public Domain by Doan Tran Cong Danh
-
-print() {
-	printf '%s\n' "$@"
-}
-
-sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
-
-BINDIR="$sysroot/@PREFIX@/bin"
-DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-INCLUDEDIR="$sysroot/usr/include"
-PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
-INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
-LIBDIR="$sysroot/@PREFIX@/lib"
-PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
-LOCALEDIR="$sysroot/@PREFIX@/share/locale"
-MANDIR="$sysroot/@PREFIX@/share/man"
-SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
-SYSCONFDIR="$sysroot/@PREFIX@/etc/postgresql"
-PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
-
-CONFIGURE="@configure_args@"
-CC="@CC@"
-CPPFLAGS="@CPPFLAGS@"
-CFLAGS="@CFLAGS@"
-CFLAGS_SL="@CFLAGS_SL@"
-LDFLAGS="@LDFLAGS@"
-LDFLAGS_EX="@LDFLAGS_EX@"
-LDFLAGS_SL="@LDFLAGS_SL@"
-LIBS="@LIBS@"
-VERSION="PostgreSQL @FULL_VERSION@"
-
-if [ "$sysroot" != "/" ]; then
-	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
-fi
-
-usage() {
-	cat <<-EOF
-	$0 provides information about the installed version of PostgreSQL.
-
-	Usage:
-	  $0 [OPTION]...
-
-	Options:
-	  --bindir              show location of user executables
-	  --docdir              show location of documentation files
-	  --htmldir             show location of HTML documentation files
-	  --includedir          show location of C header files of the client interfaces
-	  --pkgincludedir       show location of other C header files
-	  --includedir-server   show location of C header files for the server
-	  --libdir              show location of object code libraries
-	  --pkglibdir           show location of dynamically loadable modules
-	  --localedir           show location of locale support files
-	  --mandir              show location of manual pages
-	  --sharedir            show location of architecture-independent support files
-	  --sysconfdir          show location of system-wide configuration files
-	  --pgxs                show location of extension makefile
-	  --configure           show options given to PostgreSQL was built
-	  --cc                  show CC value used when PostgreSQL was built
-	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
-	  --cflags              show CFLAGS value used when PostgreSQL was built
-	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
-	  --ldflags             show LDFLAGS value used when PostgreSQL was built
-	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
-	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
-	  --libs                show LIBS value used when PostgreSQL was built
-	  --version             show the PostgreSQL version
-	  -?, --help            show this help, then exit
-
-	With no arguments, all known items are shown.
-
-	Report bugs to <pgsql-bugs@postgresql.org>.
-	EOF
-}
-
-if test $# -eq 0; then
-	cat <<-EOF
-	BINDIR = $BINDIR
-	DOCDIR = $DOCDIR
-	HTMLDIR = $HTMLDIR
-	INCLUDEDIR = $INCLUDEDIR
-	PKGINCLUDEDIR = $PKGINCLUDEDIR
-	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
-	LIBDIR = $LIBDIR
-	PKGLIBDIR = $PKGLIBDIR
-	LOCALEDIR = $LOCALEDIR
-	MANDIR = $MANDIR
-	SHAREDIR = $SHAREDIR
-	SYSCONFDIR = $SYSCONFDIR
-	PGXS = $PGXS
-	CONFIGURE = $CONFIGURE
-	CC = $CC
-	CPPFLAGS = $CPPFLAGS
-	CFLAGS = $CFLAGS
-	CFLAGS_SL = $CFLAGS_SL
-	LDFLAGS = $LDFLAGS
-	LDFLAGS_EX = $LDFLAGS_EX
-	LDFLAGS_SL = $LDFLAGS_SL
-	LIBS = $LIBS
-	VERSION = $VERSION
-	EOF
-fi
-
-for arg
-do
-	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
-		usage
-		exit 0
-	fi
-done
-
-for arg
-do
-	case "$arg" in
-	--bindir) print "$BINDIR" ;;
-	--docdir) print "$DOCDIR" ;;
-	--htmldir) print "$HTMLDIR" ;;
-	--includedir) print "$INCLUDEDIR" ;;
-	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
-	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
-	--libdir) print "$LIBDIR" ;;
-	--pkglibdir) print "$PKGLIBDIR" ;;
-	--localedir) print "$LOCALEDIR" ;;
-	--mandir) print "$MANDIR" ;;
-	--sharedir) print "$SHAREDIR" ;;
-	--sysconfdir) print "$SYSCONFDIR" ;;
-	--pgxs) print "$PGXS" ;;
-	--configure) print "$CONFIGURE" ;;
-	--cc) print "$CC" ;;
-	--cppflags) print "$CPPFLAGS" ;;
-	--cflags) print "$CFLAGS" ;;
-	--cflags_sl) print "$CFLAGS_SL" ;;
-	--ldflags) print "$LDFLAGS" ;;
-	--ldflags_ex) print "$LDFLAGS_EX" ;;
-	--ldflags_sl) print "$LDFLAGS_SL" ;;
-	--libs) print "$LIBS" ;;
-	--version) print "$VERSION" ;;
-	esac
-done
diff --git a/srcpkgs/postgresql12/files/postgresql.confd b/srcpkgs/postgresql12/files/postgresql.confd
deleted file mode 100644
index fe7106626fa5..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Configuration file for the PostgreSQL server.
-
-# PostgreSQL's database directory
-PGROOT="/var/lib/postgresql@VERSION@"
-
-# PostgreSQL's log file.
-PGLOG="/var/log/postgresql@VERSION@.log"
-
-# Passed to initdb if necessary
-INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql12/files/postgresql.pam b/srcpkgs/postgresql12/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-auth		required	pam_unix.so
-account		required	pam_unix.so
-session		required	pam_unix.so
diff --git a/srcpkgs/postgresql12/files/postgresql12/control/t b/srcpkgs/postgresql12/files/postgresql12/control/t
deleted file mode 100755
index dcedfaa20180..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/control/t
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql12/files/postgresql12/log/run b/srcpkgs/postgresql12/files/postgresql12/log/run
deleted file mode 100755
index 815d9c974079..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/log/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql12/files/postgresql12/run b/srcpkgs/postgresql12/files/postgresql12/run
deleted file mode 100755
index b45c1b4ca8f7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/run
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. /@PREFIX@/etc/default/postgresql
-: ${PGDATA:="$PGROOT/data"}
-
-if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
-	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
-	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
-fi
-
-
-if [ ! -d "$PGDATA" ]; then
-	echo "Initializing database in $PGDATA"
-
-	mkdir -p "$PGDATA"
-	chown -R postgres:postgres "$PGDATA"
-	chmod 0700 "$PGDATA"
-	su - postgres -m -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
-
-	if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then
-		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
-	fi
-fi
-
-exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql12/files/profile.sh b/srcpkgs/postgresql12/files/profile.sh
deleted file mode 100644
index 54be2ca50a4f..000000000000
--- a/srcpkgs/postgresql12/files/profile.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-appendpath () {
-    case ":$PATH:" in
-        *:"$1":*)
-            ;;
-        *)
-            PATH="${PATH:+$PATH:}$1"
-    esac
-}
-
-appendpath '/@PREFIX@/bin'
-
-unset appendpath
-
-export PATH
diff --git a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch b/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
deleted file mode 100644
index 4a5fea6cc869..000000000000
--- a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Sources: Doan Tran Cong Danh
-Upstream: No
-	- First part needs to be rework in configure script to be usable
-	  upstream
-	- Second part would un-usable for Windows
-diff --git src/common/Makefile src/common/Makefile
-index ec04710..2af845f 100644
---- a/src/common/Makefile
-+++ b/src/common/Makefile
-@@ -30,11 +30,14 @@ include $(top_builddir)/src/Makefile.global
- 
- # don't include subdirectory-path-dependent -I and -L switches
- STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
-+STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
-+STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
- STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-+STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
- override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
- override CPPFLAGS += -DVAL_CC="\"$(CC)\""
- override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
--override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
-+override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
- override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
- override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
- override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
-@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
- GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
- GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
- 
--all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
-+all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
-+
-+pg_config.sh: pg_config.sh.in
-+	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
-+		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
-+		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
-+		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
-+		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
-+		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
-+		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
-+		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
-+		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
-+		$< >$@
- 
- distprep: kwlist_d.h
- 
diff --git a/srcpkgs/postgresql12/patches/relocate.patch b/srcpkgs/postgresql12/patches/relocate.patch
deleted file mode 100644
index d2cc14281e3a..000000000000
--- a/srcpkgs/postgresql12/patches/relocate.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
-Date: Sat, 18 Jan 2020 12:19:45 +0100
-Subject: [PATCH] relocate
-
-
-diff --git src/port/path.c src/port/path.c
-index 710988b..20dc57d 100644
---- a/src/port/path.c
-+++ b/src/port/path.c
-@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
- 	int			tail_len;
- 	int			i;
- 
-+	goto no_match; // we relocate only binaries
-+
- 	/*
- 	 * Determine the common prefix --- note we require it to end on a
- 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
--- 
-2.23.0
-
diff --git a/srcpkgs/postgresql12/template b/srcpkgs/postgresql12/template
deleted file mode 100644
index b11aaa840f04..000000000000
--- a/srcpkgs/postgresql12/template
+++ /dev/null
@@ -1,227 +0,0 @@
-# Template file for 'postgresql12'
-pkgname=postgresql12
-version=12.8
-revision=1
-wrksrc="postgresql-${version}"
-build_style=gnu-configure
-make_build_target=world
-_major="${version%%.*}"
-_prefix="usr/lib/psql${_major}"
-configure_args="--with-openssl --with-python
- --with-pam --enable-thread-safety
- --with-perl --with-tcl --without-ldap --without-gssapi
- --without-bonjour --with-libxml --with-libxslt
- --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
-hostmakedepends="docbook2x gettext flex openjade"
-makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
- python3-devel readline-devel tcl-devel"
-short_desc="Sophisticated open-source Object-Relational DBMS"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="PostgreSQL"
-homepage="https://www.postgresql.org"
-changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
-distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
-checksum=e26401e090c34ccb15ffb33a111f340833833535a7b7c5cd11cd88ab57d9c62a
-
-conf_files="
- /${_prefix}/etc/default/postgresql
- /${_prefix}/etc/pam.d/postgresql
- /${_prefix}/etc/postgresql/postgresql.conf
-"
-
-# Create 'postgres' user for the server.
-system_accounts="postgres"
-postgres_homedir="/var/lib/postgresql"
-postgres_shell="/bin/sh"
-postgres_descr="PostgreSQL database server user"
-make_dirs="
- /var/lib/postgresql   0750 postgres postgres
- /var/lib/postgresql${_major} 0750 postgres postgres"
-
-if [ "$CROSS_BUILD" ]; then
-	configure_args+=" --without-perl --without-python --without-tcl"
-fi
-
-post_patch() {
-	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
-	_substitute src/common/pg_config.sh.in
-	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
-}
-
-pre_configure() {
-	_style_configure_args="${configure_args}"
-	configure_args=" "
-	for arg in ${_style_configure_args}; do
-		case $arg in
-			--prefix=*|*dir=*) : ;; # skip
-			*) configure_args+=" $arg"
-		esac
-	done
-	configure_args="--prefix=/${_prefix}
-	 --sysconfdir=/${_prefix}/etc
-	 --includedir=/usr/include
-	 ${configure_args}"
-}
-
-post_build() {
-	make -C contrib ${makejobs}
-}
-
-pre_check() {
-	ln -sr tmp_install/${_prefix} /${_prefix%/*}
-}
-
-post_install() {
-	vmkdir usr/share/man
-	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
-	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
-		mv $i ${i%.*}-${_major}.${i##*.}
-	done
-	vmkdir ${_prefix}/share/doc
-	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
-	vsv ${pkgname}
-	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
-	vlicense COPYRIGHT
-
-	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
-	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
-	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
-	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
-		644 ${_prefix}/etc/postgresql postgresql.conf
-	vbin src/common/pg_config.sh
-
-	vsed -i 's/install_bin = .*/install_bin = install/g' \
-		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
-}
-
-_substitute() {
-	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
-}
-
-postgresql12-doc_package() {
-	short_desc="PostgreSQL documentation"
-	pkg_install() {
-		vmove ${_prefix}/share/doc
-	}
-}
-
-postgresql12-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0"
-	pkg_install() {
-		vmove "${_prefix}/lib/*.so*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		    -type f -name libpq5\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
-	}
-}
-
-postgresql12-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0"
-	pkg_install() {
-		vmkdir usr/bin
-		vmkdir usr/lib
-		for f in pg_config ecpg; do
-			vmove ${_prefix}/bin/${f}
-			vmove "usr/share/man/man1/$(basename ${f})*"
-			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
-		done
-		vmove usr/bin/pg_config.sh
-		vmove usr/include
-		vmove "${_prefix}/lib/*.a"
-		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
-		vmove usr/share/man/man3
-		vmove ${_prefix}/lib/postgresql/pgxs
-		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
-			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
-		done
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pg_config\* -o -name ecpg\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-# XXX disabled for now in cross builds.
-if [ -z "$CROSS_BUILD" ]; then
-
-postgresql12-plperl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Perl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plperl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plperl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-plpython_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Python procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plpython*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plpython\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-pltcl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Tcl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/pltcl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pltcl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-fi # !CROSS_BUILD
-
-postgresql12-client_package() {
-	short_desc="Client frontends programs for PostgreSQL"
-	pkg_install() {
-		for f in clusterdb createdb createuser dropdb \
-			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
-			vacuumdb; do
-			vmove ${_prefix}/bin/${f}
-			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
-		done
-		vmove usr/share/man/man7
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pgscripts\* -o \
-			   -name psql\* -o \
-			   -name pg_dump\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
-			${PKGDESTDIR}/${_prefix}/share
-		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
-	}
-}
-
-postgresql12-contrib_package() {
-	short_desc="PostgreSQL contributed programs and extensions"
-	pkg_install() {
-		make -C contrib install DESTDIR=${PKGDESTDIR}
-	}
-}
diff --git a/srcpkgs/postgresql12/update b/srcpkgs/postgresql12/update
deleted file mode 100644
index 3f99ada53bea..000000000000
--- a/srcpkgs/postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K12[\d.]+(?!\w)"

From b73b9f1b9875a48352197c218d840b4164f08413 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 3/6] New package: postgresql14

---
 common/shlibs                                 |   8 +-
 srcpkgs/postgresql-libs                       |   2 +-
 srcpkgs/postgresql-libs-devel                 |   2 +-
 srcpkgs/postgresql14-client                   |   1 +
 srcpkgs/postgresql14-contrib                  |   1 +
 srcpkgs/postgresql14-doc                      |   1 +
 srcpkgs/postgresql14-plperl                   |   1 +
 srcpkgs/postgresql14-plpython                 |   1 +
 srcpkgs/postgresql14-pltcl                    |   1 +
 srcpkgs/postgresql14/files/pg_config.sh.in    | 143 +++++++++++
 srcpkgs/postgresql14/files/postgresql.confd   |  17 ++
 srcpkgs/postgresql14/files/postgresql.pam     |   3 +
 .../postgresql14/files/postgresql14/control/t |   2 +
 .../postgresql14/files/postgresql14/log/run   |   2 +
 srcpkgs/postgresql14/files/postgresql14/run   |  27 +++
 srcpkgs/postgresql14/files/profile.sh         |  14 ++
 .../patches/pg_config-cross-value.patch       |  45 ++++
 srcpkgs/postgresql14/patches/relocate.patch   |  22 ++
 srcpkgs/postgresql14/template                 | 228 ++++++++++++++++++
 srcpkgs/postgresql14/update                   |   2 +
 20 files changed, 517 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/postgresql14-client
 create mode 120000 srcpkgs/postgresql14-contrib
 create mode 120000 srcpkgs/postgresql14-doc
 create mode 120000 srcpkgs/postgresql14-plperl
 create mode 120000 srcpkgs/postgresql14-plpython
 create mode 120000 srcpkgs/postgresql14-pltcl
 create mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 create mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 create mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/log/run
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 create mode 100644 srcpkgs/postgresql14/files/profile.sh
 create mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 create mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 create mode 100644 srcpkgs/postgresql14/template
 create mode 100644 srcpkgs/postgresql14/update

diff --git a/common/shlibs b/common/shlibs
index 8872fbfe9392..bfbb4d1e67f5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -553,10 +553,10 @@ libKF5PurposeWidgets.so.5 purpose-5.48.0_1
 libKF5Purpose.so.5 purpose-5.48.0_1
 libKF5PulseAudioQt.so.3 pulseaudio-qt-1.3_1
 libReviewboardHelpers.so.5 purpose-5.48.0_1
-libecpg_compat.so.3 postgresql-libs-13.2_2
-libecpg.so.6 postgresql-libs-13.2_2
-libpgtypes.so.3 postgresql-libs-13.2_2
-libpq.so.5 postgresql-libs-13.2_2
+libecpg_compat.so.3 postgresql-libs-14.0_1
+libecpg.so.6 postgresql-libs-14.0_1
+libpgtypes.so.3 postgresql-libs-14.0_1
+libpq.so.5 postgresql-libs-14.0_1
 libmypaint.so.0 libmypaint-1.6.1_1
 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1
 libgssrpc.so.4 mit-krb5-libs-1.8_1
diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-client
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-contrib
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-doc
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plperl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plpython
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-pltcl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14/files/pg_config.sh.in b/srcpkgs/postgresql14/files/pg_config.sh.in
new file mode 100644
index 000000000000..68068a82e01e
--- /dev/null
+++ b/srcpkgs/postgresql14/files/pg_config.sh.in
@@ -0,0 +1,143 @@
+#!/bin/sh
+# Released to Public Domain by Doan Tran Cong Danh
+
+print() {
+	printf '%s\n' "$@"
+}
+
+sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
+
+BINDIR="$sysroot/@PREFIX@/bin"
+DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+INCLUDEDIR="$sysroot/usr/include"
+PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
+INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
+LIBDIR="$sysroot/@PREFIX@/lib"
+PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
+LOCALEDIR="$sysroot/@PREFIX@/share/locale"
+MANDIR="$sysroot/@PREFIX@/share/man"
+SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
+SYSCONFDIR="$sysroot/etc/psql@VERSION@/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql14/files/postgresql.confd b/srcpkgs/postgresql14/files/postgresql.confd
new file mode 100644
index 000000000000..fe7106626fa5
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.confd
@@ -0,0 +1,17 @@
+# Configuration file for the PostgreSQL server.
+
+# PostgreSQL's database directory
+PGROOT="/var/lib/postgresql@VERSION@"
+
+# PostgreSQL's log file.
+PGLOG="/var/log/postgresql@VERSION@.log"
+
+# Passed to initdb if necessary
+INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of these options
+# can be set directly in the configuration-file.
+#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
new file mode 100644
index 000000000000..53724d1f86a7
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.pam
@@ -0,0 +1,3 @@
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
diff --git a/srcpkgs/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
new file mode 100755
index 000000000000..dcedfaa20180
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/control/t
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql14/files/postgresql14/log/run b/srcpkgs/postgresql14/files/postgresql14/log/run
new file mode 100755
index 000000000000..815d9c974079
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
new file mode 100755
index 000000000000..3aee9440e847
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /etc/psql@VERSION@/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || exit 1
+	chown -R postgres:postgres "$PGDATA"
+	chmod 0700 "$PGDATA"
+	su - postgres -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" 2>&1 || {
+		rm -fr "$PGDATA"
+		exit 1
+	}
+
+	if [ -f /etc/psql@VERSION@/postgresql/postgresql.conf ]; then
+		ln -sf /etc/psql@VERSION@/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql14/files/profile.sh b/srcpkgs/postgresql14/files/profile.sh
new file mode 100644
index 000000000000..54be2ca50a4f
--- /dev/null
+++ b/srcpkgs/postgresql14/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
new file mode 100644
index 000000000000..cc0a9fc19133
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
@@ -0,0 +1,45 @@
+Sources: Doan Tran Cong Danh
+Upstream: No
+	- First part needs to be rework in configure script to be usable
+	  upstream
+	- Second part would un-usable for Windows
+diff --git src/common/Makefile src/common/Makefile
+index ec04710..2af845f 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -30,10 +30,13 @@ include $(top_builddir)/src/Makefile.global
+ 
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
++STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
++STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
++STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
+ override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+ override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
++override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
+ GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
+ GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
+ 
+-all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
++all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
++
++pg_config.sh: pg_config.sh.in
++	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
++		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
++		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
++		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
++		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
++		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
++		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
++		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
++		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
++		$< >$@
+ 
+ distprep: kwlist_d.h
+ 
diff --git a/srcpkgs/postgresql14/patches/relocate.patch b/srcpkgs/postgresql14/patches/relocate.patch
new file mode 100644
index 000000000000..d2cc14281e3a
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/relocate.patch
@@ -0,0 +1,22 @@
+From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
+Date: Sat, 18 Jan 2020 12:19:45 +0100
+Subject: [PATCH] relocate
+
+
+diff --git src/port/path.c src/port/path.c
+index 710988b..20dc57d 100644
+--- a/src/port/path.c
++++ b/src/port/path.c
+@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
+ 	int			tail_len;
+ 	int			i;
+ 
++	goto no_match; // we relocate only binaries
++
+ 	/*
+ 	 * Determine the common prefix --- note we require it to end on a
+ 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
+-- 
+2.23.0
+
diff --git a/srcpkgs/postgresql14/template b/srcpkgs/postgresql14/template
new file mode 100644
index 000000000000..dafb3225d4bf
--- /dev/null
+++ b/srcpkgs/postgresql14/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql14'
+pkgname=postgresql14
+version=14.0
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+_sysconfdir="etc/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+short_desc="Sophisticated open-source Object-Relational DBMS"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="PostgreSQL"
+homepage="https://www.postgresql.org"
+changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
+distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
+checksum=ee2ad79126a7375e9102c4db77c4acae6ae6ffe3e082403b88826d96d927a122
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_sysconfdir}
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_sysconfdir}/default postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_sysconfdir}/pam.d postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_sysconfdir}/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql14-doc_package() {
+	short_desc="PostgreSQL documentation"
+	pkg_install() {
+		vmove ${_prefix}/share/doc
+	}
+}
+
+postgresql-libs_package() {
+	short_desc="PostgreSQL shared libraries"
+	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0"
+	pkg_install() {
+		vmkdir usr/bin
+		vmkdir usr/lib
+		for f in pg_config ecpg; do
+			vmove ${_prefix}/bin/${f}
+			vmove "usr/share/man/man1/$(basename ${f})*"
+			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
+		done
+		vmove usr/bin/pg_config.sh
+		vmove usr/include
+		vmove "${_prefix}/lib/*.a"
+		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
+		vmove usr/share/man/man3
+		vmove ${_prefix}/lib/postgresql/pgxs
+		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
+			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
+		done
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pg_config\* -o -name ecpg\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+# XXX disabled for now in cross builds.
+if [ -z "$CROSS_BUILD" ]; then
+
+postgresql14-plperl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Perl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plperl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plperl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-plpython_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Python procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plpython*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plpython\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-pltcl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Tcl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/pltcl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pltcl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+fi # !CROSS_BUILD
+
+postgresql14-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	pkg_install() {
+		for f in clusterdb createdb createuser dropdb \
+			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
+			vacuumdb; do
+			vmove ${_prefix}/bin/${f}
+			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
+		done
+		vmove usr/share/man/man7
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pgscripts\* -o \
+			   -name psql\* -o \
+			   -name pg_dump\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
+			${PKGDESTDIR}/${_prefix}/share
+		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
+	}
+}
+
+postgresql14-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
new file mode 100644
index 000000000000..160ccf143338
--- /dev/null
+++ b/srcpkgs/postgresql14/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From fe33123763025cd7fd5a21e7fe9b89139db7f444 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 4/6] New package: postgresql13-libs-13.4

---
 common/shlibs                   | 4 ++++
 srcpkgs/postgresql13-libs       | 1 +
 srcpkgs/postgresql13-libs-devel | 1 +
 srcpkgs/postgresql13/template   | 8 ++++----
 4 files changed, 10 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/postgresql13-libs
 create mode 120000 srcpkgs/postgresql13-libs-devel

diff --git a/common/shlibs b/common/shlibs
index bfbb4d1e67f5..de4a074a5f0a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -557,6 +557,10 @@ libecpg_compat.so.3 postgresql-libs-14.0_1
 libecpg.so.6 postgresql-libs-14.0_1
 libpgtypes.so.3 postgresql-libs-14.0_1
 libpq.so.5 postgresql-libs-14.0_1
+libecpg_compat.so.3 postgresql13-libs-13.2_2
+libecpg.so.6 postgresql13-libs-13.2_2
+libpgtypes.so.3 postgresql13-libs-13.2_2
+libpq.so.5 postgresql13-libs-13.2_2
 libmypaint.so.0 libmypaint-1.6.1_1
 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1
 libgssrpc.so.4 mit-krb5-libs-1.8_1
diff --git a/srcpkgs/postgresql13-libs b/srcpkgs/postgresql13-libs
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-libs-devel b/srcpkgs/postgresql13-libs-devel
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs-devel
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/template b/srcpkgs/postgresql13/template
index 9c6a33935ba3..b98d277c8c22 100644
--- a/srcpkgs/postgresql13/template
+++ b/srcpkgs/postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgresql13'
 pkgname=postgresql13
 version=13.4
-revision=1
+revision=2
 wrksrc="postgresql-${version}"
 build_style=gnu-configure
 make_build_target=world
@@ -108,7 +108,7 @@ postgresql13-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
+postgresql13-libs_package() {
 	short_desc="PostgreSQL shared libraries"
 	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0"
 	pkg_install() {
@@ -122,8 +122,8 @@ postgresql-libs_package() {
 	}
 }
 
-postgresql-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
+postgresql13-libs-devel_package() {
+	depends="postgresql13-libs>=${version}_${revision}"
 	short_desc="PostgreSQL shared libraries (development files)"
 	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
 	pkg_install() {

From 0f45d064c1e474e3dc17b40dcae865eef843678d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 5/6] postgis-postgresql13: build with postgresql13-libs

---
 srcpkgs/postgis-postgresql13/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
index afa6432adb7e..706c8fb96810 100644
--- a/srcpkgs/postgis-postgresql13/template
+++ b/srcpkgs/postgis-postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql13'
 pkgname=postgis-postgresql13
 version=3.1.4
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql13-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql13-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From fc50145c09a46741dcbbdd0615835209484e030c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 6/6] New package: postgis-postgresql14-3.1.4

---
 srcpkgs/postgis-postgresql14/template | 33 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql14/update   |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql14/template
 create mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
new file mode 100644
index 000000000000..6ce4231b1726
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/template
@@ -0,0 +1,33 @@
+# Template file for 'postgis-postgresql14'
+pkgname=postgis-postgresql14
+version=3.1.4
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+checkdepends="libxslt CUnit-devel"
+short_desc="Spatial database extender for PostgreSQL"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="GPL-2.0-or-later"
+homepage="https://postgis.net/"
+changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
+distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
+checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
+
+pre_check() {
+	# regression tests require running postgresql
+	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
+}
diff --git a/srcpkgs/postgis-postgresql14/update b/srcpkgs/postgis-postgresql14/update
new file mode 100644
index 000000000000..dc7538d851a9
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
@ 2021-10-26 18:14 ` Chocimier
  2021-12-09 16:49 ` TinfoilSubmarine
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-10-26 18:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 350 bytes --]

There is an updated pull request by Chocimier against master on the void-packages repository

https://github.com/Chocimier/void-packages-org postgresql14
https://github.com/void-linux/void-packages/pull/33195

[wip] add postgresql14, remove postgresql12
None

A patch file from https://github.com/void-linux/void-packages/pull/33195.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-postgresql14-33195.patch --]
[-- Type: text/x-diff, Size: 56115 bytes --]

From 9ffadf95197a348ba512b2dee1e3041b59b9cce2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 1/6] postgis-postgresql12: remove

---
 srcpkgs/postgis-postgresql12/template | 33 ---------------------------
 srcpkgs/postgis-postgresql12/update   |  2 --
 2 files changed, 35 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql12/template
 delete mode 100644 srcpkgs/postgis-postgresql12/update

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
deleted file mode 100644
index f801d76f0324..000000000000
--- a/srcpkgs/postgis-postgresql12/template
+++ /dev/null
@@ -1,33 +0,0 @@
-# Template file for 'postgis-postgresql12'
-pkgname=postgis-postgresql12
-version=3.1.4
-revision=1
-wrksrc="postgis-${version}"
-build_style=gnu-configure
-configure_args="
- --with-projdir=${XBPS_CROSS_BASE}/usr
- --with-jsondir=${XBPS_CROSS_BASE}/usr
- --with-protobufdir=${XBPS_CROSS_BASE}/usr
- --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
-hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql12-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
- proj-devel protobuf-c-devel pcre-devel json-c-devel"
-checkdepends="libxslt CUnit-devel"
-short_desc="Spatial database extender for PostgreSQL"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="GPL-2.0-or-later"
-homepage="https://postgis.net/"
-changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
-distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
-nocross="FIXME: Cannot run test program to determine PROJ version"
-
-pre_configure() {
-	./autogen.sh
-}
-
-pre_check() {
-	# regression tests require running postgresql
-	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
-}
diff --git a/srcpkgs/postgis-postgresql12/update b/srcpkgs/postgis-postgresql12/update
deleted file mode 100644
index dc7538d851a9..000000000000
--- a/srcpkgs/postgis-postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha*"

From 9eb211cbc4f2800f97fe13b10760899e46b2f21d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 2/6] postgresql12: remove

---
 srcpkgs/postgresql12-client                   |   1 -
 srcpkgs/postgresql12-contrib                  |   1 -
 srcpkgs/postgresql12-doc                      |   1 -
 srcpkgs/postgresql12-libs                     |   1 -
 srcpkgs/postgresql12-libs-devel               |   1 -
 srcpkgs/postgresql12-plperl                   |   1 -
 srcpkgs/postgresql12-plpython                 |   1 -
 srcpkgs/postgresql12-pltcl                    |   1 -
 srcpkgs/postgresql12/files/pg_config.sh.in    | 143 -----------
 srcpkgs/postgresql12/files/postgresql.confd   |  17 --
 srcpkgs/postgresql12/files/postgresql.pam     |   3 -
 .../postgresql12/files/postgresql12/control/t |   2 -
 .../postgresql12/files/postgresql12/log/run   |   2 -
 srcpkgs/postgresql12/files/postgresql12/run   |  24 --
 srcpkgs/postgresql12/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  46 ----
 srcpkgs/postgresql12/patches/relocate.patch   |  22 --
 srcpkgs/postgresql12/template                 | 227 ------------------
 srcpkgs/postgresql12/update                   |   2 -
 19 files changed, 510 deletions(-)
 delete mode 120000 srcpkgs/postgresql12-client
 delete mode 120000 srcpkgs/postgresql12-contrib
 delete mode 120000 srcpkgs/postgresql12-doc
 delete mode 120000 srcpkgs/postgresql12-libs
 delete mode 120000 srcpkgs/postgresql12-libs-devel
 delete mode 120000 srcpkgs/postgresql12-plperl
 delete mode 120000 srcpkgs/postgresql12-plpython
 delete mode 120000 srcpkgs/postgresql12-pltcl
 delete mode 100644 srcpkgs/postgresql12/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/control/t
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/log/run
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/run
 delete mode 100644 srcpkgs/postgresql12/files/profile.sh
 delete mode 100644 srcpkgs/postgresql12/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql12/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql12/template
 delete mode 100644 srcpkgs/postgresql12/update

diff --git a/srcpkgs/postgresql12-client b/srcpkgs/postgresql12-client
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-contrib b/srcpkgs/postgresql12-contrib
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-doc b/srcpkgs/postgresql12-doc
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs b/srcpkgs/postgresql12-libs
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs-devel b/srcpkgs/postgresql12-libs-devel
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plperl b/srcpkgs/postgresql12-plperl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plpython b/srcpkgs/postgresql12-plpython
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-pltcl b/srcpkgs/postgresql12-pltcl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12/files/pg_config.sh.in b/srcpkgs/postgresql12/files/pg_config.sh.in
deleted file mode 100644
index 3d20d215d0b3..000000000000
--- a/srcpkgs/postgresql12/files/pg_config.sh.in
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-# Released to Public Domain by Doan Tran Cong Danh
-
-print() {
-	printf '%s\n' "$@"
-}
-
-sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
-
-BINDIR="$sysroot/@PREFIX@/bin"
-DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-INCLUDEDIR="$sysroot/usr/include"
-PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
-INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
-LIBDIR="$sysroot/@PREFIX@/lib"
-PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
-LOCALEDIR="$sysroot/@PREFIX@/share/locale"
-MANDIR="$sysroot/@PREFIX@/share/man"
-SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
-SYSCONFDIR="$sysroot/@PREFIX@/etc/postgresql"
-PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
-
-CONFIGURE="@configure_args@"
-CC="@CC@"
-CPPFLAGS="@CPPFLAGS@"
-CFLAGS="@CFLAGS@"
-CFLAGS_SL="@CFLAGS_SL@"
-LDFLAGS="@LDFLAGS@"
-LDFLAGS_EX="@LDFLAGS_EX@"
-LDFLAGS_SL="@LDFLAGS_SL@"
-LIBS="@LIBS@"
-VERSION="PostgreSQL @FULL_VERSION@"
-
-if [ "$sysroot" != "/" ]; then
-	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
-fi
-
-usage() {
-	cat <<-EOF
-	$0 provides information about the installed version of PostgreSQL.
-
-	Usage:
-	  $0 [OPTION]...
-
-	Options:
-	  --bindir              show location of user executables
-	  --docdir              show location of documentation files
-	  --htmldir             show location of HTML documentation files
-	  --includedir          show location of C header files of the client interfaces
-	  --pkgincludedir       show location of other C header files
-	  --includedir-server   show location of C header files for the server
-	  --libdir              show location of object code libraries
-	  --pkglibdir           show location of dynamically loadable modules
-	  --localedir           show location of locale support files
-	  --mandir              show location of manual pages
-	  --sharedir            show location of architecture-independent support files
-	  --sysconfdir          show location of system-wide configuration files
-	  --pgxs                show location of extension makefile
-	  --configure           show options given to PostgreSQL was built
-	  --cc                  show CC value used when PostgreSQL was built
-	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
-	  --cflags              show CFLAGS value used when PostgreSQL was built
-	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
-	  --ldflags             show LDFLAGS value used when PostgreSQL was built
-	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
-	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
-	  --libs                show LIBS value used when PostgreSQL was built
-	  --version             show the PostgreSQL version
-	  -?, --help            show this help, then exit
-
-	With no arguments, all known items are shown.
-
-	Report bugs to <pgsql-bugs@postgresql.org>.
-	EOF
-}
-
-if test $# -eq 0; then
-	cat <<-EOF
-	BINDIR = $BINDIR
-	DOCDIR = $DOCDIR
-	HTMLDIR = $HTMLDIR
-	INCLUDEDIR = $INCLUDEDIR
-	PKGINCLUDEDIR = $PKGINCLUDEDIR
-	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
-	LIBDIR = $LIBDIR
-	PKGLIBDIR = $PKGLIBDIR
-	LOCALEDIR = $LOCALEDIR
-	MANDIR = $MANDIR
-	SHAREDIR = $SHAREDIR
-	SYSCONFDIR = $SYSCONFDIR
-	PGXS = $PGXS
-	CONFIGURE = $CONFIGURE
-	CC = $CC
-	CPPFLAGS = $CPPFLAGS
-	CFLAGS = $CFLAGS
-	CFLAGS_SL = $CFLAGS_SL
-	LDFLAGS = $LDFLAGS
-	LDFLAGS_EX = $LDFLAGS_EX
-	LDFLAGS_SL = $LDFLAGS_SL
-	LIBS = $LIBS
-	VERSION = $VERSION
-	EOF
-fi
-
-for arg
-do
-	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
-		usage
-		exit 0
-	fi
-done
-
-for arg
-do
-	case "$arg" in
-	--bindir) print "$BINDIR" ;;
-	--docdir) print "$DOCDIR" ;;
-	--htmldir) print "$HTMLDIR" ;;
-	--includedir) print "$INCLUDEDIR" ;;
-	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
-	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
-	--libdir) print "$LIBDIR" ;;
-	--pkglibdir) print "$PKGLIBDIR" ;;
-	--localedir) print "$LOCALEDIR" ;;
-	--mandir) print "$MANDIR" ;;
-	--sharedir) print "$SHAREDIR" ;;
-	--sysconfdir) print "$SYSCONFDIR" ;;
-	--pgxs) print "$PGXS" ;;
-	--configure) print "$CONFIGURE" ;;
-	--cc) print "$CC" ;;
-	--cppflags) print "$CPPFLAGS" ;;
-	--cflags) print "$CFLAGS" ;;
-	--cflags_sl) print "$CFLAGS_SL" ;;
-	--ldflags) print "$LDFLAGS" ;;
-	--ldflags_ex) print "$LDFLAGS_EX" ;;
-	--ldflags_sl) print "$LDFLAGS_SL" ;;
-	--libs) print "$LIBS" ;;
-	--version) print "$VERSION" ;;
-	esac
-done
diff --git a/srcpkgs/postgresql12/files/postgresql.confd b/srcpkgs/postgresql12/files/postgresql.confd
deleted file mode 100644
index fe7106626fa5..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Configuration file for the PostgreSQL server.
-
-# PostgreSQL's database directory
-PGROOT="/var/lib/postgresql@VERSION@"
-
-# PostgreSQL's log file.
-PGLOG="/var/log/postgresql@VERSION@.log"
-
-# Passed to initdb if necessary
-INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql12/files/postgresql.pam b/srcpkgs/postgresql12/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-auth		required	pam_unix.so
-account		required	pam_unix.so
-session		required	pam_unix.so
diff --git a/srcpkgs/postgresql12/files/postgresql12/control/t b/srcpkgs/postgresql12/files/postgresql12/control/t
deleted file mode 100755
index dcedfaa20180..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/control/t
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql12/files/postgresql12/log/run b/srcpkgs/postgresql12/files/postgresql12/log/run
deleted file mode 100755
index 815d9c974079..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/log/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql12/files/postgresql12/run b/srcpkgs/postgresql12/files/postgresql12/run
deleted file mode 100755
index b45c1b4ca8f7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/run
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. /@PREFIX@/etc/default/postgresql
-: ${PGDATA:="$PGROOT/data"}
-
-if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
-	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
-	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
-fi
-
-
-if [ ! -d "$PGDATA" ]; then
-	echo "Initializing database in $PGDATA"
-
-	mkdir -p "$PGDATA"
-	chown -R postgres:postgres "$PGDATA"
-	chmod 0700 "$PGDATA"
-	su - postgres -m -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
-
-	if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then
-		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
-	fi
-fi
-
-exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql12/files/profile.sh b/srcpkgs/postgresql12/files/profile.sh
deleted file mode 100644
index 54be2ca50a4f..000000000000
--- a/srcpkgs/postgresql12/files/profile.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-appendpath () {
-    case ":$PATH:" in
-        *:"$1":*)
-            ;;
-        *)
-            PATH="${PATH:+$PATH:}$1"
-    esac
-}
-
-appendpath '/@PREFIX@/bin'
-
-unset appendpath
-
-export PATH
diff --git a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch b/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
deleted file mode 100644
index 4a5fea6cc869..000000000000
--- a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Sources: Doan Tran Cong Danh
-Upstream: No
-	- First part needs to be rework in configure script to be usable
-	  upstream
-	- Second part would un-usable for Windows
-diff --git src/common/Makefile src/common/Makefile
-index ec04710..2af845f 100644
---- a/src/common/Makefile
-+++ b/src/common/Makefile
-@@ -30,11 +30,14 @@ include $(top_builddir)/src/Makefile.global
- 
- # don't include subdirectory-path-dependent -I and -L switches
- STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
-+STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
-+STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
- STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-+STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
- override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
- override CPPFLAGS += -DVAL_CC="\"$(CC)\""
- override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
--override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
-+override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
- override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
- override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
- override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
-@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
- GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
- GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
- 
--all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
-+all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
-+
-+pg_config.sh: pg_config.sh.in
-+	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
-+		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
-+		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
-+		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
-+		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
-+		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
-+		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
-+		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
-+		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
-+		$< >$@
- 
- distprep: kwlist_d.h
- 
diff --git a/srcpkgs/postgresql12/patches/relocate.patch b/srcpkgs/postgresql12/patches/relocate.patch
deleted file mode 100644
index d2cc14281e3a..000000000000
--- a/srcpkgs/postgresql12/patches/relocate.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
-Date: Sat, 18 Jan 2020 12:19:45 +0100
-Subject: [PATCH] relocate
-
-
-diff --git src/port/path.c src/port/path.c
-index 710988b..20dc57d 100644
---- a/src/port/path.c
-+++ b/src/port/path.c
-@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
- 	int			tail_len;
- 	int			i;
- 
-+	goto no_match; // we relocate only binaries
-+
- 	/*
- 	 * Determine the common prefix --- note we require it to end on a
- 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
--- 
-2.23.0
-
diff --git a/srcpkgs/postgresql12/template b/srcpkgs/postgresql12/template
deleted file mode 100644
index 1ea2e8299f1f..000000000000
--- a/srcpkgs/postgresql12/template
+++ /dev/null
@@ -1,227 +0,0 @@
-# Template file for 'postgresql12'
-pkgname=postgresql12
-version=12.8
-revision=2
-wrksrc="postgresql-${version}"
-build_style=gnu-configure
-make_build_target=world
-_major="${version%%.*}"
-_prefix="usr/lib/psql${_major}"
-configure_args="--with-openssl --with-python
- --with-pam --enable-thread-safety
- --with-perl --with-tcl --without-ldap --without-gssapi
- --without-bonjour --with-libxml --with-libxslt
- --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
-hostmakedepends="docbook2x gettext flex openjade"
-makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
- python3-devel readline-devel tcl-devel"
-short_desc="Sophisticated open-source Object-Relational DBMS"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="PostgreSQL"
-homepage="https://www.postgresql.org"
-changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
-distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
-checksum=e26401e090c34ccb15ffb33a111f340833833535a7b7c5cd11cd88ab57d9c62a
-
-conf_files="
- /${_prefix}/etc/default/postgresql
- /${_prefix}/etc/pam.d/postgresql
- /${_prefix}/etc/postgresql/postgresql.conf
-"
-
-# Create 'postgres' user for the server.
-system_accounts="postgres"
-postgres_homedir="/var/lib/postgresql"
-postgres_shell="/bin/sh"
-postgres_descr="PostgreSQL database server user"
-make_dirs="
- /var/lib/postgresql   0750 postgres postgres
- /var/lib/postgresql${_major} 0750 postgres postgres"
-
-if [ "$CROSS_BUILD" ]; then
-	configure_args+=" --without-perl --without-python --without-tcl"
-fi
-
-post_patch() {
-	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
-	_substitute src/common/pg_config.sh.in
-	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
-}
-
-pre_configure() {
-	_style_configure_args="${configure_args}"
-	configure_args=" "
-	for arg in ${_style_configure_args}; do
-		case $arg in
-			--prefix=*|*dir=*) : ;; # skip
-			*) configure_args+=" $arg"
-		esac
-	done
-	configure_args="--prefix=/${_prefix}
-	 --sysconfdir=/${_prefix}/etc
-	 --includedir=/usr/include
-	 ${configure_args}"
-}
-
-post_build() {
-	make -C contrib ${makejobs}
-}
-
-pre_check() {
-	ln -sr tmp_install/${_prefix} /${_prefix%/*}
-}
-
-post_install() {
-	vmkdir usr/share/man
-	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
-	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
-		mv $i ${i%.*}-${_major}.${i##*.}
-	done
-	vmkdir ${_prefix}/share/doc
-	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
-	vsv ${pkgname}
-	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
-	vlicense COPYRIGHT
-
-	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
-	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
-	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
-	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
-		644 ${_prefix}/etc/postgresql postgresql.conf
-	vbin src/common/pg_config.sh
-
-	vsed -i 's/install_bin = .*/install_bin = install/g' \
-		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
-}
-
-_substitute() {
-	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
-}
-
-postgresql12-doc_package() {
-	short_desc="PostgreSQL documentation"
-	pkg_install() {
-		vmove ${_prefix}/share/doc
-	}
-}
-
-postgresql12-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0"
-	pkg_install() {
-		vmove "${_prefix}/lib/*.so*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		    -type f -name libpq5\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
-	}
-}
-
-postgresql12-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0"
-	pkg_install() {
-		vmkdir usr/bin
-		vmkdir usr/lib
-		for f in pg_config ecpg; do
-			vmove ${_prefix}/bin/${f}
-			vmove "usr/share/man/man1/$(basename ${f})*"
-			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
-		done
-		vmove usr/bin/pg_config.sh
-		vmove usr/include
-		vmove "${_prefix}/lib/*.a"
-		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
-		vmove usr/share/man/man3
-		vmove ${_prefix}/lib/postgresql/pgxs
-		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
-			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
-		done
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pg_config\* -o -name ecpg\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-# XXX disabled for now in cross builds.
-if [ -z "$CROSS_BUILD" ]; then
-
-postgresql12-plperl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Perl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plperl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plperl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-plpython_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Python procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plpython*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plpython\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-pltcl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Tcl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/pltcl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pltcl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-fi # !CROSS_BUILD
-
-postgresql12-client_package() {
-	short_desc="Client frontends programs for PostgreSQL"
-	pkg_install() {
-		for f in clusterdb createdb createuser dropdb \
-			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
-			vacuumdb; do
-			vmove ${_prefix}/bin/${f}
-			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
-		done
-		vmove usr/share/man/man7
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pgscripts\* -o \
-			   -name psql\* -o \
-			   -name pg_dump\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
-			${PKGDESTDIR}/${_prefix}/share
-		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
-	}
-}
-
-postgresql12-contrib_package() {
-	short_desc="PostgreSQL contributed programs and extensions"
-	pkg_install() {
-		make -C contrib install DESTDIR=${PKGDESTDIR}
-	}
-}
diff --git a/srcpkgs/postgresql12/update b/srcpkgs/postgresql12/update
deleted file mode 100644
index 3f99ada53bea..000000000000
--- a/srcpkgs/postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K12[\d.]+(?!\w)"

From aa94c249db18f10ebbb5fbc9724cc7c78dd202e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 3/6] New package: postgresql14

---
 common/shlibs                                 |   8 +-
 srcpkgs/postgresql-libs                       |   2 +-
 srcpkgs/postgresql-libs-devel                 |   2 +-
 srcpkgs/postgresql14-client                   |   1 +
 srcpkgs/postgresql14-contrib                  |   1 +
 srcpkgs/postgresql14-doc                      |   1 +
 srcpkgs/postgresql14-plperl                   |   1 +
 srcpkgs/postgresql14-plpython                 |   1 +
 srcpkgs/postgresql14-pltcl                    |   1 +
 srcpkgs/postgresql14/files/pg_config.sh.in    | 143 +++++++++++
 srcpkgs/postgresql14/files/postgresql.confd   |  17 ++
 srcpkgs/postgresql14/files/postgresql.pam     |   3 +
 .../postgresql14/files/postgresql14/control/t |   2 +
 .../postgresql14/files/postgresql14/log/run   |   2 +
 srcpkgs/postgresql14/files/postgresql14/run   |  27 +++
 srcpkgs/postgresql14/files/profile.sh         |  14 ++
 .../patches/pg_config-cross-value.patch       |  45 ++++
 srcpkgs/postgresql14/patches/relocate.patch   |  22 ++
 srcpkgs/postgresql14/template                 | 228 ++++++++++++++++++
 srcpkgs/postgresql14/update                   |   2 +
 20 files changed, 517 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/postgresql14-client
 create mode 120000 srcpkgs/postgresql14-contrib
 create mode 120000 srcpkgs/postgresql14-doc
 create mode 120000 srcpkgs/postgresql14-plperl
 create mode 120000 srcpkgs/postgresql14-plpython
 create mode 120000 srcpkgs/postgresql14-pltcl
 create mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 create mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 create mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/log/run
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 create mode 100644 srcpkgs/postgresql14/files/profile.sh
 create mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 create mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 create mode 100644 srcpkgs/postgresql14/template
 create mode 100644 srcpkgs/postgresql14/update

diff --git a/common/shlibs b/common/shlibs
index 23ad6e9c0600..c0cb9e094e36 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -553,10 +553,10 @@ libKF5PurposeWidgets.so.5 purpose-5.48.0_1
 libKF5Purpose.so.5 purpose-5.48.0_1
 libKF5PulseAudioQt.so.3 pulseaudio-qt-1.3_1
 libReviewboardHelpers.so.5 purpose-5.48.0_1
-libecpg_compat.so.3 postgresql-libs-13.2_2
-libecpg.so.6 postgresql-libs-13.2_2
-libpgtypes.so.3 postgresql-libs-13.2_2
-libpq.so.5 postgresql-libs-13.2_2
+libecpg_compat.so.3 postgresql-libs-14.0_1
+libecpg.so.6 postgresql-libs-14.0_1
+libpgtypes.so.3 postgresql-libs-14.0_1
+libpq.so.5 postgresql-libs-14.0_1
 libmypaint.so.0 libmypaint-1.6.1_1
 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1
 libgssrpc.so.4 mit-krb5-libs-1.8_1
diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-client
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-contrib
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-doc
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plperl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plpython
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-pltcl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14/files/pg_config.sh.in b/srcpkgs/postgresql14/files/pg_config.sh.in
new file mode 100644
index 000000000000..68068a82e01e
--- /dev/null
+++ b/srcpkgs/postgresql14/files/pg_config.sh.in
@@ -0,0 +1,143 @@
+#!/bin/sh
+# Released to Public Domain by Doan Tran Cong Danh
+
+print() {
+	printf '%s\n' "$@"
+}
+
+sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
+
+BINDIR="$sysroot/@PREFIX@/bin"
+DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+INCLUDEDIR="$sysroot/usr/include"
+PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
+INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
+LIBDIR="$sysroot/@PREFIX@/lib"
+PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
+LOCALEDIR="$sysroot/@PREFIX@/share/locale"
+MANDIR="$sysroot/@PREFIX@/share/man"
+SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
+SYSCONFDIR="$sysroot/etc/psql@VERSION@/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql14/files/postgresql.confd b/srcpkgs/postgresql14/files/postgresql.confd
new file mode 100644
index 000000000000..fe7106626fa5
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.confd
@@ -0,0 +1,17 @@
+# Configuration file for the PostgreSQL server.
+
+# PostgreSQL's database directory
+PGROOT="/var/lib/postgresql@VERSION@"
+
+# PostgreSQL's log file.
+PGLOG="/var/log/postgresql@VERSION@.log"
+
+# Passed to initdb if necessary
+INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of these options
+# can be set directly in the configuration-file.
+#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
new file mode 100644
index 000000000000..53724d1f86a7
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.pam
@@ -0,0 +1,3 @@
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
diff --git a/srcpkgs/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
new file mode 100755
index 000000000000..dcedfaa20180
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/control/t
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql14/files/postgresql14/log/run b/srcpkgs/postgresql14/files/postgresql14/log/run
new file mode 100755
index 000000000000..815d9c974079
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
new file mode 100755
index 000000000000..3aee9440e847
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /etc/psql@VERSION@/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || exit 1
+	chown -R postgres:postgres "$PGDATA"
+	chmod 0700 "$PGDATA"
+	su - postgres -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" 2>&1 || {
+		rm -fr "$PGDATA"
+		exit 1
+	}
+
+	if [ -f /etc/psql@VERSION@/postgresql/postgresql.conf ]; then
+		ln -sf /etc/psql@VERSION@/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql14/files/profile.sh b/srcpkgs/postgresql14/files/profile.sh
new file mode 100644
index 000000000000..54be2ca50a4f
--- /dev/null
+++ b/srcpkgs/postgresql14/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
new file mode 100644
index 000000000000..cc0a9fc19133
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
@@ -0,0 +1,45 @@
+Sources: Doan Tran Cong Danh
+Upstream: No
+	- First part needs to be rework in configure script to be usable
+	  upstream
+	- Second part would un-usable for Windows
+diff --git src/common/Makefile src/common/Makefile
+index ec04710..2af845f 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -30,10 +30,13 @@ include $(top_builddir)/src/Makefile.global
+ 
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
++STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
++STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
++STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
+ override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+ override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
++override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
+ GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
+ GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
+ 
+-all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
++all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
++
++pg_config.sh: pg_config.sh.in
++	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
++		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
++		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
++		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
++		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
++		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
++		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
++		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
++		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
++		$< >$@
+ 
+ distprep: kwlist_d.h
+ 
diff --git a/srcpkgs/postgresql14/patches/relocate.patch b/srcpkgs/postgresql14/patches/relocate.patch
new file mode 100644
index 000000000000..d2cc14281e3a
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/relocate.patch
@@ -0,0 +1,22 @@
+From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
+Date: Sat, 18 Jan 2020 12:19:45 +0100
+Subject: [PATCH] relocate
+
+
+diff --git src/port/path.c src/port/path.c
+index 710988b..20dc57d 100644
+--- a/src/port/path.c
++++ b/src/port/path.c
+@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
+ 	int			tail_len;
+ 	int			i;
+ 
++	goto no_match; // we relocate only binaries
++
+ 	/*
+ 	 * Determine the common prefix --- note we require it to end on a
+ 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
+-- 
+2.23.0
+
diff --git a/srcpkgs/postgresql14/template b/srcpkgs/postgresql14/template
new file mode 100644
index 000000000000..dafb3225d4bf
--- /dev/null
+++ b/srcpkgs/postgresql14/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql14'
+pkgname=postgresql14
+version=14.0
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+_sysconfdir="etc/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+short_desc="Sophisticated open-source Object-Relational DBMS"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="PostgreSQL"
+homepage="https://www.postgresql.org"
+changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
+distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
+checksum=ee2ad79126a7375e9102c4db77c4acae6ae6ffe3e082403b88826d96d927a122
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_sysconfdir}
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_sysconfdir}/default postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_sysconfdir}/pam.d postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_sysconfdir}/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql14-doc_package() {
+	short_desc="PostgreSQL documentation"
+	pkg_install() {
+		vmove ${_prefix}/share/doc
+	}
+}
+
+postgresql-libs_package() {
+	short_desc="PostgreSQL shared libraries"
+	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0"
+	pkg_install() {
+		vmkdir usr/bin
+		vmkdir usr/lib
+		for f in pg_config ecpg; do
+			vmove ${_prefix}/bin/${f}
+			vmove "usr/share/man/man1/$(basename ${f})*"
+			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
+		done
+		vmove usr/bin/pg_config.sh
+		vmove usr/include
+		vmove "${_prefix}/lib/*.a"
+		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
+		vmove usr/share/man/man3
+		vmove ${_prefix}/lib/postgresql/pgxs
+		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
+			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
+		done
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pg_config\* -o -name ecpg\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+# XXX disabled for now in cross builds.
+if [ -z "$CROSS_BUILD" ]; then
+
+postgresql14-plperl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Perl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plperl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plperl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-plpython_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Python procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plpython*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plpython\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-pltcl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Tcl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/pltcl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pltcl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+fi # !CROSS_BUILD
+
+postgresql14-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	pkg_install() {
+		for f in clusterdb createdb createuser dropdb \
+			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
+			vacuumdb; do
+			vmove ${_prefix}/bin/${f}
+			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
+		done
+		vmove usr/share/man/man7
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pgscripts\* -o \
+			   -name psql\* -o \
+			   -name pg_dump\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
+			${PKGDESTDIR}/${_prefix}/share
+		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
+	}
+}
+
+postgresql14-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
new file mode 100644
index 000000000000..160ccf143338
--- /dev/null
+++ b/srcpkgs/postgresql14/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From b3a0b28022343747a792fb55b4c32ec7235feca5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 4/6] New package: postgresql13-libs-13.4

---
 srcpkgs/postgresql13-libs       | 1 +
 srcpkgs/postgresql13-libs-devel | 1 +
 srcpkgs/postgresql13/template   | 6 +++---
 3 files changed, 5 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/postgresql13-libs
 create mode 120000 srcpkgs/postgresql13-libs-devel

diff --git a/srcpkgs/postgresql13-libs b/srcpkgs/postgresql13-libs
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-libs-devel b/srcpkgs/postgresql13-libs-devel
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs-devel
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/template b/srcpkgs/postgresql13/template
index 5c4d35639140..b98d277c8c22 100644
--- a/srcpkgs/postgresql13/template
+++ b/srcpkgs/postgresql13/template
@@ -108,7 +108,7 @@ postgresql13-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
+postgresql13-libs_package() {
 	short_desc="PostgreSQL shared libraries"
 	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0"
 	pkg_install() {
@@ -122,8 +122,8 @@ postgresql-libs_package() {
 	}
 }
 
-postgresql-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
+postgresql13-libs-devel_package() {
+	depends="postgresql13-libs>=${version}_${revision}"
 	short_desc="PostgreSQL shared libraries (development files)"
 	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
 	pkg_install() {

From a67e6dcb7ab2aacf4a86d4f70d02eb141bc86e12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 5/6] postgis-postgresql13: build with postgresql13-libs

---
 srcpkgs/postgis-postgresql13/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
index afa6432adb7e..706c8fb96810 100644
--- a/srcpkgs/postgis-postgresql13/template
+++ b/srcpkgs/postgis-postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql13'
 pkgname=postgis-postgresql13
 version=3.1.4
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql13-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql13-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From 2f0832ff12a7401f8e476df7dee204a23a02f3da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 6/6] New package: postgis-postgresql14-3.1.4

---
 srcpkgs/postgis-postgresql14/template | 33 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql14/update   |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql14/template
 create mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
new file mode 100644
index 000000000000..6ce4231b1726
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/template
@@ -0,0 +1,33 @@
+# Template file for 'postgis-postgresql14'
+pkgname=postgis-postgresql14
+version=3.1.4
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+checkdepends="libxslt CUnit-devel"
+short_desc="Spatial database extender for PostgreSQL"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="GPL-2.0-or-later"
+homepage="https://postgis.net/"
+changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
+distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
+checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
+
+pre_check() {
+	# regression tests require running postgresql
+	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
+}
diff --git a/srcpkgs/postgis-postgresql14/update b/srcpkgs/postgis-postgresql14/update
new file mode 100644
index 000000000000..dc7538d851a9
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
  2021-10-26 18:14 ` [PR PATCH] [Updated] " Chocimier
@ 2021-12-09 16:49 ` TinfoilSubmarine
  2021-12-09 17:02 ` Chocimier
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: TinfoilSubmarine @ 2021-12-09 16:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 621 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-990030013

Comment:
Hi there! I'm testing this out right now, actually bumped it up to 14.1. I had to migrate using `pg_dumpall` instead of `pg_upgrade`. I saw there was some history in https://github.com/void-linux/void-packages/issues/243 about installing multiple versions at once so that `pg_upgrade` could be used, but it seems like that cannot be done anymore due to `postgresql-libs` version needing to match the major version of postgresql installed. Maybe I'm doing something wrong?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
  2021-10-26 18:14 ` [PR PATCH] [Updated] " Chocimier
  2021-12-09 16:49 ` TinfoilSubmarine
@ 2021-12-09 17:02 ` Chocimier
  2021-12-09 18:38 ` TinfoilSubmarine
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-09 17:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 588 bytes --]

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-990041746

Comment:
> |pg_upgrade| could be used, but it seems like that cannot be done anymore due to |postgresql-libs| version needing to match the major version of postgresql installed.

That's something new. It worked for 9.6 -> 12 and 12 -> 13 with simple database, and IIRC 13 -> 14 was tested as well.

In fact, I didn't merge yet because I'm not sure anymore if setup with independent version of postgresql-libs is valid.

Can you say more about your case?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (2 preceding siblings ...)
  2021-12-09 17:02 ` Chocimier
@ 2021-12-09 18:38 ` TinfoilSubmarine
  2021-12-09 18:46 ` Chocimier
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: TinfoilSubmarine @ 2021-12-09 18:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 5137 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-990119554

Comment:
My system has `postgresql13` and `postgresql13-client` (and `postgresql-libs-13.5_1` as dependency).

I ran `./xbps-src pkg postgresql14 -K` and afterwards `xi postgresql14` and it spits out the following dependency error:
```
postgresql-libs-14.1_1 in transaction breaks installed pkg `postgresql13-13.5_1'
postgresql-libs-14.1_1 in transaction breaks installed pkg `postgresql13-client-13.5_1'
Transaction aborted due to unresolved dependencies
```
I did find an interesting error when mucking around with this in a (completely fresh) chroot:
```
$ ./xbps-src chroot
=> xbps-src: updating repositories for host (x86_64)...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/nonfree/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/debug/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/multilib/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/multilib/nonfree/x86_64-repodata' ...
[joel@/home/joel/repos/void-packages/masterdir /]$ xbps-install postgresql13 postgresql14

Name            Action    Version           New version            Download size
icu-libs        install   -                 69.1_2                 11MB 
libxml2         install   -                 2.9.10_5               662KB 
pam-libs        install   -                 1.5.2_1                35KB 
postgresql13    install   -                 13.5_1                 6612KB 
postgresql-libs install   -                 14.1_1                 - 
postgresql14    install   -                 14.1_1                 - 

Size to download:               19MB
Size required on disk:          84MB
Space available on disk:       310GB

Do you want to continue? [Y/n] y

[*] Downloading packages
icu-libs-69.1_2.x86_64.xbps.sig: 512B [avg rate: 15MB/s]
icu-libs-69.1_2.x86_64.xbps: 11MB [avg rate: 76KB/s]
icu-libs-69.1_2: verifying RSA signature...
libxml2-2.9.10_5.x86_64.xbps.sig: 512B [avg rate: 16MB/s]
libxml2-2.9.10_5.x86_64.xbps: 662KB [avg rate: 59KB/s]
libxml2-2.9.10_5: verifying RSA signature...
pam-libs-1.5.2_1.x86_64.xbps.sig: 512B [avg rate: 15MB/s]
pam-libs-1.5.2_1.x86_64.xbps: 35KB [avg rate: 130KB/s]
pam-libs-1.5.2_1: verifying RSA signature...
postgresql13-13.5_1.x86_64.xbps.sig: 512B [avg rate: 14MB/s]
postgresql13-13.5_1.x86_64.xbps: 6612KB [avg rate: 68KB/s]
postgresql13-13.5_1: verifying RSA signature...

[*] Verifying package integrity
postgresql-libs-14.1_1: verifying SHA256 hash...
postgresql14-14.1_1: verifying SHA256 hash...

[*] Collecting package files
icu-libs-69.1_2: collecting files...
libxml2-2.9.10_5: collecting files...
pam-libs-1.5.2_1: collecting files...
postgresql13-13.5_1: collecting files...
postgresql-libs-14.1_1: collecting files...
postgresql14-14.1_1: collecting files...

[*] Unpacking packages
icu-libs-69.1_2: unpacking ...
libxml2-2.9.10_5: unpacking ...
pam-libs-1.5.2_1: unpacking ...
postgresql13-13.5_1: unpacking ...
postgresql-libs-14.1_1: unpacking ...
postgresql14-14.1_1: unpacking ...

[*] Configuring unpacked packages
icu-libs-69.1_2: configuring ...
icu-libs-69.1_2: installed successfully.
libxml2-2.9.10_5: configuring ...
libxml2-2.9.10_5: installed successfully.
pam-libs-1.5.2_1: configuring ...
pam-libs-1.5.2_1: installed successfully.
postgresql13-13.5_1: configuring ...
WARNING: cannot create postgres system account (missing useradd or usermod)
The following system account must be created:
   Account: postgres
   Description: 'PostgreSQL database server user'
   Homedir: '/var/lib/postgresql'
   Shell: '/bin/sh'
chown: invalid user: ‘postgres:postgres’
Failed to set perms 0750 postgres:postgres to ./var/lib/postgresql!
chown: invalid user: ‘postgres:postgres’
Failed to set perms 0750 postgres:postgres to ./var/lib/postgresql13!
postgresql13-13.5_1: installed successfully.
postgresql-libs-14.1_1: configuring ...
postgresql-libs-14.1_1: installed successfully.
postgresql14-14.1_1: configuring ...
WARNING: cannot create postgres system account (missing useradd or usermod)
The following system account must be created:
   Account: postgres
   Description: 'PostgreSQL database server user'
   Homedir: '/var/lib/postgresql'
   Shell: '/bin/sh'
chown: invalid user: ‘postgres:postgres’
Failed to set perms 0750 postgres:postgres to ./var/lib/postgresql!
chown: invalid user: ‘postgres:postgres’
Failed to set perms 0750 postgres:postgres to ./var/lib/postgresql14!
postgresql14-14.1_1: installed successfully.

4 downloaded, 6 installed, 0 updated, 6 configured, 0 removed.
```
I'm honestly still trying to wrap my head around the dependency situation here. I tried to build postgresql13 again to include `postgresql13-libs`, but it gives the same results afterwards as well.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (3 preceding siblings ...)
  2021-12-09 18:38 ` TinfoilSubmarine
@ 2021-12-09 18:46 ` Chocimier
  2021-12-09 19:33 ` TinfoilSubmarine
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-09 18:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 310 bytes --]

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-990125228

Comment:
You should first rebuild both 13 and 14 from this branch, do system upgrade, and then install 14.

Chroot is not multiuser, so failure to create accounts is expected.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (4 preceding siblings ...)
  2021-12-09 18:46 ` Chocimier
@ 2021-12-09 19:33 ` TinfoilSubmarine
  2021-12-13 22:43 ` [PR PATCH] [Updated] " Chocimier
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: TinfoilSubmarine @ 2021-12-09 19:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 694 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-990167774

Comment:
I wasn't actually pointing to the failure to create user, but rather the fact that when installing postgresql13/14 simultaneously it does not error due to `postgresql-libs`. Regardless, I think this is fixed by your suggestion. However, I did need to bump the revision on `postgresql13` for my system to actually upgrade.

One issue though: when I remove `postgresql13` it disables the `postgres` user even though `postgresql14` is installed, which uses that user. Is this an XBPS error when multiple packages are trying to use the same user?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (5 preceding siblings ...)
  2021-12-09 19:33 ` TinfoilSubmarine
@ 2021-12-13 22:43 ` Chocimier
  2021-12-18 14:03 ` Chocimier
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-13 22:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 350 bytes --]

There is an updated pull request by Chocimier against master on the void-packages repository

https://github.com/Chocimier/void-packages-org postgresql14
https://github.com/void-linux/void-packages/pull/33195

[wip] add postgresql14, remove postgresql12
None

A patch file from https://github.com/void-linux/void-packages/pull/33195.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-postgresql14-33195.patch --]
[-- Type: text/x-diff, Size: 56313 bytes --]

From df23c0835e785b412c4d172619cd0ef9538c72ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 1/6] postgis-postgresql12: remove

---
 srcpkgs/postgis-postgresql12/template | 33 ---------------------------
 srcpkgs/postgis-postgresql12/update   |  2 --
 2 files changed, 35 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql12/template
 delete mode 100644 srcpkgs/postgis-postgresql12/update

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
deleted file mode 100644
index f801d76f0324..000000000000
--- a/srcpkgs/postgis-postgresql12/template
+++ /dev/null
@@ -1,33 +0,0 @@
-# Template file for 'postgis-postgresql12'
-pkgname=postgis-postgresql12
-version=3.1.4
-revision=1
-wrksrc="postgis-${version}"
-build_style=gnu-configure
-configure_args="
- --with-projdir=${XBPS_CROSS_BASE}/usr
- --with-jsondir=${XBPS_CROSS_BASE}/usr
- --with-protobufdir=${XBPS_CROSS_BASE}/usr
- --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
-hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql12-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
- proj-devel protobuf-c-devel pcre-devel json-c-devel"
-checkdepends="libxslt CUnit-devel"
-short_desc="Spatial database extender for PostgreSQL"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="GPL-2.0-or-later"
-homepage="https://postgis.net/"
-changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
-distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
-nocross="FIXME: Cannot run test program to determine PROJ version"
-
-pre_configure() {
-	./autogen.sh
-}
-
-pre_check() {
-	# regression tests require running postgresql
-	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
-}
diff --git a/srcpkgs/postgis-postgresql12/update b/srcpkgs/postgis-postgresql12/update
deleted file mode 100644
index dc7538d851a9..000000000000
--- a/srcpkgs/postgis-postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha*"

From 5d2a9e40b22845b916a9f8c79ef2a52d893dc598 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 2/6] postgresql12: remove

---
 srcpkgs/postgresql12-client                   |   1 -
 srcpkgs/postgresql12-contrib                  |   1 -
 srcpkgs/postgresql12-doc                      |   1 -
 srcpkgs/postgresql12-libs                     |   1 -
 srcpkgs/postgresql12-libs-devel               |   1 -
 srcpkgs/postgresql12-plperl                   |   1 -
 srcpkgs/postgresql12-plpython                 |   1 -
 srcpkgs/postgresql12-pltcl                    |   1 -
 srcpkgs/postgresql12/files/pg_config.sh.in    | 143 -----------
 srcpkgs/postgresql12/files/postgresql.confd   |  17 --
 srcpkgs/postgresql12/files/postgresql.pam     |   3 -
 .../postgresql12/files/postgresql12/control/t |   2 -
 .../postgresql12/files/postgresql12/log/run   |   2 -
 srcpkgs/postgresql12/files/postgresql12/run   |  24 --
 srcpkgs/postgresql12/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  46 ----
 srcpkgs/postgresql12/patches/relocate.patch   |  22 --
 srcpkgs/postgresql12/template                 | 227 ------------------
 srcpkgs/postgresql12/update                   |   2 -
 19 files changed, 510 deletions(-)
 delete mode 120000 srcpkgs/postgresql12-client
 delete mode 120000 srcpkgs/postgresql12-contrib
 delete mode 120000 srcpkgs/postgresql12-doc
 delete mode 120000 srcpkgs/postgresql12-libs
 delete mode 120000 srcpkgs/postgresql12-libs-devel
 delete mode 120000 srcpkgs/postgresql12-plperl
 delete mode 120000 srcpkgs/postgresql12-plpython
 delete mode 120000 srcpkgs/postgresql12-pltcl
 delete mode 100644 srcpkgs/postgresql12/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/control/t
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/log/run
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/run
 delete mode 100644 srcpkgs/postgresql12/files/profile.sh
 delete mode 100644 srcpkgs/postgresql12/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql12/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql12/template
 delete mode 100644 srcpkgs/postgresql12/update

diff --git a/srcpkgs/postgresql12-client b/srcpkgs/postgresql12-client
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-contrib b/srcpkgs/postgresql12-contrib
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-doc b/srcpkgs/postgresql12-doc
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs b/srcpkgs/postgresql12-libs
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs-devel b/srcpkgs/postgresql12-libs-devel
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plperl b/srcpkgs/postgresql12-plperl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plpython b/srcpkgs/postgresql12-plpython
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-pltcl b/srcpkgs/postgresql12-pltcl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12/files/pg_config.sh.in b/srcpkgs/postgresql12/files/pg_config.sh.in
deleted file mode 100644
index 3d20d215d0b3..000000000000
--- a/srcpkgs/postgresql12/files/pg_config.sh.in
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-# Released to Public Domain by Doan Tran Cong Danh
-
-print() {
-	printf '%s\n' "$@"
-}
-
-sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
-
-BINDIR="$sysroot/@PREFIX@/bin"
-DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-INCLUDEDIR="$sysroot/usr/include"
-PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
-INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
-LIBDIR="$sysroot/@PREFIX@/lib"
-PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
-LOCALEDIR="$sysroot/@PREFIX@/share/locale"
-MANDIR="$sysroot/@PREFIX@/share/man"
-SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
-SYSCONFDIR="$sysroot/@PREFIX@/etc/postgresql"
-PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
-
-CONFIGURE="@configure_args@"
-CC="@CC@"
-CPPFLAGS="@CPPFLAGS@"
-CFLAGS="@CFLAGS@"
-CFLAGS_SL="@CFLAGS_SL@"
-LDFLAGS="@LDFLAGS@"
-LDFLAGS_EX="@LDFLAGS_EX@"
-LDFLAGS_SL="@LDFLAGS_SL@"
-LIBS="@LIBS@"
-VERSION="PostgreSQL @FULL_VERSION@"
-
-if [ "$sysroot" != "/" ]; then
-	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
-fi
-
-usage() {
-	cat <<-EOF
-	$0 provides information about the installed version of PostgreSQL.
-
-	Usage:
-	  $0 [OPTION]...
-
-	Options:
-	  --bindir              show location of user executables
-	  --docdir              show location of documentation files
-	  --htmldir             show location of HTML documentation files
-	  --includedir          show location of C header files of the client interfaces
-	  --pkgincludedir       show location of other C header files
-	  --includedir-server   show location of C header files for the server
-	  --libdir              show location of object code libraries
-	  --pkglibdir           show location of dynamically loadable modules
-	  --localedir           show location of locale support files
-	  --mandir              show location of manual pages
-	  --sharedir            show location of architecture-independent support files
-	  --sysconfdir          show location of system-wide configuration files
-	  --pgxs                show location of extension makefile
-	  --configure           show options given to PostgreSQL was built
-	  --cc                  show CC value used when PostgreSQL was built
-	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
-	  --cflags              show CFLAGS value used when PostgreSQL was built
-	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
-	  --ldflags             show LDFLAGS value used when PostgreSQL was built
-	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
-	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
-	  --libs                show LIBS value used when PostgreSQL was built
-	  --version             show the PostgreSQL version
-	  -?, --help            show this help, then exit
-
-	With no arguments, all known items are shown.
-
-	Report bugs to <pgsql-bugs@postgresql.org>.
-	EOF
-}
-
-if test $# -eq 0; then
-	cat <<-EOF
-	BINDIR = $BINDIR
-	DOCDIR = $DOCDIR
-	HTMLDIR = $HTMLDIR
-	INCLUDEDIR = $INCLUDEDIR
-	PKGINCLUDEDIR = $PKGINCLUDEDIR
-	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
-	LIBDIR = $LIBDIR
-	PKGLIBDIR = $PKGLIBDIR
-	LOCALEDIR = $LOCALEDIR
-	MANDIR = $MANDIR
-	SHAREDIR = $SHAREDIR
-	SYSCONFDIR = $SYSCONFDIR
-	PGXS = $PGXS
-	CONFIGURE = $CONFIGURE
-	CC = $CC
-	CPPFLAGS = $CPPFLAGS
-	CFLAGS = $CFLAGS
-	CFLAGS_SL = $CFLAGS_SL
-	LDFLAGS = $LDFLAGS
-	LDFLAGS_EX = $LDFLAGS_EX
-	LDFLAGS_SL = $LDFLAGS_SL
-	LIBS = $LIBS
-	VERSION = $VERSION
-	EOF
-fi
-
-for arg
-do
-	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
-		usage
-		exit 0
-	fi
-done
-
-for arg
-do
-	case "$arg" in
-	--bindir) print "$BINDIR" ;;
-	--docdir) print "$DOCDIR" ;;
-	--htmldir) print "$HTMLDIR" ;;
-	--includedir) print "$INCLUDEDIR" ;;
-	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
-	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
-	--libdir) print "$LIBDIR" ;;
-	--pkglibdir) print "$PKGLIBDIR" ;;
-	--localedir) print "$LOCALEDIR" ;;
-	--mandir) print "$MANDIR" ;;
-	--sharedir) print "$SHAREDIR" ;;
-	--sysconfdir) print "$SYSCONFDIR" ;;
-	--pgxs) print "$PGXS" ;;
-	--configure) print "$CONFIGURE" ;;
-	--cc) print "$CC" ;;
-	--cppflags) print "$CPPFLAGS" ;;
-	--cflags) print "$CFLAGS" ;;
-	--cflags_sl) print "$CFLAGS_SL" ;;
-	--ldflags) print "$LDFLAGS" ;;
-	--ldflags_ex) print "$LDFLAGS_EX" ;;
-	--ldflags_sl) print "$LDFLAGS_SL" ;;
-	--libs) print "$LIBS" ;;
-	--version) print "$VERSION" ;;
-	esac
-done
diff --git a/srcpkgs/postgresql12/files/postgresql.confd b/srcpkgs/postgresql12/files/postgresql.confd
deleted file mode 100644
index fe7106626fa5..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Configuration file for the PostgreSQL server.
-
-# PostgreSQL's database directory
-PGROOT="/var/lib/postgresql@VERSION@"
-
-# PostgreSQL's log file.
-PGLOG="/var/log/postgresql@VERSION@.log"
-
-# Passed to initdb if necessary
-INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql12/files/postgresql.pam b/srcpkgs/postgresql12/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-auth		required	pam_unix.so
-account		required	pam_unix.so
-session		required	pam_unix.so
diff --git a/srcpkgs/postgresql12/files/postgresql12/control/t b/srcpkgs/postgresql12/files/postgresql12/control/t
deleted file mode 100755
index dcedfaa20180..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/control/t
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql12/files/postgresql12/log/run b/srcpkgs/postgresql12/files/postgresql12/log/run
deleted file mode 100755
index 815d9c974079..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/log/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql12/files/postgresql12/run b/srcpkgs/postgresql12/files/postgresql12/run
deleted file mode 100755
index b45c1b4ca8f7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/run
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. /@PREFIX@/etc/default/postgresql
-: ${PGDATA:="$PGROOT/data"}
-
-if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
-	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
-	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
-fi
-
-
-if [ ! -d "$PGDATA" ]; then
-	echo "Initializing database in $PGDATA"
-
-	mkdir -p "$PGDATA"
-	chown -R postgres:postgres "$PGDATA"
-	chmod 0700 "$PGDATA"
-	su - postgres -m -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
-
-	if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then
-		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
-	fi
-fi
-
-exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql12/files/profile.sh b/srcpkgs/postgresql12/files/profile.sh
deleted file mode 100644
index 54be2ca50a4f..000000000000
--- a/srcpkgs/postgresql12/files/profile.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-appendpath () {
-    case ":$PATH:" in
-        *:"$1":*)
-            ;;
-        *)
-            PATH="${PATH:+$PATH:}$1"
-    esac
-}
-
-appendpath '/@PREFIX@/bin'
-
-unset appendpath
-
-export PATH
diff --git a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch b/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
deleted file mode 100644
index 4a5fea6cc869..000000000000
--- a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Sources: Doan Tran Cong Danh
-Upstream: No
-	- First part needs to be rework in configure script to be usable
-	  upstream
-	- Second part would un-usable for Windows
-diff --git src/common/Makefile src/common/Makefile
-index ec04710..2af845f 100644
---- a/src/common/Makefile
-+++ b/src/common/Makefile
-@@ -30,11 +30,14 @@ include $(top_builddir)/src/Makefile.global
- 
- # don't include subdirectory-path-dependent -I and -L switches
- STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
-+STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
-+STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
- STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-+STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
- override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
- override CPPFLAGS += -DVAL_CC="\"$(CC)\""
- override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
--override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
-+override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
- override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
- override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
- override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
-@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
- GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
- GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
- 
--all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
-+all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
-+
-+pg_config.sh: pg_config.sh.in
-+	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
-+		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
-+		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
-+		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
-+		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
-+		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
-+		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
-+		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
-+		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
-+		$< >$@
- 
- distprep: kwlist_d.h
- 
diff --git a/srcpkgs/postgresql12/patches/relocate.patch b/srcpkgs/postgresql12/patches/relocate.patch
deleted file mode 100644
index d2cc14281e3a..000000000000
--- a/srcpkgs/postgresql12/patches/relocate.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
-Date: Sat, 18 Jan 2020 12:19:45 +0100
-Subject: [PATCH] relocate
-
-
-diff --git src/port/path.c src/port/path.c
-index 710988b..20dc57d 100644
---- a/src/port/path.c
-+++ b/src/port/path.c
-@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
- 	int			tail_len;
- 	int			i;
- 
-+	goto no_match; // we relocate only binaries
-+
- 	/*
- 	 * Determine the common prefix --- note we require it to end on a
- 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
--- 
-2.23.0
-
diff --git a/srcpkgs/postgresql12/template b/srcpkgs/postgresql12/template
deleted file mode 100644
index e9a288a702e2..000000000000
--- a/srcpkgs/postgresql12/template
+++ /dev/null
@@ -1,227 +0,0 @@
-# Template file for 'postgresql12'
-pkgname=postgresql12
-version=12.9
-revision=1
-wrksrc="postgresql-${version}"
-build_style=gnu-configure
-make_build_target=world
-_major="${version%%.*}"
-_prefix="usr/lib/psql${_major}"
-configure_args="--with-openssl --with-python
- --with-pam --enable-thread-safety
- --with-perl --with-tcl --without-ldap --without-gssapi
- --without-bonjour --with-libxml --with-libxslt
- --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
-hostmakedepends="docbook2x gettext flex openjade"
-makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
- python3-devel readline-devel tcl-devel"
-short_desc="Sophisticated open-source Object-Relational DBMS"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="PostgreSQL"
-homepage="https://www.postgresql.org"
-changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
-distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
-checksum=89fda2de33ed04a98548e43f3ee5f15b882be17505d631fe0dd1a540a2b56dce
-
-conf_files="
- /${_prefix}/etc/default/postgresql
- /${_prefix}/etc/pam.d/postgresql
- /${_prefix}/etc/postgresql/postgresql.conf
-"
-
-# Create 'postgres' user for the server.
-system_accounts="postgres"
-postgres_homedir="/var/lib/postgresql"
-postgres_shell="/bin/sh"
-postgres_descr="PostgreSQL database server user"
-make_dirs="
- /var/lib/postgresql   0750 postgres postgres
- /var/lib/postgresql${_major} 0750 postgres postgres"
-
-if [ "$CROSS_BUILD" ]; then
-	configure_args+=" --without-perl --without-python --without-tcl"
-fi
-
-post_patch() {
-	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
-	_substitute src/common/pg_config.sh.in
-	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
-}
-
-pre_configure() {
-	_style_configure_args="${configure_args}"
-	configure_args=" "
-	for arg in ${_style_configure_args}; do
-		case $arg in
-			--prefix=*|*dir=*) : ;; # skip
-			*) configure_args+=" $arg"
-		esac
-	done
-	configure_args="--prefix=/${_prefix}
-	 --sysconfdir=/${_prefix}/etc
-	 --includedir=/usr/include
-	 ${configure_args}"
-}
-
-post_build() {
-	make -C contrib ${makejobs}
-}
-
-pre_check() {
-	ln -sr tmp_install/${_prefix} /${_prefix%/*}
-}
-
-post_install() {
-	vmkdir usr/share/man
-	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
-	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
-		mv $i ${i%.*}-${_major}.${i##*.}
-	done
-	vmkdir ${_prefix}/share/doc
-	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
-	vsv ${pkgname}
-	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
-	vlicense COPYRIGHT
-
-	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
-	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
-	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
-	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
-		644 ${_prefix}/etc/postgresql postgresql.conf
-	vbin src/common/pg_config.sh
-
-	vsed -i 's/install_bin = .*/install_bin = install/g' \
-		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
-}
-
-_substitute() {
-	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
-}
-
-postgresql12-doc_package() {
-	short_desc="PostgreSQL documentation"
-	pkg_install() {
-		vmove ${_prefix}/share/doc
-	}
-}
-
-postgresql12-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0"
-	pkg_install() {
-		vmove "${_prefix}/lib/*.so*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		    -type f -name libpq5\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
-	}
-}
-
-postgresql12-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0"
-	pkg_install() {
-		vmkdir usr/bin
-		vmkdir usr/lib
-		for f in pg_config ecpg; do
-			vmove ${_prefix}/bin/${f}
-			vmove "usr/share/man/man1/$(basename ${f})*"
-			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
-		done
-		vmove usr/bin/pg_config.sh
-		vmove usr/include
-		vmove "${_prefix}/lib/*.a"
-		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
-		vmove usr/share/man/man3
-		vmove ${_prefix}/lib/postgresql/pgxs
-		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
-			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
-		done
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pg_config\* -o -name ecpg\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-# XXX disabled for now in cross builds.
-if [ -z "$CROSS_BUILD" ]; then
-
-postgresql12-plperl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Perl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plperl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plperl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-plpython_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Python procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plpython*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plpython\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-pltcl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Tcl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/pltcl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pltcl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-fi # !CROSS_BUILD
-
-postgresql12-client_package() {
-	short_desc="Client frontends programs for PostgreSQL"
-	pkg_install() {
-		for f in clusterdb createdb createuser dropdb \
-			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
-			vacuumdb; do
-			vmove ${_prefix}/bin/${f}
-			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
-		done
-		vmove usr/share/man/man7
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pgscripts\* -o \
-			   -name psql\* -o \
-			   -name pg_dump\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
-			${PKGDESTDIR}/${_prefix}/share
-		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
-	}
-}
-
-postgresql12-contrib_package() {
-	short_desc="PostgreSQL contributed programs and extensions"
-	pkg_install() {
-		make -C contrib install DESTDIR=${PKGDESTDIR}
-	}
-}
diff --git a/srcpkgs/postgresql12/update b/srcpkgs/postgresql12/update
deleted file mode 100644
index 3f99ada53bea..000000000000
--- a/srcpkgs/postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K12[\d.]+(?!\w)"

From 6ce4ee3bc6cc04aa0b943c10f9f813a443c7b8ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 3/6] New package: postgresql14

---
 common/shlibs                                 |   8 +-
 srcpkgs/postgresql-libs                       |   2 +-
 srcpkgs/postgresql-libs-devel                 |   2 +-
 srcpkgs/postgresql14-client                   |   1 +
 srcpkgs/postgresql14-contrib                  |   1 +
 srcpkgs/postgresql14-doc                      |   1 +
 srcpkgs/postgresql14-plperl                   |   1 +
 srcpkgs/postgresql14-plpython                 |   1 +
 srcpkgs/postgresql14-pltcl                    |   1 +
 srcpkgs/postgresql14/files/pg_config.sh.in    | 143 +++++++++++
 srcpkgs/postgresql14/files/postgresql.confd   |  17 ++
 srcpkgs/postgresql14/files/postgresql.pam     |   3 +
 .../postgresql14/files/postgresql14/control/t |   2 +
 .../postgresql14/files/postgresql14/log/run   |   2 +
 srcpkgs/postgresql14/files/postgresql14/run   |  27 +++
 srcpkgs/postgresql14/files/profile.sh         |  14 ++
 .../patches/pg_config-cross-value.patch       |  45 ++++
 srcpkgs/postgresql14/patches/relocate.patch   |  22 ++
 srcpkgs/postgresql14/template                 | 228 ++++++++++++++++++
 srcpkgs/postgresql14/update                   |   2 +
 20 files changed, 517 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/postgresql14-client
 create mode 120000 srcpkgs/postgresql14-contrib
 create mode 120000 srcpkgs/postgresql14-doc
 create mode 120000 srcpkgs/postgresql14-plperl
 create mode 120000 srcpkgs/postgresql14-plpython
 create mode 120000 srcpkgs/postgresql14-pltcl
 create mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 create mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 create mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/log/run
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 create mode 100644 srcpkgs/postgresql14/files/profile.sh
 create mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 create mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 create mode 100644 srcpkgs/postgresql14/template
 create mode 100644 srcpkgs/postgresql14/update

diff --git a/common/shlibs b/common/shlibs
index 8c7f5cf3a137..4126af1e1a38 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -558,10 +558,10 @@ libKF5PurposeWidgets.so.5 purpose-5.48.0_1
 libKF5Purpose.so.5 purpose-5.48.0_1
 libKF5PulseAudioQt.so.3 pulseaudio-qt-1.3_1
 libReviewboardHelpers.so.5 purpose-5.48.0_1
-libecpg_compat.so.3 postgresql-libs-13.2_2
-libecpg.so.6 postgresql-libs-13.2_2
-libpgtypes.so.3 postgresql-libs-13.2_2
-libpq.so.5 postgresql-libs-13.2_2
+libecpg_compat.so.3 postgresql-libs-14.0_1
+libecpg.so.6 postgresql-libs-14.0_1
+libpgtypes.so.3 postgresql-libs-14.0_1
+libpq.so.5 postgresql-libs-14.0_1
 libmypaint.so.0 libmypaint-1.6.1_1
 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1
 libgssrpc.so.4 mit-krb5-libs-1.8_1
diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-client
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-contrib
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-doc
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plperl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plpython
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-pltcl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14/files/pg_config.sh.in b/srcpkgs/postgresql14/files/pg_config.sh.in
new file mode 100644
index 000000000000..68068a82e01e
--- /dev/null
+++ b/srcpkgs/postgresql14/files/pg_config.sh.in
@@ -0,0 +1,143 @@
+#!/bin/sh
+# Released to Public Domain by Doan Tran Cong Danh
+
+print() {
+	printf '%s\n' "$@"
+}
+
+sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
+
+BINDIR="$sysroot/@PREFIX@/bin"
+DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+INCLUDEDIR="$sysroot/usr/include"
+PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
+INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
+LIBDIR="$sysroot/@PREFIX@/lib"
+PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
+LOCALEDIR="$sysroot/@PREFIX@/share/locale"
+MANDIR="$sysroot/@PREFIX@/share/man"
+SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
+SYSCONFDIR="$sysroot/etc/psql@VERSION@/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql14/files/postgresql.confd b/srcpkgs/postgresql14/files/postgresql.confd
new file mode 100644
index 000000000000..fe7106626fa5
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.confd
@@ -0,0 +1,17 @@
+# Configuration file for the PostgreSQL server.
+
+# PostgreSQL's database directory
+PGROOT="/var/lib/postgresql@VERSION@"
+
+# PostgreSQL's log file.
+PGLOG="/var/log/postgresql@VERSION@.log"
+
+# Passed to initdb if necessary
+INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of these options
+# can be set directly in the configuration-file.
+#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
new file mode 100644
index 000000000000..53724d1f86a7
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.pam
@@ -0,0 +1,3 @@
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
diff --git a/srcpkgs/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
new file mode 100755
index 000000000000..dcedfaa20180
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/control/t
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql14/files/postgresql14/log/run b/srcpkgs/postgresql14/files/postgresql14/log/run
new file mode 100755
index 000000000000..815d9c974079
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
new file mode 100755
index 000000000000..3aee9440e847
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /etc/psql@VERSION@/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || exit 1
+	chown -R postgres:postgres "$PGDATA"
+	chmod 0700 "$PGDATA"
+	su - postgres -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" 2>&1 || {
+		rm -fr "$PGDATA"
+		exit 1
+	}
+
+	if [ -f /etc/psql@VERSION@/postgresql/postgresql.conf ]; then
+		ln -sf /etc/psql@VERSION@/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql14/files/profile.sh b/srcpkgs/postgresql14/files/profile.sh
new file mode 100644
index 000000000000..54be2ca50a4f
--- /dev/null
+++ b/srcpkgs/postgresql14/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
new file mode 100644
index 000000000000..cc0a9fc19133
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
@@ -0,0 +1,45 @@
+Sources: Doan Tran Cong Danh
+Upstream: No
+	- First part needs to be rework in configure script to be usable
+	  upstream
+	- Second part would un-usable for Windows
+diff --git src/common/Makefile src/common/Makefile
+index ec04710..2af845f 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -30,10 +30,13 @@ include $(top_builddir)/src/Makefile.global
+ 
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
++STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
++STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
++STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
+ override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+ override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
++override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
+ GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
+ GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
+ 
+-all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
++all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
++
++pg_config.sh: pg_config.sh.in
++	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
++		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
++		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
++		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
++		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
++		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
++		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
++		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
++		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
++		$< >$@
+ 
+ distprep: kwlist_d.h
+ 
diff --git a/srcpkgs/postgresql14/patches/relocate.patch b/srcpkgs/postgresql14/patches/relocate.patch
new file mode 100644
index 000000000000..d2cc14281e3a
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/relocate.patch
@@ -0,0 +1,22 @@
+From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
+Date: Sat, 18 Jan 2020 12:19:45 +0100
+Subject: [PATCH] relocate
+
+
+diff --git src/port/path.c src/port/path.c
+index 710988b..20dc57d 100644
+--- a/src/port/path.c
++++ b/src/port/path.c
+@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
+ 	int			tail_len;
+ 	int			i;
+ 
++	goto no_match; // we relocate only binaries
++
+ 	/*
+ 	 * Determine the common prefix --- note we require it to end on a
+ 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
+-- 
+2.23.0
+
diff --git a/srcpkgs/postgresql14/template b/srcpkgs/postgresql14/template
new file mode 100644
index 000000000000..94ba16bffbc6
--- /dev/null
+++ b/srcpkgs/postgresql14/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql14'
+pkgname=postgresql14
+version=14.1
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+_sysconfdir="etc/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+short_desc="Sophisticated open-source Object-Relational DBMS"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="PostgreSQL"
+homepage="https://www.postgresql.org"
+changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
+distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
+checksum=4d3c101ea7ae38982f06bdc73758b53727fb6402ecd9382006fa5ecc7c2ca41f
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_sysconfdir}
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_sysconfdir}/default postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_sysconfdir}/pam.d postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_sysconfdir}/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql14-doc_package() {
+	short_desc="PostgreSQL documentation"
+	pkg_install() {
+		vmove ${_prefix}/share/doc
+	}
+}
+
+postgresql-libs_package() {
+	short_desc="PostgreSQL shared libraries"
+	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0"
+	pkg_install() {
+		vmkdir usr/bin
+		vmkdir usr/lib
+		for f in pg_config ecpg; do
+			vmove ${_prefix}/bin/${f}
+			vmove "usr/share/man/man1/$(basename ${f})*"
+			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
+		done
+		vmove usr/bin/pg_config.sh
+		vmove usr/include
+		vmove "${_prefix}/lib/*.a"
+		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
+		vmove usr/share/man/man3
+		vmove ${_prefix}/lib/postgresql/pgxs
+		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
+			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
+		done
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pg_config\* -o -name ecpg\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+# XXX disabled for now in cross builds.
+if [ -z "$CROSS_BUILD" ]; then
+
+postgresql14-plperl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Perl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plperl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plperl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-plpython_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Python procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plpython*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plpython\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-pltcl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Tcl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/pltcl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pltcl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+fi # !CROSS_BUILD
+
+postgresql14-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	pkg_install() {
+		for f in clusterdb createdb createuser dropdb \
+			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
+			vacuumdb; do
+			vmove ${_prefix}/bin/${f}
+			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
+		done
+		vmove usr/share/man/man7
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pgscripts\* -o \
+			   -name psql\* -o \
+			   -name pg_dump\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
+			${PKGDESTDIR}/${_prefix}/share
+		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
+	}
+}
+
+postgresql14-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
new file mode 100644
index 000000000000..160ccf143338
--- /dev/null
+++ b/srcpkgs/postgresql14/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 30e4abe664df279ea7d6d24a59cb3aacb58a0069 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 4/6] New package: postgresql13-libs-13.4

---
 srcpkgs/postgresql13-libs       | 1 +
 srcpkgs/postgresql13-libs-devel | 1 +
 srcpkgs/postgresql13/template   | 8 ++++----
 3 files changed, 6 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/postgresql13-libs
 create mode 120000 srcpkgs/postgresql13-libs-devel

diff --git a/srcpkgs/postgresql13-libs b/srcpkgs/postgresql13-libs
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-libs-devel b/srcpkgs/postgresql13-libs-devel
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs-devel
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/template b/srcpkgs/postgresql13/template
index 7d91058244c3..cbb7539474f0 100644
--- a/srcpkgs/postgresql13/template
+++ b/srcpkgs/postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgresql13'
 pkgname=postgresql13
 version=13.5
-revision=1
+revision=2
 wrksrc="postgresql-${version}"
 build_style=gnu-configure
 make_build_target=world
@@ -108,7 +108,7 @@ postgresql13-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
+postgresql13-libs_package() {
 	short_desc="PostgreSQL shared libraries"
 	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0"
 	pkg_install() {
@@ -122,8 +122,8 @@ postgresql-libs_package() {
 	}
 }
 
-postgresql-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
+postgresql13-libs-devel_package() {
+	depends="postgresql13-libs>=${version}_${revision}"
 	short_desc="PostgreSQL shared libraries (development files)"
 	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
 	pkg_install() {

From ffa927e35eb3741455a2014da285557ff264c991 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 5/6] postgis-postgresql13: build with postgresql13-libs

---
 srcpkgs/postgis-postgresql13/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
index afa6432adb7e..706c8fb96810 100644
--- a/srcpkgs/postgis-postgresql13/template
+++ b/srcpkgs/postgis-postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql13'
 pkgname=postgis-postgresql13
 version=3.1.4
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql13-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql13-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From 4afd7dcc0f042fe25fc395314430ca5129654449 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 6/6] New package: postgis-postgresql14-3.1.4

---
 srcpkgs/postgis-postgresql14/template | 33 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql14/update   |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql14/template
 create mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
new file mode 100644
index 000000000000..6ce4231b1726
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/template
@@ -0,0 +1,33 @@
+# Template file for 'postgis-postgresql14'
+pkgname=postgis-postgresql14
+version=3.1.4
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+checkdepends="libxslt CUnit-devel"
+short_desc="Spatial database extender for PostgreSQL"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="GPL-2.0-or-later"
+homepage="https://postgis.net/"
+changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
+distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
+checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
+
+pre_check() {
+	# regression tests require running postgresql
+	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
+}
diff --git a/srcpkgs/postgis-postgresql14/update b/srcpkgs/postgis-postgresql14/update
new file mode 100644
index 000000000000..dc7538d851a9
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Updated] [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (6 preceding siblings ...)
  2021-12-13 22:43 ` [PR PATCH] [Updated] " Chocimier
@ 2021-12-18 14:03 ` Chocimier
  2021-12-18 14:05 ` [PR PATCH] [Merged]: " Chocimier
  2021-12-18 14:08 ` Chocimier
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-18 14:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 350 bytes --]

There is an updated pull request by Chocimier against master on the void-packages repository

https://github.com/Chocimier/void-packages-org postgresql14
https://github.com/void-linux/void-packages/pull/33195

[wip] add postgresql14, remove postgresql12
None

A patch file from https://github.com/void-linux/void-packages/pull/33195.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-postgresql14-33195.patch --]
[-- Type: text/x-diff, Size: 56239 bytes --]

From 39e5b5e0a0dccc1610cb2fd40fdeef606121cf8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 1/6] postgis-postgresql12: remove

---
 srcpkgs/postgis-postgresql12/template | 33 ---------------------------
 srcpkgs/postgis-postgresql12/update   |  2 --
 2 files changed, 35 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql12/template
 delete mode 100644 srcpkgs/postgis-postgresql12/update

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
deleted file mode 100644
index f801d76f0324..000000000000
--- a/srcpkgs/postgis-postgresql12/template
+++ /dev/null
@@ -1,33 +0,0 @@
-# Template file for 'postgis-postgresql12'
-pkgname=postgis-postgresql12
-version=3.1.4
-revision=1
-wrksrc="postgis-${version}"
-build_style=gnu-configure
-configure_args="
- --with-projdir=${XBPS_CROSS_BASE}/usr
- --with-jsondir=${XBPS_CROSS_BASE}/usr
- --with-protobufdir=${XBPS_CROSS_BASE}/usr
- --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
-hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql12-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
- proj-devel protobuf-c-devel pcre-devel json-c-devel"
-checkdepends="libxslt CUnit-devel"
-short_desc="Spatial database extender for PostgreSQL"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="GPL-2.0-or-later"
-homepage="https://postgis.net/"
-changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
-distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
-nocross="FIXME: Cannot run test program to determine PROJ version"
-
-pre_configure() {
-	./autogen.sh
-}
-
-pre_check() {
-	# regression tests require running postgresql
-	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
-}
diff --git a/srcpkgs/postgis-postgresql12/update b/srcpkgs/postgis-postgresql12/update
deleted file mode 100644
index dc7538d851a9..000000000000
--- a/srcpkgs/postgis-postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha*"

From e7b95e0306ac9ff718b8544347157adeeb5a3c84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:47 +0200
Subject: [PATCH 2/6] postgresql12: remove

---
 srcpkgs/postgresql12-client                   |   1 -
 srcpkgs/postgresql12-contrib                  |   1 -
 srcpkgs/postgresql12-doc                      |   1 -
 srcpkgs/postgresql12-libs                     |   1 -
 srcpkgs/postgresql12-libs-devel               |   1 -
 srcpkgs/postgresql12-plperl                   |   1 -
 srcpkgs/postgresql12-plpython                 |   1 -
 srcpkgs/postgresql12-pltcl                    |   1 -
 srcpkgs/postgresql12/files/pg_config.sh.in    | 143 -----------
 srcpkgs/postgresql12/files/postgresql.confd   |  17 --
 srcpkgs/postgresql12/files/postgresql.pam     |   3 -
 .../postgresql12/files/postgresql12/control/t |   2 -
 .../postgresql12/files/postgresql12/log/run   |   2 -
 srcpkgs/postgresql12/files/postgresql12/run   |  24 --
 srcpkgs/postgresql12/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  46 ----
 srcpkgs/postgresql12/patches/relocate.patch   |  22 --
 srcpkgs/postgresql12/template                 | 227 ------------------
 srcpkgs/postgresql12/update                   |   2 -
 19 files changed, 510 deletions(-)
 delete mode 120000 srcpkgs/postgresql12-client
 delete mode 120000 srcpkgs/postgresql12-contrib
 delete mode 120000 srcpkgs/postgresql12-doc
 delete mode 120000 srcpkgs/postgresql12-libs
 delete mode 120000 srcpkgs/postgresql12-libs-devel
 delete mode 120000 srcpkgs/postgresql12-plperl
 delete mode 120000 srcpkgs/postgresql12-plpython
 delete mode 120000 srcpkgs/postgresql12-pltcl
 delete mode 100644 srcpkgs/postgresql12/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql12/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/control/t
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/log/run
 delete mode 100755 srcpkgs/postgresql12/files/postgresql12/run
 delete mode 100644 srcpkgs/postgresql12/files/profile.sh
 delete mode 100644 srcpkgs/postgresql12/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql12/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql12/template
 delete mode 100644 srcpkgs/postgresql12/update

diff --git a/srcpkgs/postgresql12-client b/srcpkgs/postgresql12-client
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-contrib b/srcpkgs/postgresql12-contrib
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-doc b/srcpkgs/postgresql12-doc
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs b/srcpkgs/postgresql12-libs
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-libs-devel b/srcpkgs/postgresql12-libs-devel
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plperl b/srcpkgs/postgresql12-plperl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-plpython b/srcpkgs/postgresql12-plpython
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12-pltcl b/srcpkgs/postgresql12-pltcl
deleted file mode 120000
index 52711bfce654..000000000000
--- a/srcpkgs/postgresql12-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql12
\ No newline at end of file
diff --git a/srcpkgs/postgresql12/files/pg_config.sh.in b/srcpkgs/postgresql12/files/pg_config.sh.in
deleted file mode 100644
index 3d20d215d0b3..000000000000
--- a/srcpkgs/postgresql12/files/pg_config.sh.in
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-# Released to Public Domain by Doan Tran Cong Danh
-
-print() {
-	printf '%s\n' "$@"
-}
-
-sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
-
-BINDIR="$sysroot/@PREFIX@/bin"
-DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
-INCLUDEDIR="$sysroot/usr/include"
-PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
-INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
-LIBDIR="$sysroot/@PREFIX@/lib"
-PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
-LOCALEDIR="$sysroot/@PREFIX@/share/locale"
-MANDIR="$sysroot/@PREFIX@/share/man"
-SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
-SYSCONFDIR="$sysroot/@PREFIX@/etc/postgresql"
-PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
-
-CONFIGURE="@configure_args@"
-CC="@CC@"
-CPPFLAGS="@CPPFLAGS@"
-CFLAGS="@CFLAGS@"
-CFLAGS_SL="@CFLAGS_SL@"
-LDFLAGS="@LDFLAGS@"
-LDFLAGS_EX="@LDFLAGS_EX@"
-LDFLAGS_SL="@LDFLAGS_SL@"
-LIBS="@LIBS@"
-VERSION="PostgreSQL @FULL_VERSION@"
-
-if [ "$sysroot" != "/" ]; then
-	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
-	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
-fi
-
-usage() {
-	cat <<-EOF
-	$0 provides information about the installed version of PostgreSQL.
-
-	Usage:
-	  $0 [OPTION]...
-
-	Options:
-	  --bindir              show location of user executables
-	  --docdir              show location of documentation files
-	  --htmldir             show location of HTML documentation files
-	  --includedir          show location of C header files of the client interfaces
-	  --pkgincludedir       show location of other C header files
-	  --includedir-server   show location of C header files for the server
-	  --libdir              show location of object code libraries
-	  --pkglibdir           show location of dynamically loadable modules
-	  --localedir           show location of locale support files
-	  --mandir              show location of manual pages
-	  --sharedir            show location of architecture-independent support files
-	  --sysconfdir          show location of system-wide configuration files
-	  --pgxs                show location of extension makefile
-	  --configure           show options given to PostgreSQL was built
-	  --cc                  show CC value used when PostgreSQL was built
-	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
-	  --cflags              show CFLAGS value used when PostgreSQL was built
-	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
-	  --ldflags             show LDFLAGS value used when PostgreSQL was built
-	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
-	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
-	  --libs                show LIBS value used when PostgreSQL was built
-	  --version             show the PostgreSQL version
-	  -?, --help            show this help, then exit
-
-	With no arguments, all known items are shown.
-
-	Report bugs to <pgsql-bugs@postgresql.org>.
-	EOF
-}
-
-if test $# -eq 0; then
-	cat <<-EOF
-	BINDIR = $BINDIR
-	DOCDIR = $DOCDIR
-	HTMLDIR = $HTMLDIR
-	INCLUDEDIR = $INCLUDEDIR
-	PKGINCLUDEDIR = $PKGINCLUDEDIR
-	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
-	LIBDIR = $LIBDIR
-	PKGLIBDIR = $PKGLIBDIR
-	LOCALEDIR = $LOCALEDIR
-	MANDIR = $MANDIR
-	SHAREDIR = $SHAREDIR
-	SYSCONFDIR = $SYSCONFDIR
-	PGXS = $PGXS
-	CONFIGURE = $CONFIGURE
-	CC = $CC
-	CPPFLAGS = $CPPFLAGS
-	CFLAGS = $CFLAGS
-	CFLAGS_SL = $CFLAGS_SL
-	LDFLAGS = $LDFLAGS
-	LDFLAGS_EX = $LDFLAGS_EX
-	LDFLAGS_SL = $LDFLAGS_SL
-	LIBS = $LIBS
-	VERSION = $VERSION
-	EOF
-fi
-
-for arg
-do
-	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
-		usage
-		exit 0
-	fi
-done
-
-for arg
-do
-	case "$arg" in
-	--bindir) print "$BINDIR" ;;
-	--docdir) print "$DOCDIR" ;;
-	--htmldir) print "$HTMLDIR" ;;
-	--includedir) print "$INCLUDEDIR" ;;
-	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
-	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
-	--libdir) print "$LIBDIR" ;;
-	--pkglibdir) print "$PKGLIBDIR" ;;
-	--localedir) print "$LOCALEDIR" ;;
-	--mandir) print "$MANDIR" ;;
-	--sharedir) print "$SHAREDIR" ;;
-	--sysconfdir) print "$SYSCONFDIR" ;;
-	--pgxs) print "$PGXS" ;;
-	--configure) print "$CONFIGURE" ;;
-	--cc) print "$CC" ;;
-	--cppflags) print "$CPPFLAGS" ;;
-	--cflags) print "$CFLAGS" ;;
-	--cflags_sl) print "$CFLAGS_SL" ;;
-	--ldflags) print "$LDFLAGS" ;;
-	--ldflags_ex) print "$LDFLAGS_EX" ;;
-	--ldflags_sl) print "$LDFLAGS_SL" ;;
-	--libs) print "$LIBS" ;;
-	--version) print "$VERSION" ;;
-	esac
-done
diff --git a/srcpkgs/postgresql12/files/postgresql.confd b/srcpkgs/postgresql12/files/postgresql.confd
deleted file mode 100644
index fe7106626fa5..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Configuration file for the PostgreSQL server.
-
-# PostgreSQL's database directory
-PGROOT="/var/lib/postgresql@VERSION@"
-
-# PostgreSQL's log file.
-PGLOG="/var/log/postgresql@VERSION@.log"
-
-# Passed to initdb if necessary
-INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql12/files/postgresql.pam b/srcpkgs/postgresql12/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-auth		required	pam_unix.so
-account		required	pam_unix.so
-session		required	pam_unix.so
diff --git a/srcpkgs/postgresql12/files/postgresql12/control/t b/srcpkgs/postgresql12/files/postgresql12/control/t
deleted file mode 100755
index dcedfaa20180..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/control/t
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql12/files/postgresql12/log/run b/srcpkgs/postgresql12/files/postgresql12/log/run
deleted file mode 100755
index 815d9c974079..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/log/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql12/files/postgresql12/run b/srcpkgs/postgresql12/files/postgresql12/run
deleted file mode 100755
index b45c1b4ca8f7..000000000000
--- a/srcpkgs/postgresql12/files/postgresql12/run
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. /@PREFIX@/etc/default/postgresql
-: ${PGDATA:="$PGROOT/data"}
-
-if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
-	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
-	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
-fi
-
-
-if [ ! -d "$PGDATA" ]; then
-	echo "Initializing database in $PGDATA"
-
-	mkdir -p "$PGDATA"
-	chown -R postgres:postgres "$PGDATA"
-	chmod 0700 "$PGDATA"
-	su - postgres -m -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
-
-	if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then
-		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
-	fi
-fi
-
-exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql12/files/profile.sh b/srcpkgs/postgresql12/files/profile.sh
deleted file mode 100644
index 54be2ca50a4f..000000000000
--- a/srcpkgs/postgresql12/files/profile.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-appendpath () {
-    case ":$PATH:" in
-        *:"$1":*)
-            ;;
-        *)
-            PATH="${PATH:+$PATH:}$1"
-    esac
-}
-
-appendpath '/@PREFIX@/bin'
-
-unset appendpath
-
-export PATH
diff --git a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch b/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
deleted file mode 100644
index 4a5fea6cc869..000000000000
--- a/srcpkgs/postgresql12/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Sources: Doan Tran Cong Danh
-Upstream: No
-	- First part needs to be rework in configure script to be usable
-	  upstream
-	- Second part would un-usable for Windows
-diff --git src/common/Makefile src/common/Makefile
-index ec04710..2af845f 100644
---- a/src/common/Makefile
-+++ b/src/common/Makefile
-@@ -30,11 +30,14 @@ include $(top_builddir)/src/Makefile.global
- 
- # don't include subdirectory-path-dependent -I and -L switches
- STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
-+STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
-+STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
- STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-+STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
- override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
- override CPPFLAGS += -DVAL_CC="\"$(CC)\""
- override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
--override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
-+override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
- override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
- override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
- override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
-@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
- GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
- GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
- 
--all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
-+all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
-+
-+pg_config.sh: pg_config.sh.in
-+	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
-+		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
-+		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
-+		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
-+		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
-+		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
-+		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
-+		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
-+		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
-+		$< >$@
- 
- distprep: kwlist_d.h
- 
diff --git a/srcpkgs/postgresql12/patches/relocate.patch b/srcpkgs/postgresql12/patches/relocate.patch
deleted file mode 100644
index d2cc14281e3a..000000000000
--- a/srcpkgs/postgresql12/patches/relocate.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
-Date: Sat, 18 Jan 2020 12:19:45 +0100
-Subject: [PATCH] relocate
-
-
-diff --git src/port/path.c src/port/path.c
-index 710988b..20dc57d 100644
---- a/src/port/path.c
-+++ b/src/port/path.c
-@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
- 	int			tail_len;
- 	int			i;
- 
-+	goto no_match; // we relocate only binaries
-+
- 	/*
- 	 * Determine the common prefix --- note we require it to end on a
- 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
--- 
-2.23.0
-
diff --git a/srcpkgs/postgresql12/template b/srcpkgs/postgresql12/template
deleted file mode 100644
index e9a288a702e2..000000000000
--- a/srcpkgs/postgresql12/template
+++ /dev/null
@@ -1,227 +0,0 @@
-# Template file for 'postgresql12'
-pkgname=postgresql12
-version=12.9
-revision=1
-wrksrc="postgresql-${version}"
-build_style=gnu-configure
-make_build_target=world
-_major="${version%%.*}"
-_prefix="usr/lib/psql${_major}"
-configure_args="--with-openssl --with-python
- --with-pam --enable-thread-safety
- --with-perl --with-tcl --without-ldap --without-gssapi
- --without-bonjour --with-libxml --with-libxslt
- --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
-hostmakedepends="docbook2x gettext flex openjade"
-makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
- python3-devel readline-devel tcl-devel"
-short_desc="Sophisticated open-source Object-Relational DBMS"
-maintainer="Piotr Wójcik <chocimier@tlen.pl>"
-license="PostgreSQL"
-homepage="https://www.postgresql.org"
-changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
-distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
-checksum=89fda2de33ed04a98548e43f3ee5f15b882be17505d631fe0dd1a540a2b56dce
-
-conf_files="
- /${_prefix}/etc/default/postgresql
- /${_prefix}/etc/pam.d/postgresql
- /${_prefix}/etc/postgresql/postgresql.conf
-"
-
-# Create 'postgres' user for the server.
-system_accounts="postgres"
-postgres_homedir="/var/lib/postgresql"
-postgres_shell="/bin/sh"
-postgres_descr="PostgreSQL database server user"
-make_dirs="
- /var/lib/postgresql   0750 postgres postgres
- /var/lib/postgresql${_major} 0750 postgres postgres"
-
-if [ "$CROSS_BUILD" ]; then
-	configure_args+=" --without-perl --without-python --without-tcl"
-fi
-
-post_patch() {
-	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
-	_substitute src/common/pg_config.sh.in
-	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
-}
-
-pre_configure() {
-	_style_configure_args="${configure_args}"
-	configure_args=" "
-	for arg in ${_style_configure_args}; do
-		case $arg in
-			--prefix=*|*dir=*) : ;; # skip
-			*) configure_args+=" $arg"
-		esac
-	done
-	configure_args="--prefix=/${_prefix}
-	 --sysconfdir=/${_prefix}/etc
-	 --includedir=/usr/include
-	 ${configure_args}"
-}
-
-post_build() {
-	make -C contrib ${makejobs}
-}
-
-pre_check() {
-	ln -sr tmp_install/${_prefix} /${_prefix%/*}
-}
-
-post_install() {
-	vmkdir usr/share/man
-	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
-	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
-		mv $i ${i%.*}-${_major}.${i##*.}
-	done
-	vmkdir ${_prefix}/share/doc
-	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
-	vsv ${pkgname}
-	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
-	vlicense COPYRIGHT
-
-	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
-	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
-	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
-	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
-	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
-		644 ${_prefix}/etc/postgresql postgresql.conf
-	vbin src/common/pg_config.sh
-
-	vsed -i 's/install_bin = .*/install_bin = install/g' \
-		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
-}
-
-_substitute() {
-	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
-}
-
-postgresql12-doc_package() {
-	short_desc="PostgreSQL documentation"
-	pkg_install() {
-		vmove ${_prefix}/share/doc
-	}
-}
-
-postgresql12-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0"
-	pkg_install() {
-		vmove "${_prefix}/lib/*.so*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		    -type f -name libpq5\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
-	}
-}
-
-postgresql12-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision}"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0"
-	pkg_install() {
-		vmkdir usr/bin
-		vmkdir usr/lib
-		for f in pg_config ecpg; do
-			vmove ${_prefix}/bin/${f}
-			vmove "usr/share/man/man1/$(basename ${f})*"
-			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
-		done
-		vmove usr/bin/pg_config.sh
-		vmove usr/include
-		vmove "${_prefix}/lib/*.a"
-		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
-		vmove usr/share/man/man3
-		vmove ${_prefix}/lib/postgresql/pgxs
-		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
-			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
-		done
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pg_config\* -o -name ecpg\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-# XXX disabled for now in cross builds.
-if [ -z "$CROSS_BUILD" ]; then
-
-postgresql12-plperl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Perl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plperl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plperl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-plpython_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Python procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/plpython*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name plpython\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-postgresql12-pltcl_package() {
-	depends="${sourcepkg}>=${version}_${revision}"
-	short_desc="PL/Tcl procedural language for PostgreSQL"
-	pkg_install() {
-		vmove "${_prefix}/lib/postgresql/pltcl*"
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pltcl\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-	}
-}
-
-fi # !CROSS_BUILD
-
-postgresql12-client_package() {
-	short_desc="Client frontends programs for PostgreSQL"
-	pkg_install() {
-		for f in clusterdb createdb createuser dropdb \
-			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
-			vacuumdb; do
-			vmove ${_prefix}/bin/${f}
-			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
-		done
-		vmove usr/share/man/man7
-		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
-		   -type f -name pgscripts\* -o \
-			   -name psql\* -o \
-			   -name pg_dump\*); do
-			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
-		done
-		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
-			${PKGDESTDIR}/${_prefix}/share
-		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
-		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
-	}
-}
-
-postgresql12-contrib_package() {
-	short_desc="PostgreSQL contributed programs and extensions"
-	pkg_install() {
-		make -C contrib install DESTDIR=${PKGDESTDIR}
-	}
-}
diff --git a/srcpkgs/postgresql12/update b/srcpkgs/postgresql12/update
deleted file mode 100644
index 3f99ada53bea..000000000000
--- a/srcpkgs/postgresql12/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K12[\d.]+(?!\w)"

From 84bc049be7b6996f0d96123149312e463656cb18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 3/6] New package: postgresql14

---
 common/shlibs                                 |   8 +-
 srcpkgs/postgresql-libs                       |   2 +-
 srcpkgs/postgresql-libs-devel                 |   2 +-
 srcpkgs/postgresql14-client                   |   1 +
 srcpkgs/postgresql14-contrib                  |   1 +
 srcpkgs/postgresql14-doc                      |   1 +
 srcpkgs/postgresql14-plperl                   |   1 +
 srcpkgs/postgresql14-plpython                 |   1 +
 srcpkgs/postgresql14-pltcl                    |   1 +
 srcpkgs/postgresql14/files/pg_config.sh.in    | 143 +++++++++++
 srcpkgs/postgresql14/files/postgresql.confd   |  17 ++
 srcpkgs/postgresql14/files/postgresql.pam     |   3 +
 .../postgresql14/files/postgresql14/control/t |   2 +
 .../postgresql14/files/postgresql14/log/run   |   2 +
 srcpkgs/postgresql14/files/postgresql14/run   |  27 +++
 srcpkgs/postgresql14/files/profile.sh         |  14 ++
 .../patches/pg_config-cross-value.patch       |  45 ++++
 srcpkgs/postgresql14/patches/relocate.patch   |  22 ++
 srcpkgs/postgresql14/template                 | 228 ++++++++++++++++++
 srcpkgs/postgresql14/update                   |   2 +
 20 files changed, 517 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/postgresql14-client
 create mode 120000 srcpkgs/postgresql14-contrib
 create mode 120000 srcpkgs/postgresql14-doc
 create mode 120000 srcpkgs/postgresql14-plperl
 create mode 120000 srcpkgs/postgresql14-plpython
 create mode 120000 srcpkgs/postgresql14-pltcl
 create mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 create mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 create mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/log/run
 create mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 create mode 100644 srcpkgs/postgresql14/files/profile.sh
 create mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 create mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 create mode 100644 srcpkgs/postgresql14/template
 create mode 100644 srcpkgs/postgresql14/update

diff --git a/common/shlibs b/common/shlibs
index a634e46b4717..b7e6f298a247 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -558,10 +558,10 @@ libKF5PurposeWidgets.so.5 purpose-5.48.0_1
 libKF5Purpose.so.5 purpose-5.48.0_1
 libKF5PulseAudioQt.so.3 pulseaudio-qt-1.3_1
 libReviewboardHelpers.so.5 purpose-5.48.0_1
-libecpg_compat.so.3 postgresql-libs-13.2_2
-libecpg.so.6 postgresql-libs-13.2_2
-libpgtypes.so.3 postgresql-libs-13.2_2
-libpq.so.5 postgresql-libs-13.2_2
+libecpg_compat.so.3 postgresql-libs-14.0_1
+libecpg.so.6 postgresql-libs-14.0_1
+libpgtypes.so.3 postgresql-libs-14.0_1
+libpq.so.5 postgresql-libs-14.0_1
 libmypaint.so.0 libmypaint-1.6.1_1
 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1
 libgssrpc.so.4 mit-krb5-libs-1.8_1
diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index f6f48b1ff3a2..13d0224a054b 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql13
\ No newline at end of file
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-client
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-contrib
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-doc
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plperl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-plpython
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
new file mode 120000
index 000000000000..13d0224a054b
--- /dev/null
+++ b/srcpkgs/postgresql14-pltcl
@@ -0,0 +1 @@
+postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14/files/pg_config.sh.in b/srcpkgs/postgresql14/files/pg_config.sh.in
new file mode 100644
index 000000000000..68068a82e01e
--- /dev/null
+++ b/srcpkgs/postgresql14/files/pg_config.sh.in
@@ -0,0 +1,143 @@
+#!/bin/sh
+# Released to Public Domain by Doan Tran Cong Danh
+
+print() {
+	printf '%s\n' "$@"
+}
+
+sysroot="$(cd "${0%/*}" && cd ../.. && pwd)"
+
+BINDIR="$sysroot/@PREFIX@/bin"
+DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql"
+INCLUDEDIR="$sysroot/usr/include"
+PKGINCLUDEDIR="$sysroot/usr/include/postgresql"
+INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server"
+LIBDIR="$sysroot/@PREFIX@/lib"
+PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql"
+LOCALEDIR="$sysroot/@PREFIX@/share/locale"
+MANDIR="$sysroot/@PREFIX@/share/man"
+SHAREDIR="$sysroot/@PREFIX@/share/postgresql"
+SYSCONFDIR="$sysroot/etc/psql@VERSION@/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql14/files/postgresql.confd b/srcpkgs/postgresql14/files/postgresql.confd
new file mode 100644
index 000000000000..fe7106626fa5
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.confd
@@ -0,0 +1,17 @@
+# Configuration file for the PostgreSQL server.
+
+# PostgreSQL's database directory
+PGROOT="/var/lib/postgresql@VERSION@"
+
+# PostgreSQL's log file.
+PGLOG="/var/log/postgresql@VERSION@.log"
+
+# Passed to initdb if necessary
+INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8"
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of these options
+# can be set directly in the configuration-file.
+#PGOPTS="-N 512 -B 1024"
diff --git a/srcpkgs/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
new file mode 100644
index 000000000000..53724d1f86a7
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql.pam
@@ -0,0 +1,3 @@
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
diff --git a/srcpkgs/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
new file mode 100755
index 000000000000..dcedfaa20180
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/control/t
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid`
diff --git a/srcpkgs/postgresql14/files/postgresql14/log/run b/srcpkgs/postgresql14/files/postgresql14/log/run
new file mode 100755
index 000000000000..815d9c974079
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
new file mode 100755
index 000000000000..3aee9440e847
--- /dev/null
+++ b/srcpkgs/postgresql14/files/postgresql14/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /etc/psql@VERSION@/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || exit 1
+	chown -R postgres:postgres "$PGDATA"
+	chmod 0700 "$PGDATA"
+	su - postgres -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" 2>&1 || {
+		rm -fr "$PGDATA"
+		exit 1
+	}
+
+	if [ -f /etc/psql@VERSION@/postgresql/postgresql.conf ]; then
+		ln -sf /etc/psql@VERSION@/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql14/files/profile.sh b/srcpkgs/postgresql14/files/profile.sh
new file mode 100644
index 000000000000..54be2ca50a4f
--- /dev/null
+++ b/srcpkgs/postgresql14/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
new file mode 100644
index 000000000000..cc0a9fc19133
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
@@ -0,0 +1,45 @@
+Sources: Doan Tran Cong Danh
+Upstream: No
+	- First part needs to be rework in configure script to be usable
+	  upstream
+	- Second part would un-usable for Windows
+diff --git src/common/Makefile src/common/Makefile
+index ec04710..2af845f 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -30,10 +30,13 @@ include $(top_builddir)/src/Makefile.global
+ 
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
++STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS))
++STD_CFLAGS   := $(subst @XBPS_SYSROOT@,,$(CFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
++STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS))
+ override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+ override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
++override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o
+ GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl
+ GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
+ 
+-all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
++all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh
++
++pg_config.sh: pg_config.sh.in
++	sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \
++		-e "s/@CC@/$(subst /,\\/,$(CC))/" \
++		-e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \
++		-e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \
++		-e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \
++		-e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \
++		-e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \
++		-e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \
++		-e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \
++		$< >$@
+ 
+ distprep: kwlist_d.h
+ 
diff --git a/srcpkgs/postgresql14/patches/relocate.patch b/srcpkgs/postgresql14/patches/relocate.patch
new file mode 100644
index 000000000000..d2cc14281e3a
--- /dev/null
+++ b/srcpkgs/postgresql14/patches/relocate.patch
@@ -0,0 +1,22 @@
+From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
+Date: Sat, 18 Jan 2020 12:19:45 +0100
+Subject: [PATCH] relocate
+
+
+diff --git src/port/path.c src/port/path.c
+index 710988b..20dc57d 100644
+--- a/src/port/path.c
++++ b/src/port/path.c
+@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path,
+ 	int			tail_len;
+ 	int			i;
+ 
++	goto no_match; // we relocate only binaries
++
+ 	/*
+ 	 * Determine the common prefix --- note we require it to end on a
+ 	 * directory separator, consider eg '/usr/lib' and '/usr/libexec'.
+-- 
+2.23.0
+
diff --git a/srcpkgs/postgresql14/template b/srcpkgs/postgresql14/template
new file mode 100644
index 000000000000..94ba16bffbc6
--- /dev/null
+++ b/srcpkgs/postgresql14/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql14'
+pkgname=postgresql14
+version=14.1
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+_sysconfdir="etc/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel openssl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+short_desc="Sophisticated open-source Object-Relational DBMS"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="PostgreSQL"
+homepage="https://www.postgresql.org"
+changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
+distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2"
+checksum=4d3c101ea7ae38982f06bdc73758b53727fb6402ecd9382006fa5ecc7c2ca41f
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_sysconfdir}
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_sysconfdir}/default postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_sysconfdir}/pam.d postgresql
+	_substitute ${DESTDIR}/${_sysconfdir}/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_sysconfdir}/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql14-doc_package() {
+	short_desc="PostgreSQL documentation"
+	pkg_install() {
+		vmove ${_prefix}/share/doc
+	}
+}
+
+postgresql-libs_package() {
+	short_desc="PostgreSQL shared libraries"
+	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0"
+	pkg_install() {
+		vmkdir usr/bin
+		vmkdir usr/lib
+		for f in pg_config ecpg; do
+			vmove ${_prefix}/bin/${f}
+			vmove "usr/share/man/man1/$(basename ${f})*"
+			ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin"
+		done
+		vmove usr/bin/pg_config.sh
+		vmove usr/include
+		vmove "${_prefix}/lib/*.a"
+		mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib"
+		vmove usr/share/man/man3
+		vmove ${_prefix}/lib/postgresql/pgxs
+		for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do
+			ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib"
+		done
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pg_config\* -o -name ecpg\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+# XXX disabled for now in cross builds.
+if [ -z "$CROSS_BUILD" ]; then
+
+postgresql14-plperl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Perl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plperl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plperl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-plpython_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Python procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/plpython*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name plpython\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+postgresql14-pltcl_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc="PL/Tcl procedural language for PostgreSQL"
+	pkg_install() {
+		vmove "${_prefix}/lib/postgresql/pltcl*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pltcl\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+	}
+}
+
+fi # !CROSS_BUILD
+
+postgresql14-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	pkg_install() {
+		for f in clusterdb createdb createuser dropdb \
+			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
+			vacuumdb; do
+			vmove ${_prefix}/bin/${f}
+			vmove usr/share/man/man1/$(basename ${f})-${_major}.1
+		done
+		vmove usr/share/man/man7
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		   -type f -name pgscripts\* -o \
+			   -name psql\* -o \
+			   -name pg_dump\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \
+			${PKGDESTDIR}/${_prefix}/share
+		vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+		_substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh
+	}
+}
+
+postgresql14-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
new file mode 100644
index 000000000000..160ccf143338
--- /dev/null
+++ b/srcpkgs/postgresql14/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 8fba234399c5d354d5f130d078f42cef2dcc7363 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 4/6] New package: postgresql13-libs-13.4

---
 srcpkgs/postgresql13-libs       | 1 +
 srcpkgs/postgresql13-libs-devel | 1 +
 srcpkgs/postgresql13/template   | 6 +++---
 3 files changed, 5 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/postgresql13-libs
 create mode 120000 srcpkgs/postgresql13-libs-devel

diff --git a/srcpkgs/postgresql13-libs b/srcpkgs/postgresql13-libs
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-libs-devel b/srcpkgs/postgresql13-libs-devel
new file mode 120000
index 000000000000..f6f48b1ff3a2
--- /dev/null
+++ b/srcpkgs/postgresql13-libs-devel
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/template b/srcpkgs/postgresql13/template
index 7d91058244c3..0f7b79fd6710 100644
--- a/srcpkgs/postgresql13/template
+++ b/srcpkgs/postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgresql13'
 pkgname=postgresql13
 version=13.5
-revision=1
+revision=2
 wrksrc="postgresql-${version}"
 build_style=gnu-configure
 make_build_target=world
@@ -108,7 +108,7 @@ postgresql13-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
+postgresql13-libs_package() {
 	short_desc="PostgreSQL shared libraries"
 	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0"
 	pkg_install() {
@@ -122,7 +122,7 @@ postgresql-libs_package() {
 	}
 }
 
-postgresql-libs-devel_package() {
+postgresql13-libs-devel_package() {
 	depends="postgresql-libs>=${version}_${revision}"
 	short_desc="PostgreSQL shared libraries (development files)"
 	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"

From d01e8d9e78bb7c892437a380a417a83acb28bc3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 5/6] postgis-postgresql13: build with postgresql13-libs

---
 srcpkgs/postgis-postgresql13/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
index afa6432adb7e..706c8fb96810 100644
--- a/srcpkgs/postgis-postgresql13/template
+++ b/srcpkgs/postgis-postgresql13/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql13'
 pkgname=postgis-postgresql13
 version=3.1.4
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql13-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql13-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From 18e1b328384c9dafd4d5b742014ca6ec8a128584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 30 Sep 2021 22:28:48 +0200
Subject: [PATCH 6/6] New package: postgis-postgresql14-3.1.4

---
 srcpkgs/postgis-postgresql14/template | 33 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql14/update   |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql14/template
 create mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
new file mode 100644
index 000000000000..6ce4231b1726
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/template
@@ -0,0 +1,33 @@
+# Template file for 'postgis-postgresql14'
+pkgname=postgis-postgresql14
+version=3.1.4
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+checkdepends="libxslt CUnit-devel"
+short_desc="Spatial database extender for PostgreSQL"
+maintainer="Piotr Wójcik <chocimier@tlen.pl>"
+license="GPL-2.0-or-later"
+homepage="https://postgis.net/"
+changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
+distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
+checksum=dc8e3fe8bc532e422f5d724c5a7c437f6555511716f6410d4d2db9762e1a3796
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
+
+pre_check() {
+	# regression tests require running postgresql
+	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
+}
diff --git a/srcpkgs/postgis-postgresql14/update b/srcpkgs/postgis-postgresql14/update
new file mode 100644
index 000000000000..dc7538d851a9
--- /dev/null
+++ b/srcpkgs/postgis-postgresql14/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PR PATCH] [Merged]: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (7 preceding siblings ...)
  2021-12-18 14:03 ` Chocimier
@ 2021-12-18 14:05 ` Chocimier
  2021-12-18 14:08 ` Chocimier
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-18 14:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 181 bytes --]

There's a merged pull request on the void-packages repository

[wip] add postgresql14, remove postgresql12
https://github.com/void-linux/void-packages/pull/33195

Description:
None

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wip] add postgresql14, remove postgresql12
  2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
                   ` (8 preceding siblings ...)
  2021-12-18 14:05 ` [PR PATCH] [Merged]: " Chocimier
@ 2021-12-18 14:08 ` Chocimier
  9 siblings, 0 replies; 11+ messages in thread
From: Chocimier @ 2021-12-18 14:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 331 bytes --]

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/33195#issuecomment-997207683

Comment:
Good to hear it's working.

> Is this an XBPS error when multiple packages are trying to use the same user?

Yes, run `xbps-reconfigure -f postgresql14` if you need the account active.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-12-18 14:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-30 20:29 [PR PATCH] [wip] add postgresql14, remove postgresql12 Chocimier
2021-10-26 18:14 ` [PR PATCH] [Updated] " Chocimier
2021-12-09 16:49 ` TinfoilSubmarine
2021-12-09 17:02 ` Chocimier
2021-12-09 18:38 ` TinfoilSubmarine
2021-12-09 18:46 ` Chocimier
2021-12-09 19:33 ` TinfoilSubmarine
2021-12-13 22:43 ` [PR PATCH] [Updated] " Chocimier
2021-12-18 14:03 ` Chocimier
2021-12-18 14:05 ` [PR PATCH] [Merged]: " Chocimier
2021-12-18 14:08 ` Chocimier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).