git: fb61bef5989f - main - audio/pandaresampler: New port: Fast factor 2 resampler for audio signals

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 09 Jun 2024 17:04:38 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fb61bef5989ff43948bce698f04102588a95e893

commit fb61bef5989ff43948bce698f04102588a95e893
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-06-09 17:04:07 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-06-09 17:04:36 +0000

    audio/pandaresampler: New port: Fast factor 2 resampler for audio signals
---
 audio/Makefile                 |  1 +
 audio/pandaresampler/Makefile  | 31 +++++++++++++++++++++++++++++++
 audio/pandaresampler/distinfo  |  3 +++
 audio/pandaresampler/pkg-descr |  2 ++
 4 files changed, 37 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index b342a6841fe9..788943272698 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -591,6 +591,7 @@
     SUBDIR += padthv1-lv2
     SUBDIR += paman
     SUBDIR += pamixer
+    SUBDIR += pandaresampler
     SUBDIR += paprefs
     SUBDIR += pasystray
     SUBDIR += patchage
diff --git a/audio/pandaresampler/Makefile b/audio/pandaresampler/Makefile
new file mode 100644
index 000000000000..58993bbc3b2b
--- /dev/null
+++ b/audio/pandaresampler/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	pandaresampler
+DISTVERSION=	0.2.0
+CATEGORIES=	audio
+MASTER_SITES=	https://github.com/swesterfeld/pandaresampler/releases/download/${DISTVERSION}/
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Fast factor 2 resampler for audio signals
+WWW=		https://github.com/swesterfeld/pandaresampler
+
+LICENSE=	MPL20
+
+BUILD_DEPENDS=	fftw3>0:math/fftw3 \
+		fftw3-float>0:math/fftw3-float \
+		zita-resampler>0:audio/zita-resampler # only for tests, see https://github.com/swesterfeld/pandaresampler/issues/2
+
+USES=		gmake localbase:ldflags pkgconfig
+
+GNU_CONFIGURE=	yes
+
+PLIST_FILES=	include/pandaresampler.hh \
+		lib/libpandaresampler.a
+
+do-install: # workaround for https://github.com/swesterfeld/pandaresampler/issues/1
+	${INSTALL_DATA} ${WRKSRC}/lib/pandaresampler.hh ${STAGEDIR}${PREFIX}/include
+	${INSTALL_DATA} ${WRKSRC}/lib/.libs/libpandaresampler.a ${STAGEDIR}${PREFIX}/lib
+
+# relevant issues:
+# * https://github.com/swesterfeld/pandaresampler/issues/3: Please allow to build a shared library with --enable-shared
+# * https://github.com/swesterfeld/pandaresampler/issues/2: Please don't build tests by default
+
+.include <bsd.port.mk>
diff --git a/audio/pandaresampler/distinfo b/audio/pandaresampler/distinfo
new file mode 100644
index 000000000000..a334401d1879
--- /dev/null
+++ b/audio/pandaresampler/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1717950020
+SHA256 (pandaresampler-0.2.0.tar.gz) = 5319f403467365768d3ff1634fda0d4ace72196c6f30e51a656b67803a07aad7
+SIZE (pandaresampler-0.2.0.tar.gz) = 422783
diff --git a/audio/pandaresampler/pkg-descr b/audio/pandaresampler/pkg-descr
new file mode 100644
index 000000000000..9e115be5549d
--- /dev/null
+++ b/audio/pandaresampler/pkg-descr
@@ -0,0 +1,2 @@
+PandaResampler is a fast C++ (SSEified) factor 2 resampler for audio signals.
+It is easy to integrate into projects since it supports header only mode.