Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: postgresql13-13.0
@ 2020-09-24 20:41 Chocimier
  2020-09-26 14:56 ` [PR PATCH] [Updated] " Chocimier
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Chocimier @ 2020-09-24 20:41 UTC (permalink / raw)
  To: ml

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

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

https://github.com/Chocimier/void-packages-org postgresql13
https://github.com/void-linux/void-packages/pull/25072

New package: postgresql13-13.0


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

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

From c83b3b3bfccf4a239464d0e5cfa20dcfbce809a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 24 Sep 2020 22:23:19 +0200
Subject: [PATCH 1/3] New package: postgresql13-13.0

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

diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-client b/srcpkgs/postgresql13-client
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-client
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-contrib b/srcpkgs/postgresql13-contrib
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-contrib
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-doc b/srcpkgs/postgresql13-doc
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-doc
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plperl b/srcpkgs/postgresql13-plperl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plperl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plpython b/srcpkgs/postgresql13-plpython
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plpython
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-pltcl b/srcpkgs/postgresql13-pltcl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-pltcl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/files/pg_config.sh.in b/srcpkgs/postgresql13/files/pg_config.sh.in
new file mode 100644
index 00000000000..3d20d215d0b
--- /dev/null
+++ b/srcpkgs/postgresql13/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/@PREFIX@/etc/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql13/files/postgresql.confd b/srcpkgs/postgresql13/files/postgresql.confd
new file mode 100644
index 00000000000..fe7106626fa
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql.pam b/srcpkgs/postgresql13/files/postgresql.pam
new file mode 100644
index 00000000000..53724d1f86a
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql13/control/t b/srcpkgs/postgresql13/files/postgresql13/control/t
new file mode 100755
index 00000000000..dcedfaa2018
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/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/postgresql13/files/postgresql13/log/run b/srcpkgs/postgresql13/files/postgresql13/log/run
new file mode 100755
index 00000000000..815d9c97407
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql13/files/postgresql13/run b/srcpkgs/postgresql13/files/postgresql13/run
new file mode 100755
index 00000000000..b45c1b4ca8f
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/run
@@ -0,0 +1,24 @@
+#!/bin/sh
+. /@PREFIX@/etc/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA"
+	chown -R postgres:postgres "$PGDATA"
+	chmod 0700 "$PGDATA"
+	su - postgres -m -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
+
+	if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then
+		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql13/files/profile.sh b/srcpkgs/postgresql13/files/profile.sh
new file mode 100644
index 00000000000..54be2ca50a4
--- /dev/null
+++ b/srcpkgs/postgresql13/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql13/patches/pg_config-cross-value.patch b/srcpkgs/postgresql13/patches/pg_config-cross-value.patch
new file mode 100644
index 00000000000..e16ae25a005
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/common/Makefile
++++ 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/postgresql13/patches/relocate.patch b/srcpkgs/postgresql13/patches/relocate.patch
new file mode 100644
index 00000000000..65bab8ad4c6
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/port/path.c
++++ 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/postgresql13/template b/srcpkgs/postgresql13/template
new file mode 100644
index 00000000000..449a06a0fe3
--- /dev/null
+++ b/srcpkgs/postgresql13/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql13'
+pkgname=postgresql13
+version=13.0
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel libressl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+checkdepends="tzdata"
+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=80e750be8d436b54197636a02636f8fd3263ba6779bf865b04832495ea592296
+
+conf_files="
+ /${_prefix}/etc/default/postgresql
+ /${_prefix}/etc/pam.d/postgresql
+ /${_prefix}/etc/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_prefix}/etc
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_prefix}/etc/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql13-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"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
+	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
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+
+postgresql13-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
+	}
+}
+
+postgresql13-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql13/update b/srcpkgs/postgresql13/update
new file mode 100644
index 00000000000..160ccf14333
--- /dev/null
+++ b/srcpkgs/postgresql13/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From b8c9e1cb7b8190979af5ffe9b49b592516ea4393 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 24 Sep 2020 22:32:39 +0200
Subject: [PATCH 2/3] New package: postgresql12-libs

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

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

From d008dcb51944a91387cf1932de02ecdea7ddb574 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Thu, 24 Sep 2020 22:33:59 +0200
Subject: [PATCH 3/3] postgis-postgresql12: build with postgresql12-libs

[skip ci]
---
 srcpkgs/postgis-postgresql12/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
index 0e4fd6f8f8c..3aea66db5db 100644
--- a/srcpkgs/postgis-postgresql12/template
+++ b/srcpkgs/postgis-postgresql12/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql12'
 pkgname=postgis-postgresql12
 version=3.0.2
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql12-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 short_desc="Spatial database extender for PostgreSQL"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"

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

* Re: [PR PATCH] [Updated] New package: postgresql13-13.0
  2020-09-24 20:41 [PR PATCH] New package: postgresql13-13.0 Chocimier
@ 2020-09-26 14:56 ` Chocimier
  2020-09-26 15:00 ` Chocimier
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Chocimier @ 2020-09-26 14:56 UTC (permalink / raw)
  To: ml

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

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

https://github.com/Chocimier/void-packages-org postgresql13
https://github.com/void-linux/void-packages/pull/25072

New package: postgresql13-13.0


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

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

From d760cd067cd79b9b1cfd01d40eb59eb3f7ca2c69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 1/4] New package: postgresql13-13.0

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

diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-client b/srcpkgs/postgresql13-client
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-client
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-contrib b/srcpkgs/postgresql13-contrib
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-contrib
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-doc b/srcpkgs/postgresql13-doc
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-doc
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plperl b/srcpkgs/postgresql13-plperl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plperl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plpython b/srcpkgs/postgresql13-plpython
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plpython
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-pltcl b/srcpkgs/postgresql13-pltcl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-pltcl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/files/pg_config.sh.in b/srcpkgs/postgresql13/files/pg_config.sh.in
new file mode 100644
index 00000000000..3d20d215d0b
--- /dev/null
+++ b/srcpkgs/postgresql13/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/@PREFIX@/etc/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql13/files/postgresql.confd b/srcpkgs/postgresql13/files/postgresql.confd
new file mode 100644
index 00000000000..fe7106626fa
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql.pam b/srcpkgs/postgresql13/files/postgresql.pam
new file mode 100644
index 00000000000..53724d1f86a
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql13/control/t b/srcpkgs/postgresql13/files/postgresql13/control/t
new file mode 100755
index 00000000000..dcedfaa2018
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/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/postgresql13/files/postgresql13/log/run b/srcpkgs/postgresql13/files/postgresql13/log/run
new file mode 100755
index 00000000000..815d9c97407
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql13/files/postgresql13/run b/srcpkgs/postgresql13/files/postgresql13/run
new file mode 100755
index 00000000000..9d044e9a1ce
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /@PREFIX@/etc/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || 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 /@PREFIX@/etc/postgresql/postgresql.conf ]; then
+		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql13/files/profile.sh b/srcpkgs/postgresql13/files/profile.sh
new file mode 100644
index 00000000000..54be2ca50a4
--- /dev/null
+++ b/srcpkgs/postgresql13/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql13/patches/pg_config-cross-value.patch b/srcpkgs/postgresql13/patches/pg_config-cross-value.patch
new file mode 100644
index 00000000000..e16ae25a005
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/common/Makefile
++++ 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/postgresql13/patches/relocate.patch b/srcpkgs/postgresql13/patches/relocate.patch
new file mode 100644
index 00000000000..65bab8ad4c6
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/port/path.c
++++ 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/postgresql13/template b/srcpkgs/postgresql13/template
new file mode 100644
index 00000000000..449a06a0fe3
--- /dev/null
+++ b/srcpkgs/postgresql13/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql13'
+pkgname=postgresql13
+version=13.0
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel libressl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+checkdepends="tzdata"
+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=80e750be8d436b54197636a02636f8fd3263ba6779bf865b04832495ea592296
+
+conf_files="
+ /${_prefix}/etc/default/postgresql
+ /${_prefix}/etc/pam.d/postgresql
+ /${_prefix}/etc/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_prefix}/etc
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_prefix}/etc/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql13-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"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
+	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
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+
+postgresql13-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
+	}
+}
+
+postgresql13-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql13/update b/srcpkgs/postgresql13/update
new file mode 100644
index 00000000000..160ccf14333
--- /dev/null
+++ b/srcpkgs/postgresql13/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From c52fe2e498420648cc004820e25f3bcc07118909 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 2/4] New package: postgresql12-libs

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

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

From 3b234b9b4638688639ae49f951326635c04ac9a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 3/4] postgis-postgresql12: build with postgresql12-libs

[skip ci]
---
 srcpkgs/postgis-postgresql12/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
index 0e4fd6f8f8c..3aea66db5db 100644
--- a/srcpkgs/postgis-postgresql12/template
+++ b/srcpkgs/postgis-postgresql12/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql12'
 pkgname=postgis-postgresql12
 version=3.0.2
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql12-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 short_desc="Spatial database extender for PostgreSQL"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"

From 3981f4b3b383908d94b2c4bfd0324cb30453ac91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 4/4] New package: postgis-postgresql13-3.0.2

---
 srcpkgs/postgis-postgresql13/template | 27 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql13/update   |  2 ++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql13/template
 create mode 100644 srcpkgs/postgis-postgresql13/update

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
new file mode 100644
index 00000000000..2e0b3198c23
--- /dev/null
+++ b/srcpkgs/postgis-postgresql13/template
@@ -0,0 +1,27 @@
+# Template file for 'postgis-postgresql13'
+pkgname=postgis-postgresql13
+version=3.0.2
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+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=a3a1641dfd73c83924088a185bdb8b35567b3d1dc8d0887f9e4b492e228ab2ca
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
diff --git a/srcpkgs/postgis-postgresql13/update b/srcpkgs/postgis-postgresql13/update
new file mode 100644
index 00000000000..dc7538d851a
--- /dev/null
+++ b/srcpkgs/postgis-postgresql13/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

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

* Re: [PR PATCH] [Updated] New package: postgresql13-13.0
  2020-09-24 20:41 [PR PATCH] New package: postgresql13-13.0 Chocimier
  2020-09-26 14:56 ` [PR PATCH] [Updated] " Chocimier
