Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: postgresql16-16.1
@ 2024-01-01 21:47 Chocimier
  2024-01-01 21:49 ` [PR PATCH] [Updated] " Chocimier
  2024-01-02 20:27 ` [PR PATCH] [Merged]: " Chocimier
  0 siblings, 2 replies; 3+ messages in thread
From: Chocimier @ 2024-01-01 21:47 UTC (permalink / raw)
  To: ml

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

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

https://github.com/Chocimier/void-packages-org postgres
https://github.com/void-linux/void-packages/pull/48022

New package: postgresql16-16.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


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

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

From 3d8da3309f1f0973b069ace60a961f0316f7ed93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 11:36:25 +0100
Subject: [PATCH 01/10] postgis-postgresql14: remove

---
 srcpkgs/postgis-postgresql14/template | 32 ---------------------------
 srcpkgs/postgis-postgresql14/update   |  2 --
 2 files changed, 34 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql14/template
 delete mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
deleted file mode 100644
index aeb7924719a04..0000000000000
--- a/srcpkgs/postgis-postgresql14/template
+++ /dev/null
@@ -1,32 +0,0 @@
-# Template file for 'postgis-postgresql14'
-pkgname=postgis-postgresql14
-version=3.3.4
-revision=1
-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 postgresql14-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql14-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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
-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
deleted file mode 100644
index e5577e6b068ae..0000000000000
--- a/srcpkgs/postgis-postgresql14/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha* *beta* *rc*"

From 82b567a1e552c1ec629890475cd2d1c946fde46a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:18:47 +0100
Subject: [PATCH 02/10] postgresql14: remove

---
 srcpkgs/postgresql14-client                   |   1 -
 srcpkgs/postgresql14-contrib                  |   1 -
 srcpkgs/postgresql14-doc                      |   1 -
 srcpkgs/postgresql14-libs                     |   1 -
 srcpkgs/postgresql14-libs-devel               |   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 -
 srcpkgs/postgresql14/files/postgresql14/run   |  28 ---
 srcpkgs/postgresql14/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  45 ----
 srcpkgs/postgresql14/patches/relocate.patch   |  22 --
 srcpkgs/postgresql14/template                 | 231 ------------------
 srcpkgs/postgresql14/update                   |   2 -
 18 files changed, 515 deletions(-)
 delete mode 120000 srcpkgs/postgresql14-client
 delete mode 120000 srcpkgs/postgresql14-contrib
 delete mode 120000 srcpkgs/postgresql14-doc
 delete mode 120000 srcpkgs/postgresql14-libs
 delete mode 120000 srcpkgs/postgresql14-libs-devel
 delete mode 120000 srcpkgs/postgresql14-plperl
 delete mode 120000 srcpkgs/postgresql14-plpython
 delete mode 120000 srcpkgs/postgresql14-pltcl
 delete mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 delete mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 delete mode 100644 srcpkgs/postgresql14/files/profile.sh
 delete mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql14/template
 delete mode 100644 srcpkgs/postgresql14/update

diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-libs b/srcpkgs/postgresql14-libs
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-libs-devel b/srcpkgs/postgresql14-libs-devel
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 68068a82e01ee..0000000000000
--- a/srcpkgs/postgresql14/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/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
deleted file mode 100644
index fe7106626fa57..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a76..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
deleted file mode 100755
index dcedfaa20180c..0000000000000
--- a/srcpkgs/postgresql14/files/postgresql14/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/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
deleted file mode 100755
index 1da79920625df..0000000000000
--- a/srcpkgs/postgresql14/files/postgresql14/run
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-exec 2>&1
-. /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
deleted file mode 100644
index 54be2ca50a4fd..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
deleted file mode 100644
index cc0a9fc19133a..0000000000000
--- a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,45 +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,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
deleted file mode 100644
index d2cc14281e3a6..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/template b/srcpkgs/postgresql14/template
deleted file mode 100644
index be30459a5aca5..0000000000000
--- a/srcpkgs/postgresql14/template
+++ /dev/null
@@ -1,231 +0,0 @@
-# Template file for 'postgresql14'
-pkgname=postgresql14
-version=14.9
-revision=1
-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=b1fe3ba9b1a7f3a9637dd1656dfdad2889016073fd4d35f13b50143cbbb6a8ef
-make_check=ci-skip # Postgres server can't be run as root
-
-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
-	}
-}
-
-postgresql14-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
-	# This package exist to build extensions. Link all to postgresql-libs.
-	noshlibprovides=yes
-	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
-	}
-}
-
-postgresql14-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision} openssl-devel"
-	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}
-		mv ${PKGDESTDIR}/usr/include ${PKGDESTDIR}/${_prefix}
-	}
-}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
deleted file mode 100644
index 160ccf1433388..0000000000000
--- a/srcpkgs/postgresql14/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 31a4bbf5c426b6b251ab1029190b2b1fb3258844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:19:10 +0100
Subject: [PATCH 03/10] New package: postgresql16-16.1

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

