Skip to content

Commit

Permalink
mail-filter/opendkim: Fix build on musl
Browse files Browse the repository at this point in the history
The build of libvbr, which is included in opendkim and enabled by
default in the ebuild, fails on musl because the '__P' macro is not
defined. glibc defines it along with '__PMT' in cdefs.h, but notes that
they are kept "only because some other projects expect the macros to be
defined".

Since cdefs.h is not included in musl, patch vbr.h to include this
particular macro definition.

See also: trusteddomainproject/OpenDKIM#74

Closes: gentoo#16140
Signed-off-by: Wynn Wolf Arbor <[email protected]>
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Michael Orlitzky <[email protected]>
  • Loading branch information
wylfen authored and orlitzky committed Jun 10, 2020
1 parent 5de485b commit 79567f9
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 50a91575cee8d08682f090d2d6bdb4806eccfbcd Mon Sep 17 00:00:00 2001
From: Wynn Wolf Arbor <[email protected]>
Date: Wed, 10 Jun 2020 09:37:03 +0200
Subject: [PATCH] Define __P() macro in libvbr

Definitions for this macro have been added throughout the codebase in
commits 91e7407d, 705948fd, 227fa252, 842c1733, and b730bdc0, but one
was still missing from libvbr. glibc contains a definition for legacy
reasons, but other libcs might not. Particularly, the musl libc does not
contain it, leading to build errors when enabling support for VBR.

Add a definition for __P() to vbr.h to fix this.
---
libvbr/vbr.h | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/libvbr/vbr.h b/libvbr/vbr.h
index 4bef1f36..3bcb9212 100644
--- a/libvbr/vbr.h
+++ b/libvbr/vbr.h
@@ -12,6 +12,16 @@
/* system includes */
#include <sys/types.h>

+#ifdef __STDC__
+# ifndef __P
+# define __P(x) x
+# endif /* ! __P */
+#else /* __STDC__ */
+# ifndef __P
+# define __P(x) ()
+# endif /* ! __P */
+#endif /* __STDC__ */
+
/* strings */
#define VBR_ALL "all"
#define VBR_INFOHEADER "VBR-Info"
--
2.27.0

1 change: 1 addition & 0 deletions mail-filter/opendkim/opendkim-2.10.3-r18.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ PATCHES=(
"${FILESDIR}/${P}-openrc.patch"
"${FILESDIR}/${P}-openssl-1.1.1.patch.r2"
"${FILESDIR}/${P}-lua-pkgconfig.patch"
"${FILESDIR}/${P}-define-P-macro-in-libvbr.patch"
)

src_prepare() {
Expand Down

0 comments on commit 79567f9

Please sign in to comment.