@ 2020-09-26 15:00 ` Chocimier
  2020-09-26 15:02 ` Chocimier
  2020-09-26 19:57 ` [PR PATCH] [Merged]: " Chocimier
  3 siblings, 0 replies; 5+ messages in thread
From: Chocimier @ 2020-09-26 15:00 UTC (permalink / raw)
  To: ml

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

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

https://github.com/Chocimier/void-packages-org postgresql13
https://github.com/void-linux/void-packages/pull/25072

New package: postgresql13-13.0


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

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

From d760cd067cd79b9b1cfd01d40eb59eb3f7ca2c69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 1/4] New package: postgresql13-13.0

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

diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs
+++ b/srcpkgs/postgresql-libs
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel
index 52711bfce65..f6f48b1ff3a 120000
--- a/srcpkgs/postgresql-libs-devel
+++ b/srcpkgs/postgresql-libs-devel
@@ -1 +1 @@
-postgresql12
\ No newline at end of file
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-client b/srcpkgs/postgresql13-client
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-client
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-contrib b/srcpkgs/postgresql13-contrib
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-contrib
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-doc b/srcpkgs/postgresql13-doc
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-doc
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plperl b/srcpkgs/postgresql13-plperl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plperl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-plpython b/srcpkgs/postgresql13-plpython
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-plpython
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13-pltcl b/srcpkgs/postgresql13-pltcl
new file mode 120000
index 00000000000..f6f48b1ff3a
--- /dev/null
+++ b/srcpkgs/postgresql13-pltcl
@@ -0,0 +1 @@
+postgresql13
\ No newline at end of file
diff --git a/srcpkgs/postgresql13/files/pg_config.sh.in b/srcpkgs/postgresql13/files/pg_config.sh.in
new file mode 100644
index 00000000000..3d20d215d0b
--- /dev/null
+++ b/srcpkgs/postgresql13/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/@PREFIX@/etc/postgresql"
+PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk"
+
+CONFIGURE="@configure_args@"
+CC="@CC@"
+CPPFLAGS="@CPPFLAGS@"
+CFLAGS="@CFLAGS@"
+CFLAGS_SL="@CFLAGS_SL@"
+LDFLAGS="@LDFLAGS@"
+LDFLAGS_EX="@LDFLAGS_EX@"
+LDFLAGS_SL="@LDFLAGS_SL@"
+LIBS="@LIBS@"
+VERSION="PostgreSQL @FULL_VERSION@"
+
+if [ "$sysroot" != "/" ]; then
+	CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")"
+	LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")"
+fi
+
+usage() {
+	cat <<-EOF
+	$0 provides information about the installed version of PostgreSQL.
+
+	Usage:
+	  $0 [OPTION]...
+
+	Options:
+	  --bindir              show location of user executables
+	  --docdir              show location of documentation files
+	  --htmldir             show location of HTML documentation files
+	  --includedir          show location of C header files of the client interfaces
+	  --pkgincludedir       show location of other C header files
+	  --includedir-server   show location of C header files for the server
+	  --libdir              show location of object code libraries
+	  --pkglibdir           show location of dynamically loadable modules
+	  --localedir           show location of locale support files
+	  --mandir              show location of manual pages
+	  --sharedir            show location of architecture-independent support files
+	  --sysconfdir          show location of system-wide configuration files
+	  --pgxs                show location of extension makefile
+	  --configure           show options given to PostgreSQL was built
+	  --cc                  show CC value used when PostgreSQL was built
+	  --cppflags            show CPPFLAGS value used when PostgreSQL was built
+	  --cflags              show CFLAGS value used when PostgreSQL was built
+	  --cflags_sl           show CFLAGS_SL value used when PostgreSQL was built
+	  --ldflags             show LDFLAGS value used when PostgreSQL was built
+	  --ldflags_ex          show LDFLAGS_EX value used when PostgreSQL was built
+	  --ldflags_sl          show LDFLAGS_SL value used when PostgreSQL was built
+	  --libs                show LIBS value used when PostgreSQL was built
+	  --version             show the PostgreSQL version
+	  -?, --help            show this help, then exit
+
+	With no arguments, all known items are shown.
+
+	Report bugs to <pgsql-bugs@postgresql.org>.
+	EOF
+}
+
+if test $# -eq 0; then
+	cat <<-EOF
+	BINDIR = $BINDIR
+	DOCDIR = $DOCDIR
+	HTMLDIR = $HTMLDIR
+	INCLUDEDIR = $INCLUDEDIR
+	PKGINCLUDEDIR = $PKGINCLUDEDIR
+	INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER
+	LIBDIR = $LIBDIR
+	PKGLIBDIR = $PKGLIBDIR
+	LOCALEDIR = $LOCALEDIR
+	MANDIR = $MANDIR
+	SHAREDIR = $SHAREDIR
+	SYSCONFDIR = $SYSCONFDIR
+	PGXS = $PGXS
+	CONFIGURE = $CONFIGURE
+	CC = $CC
+	CPPFLAGS = $CPPFLAGS
+	CFLAGS = $CFLAGS
+	CFLAGS_SL = $CFLAGS_SL
+	LDFLAGS = $LDFLAGS
+	LDFLAGS_EX = $LDFLAGS_EX
+	LDFLAGS_SL = $LDFLAGS_SL
+	LIBS = $LIBS
+	VERSION = $VERSION
+	EOF
+fi
+
+for arg
+do
+	if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then
+		usage
+		exit 0
+	fi
+done
+
+for arg
+do
+	case "$arg" in
+	--bindir) print "$BINDIR" ;;
+	--docdir) print "$DOCDIR" ;;
+	--htmldir) print "$HTMLDIR" ;;
+	--includedir) print "$INCLUDEDIR" ;;
+	--pkgincludedir) print "$PKGINCLUDEDIR" ;;
+	--includedir-server) print "$INCLUDEDIR_SERVER" ;;
+	--libdir) print "$LIBDIR" ;;
+	--pkglibdir) print "$PKGLIBDIR" ;;
+	--localedir) print "$LOCALEDIR" ;;
+	--mandir) print "$MANDIR" ;;
+	--sharedir) print "$SHAREDIR" ;;
+	--sysconfdir) print "$SYSCONFDIR" ;;
+	--pgxs) print "$PGXS" ;;
+	--configure) print "$CONFIGURE" ;;
+	--cc) print "$CC" ;;
+	--cppflags) print "$CPPFLAGS" ;;
+	--cflags) print "$CFLAGS" ;;
+	--cflags_sl) print "$CFLAGS_SL" ;;
+	--ldflags) print "$LDFLAGS" ;;
+	--ldflags_ex) print "$LDFLAGS_EX" ;;
+	--ldflags_sl) print "$LDFLAGS_SL" ;;
+	--libs) print "$LIBS" ;;
+	--version) print "$VERSION" ;;
+	esac
+done
diff --git a/srcpkgs/postgresql13/files/postgresql.confd b/srcpkgs/postgresql13/files/postgresql.confd
new file mode 100644
index 00000000000..fe7106626fa
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql.pam b/srcpkgs/postgresql13/files/postgresql.pam
new file mode 100644
index 00000000000..53724d1f86a
--- /dev/null
+++ b/srcpkgs/postgresql13/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/postgresql13/files/postgresql13/control/t b/srcpkgs/postgresql13/files/postgresql13/control/t
new file mode 100755
index 00000000000..dcedfaa2018
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/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/postgresql13/files/postgresql13/log/run b/srcpkgs/postgresql13/files/postgresql13/log/run
new file mode 100755
index 00000000000..815d9c97407
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec logger -p daemon.info -t postgres@VERSION@
diff --git a/srcpkgs/postgresql13/files/postgresql13/run b/srcpkgs/postgresql13/files/postgresql13/run
new file mode 100755
index 00000000000..9d044e9a1ce
--- /dev/null
+++ b/srcpkgs/postgresql13/files/postgresql13/run
@@ -0,0 +1,27 @@
+#!/bin/sh
+. /@PREFIX@/etc/default/postgresql
+: ${PGDATA:="$PGROOT/data"}
+
+if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then
+	echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT"
+	ln -sf "$PGROOT" /var/lib/postgresql@VERSION@
+fi
+
+
+if [ ! -d "$PGDATA" ]; then
+	echo "Initializing database in $PGDATA"
+
+	mkdir -p "$PGDATA" || 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 /@PREFIX@/etc/postgresql/postgresql.conf ]; then
+		ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
+	fi
+fi
+
+exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1
diff --git a/srcpkgs/postgresql13/files/profile.sh b/srcpkgs/postgresql13/files/profile.sh
new file mode 100644
index 00000000000..54be2ca50a4
--- /dev/null
+++ b/srcpkgs/postgresql13/files/profile.sh
@@ -0,0 +1,14 @@
+appendpath () {
+    case ":$PATH:" in
+        *:"$1":*)
+            ;;
+        *)
+            PATH="${PATH:+$PATH:}$1"
+    esac
+}
+
+appendpath '/@PREFIX@/bin'
+
+unset appendpath
+
+export PATH
diff --git a/srcpkgs/postgresql13/patches/pg_config-cross-value.patch b/srcpkgs/postgresql13/patches/pg_config-cross-value.patch
new file mode 100644
index 00000000000..e16ae25a005
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/common/Makefile
++++ 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/postgresql13/patches/relocate.patch b/srcpkgs/postgresql13/patches/relocate.patch
new file mode 100644
index 00000000000..65bab8ad4c6
--- /dev/null
+++ b/srcpkgs/postgresql13/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
+--- src/port/path.c
++++ 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/postgresql13/template b/srcpkgs/postgresql13/template
new file mode 100644
index 00000000000..449a06a0fe3
--- /dev/null
+++ b/srcpkgs/postgresql13/template
@@ -0,0 +1,228 @@
+# Template file for 'postgresql13'
+pkgname=postgresql13
+version=13.0
+revision=1
+wrksrc="postgresql-${version}"
+build_style=gnu-configure
+make_build_target=world
+_major="${version%%.*}"
+_prefix="usr/lib/psql${_major}"
+configure_args="--with-openssl --with-python
+ --with-pam --enable-thread-safety
+ --with-perl --with-tcl --without-ldap --without-gssapi
+ --without-bonjour --with-libxml --with-libxslt
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs"
+hostmakedepends="docbook2x gettext flex openjade"
+makedepends="libfl-devel libressl-devel libuuid-devel libxslt-devel pam-devel perl
+ python3-devel readline-devel tcl-devel"
+checkdepends="tzdata"
+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=80e750be8d436b54197636a02636f8fd3263ba6779bf865b04832495ea592296
+
+conf_files="
+ /${_prefix}/etc/default/postgresql
+ /${_prefix}/etc/pam.d/postgresql
+ /${_prefix}/etc/postgresql/postgresql.conf
+"
+
+# Create 'postgres' user for the server.
+system_accounts="postgres"
+postgres_homedir="/var/lib/postgresql"
+postgres_shell="/bin/sh"
+postgres_descr="PostgreSQL database server user"
+make_dirs="
+ /var/lib/postgresql   0750 postgres postgres
+ /var/lib/postgresql${_major} 0750 postgres postgres"
+
+if [ "$CROSS_BUILD" ]; then
+	configure_args+=" --without-perl --without-python --without-tcl"
+fi
+
+post_patch() {
+	cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in
+	_substitute src/common/pg_config.sh.in
+	vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile
+}
+
+pre_configure() {
+	_style_configure_args="${configure_args}"
+	configure_args=" "
+	for arg in ${_style_configure_args}; do
+		case $arg in
+			--prefix=*|*dir=*) : ;; # skip
+			*) configure_args+=" $arg"
+		esac
+	done
+	configure_args="--prefix=/${_prefix}
+	 --sysconfdir=/${_prefix}/etc
+	 --includedir=/usr/include
+	 ${configure_args}"
+}
+
+post_build() {
+	make -C contrib ${makejobs}
+}
+
+pre_check() {
+	ln -sr tmp_install/${_prefix} /${_prefix%/*}
+}
+
+post_install() {
+	vmkdir usr/share/man
+	cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man
+	for i in ${DESTDIR}/usr/share/man/*[^3]/*; do
+		mv $i ${i%.*}-${_major}.${i##*.}
+	done
+	vmkdir ${_prefix}/share/doc
+	cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc
+	vsv ${pkgname}
+	find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';'
+	vlicense COPYRIGHT
+
+	vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh
+	_substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh
+	vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/default/postgresql
+	vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql
+	_substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql
+	vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \
+		644 ${_prefix}/etc/postgresql postgresql.conf
+	vbin src/common/pg_config.sh
+
+	vsed -i 's/install_bin = .*/install_bin = install/g' \
+		${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global
+}
+
+_substitute() {
+	sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}:
+}
+
+postgresql13-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"
+	pkg_install() {
+		vmove "${_prefix}/lib/*.so*"
+		for d in $(find ${DESTDIR}/${_prefix}/share/locale \
+		    -type f -name libpq5\*); do
+			mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+			mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}})
+		done
+		mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib
+	}
+}
+
+postgresql-libs-devel_package() {
+	depends="postgresql-libs>=${version}_${revision}"
+	short_desc="PostgreSQL shared libraries (development files)"
+	conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0"
+	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
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+	}
+}
+
+postgresql13-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
+
+postgresql13-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
+	}
+}
+
+postgresql13-contrib_package() {
+	short_desc="PostgreSQL contributed programs and extensions"
+	pkg_install() {
+		make -C contrib install DESTDIR=${PKGDESTDIR}
+	}
+}
diff --git a/srcpkgs/postgresql13/update b/srcpkgs/postgresql13/update
new file mode 100644
index 00000000000..160ccf14333
--- /dev/null
+++ b/srcpkgs/postgresql13/update
@@ -0,0 +1,2 @@
+site="https://ftp.postgresql.org/pub/source/"
+pattern="v\K${version%%.*}[\d.]+(?!\w)"

From 6dcc4d53975e66329190c22260994f0b1a6e8084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 2/4] New package: postgresql12-libs

Intended to build extensions of postgresql12.
---
 srcpkgs/postgresql12-libs       | 1 +
 srcpkgs/postgresql12-libs-devel | 1 +
 srcpkgs/postgresql12/template   | 6 +++---
 3 files changed, 5 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/postgresql12-libs
 create mode 120000 srcpkgs/postgresql12-libs-devel

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

From 1854830276d4779048f214f10ba1b03f4a839fd3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 3/4] postgis-postgresql12: build with postgresql12-libs

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

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
index 0e4fd6f8f8c..3aea66db5db 100644
--- a/srcpkgs/postgis-postgresql12/template
+++ b/srcpkgs/postgis-postgresql12/template
@@ -1,7 +1,7 @@
 # Template file for 'postgis-postgresql12'
 pkgname=postgis-postgresql12
 version=3.0.2
-revision=1
+revision=2
 wrksrc="postgis-${version}"
 build_style=gnu-configure
 configure_args="
@@ -10,8 +10,8 @@ configure_args="
  --with-protobufdir=${XBPS_CROSS_BASE}/usr
  --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
 hostmakedepends="automake libtool perl pkg-config geos
- libgdal-tools postgresql-libs-devel which"
-makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ libgdal-tools postgresql12-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel
  proj-devel protobuf-c-devel pcre-devel json-c-devel"
 short_desc="Spatial database extender for PostgreSQL"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"

From 6858cd8c6ea64a76d84fa7782d15b317c2b5c31a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Sat, 26 Sep 2020 16:55:58 +0200
Subject: [PATCH 4/4] New package: postgis-postgresql13-3.0.2

---
 srcpkgs/postgis-postgresql13/template | 27 +++++++++++++++++++++++++++
 srcpkgs/postgis-postgresql13/update   |  2 ++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/postgis-postgresql13/template
 create mode 100644 srcpkgs/postgis-postgresql13/update

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
new file mode 100644
index 00000000000..2e0b3198c23
--- /dev/null
+++ b/srcpkgs/postgis-postgresql13/template
@@ -0,0 +1,27 @@
+# Template file for 'postgis-postgresql13'
+pkgname=postgis-postgresql13
+version=3.0.2
+revision=1
+wrksrc="postgis-${version}"
+build_style=gnu-configure
+configure_args="
+ --with-projdir=${XBPS_CROSS_BASE}/usr
+ --with-jsondir=${XBPS_CROSS_BASE}/usr
+ --with-protobufdir=${XBPS_CROSS_BASE}/usr
+ --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config"
+hostmakedepends="automake libtool perl pkg-config geos
+ libgdal-tools postgresql-libs-devel which"
+makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel
+ proj-devel protobuf-c-devel pcre-devel json-c-devel"
+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=a3a1641dfd73c83924088a185bdb8b35567b3d1dc8d0887f9e4b492e228ab2ca
+nocross="FIXME: Cannot run test program to determine PROJ version"
+
+pre_configure() {
+	./autogen.sh
+}
diff --git a/srcpkgs/postgis-postgresql13/update b/srcpkgs/postgis-postgresql13/update
new file mode 100644
index 00000000000..dc7538d851a
--- /dev/null
+++ b/srcpkgs/postgis-postgresql13/update
@@ -0,0 +1,2 @@
+pkgname=postgis
+ignore="*alpha*"

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

* Re: New package: postgresql13-13.0
  2020-09-24 20:41 [PR PATCH] New package: postgresql13-13.0 Chocimier
  2020-09-26 14:56 ` [PR PATCH] [Updated] " Chocimier
  2020-09-26 15:00 ` Chocimier
@ 2020-09-26 15:02 ` Chocimier
  2020-09-26 19:57 ` [PR PATCH] [Merged]: " Chocimier
  3 siblings, 0 replies; 5+ messages in thread
From: Chocimier @ 2020-09-26 15:02 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/25072#issuecomment-699506971

Comment:
Service modified to not start server if initdb failed and log its error.

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

* Re: [PR PATCH] [Merged]: New package: postgresql13-13.0
  2020-09-24 20:41 [PR PATCH] New package: postgresql13-13.0 Chocimier
                   ` (2 preceding siblings ...)
  2020-09-26 15:02 ` Chocimier
@ 2020-09-26 19:57 ` Chocimier
  3 siblings, 0 replies; 5+ messages in thread
From: Chocimier @ 2020-09-26 19:57 UTC (permalink / raw)
  To: ml

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

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

New package: postgresql13-13.0
https://github.com/void-linux/void-packages/pull/25072

Description:


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

end of thread, other threads:[~2020-09-26 19:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-24 20:41 [PR PATCH] New package: postgresql13-13.0 Chocimier
2020-09-26 14:56 ` [PR PATCH] [Updated] " Chocimier
2020-09-26 15:00 ` Chocimier
2020-09-26 15:02 ` Chocimier
2020-09-26 19:57 ` [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).