diff --git a/common/shlibs b/common/shlibs
index c086125eb8cd4..a0cddb2729eb6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -562,10 +562,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-15.1_1
-libecpg.so.6 postgresql-libs-15.1_1
-libpgtypes.so.3 postgresql-libs-15.1_1
-libpq.so.5 postgresql-libs-15.1_1
+libecpg_compat.so.3 postgresql-libs-16.1_1
+libecpg.so.6 postgresql-libs-16.1_1
+libpgtypes.so.3 postgresql-libs-16.1_1
+libpq.so.5 postgresql-libs-16.1_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 a44b462efd158..2caa22354d194 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql15
\ No newline at end of file
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index a44b462efd158..2caa22354d194 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql15
\ No newline at end of file
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-client b/srcpkgs/postgresql16-client
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-client
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-contrib b/srcpkgs/postgresql16-contrib
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-contrib
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-doc b/srcpkgs/postgresql16-doc
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-doc
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-plperl b/srcpkgs/postgresql16-plperl
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-plperl
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-plpython b/srcpkgs/postgresql16-plpython
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-plpython
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-pltcl b/srcpkgs/postgresql16-pltcl
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-pltcl
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16/files/pg_config.sh.in b/srcpkgs/postgresql16/files/pg_config.sh.in
new file mode 100644
index 0000000000000..68068a82e01ee
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql.confd b/srcpkgs/postgresql16/files/postgresql.confd
new file mode 100644
index 0000000000000..fe7106626fa57
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql.pam b/srcpkgs/postgresql16/files/postgresql.pam
new file mode 100644
index 0000000000000..53724d1f86a76
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql16/control/t b/srcpkgs/postgresql16/files/postgresql16/control/t
new file mode 100755
index 0000000000000..dcedfaa20180c
--- /dev/null
+++ b/srcpkgs/postgresql16/files/postgresql16/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/postgresql16/files/postgresql16/run b/srcpkgs/postgresql16/files/postgresql16/run
new file mode 100755
index 0000000000000..1da79920625df
--- /dev/null
+++ b/srcpkgs/postgresql16/files/postgresql16/run
@@ -0,0 +1,28 @@
+#!/bin/sh
+exec 2>&1
+. /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/postgresql16/patches/pg_config-cross-value.patch b/srcpkgs/postgresql16/patches/pg_config-cross-value.patch
new file mode 100644
index 0000000000000..cc0a9fc19133a
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/patches/relocate.patch b/srcpkgs/postgresql16/patches/relocate.patch
new file mode 100644
index 0000000000000..d2cc14281e3a6
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/template b/srcpkgs/postgresql16/template
new file mode 100644
index 0000000000000..5eba23437c83a
--- /dev/null
+++ b/srcpkgs/postgresql16/template
@@ -0,0 +1,263 @@
+# Template file for 'postgresql16'
+pkgname=postgresql16
+version=16.1
+revision=1
+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 pkg-config"
+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=ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec
+make_check=ci-skip # Postgres server can't be run as root
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+alternatives="
+ postgresql:/usr/bin/initdb:/usr/lib/psql16/bin/initdb
+ postgresql:/usr/bin/pg_amcheck:/usr/lib/psql16/bin/pg_amcheck
+ postgresql:/usr/bin/pg_archivecleanup:/usr/lib/psql16/bin/pg_archivecleanup
+ postgresql:/usr/bin/pg_basebackup:/usr/lib/psql16/bin/pg_basebackup
+ postgresql:/usr/bin/pg_checksums:/usr/lib/psql16/bin/pg_checksums
+ postgresql:/usr/bin/pg_controldata:/usr/lib/psql16/bin/pg_controldata
+ postgresql:/usr/bin/pg_ctl:/usr/lib/psql16/bin/pg_ctl
+ postgresql:/usr/bin/pg_receivewal:/usr/lib/psql16/bin/pg_receivewal
+ postgresql:/usr/bin/pg_recvlogical:/usr/lib/psql16/bin/pg_recvlogical
+ postgresql:/usr/bin/pg_resetwal:/usr/lib/psql16/bin/pg_resetwal
+ postgresql:/usr/bin/pg_rewind:/usr/lib/psql16/bin/pg_rewind
+ postgresql:/usr/bin/pg_test_fsync:/usr/lib/psql16/bin/pg_test_fsync
+ postgresql:/usr/bin/pg_test_timing:/usr/lib/psql16/bin/pg_test_timing
+ postgresql:/usr/bin/pg_upgrade:/usr/lib/psql16/bin/pg_upgrade
+ postgresql:/usr/bin/pg_verifybackup:/usr/lib/psql16/bin/pg_verifybackup
+ postgresql:/usr/bin/pg_waldump:/usr/lib/psql16/bin/pg_waldump
+ postgresql:/usr/bin/pgbench:/usr/lib/psql16/bin/pgbench
+ postgresql:/usr/bin/postgres:/usr/lib/psql16/bin/postgres
+"
+
+# 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}/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}:
+}
+
+postgresql16-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 postgresql14-libs>=0 postgresql15-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} openssl-devel"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0 postgresql15-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
+
+postgresql16-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
+	}
+}
+
+postgresql16-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
+	}
+}
+
+postgresql16-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
+
+postgresql16-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	alternatives="
+	 postgresql-client:/usr/bin/clusterdb:/usr/lib/psql16/bin/clusterdb
+	 postgresql-client:/usr/bin/createdb:/usr/lib/psql16/bin/createdb
+	 postgresql-client:/usr/bin/createuser:/usr/lib/psql16/bin/createuser
+	 postgresql-client:/usr/bin/dropdb:/usr/lib/psql16/bin/dropdb
+	 postgresql-client:/usr/bin/dropuser:/usr/lib/psql16/bin/dropuser
+	 postgresql-client:/usr/bin/pg_dump:/usr/lib/psql16/bin/pg_dump
+	 postgresql-client:/usr/bin/pg_dumpall:/usr/lib/psql16/bin/pg_dumpall
+	 postgresql-client:/usr/bin/pg_isready:/usr/lib/psql16/bin/pg_isready
+	 postgresql-client:/usr/bin/pg_restore:/usr/lib/psql16/bin/pg_restore
+	 postgresql-client:/usr/bin/psql:/usr/lib/psql16/bin/psql
+	 postgresql-client:/usr/bin/reindexdb:/usr/lib/psql16/bin/reindexdb
+	 postgresql-client:/usr/bin/vacuumdb:/usr/lib/psql16/bin/vacuumdb
+	"
+	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
+	}
+}
+
+postgresql16-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	alternatives="
+	 postgresql-contrib:/usr/bin/oid2name:/usr/lib/psql16/bin/oid2name
+	 postgresql-contrib:/usr/bin/vacuumlo:/usr/lib/psql16/bin/vacuumlo
+	"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+		mv ${PKGDESTDIR}/usr/include ${PKGDESTDIR}/${_prefix}
+	}
+}
diff --git a/srcpkgs/postgresql16/update b/srcpkgs/postgresql16/update
new file mode 100644
index 0000000000000..160ccf1433388
--- /dev/null
+++ b/srcpkgs/postgresql16/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From eedb565038c22c30ab4f01b29eb7871ebb0c89ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:20:04 +0100
Subject: [PATCH 04/10] New package: postgresql14-libs-devel-15.4

---
 srcpkgs/postgresql15-libs-devel |  1 +
 srcpkgs/postgresql15/template   | 19 +++++++------------
 2 files changed, 8 insertions(+), 12 deletions(-)
 create mode 120000 srcpkgs/postgresql15-libs-devel

diff --git a/srcpkgs/postgresql15-libs-devel b/srcpkgs/postgresql15-libs-devel
new file mode 120000
index 0000000000000..a44b462efd158
--- /dev/null
+++ b/srcpkgs/postgresql15-libs-devel
@@ -0,0 +1 @@
+postgresql15
\ No newline at end of file
diff --git a/srcpkgs/postgresql15/template b/srcpkgs/postgresql15/template
index 7ac5762c0d9d5..e076f4dd9aee0 100644
--- a/srcpkgs/postgresql15/template
+++ b/srcpkgs/postgresql15/template
@@ -109,25 +109,20 @@ postgresql15-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0 postgresql14-libs>=0"
+postgresql15-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision} openssl-devel"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0"
 	pkg_install() {
+		# postgresql-libs
 		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} openssl-devel"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0"
