From d31e4e7ac0375d7e024093782e48ea063663f1bb Mon Sep 17 00:00:00 2001
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sun, 24 Oct 2021 20:51:55 +0200
Subject: [PATCH] main/postgresql: split -dev to libpq-dev, libecpg-dev and
 -dev

To make a clearer distinction between server and client dev dependencies.
It's a preparation for providing multiple versions of PostgreSQL server.

This is inspired by Fedora and Debian.
---
 main/postgresql/APKBUILD | 46 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 42 insertions(+), 4 deletions(-)

diff --git a/main/postgresql/APKBUILD b/main/postgresql/APKBUILD
index 1c5b9db42c13..560786d825fb 100644
--- a/main/postgresql/APKBUILD
+++ b/main/postgresql/APKBUILD
@@ -14,7 +14,14 @@ pkgusers="postgres"
 pkggroups="postgres"
 _llvmver=12
 checkdepends="diffutils"
-depends_dev="clang icu-dev llvm$_llvmver openssl1.1-compat-dev"
+depends_dev="
+	libpq-dev=$pkgver-r$pkgrel
+	libecpg-dev=$pkgver-r$pkgrel
+	clang
+	icu-dev
+	llvm$_llvmver
+	openssl1.1-compat-dev
+	"
 makedepends="$depends_dev
 	icu-dev
 	libxml2-dev
@@ -31,7 +38,9 @@ makedepends="$depends_dev
 	"
 subpackages="
 	libpq
+	libpq-dev:libpq_dev
 	libecpg
+	libecpg-dev:libecpg_dev
 	$pkgname-client
 	$pkgname-contrib
 	$pkgname-dev
@@ -174,9 +183,7 @@ package() {
 dev() {
 	default_dev
 
-	amove usr/bin/pg_config \
-		usr/bin/ecpg \
-		usr/lib/postgresql/pgxs
+	amove usr/lib/postgresql/pgxs
 }
 
 libpq() {
@@ -186,6 +193,20 @@ libpq() {
 	amove usr/lib/libpq.so.*
 }
 
+libpq_dev() {
+	pkgdesc="PostgreSQL client library (development files)"
+	depends=""
+
+	amove usr/bin/pg_config
+	amove usr/include/postgresql/internal/*
+	amove usr/include/libpq-*.h
+	amove usr/include/libpq/*
+	amove usr/include/pg_config*.h
+	amove usr/include/postgres_ext.h
+	amove usr/lib/libpq.*
+	amove usr/lib/pkgconfig/libpq.pc
+}
+
 libecpg() {
 	pkgdesc="ECPG - Embedded SQL in C"
 	depends=""
@@ -195,6 +216,23 @@ libecpg() {
 	amove usr/lib/libpgtypes.so.*
 }
 
+libecpg_dev() {
+	pkgdesc="ECPG - Embedded SQL in C (development files)"
+	depends=""
+
+	amove usr/bin/ecpg
+	amove usr/include/ecpg*.h
+	amove usr/include/postgresql/informix/*
+	amove usr/include/pgtypes*.h
+	amove usr/include/sql3types.h
+	amove usr/include/sqlca.h
+	amove usr/include/sqlda*.h
+	amove usr/lib/libecpg.*
+	amove usr/lib/libpgtypes.*
+	amove usr/lib/pkgconfig/libecpg.pc
+	amove usr/lib/pkgconfig/libpgtypes.pc
+}
+
 client() {
 	pkgdesc="PostgreSQL client"
 	depends=""
-- 
GitLab