summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2023-02-23 17:43:58 -0500
committerMichael Orlitzky <mjo@gentoo.org>2023-02-23 18:33:20 -0500
commit9c1172d2e454c89f3bbda6841e06b8230a399d49 (patch)
tree97e0b8888875b278cbdf31a89cd84eb7ee4f9843 /mail-filter
parentdev-libs/libliftoff: Version bump to 0.4.0 (diff)
downloadgentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.tar.gz
gentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.tar.bz2
gentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.zip
mail-filter/opendkim: fix two musl/standards issues.
New patches to fix a missing include and to correct a few function signatures that violated the C standards. Closes: https://bugs.gentoo.org/870412 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch155
-rw-r--r--mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch27
-rw-r--r--mail-filter/opendkim/opendkim-2.10.3-r30.ebuild2
3 files changed, 184 insertions, 0 deletions
diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch b/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch
new file mode 100644
index 000000000000..08df8eb0b03b
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch
@@ -0,0 +1,155 @@
+From 2d6db0225da9632ddf25aa70839d9d6244af6a42 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 23 Feb 2023 17:37:33 -0500
+Subject: [PATCH 1/1] configure.ac: update main() signatures to conform to the
+ standard.
+
+There are some tests in configure.ac that contain,
+
+ int main() { ... }
+
+That's not the correct signature for main() according to the C
+standard, and newer compilers are going to reject it. More information
+about this can be found at,
+
+ https://wiki.gentoo.org/wiki/Modern_C_porting
+
+In this case, the fix is simply to write
+
+ int main(int argc, char** argv) { ... }
+
+instead.
+---
+ configure.ac | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1eaa95d8..d8162303 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -147,7 +147,7 @@ dnscheck='
+ #include <netinet/in.h>
+ #include <arpa/nameser.h>
+ #include <resolv.h>
+-int main() {
++int main(int argc, char** argv) {
+ res_mkquery (0, 0, 0, 0, 0, 0, 0, 0, 0);
+ dn_expand (0, 0, 0, 0, 0);
+ dn_skipname (0, 0);
+@@ -549,7 +549,7 @@ gprof_gmon_out="unknown"
+ if test x"$hasgprof" = x"yes"
+ then
+ gprofcheck='
+-int main() {
++int main(int argc, char** argv) {
+ long x;
+
+ x = random();
+@@ -747,7 +747,7 @@ then
+ #if GNUTLS_VERSION_NUMBER < 0x020b07
+ # error GnuTLS 2.11.7 or later required
+ #endif
+- int main()
++ int main(int argc, char** argv)
+ {
+ return 0;
+ }'
+@@ -759,7 +759,7 @@ then
+
+ sha256check='
+ #include <gnutls/gnutls.h>
+- int main()
++ int main(int argc, char** argv)
+ {
+ int x = GNUTLS_DIG_SHA256;
+ }'
+@@ -1191,7 +1191,7 @@ then
+ #include <libmemcached/memcached.h>
+
+ int
+-main()
++main(int argc, char** argv)
+ {
+ memcached_return_t x;
+
+@@ -1649,7 +1649,7 @@ then
+ #endif
+
+ int
+-main()
++main(int argc, char** argv)
+ {
+ return 0;
+ }
+@@ -1859,7 +1859,7 @@ then
+ #endif
+
+ int
+-main()
++main(int argc, char** argv)
+ {
+ return 0;
+ }
+--
+2.39.2
+
+From 1f551737e838723f9ad9be1692bb12a9a3b4cdd9 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 23 Feb 2023 18:15:50 -0500
+Subject: [PATCH 2/2] libvbr/vbr.c: modernize vbr_strlcpy() signature.
+
+The vbr_strlcpy() function declares that its arguments should live in
+registers:
+
+ vbr_strlcpy(dst, src, size)
+ register char *dst;
+ register const char *src;
+ ssize_t size;
+ {
+ ...
+
+This makes GCC unhappy when -Werror=strict-prototypes is used:
+
+ vbr.c:167:1: error: function declaration isn't a prototype
+ [-Werror=strict-prototypes]
+ 167 | vbr_strlcpy(dst, src, size)
+
+The "register" keyword is largely obsolete on modern systems anyway,
+since the compiler is better at determining how to move memory around
+than the programmer is. So to appease GCC and simplify the code a bit,
+the signature has been changed to,
+
+ vbr_strlcpy(char *dst, const char *src, ssize_t size) { ... }
+
+changes. Lines starting # with '#' will be ignored, and an empty
+message aborts the commit. # # On branch configure.ac-c-standard #
+Your branch is up to date with 'origin/configure.ac-c-standard'. # #
+Changes to be committed: # modified: libvbr/vbr.c # # Changes not
+staged for commit: # modified: configure # # Untracked files: #
+0000-cover-letter.patch #
+---
+ libvbr/vbr.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/libvbr/vbr.c b/libvbr/vbr.c
+index cb9124d7..c6a2439f 100644
+--- a/libvbr/vbr.c
++++ b/libvbr/vbr.c
+@@ -164,12 +164,9 @@ static void vbr_error __P((VBR *, const char *, ...));
+ */
+
+ size_t
+-vbr_strlcpy(dst, src, size)
+- register char *dst;
+- register const char *src;
+- ssize_t size;
++vbr_strlcpy(char *dst, const char *src, ssize_t size)
+ {
+- register ssize_t i;
++ ssize_t i;
+
+ if (size-- <= 0)
+ return strlen(src);
+--
+2.39.2
+
diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch b/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch
new file mode 100644
index 000000000000..5cbe24b02cdb
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch
@@ -0,0 +1,27 @@
+From 706554992156dd655e893268f201bbecbe283eb5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 23 Feb 2023 17:05:36 -0500
+Subject: [PATCH 1/1] libopendkim/util.c: include stdio.h for snprintf.
+
+This fixes a build failure on musl, reported at
+
+ https://bugs.gentoo.org/896048
+---
+ libopendkim/util.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libopendkim/util.c b/libopendkim/util.c
+index 6792b169..b1c6a769 100644
+--- a/libopendkim/util.c
++++ b/libopendkim/util.c
+@@ -17,6 +17,7 @@
+ # include <stdbool.h>
+ #endif /* HAVE_STDBOOL_H */
+ #include <ctype.h>
++#include <stdio.h>
+ #include <assert.h>
+ #include <string.h>
+ #include <errno.h>
+--
+2.39.2
+
diff --git a/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild b/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild
index 9334c2a8071f..bb6117a78bb2 100644
--- a/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild
+++ b/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild
@@ -56,6 +56,8 @@ PATCHES=(
"${FILESDIR}/${P}-lua-pkgconfig-pt2.patch"
"${FILESDIR}/${P}-define-P-macro-in-libvbr.patch"
"${FILESDIR}/${P}-fix-libmilter-search.patch"
+ "${FILESDIR}/${P}-snprintf-include.patch"
+ "${FILESDIR}/${P}-c-std.patch"
)
pkg_setup() {