-	pkg_install() {
+		rm -r "${PKGDESTDIR}/${_prefix}"
+		# postgresql-libs-devel
 		vmkdir usr/bin
 		vmkdir usr/lib
 		for f in pg_config ecpg; do

From e577692d75e1cbfad228db4ddc20ff40729b2dfd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:01:09 +0100
Subject: [PATCH 05/10] postgis-postgresql15: build with postgresql15-libs

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

diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 7f75fb0c1543d..5f2d8421e1f38 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql15'
 pkgname=postgis-postgresql15
 version=3.3.4
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="
  --with-projdir=${XBPS_CROSS_BASE}/usr
@@ -9,8 +9,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 postgresql15-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql15-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From f7c60778c272536f95c05a556aa447be0890b841 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:03:57 +0100
Subject: [PATCH 06/10] New package: postgis-postgresql16-3.3.4

---
 srcpkgs/postgis                       |  2 +-
 srcpkgs/postgis-postgresql15/template |  6 -----
 srcpkgs/postgis-postgresql16/template | 38 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql16/update   |  2 ++
 4 files changed, 41 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/postgis-postgresql16/template
 create mode 100644 srcpkgs/postgis-postgresql16/update

diff --git a/srcpkgs/postgis b/srcpkgs/postgis
index 3bacb4f025ed5..c5ffd3d9012c1 120000
--- a/srcpkgs/postgis
+++ b/srcpkgs/postgis
@@ -1 +1 @@
-postgis-postgresql15
\ No newline at end of file
+postgis-postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 5f2d8421e1f38..8d56fced47ace 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -30,9 +30,3 @@ pre_check() {
 	# regression tests require running postgresql
 	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
 }
-
-postgis_package() {
-	build_style=meta
-	short_desc+=" (meta package)"
-	depends="${sourcepkg}"
-}
diff --git a/srcpkgs/postgis-postgresql16/template b/srcpkgs/postgis-postgresql16/template
new file mode 100644
index 0000000000000..3e6d3e2754b32
--- /dev/null
+++ b/srcpkgs/postgis-postgresql16/template
@@ -0,0 +1,38 @@
+# Template file for 'postgis-postgresql16'
+pkgname=postgis-postgresql16
+version=3.3.4
+revision=1
+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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+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;'
+}
+
+postgis_package() {
+	build_style=meta
+	short_desc+=" (meta package)"
+	depends="${sourcepkg}"
+}
diff --git a/srcpkgs/postgis-postgresql16/update b/srcpkgs/postgis-postgresql16/update
new file mode 100644
index 0000000000000..e5577e6b068ae
--- /dev/null
+++ b/srcpkgs/postgis-postgresql16/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha* *beta* *rc*"

From bf84609be73c6bcff00c490405275e831f4fc742 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:05:21 +0100
Subject: [PATCH 07/10] postgresql: update to 16.

---
 srcpkgs/postgresql/template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/postgresql/template b/srcpkgs/postgresql/template
index dc371f80642ea..f70d8b14bce13 100644
--- a/srcpkgs/postgresql/template
+++ b/srcpkgs/postgresql/template
@@ -1,6 +1,6 @@
 # Template file for 'postgresql'
 pkgname=postgresql
-version=15
+version=16
 revision=1
 depends="postgresql${version}"
 short_desc="PostgreSQL server meta package"
