From adebcc2b1bf47004f955c2c959cebad928de5cb2 Mon Sep 17 00:00:00 2001
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sat, 2 Nov 2024 18:36:31 +0100
Subject: [PATCH] community/opensmtpd-table-ldap: new aport (extracted from
 opensmtpd-extras)

See https://github.com/OpenSMTPD/OpenSMTPD/releases/tag/7.6.0p1
---
 community/opensmtpd-table-ldap/APKBUILD       | 43 +++++++++++++++++++
 .../opensmtpd-table-ldap/remove-decls.patch   | 19 ++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 community/opensmtpd-table-ldap/APKBUILD
 create mode 100644 community/opensmtpd-table-ldap/remove-decls.patch

diff --git a/community/opensmtpd-table-ldap/APKBUILD b/community/opensmtpd-table-ldap/APKBUILD
new file mode 100644
index 000000000000..bf7775ef942e
--- /dev/null
+++ b/community/opensmtpd-table-ldap/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=opensmtpd-table-ldap
+pkgver=1.0
+pkgrel=0
+pkgdesc="OpenSMTPD LDAP tables"
+url="https://github.com/OpenSMTPD/table-ldap"
+arch="all"
+license="ISC"
+makedepends="
+	autoconf
+	automake
+	libretls-dev
+	"
+subpackages="$pkgname-doc"
+source="https://github.com/OpenSMTPD/table-ldap/archive/$pkgver/opensmtpd-table-ldap-$pkgver.tar.gz
+	remove-decls.patch
+	"
+builddir="$srcdir/table-ldap-$pkgver"
+options="!check"  # upstream does not provide tests
+
+prepare() {
+	default_prepare
+	./bootstrap
+}
+
+build() {
+	./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc/smtpd
+	make
+}
+
+package() {
+	make DESTDIR="$pkgdir" smtpdir="/usr/lib/opensmtpd" install
+
+	install -D -m644 table-ldap.conf.example -t "$pkgdir"/usr/share/doc/opensmtpd/
+}
+
+sha512sums="
+556d1ea36427791a0f2fc4c985aa9ce0059131025e81e8ab64102c8e0b4d7dd2e699d5a317975e1caabe68ac3a0082551799f6c7e03483b5ffe7d82c0eb8bf9a  opensmtpd-table-ldap-1.0.tar.gz
+85aa28c973edd0b4bd2f390f20da21f92091cd191498a5cc953d3b188cb6f6ef7ed73e3ee48489f8f1ec89b58b9356a90eea9a6ac1cfebf07631947d0bfaa5a1  remove-decls.patch
+"
diff --git a/community/opensmtpd-table-ldap/remove-decls.patch b/community/opensmtpd-table-ldap/remove-decls.patch
new file mode 100644
index 000000000000..8caf8793cc4c
--- /dev/null
+++ b/community/opensmtpd-table-ldap/remove-decls.patch
@@ -0,0 +1,19 @@
+__BEGIN_DECLS / __END_DECLS are a glibc-only wrapper mechanism to make
+C declarations work in C++ code. As musl does not support these and the
+OpenSMTPD codebase is solely C anyway, simply remove them.
+
+--- a/ber.h
++++ b/ber.h
+@@ -75,7 +75,6 @@
+ 	size_t		bo_n;
+ };
+ 
+-__BEGIN_DECLS
+ struct ber_element	*ber_get_element(unsigned long);
+ void			 ber_set_header(struct ber_element *, int,
+ 			    unsigned long);
+@@ -123,4 +122,3 @@
+ void			 ber_set_application(struct ber *,
+ 			    unsigned long (*)(struct ber_element *));
+ void			 ber_free(struct ber *);
+-__END_DECLS
-- 
GitLab