Thu Oct 24 21:50:08 2019 UTC ()
ncmpc: Fix build on NetBSD 9.99.17

Adapt the local patch for the POSIX iconv(3) API change in new NetBSD.


(kamil)
diff -r1.18 -r1.19 pkgsrc/audio/ncmpc/distinfo
diff -r1.1 -r1.2 pkgsrc/audio/ncmpc/patches/patch-src_charset.cxx

cvs diff -r1.18 -r1.19 pkgsrc/audio/ncmpc/distinfo (expand / switch to unified diff)

--- pkgsrc/audio/ncmpc/distinfo 2019/10/06 16:15:51 1.18
+++ pkgsrc/audio/ncmpc/distinfo 2019/10/24 21:50:08 1.19
@@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
1$NetBSD: distinfo,v 1.18 2019/10/06 16:15:51 nia Exp $ 1$NetBSD: distinfo,v 1.19 2019/10/24 21:50:08 kamil Exp $
2 2
3SHA1 (ncmpc-0.35.tar.xz) = af728f27674a9b33db555bfad663c1b831d5c08f 3SHA1 (ncmpc-0.35.tar.xz) = af728f27674a9b33db555bfad663c1b831d5c08f
4RMD160 (ncmpc-0.35.tar.xz) = d8a0c1a2e953cc1e8ffc685b89c5be8f1d292979 4RMD160 (ncmpc-0.35.tar.xz) = d8a0c1a2e953cc1e8ffc685b89c5be8f1d292979
5SHA512 (ncmpc-0.35.tar.xz) = 64f56730b0439c23c4a833d3b65da769d5123a1613a6b565201698b753e8196375387e46b1984825c47928a0fc11ba5d9121c8c391d8b063508ed56985d32084 5SHA512 (ncmpc-0.35.tar.xz) = 64f56730b0439c23c4a833d3b65da769d5123a1613a6b565201698b753e8196375387e46b1984825c47928a0fc11ba5d9121c8c391d8b063508ed56985d32084
6Size (ncmpc-0.35.tar.xz) = 232828 bytes 6Size (ncmpc-0.35.tar.xz) = 232828 bytes
7SHA1 (patch-doc_meson.build) = c19102b6f7f069a2a147b66e6ed4b4585332ac8e 7SHA1 (patch-doc_meson.build) = c19102b6f7f069a2a147b66e6ed4b4585332ac8e
8SHA1 (patch-meson.build) = b16babee9f8e5799a600bf029b3bb606e32a265a 8SHA1 (patch-meson.build) = b16babee9f8e5799a600bf029b3bb606e32a265a
9SHA1 (patch-src_charset.cxx) = 0925365535ca35de73e94c1fa3737c8c71eee101 9SHA1 (patch-src_charset.cxx) = c8e06c936657819060c6539a3726e03fda7da54a
10SHA1 (patch-src_ncu.cxx) = 0a4516a7c5a9819977873a78d5078a22f0414356 10SHA1 (patch-src_ncu.cxx) = 0a4516a7c5a9819977873a78d5078a22f0414356

cvs diff -r1.1 -r1.2 pkgsrc/audio/ncmpc/patches/patch-src_charset.cxx (expand / switch to unified diff)

--- pkgsrc/audio/ncmpc/patches/patch-src_charset.cxx 2019/09/14 12:19:40 1.1
+++ pkgsrc/audio/ncmpc/patches/patch-src_charset.cxx 2019/10/24 21:50:08 1.2
@@ -1,35 +1,50 @@ @@ -1,35 +1,50 @@
1$NetBSD: patch-src_charset.cxx,v 1.1 2019/09/14 12:19:40 nia Exp $ 1$NetBSD: patch-src_charset.cxx,v 1.2 2019/10/24 21:50:08 kamil Exp $
2 2
3Don't strip constness for the iconv input on SunOS and NetBSD, 3Don't strip constness for the iconv input on SunOS and old NetBSD.
4which continue to have the input as const. 
5 4
6--- src/charset.cxx.orig 2019-04-10 09:08:34.000000000 +0000 5--- src/charset.cxx.orig 2019-09-14 12:24:35.000000000 +0000
7+++ src/charset.cxx 6+++ src/charset.cxx
8@@ -64,9 +64,13 @@ Iconv(iconv_t i, 7@@ -20,6 +20,15 @@
 8 #include "charset.hxx"
 9 #include "util/ScopeExit.hxx"
 10
 11+#if defined(__NetBSD__)
 12+#include <sys/param.h>
 13+#if __NetBSD_Prereq__(9,99,17)
 14+#define NETBSD_POSIX_ICONV 1
 15+#else
 16+#define NETBSD_POSIX_ICONV 0
 17+#endif
 18+#endif
 19+
 20 #include <algorithm>
 21
 22 #include <assert.h>
 23@@ -64,9 +73,13 @@ Iconv(iconv_t i,
9 --dest_size; /* reserve once byte for the null terminator */ 24 --dest_size; /* reserve once byte for the null terminator */
10  25
11 while (src_length > 0) { 26 while (src_length > 0) {
12+#if !defined(__NetBSD__) && !defined(__sun) 27+#if (defined(__NetBSD__) && !NETBSD_POSIX_ICONV) || defined(__sun)
 28+ size_t err = iconv(i, &src, &src_length, &dest, &dest_size);
 29+#else
13 size_t err = iconv(i, 30 size_t err = iconv(i,
14 const_cast<char **>(&src), &src_length, 31 const_cast<char **>(&src), &src_length,
15 &dest, &dest_size); 32 &dest, &dest_size);
16+#else 
17+ size_t err = iconv(i, &src, &src_length, &dest, &dest_size); 
18+#endif 33+#endif
19 if (err == (size_t)-1) { 34 if (err == (size_t)-1) {
20 switch (errno) { 35 switch (errno) {
21 case EILSEQ: 36 case EILSEQ:
22@@ -130,9 +134,13 @@ Iconv(iconv_t i, 37@@ -130,9 +143,13 @@ Iconv(iconv_t i,
23 char buffer[1024], *outbuf = buffer; 38 char buffer[1024], *outbuf = buffer;
24 size_t outbytesleft = sizeof(buffer); 39 size_t outbytesleft = sizeof(buffer);
25  40
26+#if !defined(__NetBSD__) && !defined(__sun) 41+#if (defined(__NetBSD__) && !NETBSD_POSIX_ICONV) || defined(__sun)
 42+ size_t err = iconv(i, &src, &src_length, &outbuf, &outbytesleft);
 43+#else
27 size_t err = iconv(i, 44 size_t err = iconv(i,
28 const_cast<char **>(&src), &src_length, 45 const_cast<char **>(&src), &src_length,
29 &outbuf, &outbytesleft); 46 &outbuf, &outbytesleft);
30+#else 
31+ size_t err = iconv(i, &src, &src_length, &outbuf, &outbytesleft); 
32+#endif 47+#endif
33 dest.append(buffer, outbuf); 48 dest.append(buffer, outbuf);
34 if (err == (size_t)-1) { 49 if (err == (size_t)-1) {
35 switch (errno) { 50 switch (errno) {