@@ -27,36 +27,43 @@ do_install() {
 }
 
 postgresql-doc_package() {
+	build_style=meta
 	depends="postgresql${version}-doc"
 	short_desc="PostgreSQL documentation meta package"
 }
 
 postgresql-plperl_package() {
+	build_style=meta
 	depends="postgresql${version}-plperl"
 	short_desc="PL/Perl language meta package"
 }
 
 postgresql-plpython_package() {
+	build_style=meta
 	depends="postgresql${version}-plpython"
 	short_desc="PL/Python language meta package"
 }
 
 postgresql-pltcl_package() {
+	build_style=meta
 	depends="postgresql${version}-pltcl"
 	short_desc="PL/Tcl language meta package"
 }
 
 postgresql-client_package() {
+	build_style=meta
 	depends="postgresql${version}-client"
 	short_desc="Client frontends programs for PostgreSQL"
 }
 
 postgresql-contrib_package() {
+	build_style=meta
 	depends="postgresql${version}-contrib"
 	short_desc="PostgreSQL contributed programs and extensions"
 }
 
 postgresql-full_package() {
+	build_style=meta
 	depends="postgresql postgresql-client postgresql-doc postgresql-contrib postgresql-libs"
 	short_desc="PostgreSQL all packages meta package"
 

From ec485c3f15b67f132dd6745a6e083aab30c6ce3b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:05:45 +0100
Subject: [PATCH 08/10] postgresql15: update to 15.5.

---
 srcpkgs/postgresql15/files/profile.sh | 14 --------
 srcpkgs/postgresql15/template         | 47 +++++++++++++++++++++++----
 2 files changed, 41 insertions(+), 20 deletions(-)
 delete mode 100644 srcpkgs/postgresql15/files/profile.sh

diff --git a/srcpkgs/postgresql15/files/profile.sh b/srcpkgs/postgresql15/files/profile.sh
deleted file mode 100644
index 54be2ca50a4fd..0000000000000
--- a/srcpkgs/postgresql15/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/postgresql15/template b/srcpkgs/postgresql15/template
index e076f4dd9aee0..46b75145ae182 100644
--- a/srcpkgs/postgresql15/template
+++ b/srcpkgs/postgresql15/template
@@ -1,6 +1,6 @@
 # Template file for 'postgresql15'
 pkgname=postgresql15
-version=15.4
+version=15.5
 revision=1
 build_style=gnu-configure
 make_build_target=world
@@ -21,7 +21,7 @@ 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=baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9
+checksum=8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6
 make_check=ci-skip # Postgres server can't be run as root
 
 conf_files="
@@ -29,6 +29,27 @@ conf_files="
  /${_sysconfdir}/pam.d/postgresql
  /${_sysconfdir}/postgresql/postgresql.conf
 "
+alternatives="
+ postgresql:/usr/bin/initdb:/usr/lib/psql15/bin/initdb
+ postgresql:/usr/bin/pg_amchec:/usr/lib/psql15/bin/pg_amcheck
+ postgresql:/usr/bin/pg_archivecleanup:/usr/lib/psql15/bin/pg_archivecleanup
+ postgresql:/usr/bin/pg_basebackup:/usr/lib/psql15/bin/pg_basebackup
+ postgresql:/usr/bin/pg_checksums:/usr/lib/psql15/bin/pg_checksums
+ postgresql:/usr/bin/pg_controldata:/usr/lib/psql15/bin/pg_controldata
+ postgresql:/usr/bin/pg_ctl:/usr/lib/psql15/bin/pg_ctl
+ postgresql:/usr/bin/pg_receivewal:/usr/lib/psql15/bin/pg_receivewal
+ postgresql:/usr/bin/pg_recvlogical:/usr/lib/psql15/bin/pg_recvlogical
+ postgresql:/usr/bin/pg_resetwal:/usr/lib/psql15/bin/pg_resetwal
+ postgresql:/usr/bin/pg_rewind:/usr/lib/psql15/bin/pg_rewind
+ postgresql:/usr/bin/pg_test_fsync:/usr/lib/psql15/bin/pg_test_fsync
+ postgresql:/usr/bin/pg_test_timing:/usr/lib/psql15/bin/pg_test_timing
+ postgresql:/usr/bin/pg_upgrade:/usr/lib/psql15/bin/pg_upgrade
+ postgresql:/usr/bin/pg_verifybackup:/usr/lib/psql15/bin/pg_verifybackup
+ postgresql:/usr/bin/pg_waldump:/usr/lib/psql15/bin/pg_waldump
+ postgresql:/usr/bin/pgbench:/usr/lib/psql15/bin/pgbench
+ postgresql:/usr/bin/postgres:/usr/lib/psql15/bin/postgres
+ postgresql:/usr/bin/postmaster:/usr/lib/psql15/bin/postmaster
+"
 
 # Create 'postgres' user for the server.
 system_accounts="postgres"
@@ -84,8 +105,6 @@ post_install() {
 	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
@@ -193,6 +212,20 @@ fi # !CROSS_BUILD
 
 postgresql15-client_package() {
 	short_desc="Client frontends programs for PostgreSQL"
+	alternatives="
+	 postgresql-client:/usr/bin/clusterdb:/usr/lib/psql15/bin/clusterdb
+	 postgresql-client:/usr/bin/createdb:/usr/lib/psql15/bin/createdb
+	 postgresql-client:/usr/bin/createuser:/usr/lib/psql15/bin/createuser
+	 postgresql-client:/usr/bin/dropdb:/usr/lib/psql15/bin/dropdb
+	 postgresql-client:/usr/bin/dropuser:/usr/lib/psql15/bin/dropuser
+	 postgresql-client:/usr/bin/pg_dump:/usr/lib/psql15/bin/pg_dump
+	 postgresql-client:/usr/bin/pg_dumpall:/usr/lib/psql15/bin/pg_dumpall
+	 postgresql-client:/usr/bin/pg_isready:/usr/lib/psql15/bin/pg_isready
+	 postgresql-client:/usr/bin/pg_restore:/usr/lib/psql15/bin/pg_restore
+	 postgresql-client:/usr/bin/psql:/usr/lib/psql15/bin/psql
+	 postgresql-client:/usr/bin/reindexdb:/usr/lib/psql15/bin/reindexdb
+	 postgresql-client:/usr/bin/vacuumdb:/usr/lib/psql15/bin/vacuumdb
+	"
 	pkg_install() {
 		for f in clusterdb createdb createuser dropdb \
 			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
@@ -210,12 +243,14 @@ postgresql15-client_package() {
 		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
 	}
 }
 
 postgresql15-contrib_package() {
+	alternatives="
+	 postgresql-contrib:/usr/bin/oid2name:/usr/lib/psql15/bin/oid2name
+	 postgresql-contrib:/usr/bin/vacuumlo:/usr/lib/psql15/bin/vacuumlo
+	"
 	short_desc="PostgreSQL contributed programs and extensions"
 	pkg_install() {
 		make -C contrib install DESTDIR=${PKGDESTDIR}

From e1f7e7b8d95f70a7f6f5b21f000f9e4a8050574b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:08:00 +0100
Subject: [PATCH 09/10] postgis-postgresql15: update to 3.4.0.

---
 srcpkgs/postgis-postgresql15/template | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 8d56fced47ace..ad5c7cc61bd39 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -1,9 +1,10 @@
 # Template file for 'postgis-postgresql15'
 pkgname=postgis-postgresql15
-version=3.3.4
-revision=2
+version=3.4.0
+revision=1
 build_style=gnu-configure
 configure_args="
+ --bindir=/usr/lib/psql15/bin
  --with-projdir=${XBPS_CROSS_BASE}/usr
  --with-jsondir=${XBPS_CROSS_BASE}/usr
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
@@ -19,7 +20,7 @@ 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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+checksum=aee9b60a6c884d354164b3096c4657f324454186607f859d1ce05d899798af9d
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {
@@ -30,3 +31,9 @@ pre_check() {
 	# regression tests require running postgresql
 	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
 }
+
+post_install() {
+	for i in ${DESTDIR}/usr/share/man/man1/*; do
+		mv -v "${i}" "${i/.1/-15.1}"
+	done
+}

From c2b99e07dd434c99720956a2f4b0f7b1822ea874 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:08:40 +0100
Subject: [PATCH 10/10] postgis-postgresql16: update to 3.4.0.

---
 srcpkgs/postgis-postgresql16/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgis-postgresql16/template b/srcpkgs/postgis-postgresql16/template
index 3e6d3e2754b32..9d62f16f767e0 100644
--- a/srcpkgs/postgis-postgresql16/template
+++ b/srcpkgs/postgis-postgresql16/template
@@ -1,9 +1,10 @@
 # Template file for 'postgis-postgresql16'
 pkgname=postgis-postgresql16
-version=3.3.4
+version=3.4.0
 revision=1
 build_style=gnu-configure
 configure_args="
+ --bindir=/usr/lib/psql16/bin
  --with-projdir=${XBPS_CROSS_BASE}/usr
  --with-jsondir=${XBPS_CROSS_BASE}/usr
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
@@ -19,7 +20,7 @@ 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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+checksum=aee9b60a6c884d354164b3096c4657f324454186607f859d1ce05d899798af9d
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {

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

* Re: [PR PATCH] [Updated] New package: postgresql16-16.1
  2024-01-01 21:47 [PR PATCH] New package: postgresql16-16.1 Chocimier
@ 2024-01-01 21:49 ` Chocimier
  2024-01-02 20:27 ` [PR PATCH] [Merged]: " Chocimier
  1 sibling, 0 replies; 3+ messages in thread
From: Chocimier @ 2024-01-01 21:49 UTC (permalink / raw)
  To: ml

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

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

https://github.com/Chocimier/void-packages-org postgres
https://github.com/void-linux/void-packages/pull/48022

New package: postgresql16-16.1
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


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

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

From 3d8da3309f1f0973b069ace60a961f0316f7ed93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 11:36:25 +0100
Subject: [PATCH 01/10] postgis-postgresql14: remove

---
 srcpkgs/postgis-postgresql14/template | 32 ---------------------------
 srcpkgs/postgis-postgresql14/update   |  2 --
 2 files changed, 34 deletions(-)
 delete mode 100644 srcpkgs/postgis-postgresql14/template
 delete mode 100644 srcpkgs/postgis-postgresql14/update

diff --git a/srcpkgs/postgis-postgresql14/template b/srcpkgs/postgis-postgresql14/template
deleted file mode 100644
index aeb7924719a04..0000000000000
--- a/srcpkgs/postgis-postgresql14/template
+++ /dev/null
@@ -1,32 +0,0 @@
-# Template file for 'postgis-postgresql14'
-pkgname=postgis-postgresql14
-version=3.3.4
-revision=1
-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 postgresql14-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql14-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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
-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
deleted file mode 100644
index e5577e6b068ae..0000000000000
--- a/srcpkgs/postgis-postgresql14/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=postgis
-ignore="*alpha* *beta* *rc*"

From 82b567a1e552c1ec629890475cd2d1c946fde46a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:18:47 +0100
Subject: [PATCH 02/10] postgresql14: remove

---
 srcpkgs/postgresql14-client                   |   1 -
 srcpkgs/postgresql14-contrib                  |   1 -
 srcpkgs/postgresql14-doc                      |   1 -
 srcpkgs/postgresql14-libs                     |   1 -
 srcpkgs/postgresql14-libs-devel               |   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 -
 srcpkgs/postgresql14/files/postgresql14/run   |  28 ---
 srcpkgs/postgresql14/files/profile.sh         |  14 --
 .../patches/pg_config-cross-value.patch       |  45 ----
 srcpkgs/postgresql14/patches/relocate.patch   |  22 --
 srcpkgs/postgresql14/template                 | 231 ------------------
 srcpkgs/postgresql14/update                   |   2 -
 18 files changed, 515 deletions(-)
 delete mode 120000 srcpkgs/postgresql14-client
 delete mode 120000 srcpkgs/postgresql14-contrib
 delete mode 120000 srcpkgs/postgresql14-doc
 delete mode 120000 srcpkgs/postgresql14-libs
 delete mode 120000 srcpkgs/postgresql14-libs-devel
 delete mode 120000 srcpkgs/postgresql14-plperl
 delete mode 120000 srcpkgs/postgresql14-plpython
 delete mode 120000 srcpkgs/postgresql14-pltcl
 delete mode 100644 srcpkgs/postgresql14/files/pg_config.sh.in
 delete mode 100644 srcpkgs/postgresql14/files/postgresql.confd
 delete mode 100644 srcpkgs/postgresql14/files/postgresql.pam
 delete mode 100755 srcpkgs/postgresql14/files/postgresql14/control/t
 delete mode 100755 srcpkgs/postgresql14/files/postgresql14/run
 delete mode 100644 srcpkgs/postgresql14/files/profile.sh
 delete mode 100644 srcpkgs/postgresql14/patches/pg_config-cross-value.patch
 delete mode 100644 srcpkgs/postgresql14/patches/relocate.patch
 delete mode 100644 srcpkgs/postgresql14/template
 delete mode 100644 srcpkgs/postgresql14/update

diff --git a/srcpkgs/postgresql14-client b/srcpkgs/postgresql14-client
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-client
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-contrib b/srcpkgs/postgresql14-contrib
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-contrib
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-doc b/srcpkgs/postgresql14-doc
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-doc
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-libs b/srcpkgs/postgresql14-libs
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-libs
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-libs-devel b/srcpkgs/postgresql14-libs-devel
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-libs-devel
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plperl b/srcpkgs/postgresql14-plperl
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-plperl
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-plpython b/srcpkgs/postgresql14-plpython
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-plpython
+++ /dev/null
@@ -1 +0,0 @@
-postgresql14
\ No newline at end of file
diff --git a/srcpkgs/postgresql14-pltcl b/srcpkgs/postgresql14-pltcl
deleted file mode 120000
index 13d0224a054b8..0000000000000
--- a/srcpkgs/postgresql14-pltcl
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 68068a82e01ee..0000000000000
--- a/srcpkgs/postgresql14/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/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
deleted file mode 100644
index fe7106626fa57..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/files/postgresql.pam b/srcpkgs/postgresql14/files/postgresql.pam
deleted file mode 100644
index 53724d1f86a76..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/files/postgresql14/control/t b/srcpkgs/postgresql14/files/postgresql14/control/t
deleted file mode 100755
index dcedfaa20180c..0000000000000
--- a/srcpkgs/postgresql14/files/postgresql14/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/postgresql14/files/postgresql14/run b/srcpkgs/postgresql14/files/postgresql14/run
deleted file mode 100755
index 1da79920625df..0000000000000
--- a/srcpkgs/postgresql14/files/postgresql14/run
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-exec 2>&1
-. /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
deleted file mode 100644
index 54be2ca50a4fd..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/patches/pg_config-cross-value.patch b/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
deleted file mode 100644
index cc0a9fc19133a..0000000000000
--- a/srcpkgs/postgresql14/patches/pg_config-cross-value.patch
+++ /dev/null
@@ -1,45 +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,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
deleted file mode 100644
index d2cc14281e3a6..0000000000000
--- a/srcpkgs/postgresql14/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/postgresql14/template b/srcpkgs/postgresql14/template
deleted file mode 100644
index be30459a5aca5..0000000000000
--- a/srcpkgs/postgresql14/template
+++ /dev/null
@@ -1,231 +0,0 @@
-# Template file for 'postgresql14'
-pkgname=postgresql14
-version=14.9
-revision=1
-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=b1fe3ba9b1a7f3a9637dd1656dfdad2889016073fd4d35f13b50143cbbb6a8ef
-make_check=ci-skip # Postgres server can't be run as root
-
-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
-	}
-}
-
-postgresql14-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0"
-	# This package exist to build extensions. Link all to postgresql-libs.
-	noshlibprovides=yes
-	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
-	}
-}
-
-postgresql14-libs-devel_package() {
-	depends="postgresql-libs>=${version}_${revision} openssl-devel"
-	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}
-		mv ${PKGDESTDIR}/usr/include ${PKGDESTDIR}/${_prefix}
-	}
-}
diff --git a/srcpkgs/postgresql14/update b/srcpkgs/postgresql14/update
deleted file mode 100644
index 160ccf1433388..0000000000000
--- a/srcpkgs/postgresql14/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site="https://ftp.postgresql.org/pub/source/"
-pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 31a4bbf5c426b6b251ab1029190b2b1fb3258844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:19:10 +0100
Subject: [PATCH 03/10] New package: postgresql16-16.1

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

diff --git a/common/shlibs b/common/shlibs
index c086125eb8cd4..a0cddb2729eb6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -562,10 +562,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-15.1_1
-libecpg.so.6 postgresql-libs-15.1_1
-libpgtypes.so.3 postgresql-libs-15.1_1
-libpq.so.5 postgresql-libs-15.1_1
+libecpg_compat.so.3 postgresql-libs-16.1_1
+libecpg.so.6 postgresql-libs-16.1_1
+libpgtypes.so.3 postgresql-libs-16.1_1
+libpq.so.5 postgresql-libs-16.1_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 a44b462efd158..2caa22354d194 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql15
\ No newline at end of file
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index a44b462efd158..2caa22354d194 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql15
\ No newline at end of file
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-client b/srcpkgs/postgresql16-client
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-client
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-contrib b/srcpkgs/postgresql16-contrib
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-contrib
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-doc b/srcpkgs/postgresql16-doc
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-doc
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-plperl b/srcpkgs/postgresql16-plperl
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-plperl
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-plpython b/srcpkgs/postgresql16-plpython
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-plpython
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16-pltcl b/srcpkgs/postgresql16-pltcl
new file mode 120000
index 0000000000000..2caa22354d194
--- /dev/null
+++ b/srcpkgs/postgresql16-pltcl
@@ -0,0 +1 @@
+postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgresql16/files/pg_config.sh.in b/srcpkgs/postgresql16/files/pg_config.sh.in
new file mode 100644
index 0000000000000..68068a82e01ee
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql.confd b/srcpkgs/postgresql16/files/postgresql.confd
new file mode 100644
index 0000000000000..fe7106626fa57
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql.pam b/srcpkgs/postgresql16/files/postgresql.pam
new file mode 100644
index 0000000000000..53724d1f86a76
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/files/postgresql16/control/t b/srcpkgs/postgresql16/files/postgresql16/control/t
new file mode 100755
index 0000000000000..dcedfaa20180c
--- /dev/null
+++ b/srcpkgs/postgresql16/files/postgresql16/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/postgresql16/files/postgresql16/run b/srcpkgs/postgresql16/files/postgresql16/run
new file mode 100755
index 0000000000000..1da79920625df
--- /dev/null
+++ b/srcpkgs/postgresql16/files/postgresql16/run
@@ -0,0 +1,28 @@
+#!/bin/sh
+exec 2>&1
+. /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/postgresql16/patches/pg_config-cross-value.patch b/srcpkgs/postgresql16/patches/pg_config-cross-value.patch
new file mode 100644
index 0000000000000..cc0a9fc19133a
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/patches/relocate.patch b/srcpkgs/postgresql16/patches/relocate.patch
new file mode 100644
index 0000000000000..d2cc14281e3a6
--- /dev/null
+++ b/srcpkgs/postgresql16/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/postgresql16/template b/srcpkgs/postgresql16/template
new file mode 100644
index 0000000000000..5eba23437c83a
--- /dev/null
+++ b/srcpkgs/postgresql16/template
@@ -0,0 +1,263 @@
+# Template file for 'postgresql16'
+pkgname=postgresql16
+version=16.1
+revision=1
+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 pkg-config"
+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=ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec
+make_check=ci-skip # Postgres server can't be run as root
+
+conf_files="
+ /${_sysconfdir}/default/postgresql
+ /${_sysconfdir}/pam.d/postgresql
+ /${_sysconfdir}/postgresql/postgresql.conf
+"
+alternatives="
+ postgresql:/usr/bin/initdb:/usr/lib/psql16/bin/initdb
+ postgresql:/usr/bin/pg_amcheck:/usr/lib/psql16/bin/pg_amcheck
+ postgresql:/usr/bin/pg_archivecleanup:/usr/lib/psql16/bin/pg_archivecleanup
+ postgresql:/usr/bin/pg_basebackup:/usr/lib/psql16/bin/pg_basebackup
+ postgresql:/usr/bin/pg_checksums:/usr/lib/psql16/bin/pg_checksums
+ postgresql:/usr/bin/pg_controldata:/usr/lib/psql16/bin/pg_controldata
+ postgresql:/usr/bin/pg_ctl:/usr/lib/psql16/bin/pg_ctl
+ postgresql:/usr/bin/pg_receivewal:/usr/lib/psql16/bin/pg_receivewal
+ postgresql:/usr/bin/pg_recvlogical:/usr/lib/psql16/bin/pg_recvlogical
+ postgresql:/usr/bin/pg_resetwal:/usr/lib/psql16/bin/pg_resetwal
+ postgresql:/usr/bin/pg_rewind:/usr/lib/psql16/bin/pg_rewind
+ postgresql:/usr/bin/pg_test_fsync:/usr/lib/psql16/bin/pg_test_fsync
+ postgresql:/usr/bin/pg_test_timing:/usr/lib/psql16/bin/pg_test_timing
+ postgresql:/usr/bin/pg_upgrade:/usr/lib/psql16/bin/pg_upgrade
+ postgresql:/usr/bin/pg_verifybackup:/usr/lib/psql16/bin/pg_verifybackup
+ postgresql:/usr/bin/pg_waldump:/usr/lib/psql16/bin/pg_waldump
+ postgresql:/usr/bin/pgbench:/usr/lib/psql16/bin/pgbench
+ postgresql:/usr/bin/postgres:/usr/lib/psql16/bin/postgres
+"
+
+# 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}/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}:
+}
+
+postgresql16-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 postgresql14-libs>=0 postgresql15-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} openssl-devel"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0 postgresql15-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
+
+postgresql16-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
+	}
+}
+
+postgresql16-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
+	}
+}
+
+postgresql16-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
+
+postgresql16-client_package() {
+	short_desc="Client frontends programs for PostgreSQL"
+	alternatives="
+	 postgresql-client:/usr/bin/clusterdb:/usr/lib/psql16/bin/clusterdb
+	 postgresql-client:/usr/bin/createdb:/usr/lib/psql16/bin/createdb
+	 postgresql-client:/usr/bin/createuser:/usr/lib/psql16/bin/createuser
+	 postgresql-client:/usr/bin/dropdb:/usr/lib/psql16/bin/dropdb
+	 postgresql-client:/usr/bin/dropuser:/usr/lib/psql16/bin/dropuser
+	 postgresql-client:/usr/bin/pg_dump:/usr/lib/psql16/bin/pg_dump
+	 postgresql-client:/usr/bin/pg_dumpall:/usr/lib/psql16/bin/pg_dumpall
+	 postgresql-client:/usr/bin/pg_isready:/usr/lib/psql16/bin/pg_isready
+	 postgresql-client:/usr/bin/pg_restore:/usr/lib/psql16/bin/pg_restore
+	 postgresql-client:/usr/bin/psql:/usr/lib/psql16/bin/psql
+	 postgresql-client:/usr/bin/reindexdb:/usr/lib/psql16/bin/reindexdb
+	 postgresql-client:/usr/bin/vacuumdb:/usr/lib/psql16/bin/vacuumdb
+	"
+	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
+	}
+}
+
+postgresql16-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	alternatives="
+	 postgresql-contrib:/usr/bin/oid2name:/usr/lib/psql16/bin/oid2name
+	 postgresql-contrib:/usr/bin/vacuumlo:/usr/lib/psql16/bin/vacuumlo
+	"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+		mv ${PKGDESTDIR}/usr/include ${PKGDESTDIR}/${_prefix}
+	}
+}
diff --git a/srcpkgs/postgresql16/update b/srcpkgs/postgresql16/update
new file mode 100644
index 0000000000000..160ccf1433388
--- /dev/null
+++ b/srcpkgs/postgresql16/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 9fd4f85b5e16b665cbce995a4a88065ba93b8306 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 08:20:04 +0100
Subject: [PATCH 04/10] New package: postgresql15-libs-devel-15.4

---
 srcpkgs/postgresql15-libs-devel |  1 +
 srcpkgs/postgresql15/template   | 19 +++++++------------
 2 files changed, 8 insertions(+), 12 deletions(-)
 create mode 120000 srcpkgs/postgresql15-libs-devel

diff --git a/srcpkgs/postgresql15-libs-devel b/srcpkgs/postgresql15-libs-devel
new file mode 120000
index 0000000000000..a44b462efd158
--- /dev/null
+++ b/srcpkgs/postgresql15-libs-devel
@@ -0,0 +1 @@
+postgresql15
\ No newline at end of file
diff --git a/srcpkgs/postgresql15/template b/srcpkgs/postgresql15/template
index 7ac5762c0d9d5..e076f4dd9aee0 100644
--- a/srcpkgs/postgresql15/template
+++ b/srcpkgs/postgresql15/template
@@ -109,25 +109,20 @@ postgresql15-doc_package() {
 	}
 }
 
-postgresql-libs_package() {
-	short_desc="PostgreSQL shared libraries"
-	conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0 postgresql13-libs>=0 postgresql14-libs>=0"
+postgresql15-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision} openssl-devel"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0"
 	pkg_install() {
+		# postgresql-libs
 		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} openssl-devel"
-	short_desc="PostgreSQL shared libraries (development files)"
-	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0 postgresql13-libs-devel>=0 postgresql14-libs-devel>=0"
-	pkg_install() {
+		rm -r "${PKGDESTDIR}/${_prefix}"
+		# postgresql-libs-devel
 		vmkdir usr/bin
 		vmkdir usr/lib
 		for f in pg_config ecpg; do

From b605021d283b0527928b24418cba08b46bb5ce29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:01:09 +0100
Subject: [PATCH 05/10] postgis-postgresql15: build with postgresql15-libs

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

diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 7f75fb0c1543d..5f2d8421e1f38 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql15'
 pkgname=postgis-postgresql15
 version=3.3.4
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="
  --with-projdir=${XBPS_CROSS_BASE}/usr
@@ -9,8 +9,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 postgresql15-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql15-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 checkdepends="libxslt CUnit-devel"
 short_desc="Spatial database extender for PostgreSQL"

From 177c8b6874eaae689d812a353e292315c5e191a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:03:57 +0100
Subject: [PATCH 06/10] New package: postgis-postgresql16-3.3.4

---
 srcpkgs/postgis                       |  2 +-
 srcpkgs/postgis-postgresql15/template |  6 -----
 srcpkgs/postgis-postgresql16/template | 38 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql16/update   |  2 ++
 4 files changed, 41 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/postgis-postgresql16/template
 create mode 100644 srcpkgs/postgis-postgresql16/update

diff --git a/srcpkgs/postgis b/srcpkgs/postgis
index 3bacb4f025ed5..c5ffd3d9012c1 120000
--- a/srcpkgs/postgis
+++ b/srcpkgs/postgis
@@ -1 +1 @@
-postgis-postgresql15
\ No newline at end of file
+postgis-postgresql16
\ No newline at end of file
diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 5f2d8421e1f38..8d56fced47ace 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -30,9 +30,3 @@ pre_check() {
 	# regression tests require running postgresql
 	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
 }
-
-postgis_package() {
-	build_style=meta
-	short_desc+=" (meta package)"
-	depends="${sourcepkg}"
-}
diff --git a/srcpkgs/postgis-postgresql16/template b/srcpkgs/postgis-postgresql16/template
new file mode 100644
index 0000000000000..3e6d3e2754b32
--- /dev/null
+++ b/srcpkgs/postgis-postgresql16/template
@@ -0,0 +1,38 @@
+# Template file for 'postgis-postgresql16'
+pkgname=postgis-postgresql16
+version=3.3.4
+revision=1
+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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+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;'
+}
+
+postgis_package() {
+	build_style=meta
+	short_desc+=" (meta package)"
+	depends="${sourcepkg}"
+}
diff --git a/srcpkgs/postgis-postgresql16/update b/srcpkgs/postgis-postgresql16/update
new file mode 100644
index 0000000000000..e5577e6b068ae
--- /dev/null
+++ b/srcpkgs/postgis-postgresql16/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha* *beta* *rc*"

From 0beaf78bc372a8d08cbcb2267da4cb16c497fb1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:05:21 +0100
Subject: [PATCH 07/10] postgresql: update to 16.

---
 srcpkgs/postgresql/template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/postgresql/template b/srcpkgs/postgresql/template
index dc371f80642ea..f70d8b14bce13 100644
--- a/srcpkgs/postgresql/template
+++ b/srcpkgs/postgresql/template
@@ -1,6 +1,6 @@
 # Template file for 'postgresql'
 pkgname=postgresql
-version=15
+version=16
 revision=1
 depends="postgresql${version}"
 short_desc="PostgreSQL server meta package"
@@ -27,36 +27,43 @@ do_install() {
 }
 
 postgresql-doc_package() {
+	build_style=meta
 	depends="postgresql${version}-doc"
 	short_desc="PostgreSQL documentation meta package"
 }
 
 postgresql-plperl_package() {
+	build_style=meta
 	depends="postgresql${version}-plperl"
 	short_desc="PL/Perl language meta package"
 }
 
 postgresql-plpython_package() {
+	build_style=meta
 	depends="postgresql${version}-plpython"
 	short_desc="PL/Python language meta package"
 }
 
 postgresql-pltcl_package() {
+	build_style=meta
 	depends="postgresql${version}-pltcl"
 	short_desc="PL/Tcl language meta package"
 }
 
 postgresql-client_package() {
+	build_style=meta
 	depends="postgresql${version}-client"
 	short_desc="Client frontends programs for PostgreSQL"
 }
 
 postgresql-contrib_package() {
+	build_style=meta
 	depends="postgresql${version}-contrib"
 	short_desc="PostgreSQL contributed programs and extensions"
 }
 
 postgresql-full_package() {
+	build_style=meta
 	depends="postgresql postgresql-client postgresql-doc postgresql-contrib postgresql-libs"
 	short_desc="PostgreSQL all packages meta package"
 

From 7db307a459cd814828a461ef3d2d76b7012e5739 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:05:45 +0100
Subject: [PATCH 08/10] postgresql15: update to 15.5.

---
 srcpkgs/postgresql15/files/profile.sh | 14 --------
 srcpkgs/postgresql15/template         | 47 +++++++++++++++++++++++----
 2 files changed, 41 insertions(+), 20 deletions(-)
 delete mode 100644 srcpkgs/postgresql15/files/profile.sh

diff --git a/srcpkgs/postgresql15/files/profile.sh b/srcpkgs/postgresql15/files/profile.sh
deleted file mode 100644
index 54be2ca50a4fd..0000000000000
--- a/srcpkgs/postgresql15/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/postgresql15/template b/srcpkgs/postgresql15/template
index e076f4dd9aee0..46b75145ae182 100644
--- a/srcpkgs/postgresql15/template
+++ b/srcpkgs/postgresql15/template
@@ -1,6 +1,6 @@
 # Template file for 'postgresql15'
 pkgname=postgresql15
-version=15.4
+version=15.5
 revision=1
 build_style=gnu-configure
 make_build_target=world
@@ -21,7 +21,7 @@ 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=baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9
+checksum=8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6
 make_check=ci-skip # Postgres server can't be run as root
 
 conf_files="
@@ -29,6 +29,27 @@ conf_files="
  /${_sysconfdir}/pam.d/postgresql
  /${_sysconfdir}/postgresql/postgresql.conf
 "
+alternatives="
+ postgresql:/usr/bin/initdb:/usr/lib/psql15/bin/initdb
+ postgresql:/usr/bin/pg_amchec:/usr/lib/psql15/bin/pg_amcheck
+ postgresql:/usr/bin/pg_archivecleanup:/usr/lib/psql15/bin/pg_archivecleanup
+ postgresql:/usr/bin/pg_basebackup:/usr/lib/psql15/bin/pg_basebackup
+ postgresql:/usr/bin/pg_checksums:/usr/lib/psql15/bin/pg_checksums
+ postgresql:/usr/bin/pg_controldata:/usr/lib/psql15/bin/pg_controldata
+ postgresql:/usr/bin/pg_ctl:/usr/lib/psql15/bin/pg_ctl
+ postgresql:/usr/bin/pg_receivewal:/usr/lib/psql15/bin/pg_receivewal
+ postgresql:/usr/bin/pg_recvlogical:/usr/lib/psql15/bin/pg_recvlogical
+ postgresql:/usr/bin/pg_resetwal:/usr/lib/psql15/bin/pg_resetwal
+ postgresql:/usr/bin/pg_rewind:/usr/lib/psql15/bin/pg_rewind
+ postgresql:/usr/bin/pg_test_fsync:/usr/lib/psql15/bin/pg_test_fsync
+ postgresql:/usr/bin/pg_test_timing:/usr/lib/psql15/bin/pg_test_timing
+ postgresql:/usr/bin/pg_upgrade:/usr/lib/psql15/bin/pg_upgrade
+ postgresql:/usr/bin/pg_verifybackup:/usr/lib/psql15/bin/pg_verifybackup
+ postgresql:/usr/bin/pg_waldump:/usr/lib/psql15/bin/pg_waldump
+ postgresql:/usr/bin/pgbench:/usr/lib/psql15/bin/pgbench
+ postgresql:/usr/bin/postgres:/usr/lib/psql15/bin/postgres
+ postgresql:/usr/bin/postmaster:/usr/lib/psql15/bin/postmaster
+"
 
 # Create 'postgres' user for the server.
 system_accounts="postgres"
@@ -84,8 +105,6 @@ post_install() {
 	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
@@ -193,6 +212,20 @@ fi # !CROSS_BUILD
 
 postgresql15-client_package() {
 	short_desc="Client frontends programs for PostgreSQL"
+	alternatives="
+	 postgresql-client:/usr/bin/clusterdb:/usr/lib/psql15/bin/clusterdb
+	 postgresql-client:/usr/bin/createdb:/usr/lib/psql15/bin/createdb
+	 postgresql-client:/usr/bin/createuser:/usr/lib/psql15/bin/createuser
+	 postgresql-client:/usr/bin/dropdb:/usr/lib/psql15/bin/dropdb
+	 postgresql-client:/usr/bin/dropuser:/usr/lib/psql15/bin/dropuser
+	 postgresql-client:/usr/bin/pg_dump:/usr/lib/psql15/bin/pg_dump
+	 postgresql-client:/usr/bin/pg_dumpall:/usr/lib/psql15/bin/pg_dumpall
+	 postgresql-client:/usr/bin/pg_isready:/usr/lib/psql15/bin/pg_isready
+	 postgresql-client:/usr/bin/pg_restore:/usr/lib/psql15/bin/pg_restore
+	 postgresql-client:/usr/bin/psql:/usr/lib/psql15/bin/psql
+	 postgresql-client:/usr/bin/reindexdb:/usr/lib/psql15/bin/reindexdb
+	 postgresql-client:/usr/bin/vacuumdb:/usr/lib/psql15/bin/vacuumdb
+	"
 	pkg_install() {
 		for f in clusterdb createdb createuser dropdb \
 			dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \
@@ -210,12 +243,14 @@ postgresql15-client_package() {
 		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
 	}
 }
 
 postgresql15-contrib_package() {
+	alternatives="
+	 postgresql-contrib:/usr/bin/oid2name:/usr/lib/psql15/bin/oid2name
+	 postgresql-contrib:/usr/bin/vacuumlo:/usr/lib/psql15/bin/vacuumlo
+	"
 	short_desc="PostgreSQL contributed programs and extensions"
 	pkg_install() {
 		make -C contrib install DESTDIR=${PKGDESTDIR}

From f7ccc6c90cefe1c28dc19ff911ca42c7608e2031 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:08:00 +0100
Subject: [PATCH 09/10] postgis-postgresql15: update to 3.4.0.

---
 srcpkgs/postgis-postgresql15/template | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql15/template b/srcpkgs/postgis-postgresql15/template
index 8d56fced47ace..ad5c7cc61bd39 100644
--- a/srcpkgs/postgis-postgresql15/template
+++ b/srcpkgs/postgis-postgresql15/template
@@ -1,9 +1,10 @@
 # Template file for 'postgis-postgresql15'
 pkgname=postgis-postgresql15
-version=3.3.4
-revision=2
+version=3.4.0
+revision=1
 build_style=gnu-configure
 configure_args="
+ --bindir=/usr/lib/psql15/bin
  --with-projdir=${XBPS_CROSS_BASE}/usr
  --with-jsondir=${XBPS_CROSS_BASE}/usr
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
@@ -19,7 +20,7 @@ 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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+checksum=aee9b60a6c884d354164b3096c4657f324454186607f859d1ce05d899798af9d
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {
@@ -30,3 +31,9 @@ pre_check() {
 	# regression tests require running postgresql
 	vsed -i regress/run_test.pl -e '/\/usr\/bin\/env/ a exit;'
 }
+
+post_install() {
+	for i in ${DESTDIR}/usr/share/man/man1/*; do
+		mv -v "${i}" "${i/.1/-15.1}"
+	done
+}

From 4762f31147daf115976d1595417829b71dbb23a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Fri, 10 Nov 2023 12:08:40 +0100
Subject: [PATCH 10/10] postgis-postgresql16: update to 3.4.0.

---
 srcpkgs/postgis-postgresql16/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgis-postgresql16/template b/srcpkgs/postgis-postgresql16/template
index 3e6d3e2754b32..9d62f16f767e0 100644
--- a/srcpkgs/postgis-postgresql16/template
+++ b/srcpkgs/postgis-postgresql16/template
@@ -1,9 +1,10 @@
 # Template file for 'postgis-postgresql16'
 pkgname=postgis-postgresql16
-version=3.3.4
+version=3.4.0
 revision=1
 build_style=gnu-configure
 configure_args="
+ --bindir=/usr/lib/psql16/bin
  --with-projdir=${XBPS_CROSS_BASE}/usr
  --with-jsondir=${XBPS_CROSS_BASE}/usr
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
@@ -19,7 +20,7 @@ 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=9d41eaef70e811a4fe2f4a431d144c0c57ce17c2c1a3c938ddaf4e5a3813b0d8
+checksum=aee9b60a6c884d354164b3096c4657f324454186607f859d1ce05d899798af9d
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {

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

* Re: [PR PATCH] [Merged]: New package: postgresql16-16.1
  2024-01-01 21:47 [PR PATCH] New package: postgresql16-16.1 Chocimier
  2024-01-01 21:49 ` [PR PATCH] [Updated] " Chocimier
@ 2024-01-02 20:27 ` Chocimier
  1 sibling, 0 replies; 3+ messages in thread
From: Chocimier @ 2024-01-02 20:27 UTC (permalink / raw)
  To: ml

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

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

New package: postgresql16-16.1
https://github.com/void-linux/void-packages/pull/48022

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


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

end of thread, other threads:[~2024-01-02 20:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-01 21:47 [PR PATCH] New package: postgresql16-16.1 Chocimier
2024-01-01 21:49 ` [PR PATCH] [Updated] " Chocimier
2024-01-02 20:27 ` [PR PATCH] [Merged]: " 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).