git: 164d9650ba47 - main - audio/shntool: Fix build on 14-CURRENT
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 05 Nov 2022 06:52:23 UTC
The branch main has been updated by riggs:
URL: https://cgit.FreeBSD.org/ports/commit/?id=164d9650ba4792563ad08169f5f46aa2e7a1e9b4
commit 164d9650ba4792563ad08169f5f46aa2e7a1e9b4
Author: Thomas Zander <riggs@FreeBSD.org>
AuthorDate: 2022-11-05 06:47:03 +0000
Commit: Thomas Zander <riggs@FreeBSD.org>
CommitDate: 2022-11-05 06:52:21 +0000
audio/shntool: Fix build on 14-CURRENT
Build failure resulted from 14-CURRENT's strverscmp function which
conflicts with shntool's own implementation.
While on it: Move the patch to support WAVE_FORMAT_EXTENSIBLE into
${FILESDIR} as the upstream github repo where this patch originated no
longer exists.
---
audio/shntool/Makefile | 5 ++--
audio/shntool/files/cfd06e4ed.patch | 47 ++++++++++++++++++++++++++++++
audio/shntool/files/patch-src_core__mode.c | 31 ++++++++++++++++++++
3 files changed, 80 insertions(+), 3 deletions(-)
diff --git a/audio/shntool/Makefile b/audio/shntool/Makefile
index 334957f48098..b981ba428fb1 100644
--- a/audio/shntool/Makefile
+++ b/audio/shntool/Makefile
@@ -4,9 +4,6 @@ PORTREVISION= 3
CATEGORIES= audio
MASTER_SITES= http://shnutils.freeshell.org/shntool/dist/src/
-PATCH_SITES= https://github.com/max619/shntool/commit/
-PATCHFILES= cfd06e4ed.patch:-p1
-
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Multi-purpose WAVE data processing and reporting utility
WWW= http://www.etree.org/shnutils/shntool/
@@ -14,6 +11,8 @@ WWW= http://www.etree.org/shnutils/shntool/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
+EXTRA_PATCHES= ${FILESDIR}/cfd06e4ed.patch:-p1
+
GNU_CONFIGURE= yes
PLIST_FILES= ${_SHN_ALIASES:S|^|bin/shn|} \
diff --git a/audio/shntool/files/cfd06e4ed.patch b/audio/shntool/files/cfd06e4ed.patch
new file mode 100644
index 000000000000..ffd82f57dc73
--- /dev/null
+++ b/audio/shntool/files/cfd06e4ed.patch
@@ -0,0 +1,47 @@
+From cfd06e4edecdca2013e0fe04db135fd110a68203 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=B0=D0=B3?=
+ =?UTF-8?q?=D1=80=D1=8F=D0=BD=D1=86=D0=B5=D0=B2?= <maxbag97619@gmail.com>
+Date: Mon, 11 Nov 2019 00:53:06 +0300
+Subject: [PATCH] Added WAVE_FORMAT_EXTENSIBLE with value 0xfffe and supressed
+ error on wav header parsing with that format
+
+---
+ include/wave.h | 1 +
+ src/core_wave.c | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/include/wave.h b/include/wave.h
+index 01aa3fe..039ca19 100644
+--- a/include/wave.h
++++ b/include/wave.h
+@@ -59,6 +59,7 @@
+ #define WAVE_FORMAT_MPEGLAYER3 (0x0055)
+ #define WAVE_FORMAT_G726_ADPCM (0x0064)
+ #define WAVE_FORMAT_G722_ADPCM (0x0065)
++#define WAVE_FORMAT_EXTENSIBLE (0xfffe)
+
+ #define CD_BLOCK_SIZE (2352)
+ #define CD_BLOCKS_PER_SEC (75)
+diff --git a/src/core_wave.c b/src/core_wave.c
+index 47c36c9..7bea4d1 100644
+--- a/src/core_wave.c
++++ b/src/core_wave.c
+@@ -167,6 +167,7 @@ bool verify_wav_header_internal(wave_info *info,bool verbose)
+ }
+
+ switch (info->wave_format) {
++ case WAVE_FORMAT_EXTENSIBLE:
+ case WAVE_FORMAT_PCM:
+ break;
+ default:
+@@ -511,7 +512,9 @@ char *format_to_str(wshort format)
+ case WAVE_FORMAT_G726_ADPCM:
+ return "G.726 ADPCM";
+ case WAVE_FORMAT_G722_ADPCM:
+- return "G.722 ADPCM";
++ return "G.722 ADPCM";
++ case WAVE_FORMAT_EXTENSIBLE:
++ return "WAVE Extensible format";
+ }
+ return "Unknown";
+ }
diff --git a/audio/shntool/files/patch-src_core__mode.c b/audio/shntool/files/patch-src_core__mode.c
new file mode 100644
index 000000000000..bb4008176428
--- /dev/null
+++ b/audio/shntool/files/patch-src_core__mode.c
@@ -0,0 +1,31 @@
+--- src/core_mode.c.orig 2009-03-30 05:55:33 UTC
++++ src/core_mode.c
+@@ -467,13 +467,6 @@ static wlong is_m_ss_nnn(unsigned char *buf,wave_info
+ host does not conform to Posix. */
+ #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
+
+-#undef __strverscmp
+-#undef strverscmp
+-
+-#ifndef weak_alias
+-# define __strverscmp strverscmp
+-#endif
+-
+ /* Compare S1 and S2 as strings holding indices/version numbers,
+ returning less than, equal to or greater than zero if S1 is less than,
+ equal to or greater than S2 (for more info, see the texinfo doc).
+@@ -548,13 +541,10 @@ __strverscmp (const char *s1, const char *s2)
+ return state;
+ }
+ }
+-#ifdef weak_alias
+-static weak_alias (__strverscmp, strverscmp)
+-#endif
+
+ static int compare_version(const wave_info **w1,const wave_info **w2)
+ {
+- return strverscmp(w1[0]->filename,w2[0]->filename);
++ return __strverscmp(w1[0]->filename,w2[0]->filename);
+ }
+
+ static int compare_ascii(const wave_info **w1,const wave_info **w2)