git: 66c5d585286c - main - audio/essentia: New port: C++ library for audio and music analysis

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 07 Nov 2022 09:38:59 UTC
The branch main has been updated by yuri:

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

commit 66c5d585286cb22bb34e7a9bdd7fa438bf15401b
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-07 09:38:28 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-07 09:38:58 +0000

    audio/essentia: New port: C++ library for audio and music analysis
---
 audio/Makefile           |   1 +
 audio/essentia/Makefile  |  30 ++++++++++++++
 audio/essentia/distinfo  |   3 ++
 audio/essentia/pkg-descr |   2 +
 audio/essentia/pkg-plist | 106 +++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 142 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 531c1cc4e57f..fcc53f18435d 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -146,6 +146,7 @@
     SUBDIR += eq10q-lv2
     SUBDIR += espeak-ng
     SUBDIR += espressivo-lv2
+    SUBDIR += essentia
     SUBDIR += etcd
     SUBDIR += eteroj-lv2
     SUBDIR += etktab
diff --git a/audio/essentia/Makefile b/audio/essentia/Makefile
new file mode 100644
index 000000000000..d2197408d496
--- /dev/null
+++ b/audio/essentia/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	essentia
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.1_beta5-859
+DISTVERSIONSUFFIX=	-gb247091f
+CATEGORIES=	audio
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C++ library for audio and music analysis
+WWW=		https://essentia.upf.edu/
+
+LICENSE=	AGPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING.txt
+
+BUILD_DEPENDS=	${LOCALBASE}/include/fftw3.h:math/fftw3
+LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
+		libchromaprint.so:audio/chromaprint \
+		libfftw3f.so:math/fftw3-float \
+		libsamplerate.so:audio/libsamplerate \
+		libtag.so:audio/taglib \
+		libyaml.so:textproc/libyaml
+
+USES=		compiler:c++11-lib eigen:3 pkgconfig waf
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	MTG
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libessentia.so
+
+.include <bsd.port.mk>
diff --git a/audio/essentia/distinfo b/audio/essentia/distinfo
new file mode 100644
index 000000000000..4b17dd5f1088
--- /dev/null
+++ b/audio/essentia/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1667811160
+SHA256 (MTG-essentia-v2.1_beta5-859-gb247091f_GH0.tar.gz) = 41428252b36bcd20288fd85bcaf981aa039c0a4a9be32b840ddfdfa68fc9b969
+SIZE (MTG-essentia-v2.1_beta5-859-gb247091f_GH0.tar.gz) = 92213394
diff --git a/audio/essentia/pkg-descr b/audio/essentia/pkg-descr
new file mode 100644
index 000000000000..06b242ab53d0
--- /dev/null
+++ b/audio/essentia/pkg-descr
@@ -0,0 +1,2 @@
+Essentia is an open-source library and tools for audio and music analysis,
+description and synthesis.
diff --git a/audio/essentia/pkg-plist b/audio/essentia/pkg-plist
new file mode 100644
index 000000000000..4cc14d96d91b
--- /dev/null
+++ b/audio/essentia/pkg-plist
@@ -0,0 +1,106 @@
+include/essentia/algorithm.h
+include/essentia/algorithmfactory.h
+include/essentia/algorithmfactory_impl.h
+include/essentia/config.h
+include/essentia/configurable.h
+include/essentia/connector.h
+include/essentia/debugging.h
+include/essentia/essentia.h
+include/essentia/essentiamath.h
+include/essentia/essentiautil.h
+include/essentia/iotypewrappers.h
+include/essentia/iotypewrappers_impl.h
+include/essentia/parameter.h
+include/essentia/pool.h
+include/essentia/range.h
+include/essentia/roguevector.h
+include/essentia/scheduler/graphutils.h
+include/essentia/scheduler/network.h
+include/essentia/scheduler/networkparser.h
+include/essentia/streamconnector.h
+include/essentia/streaming/accumulatoralgorithm.h
+include/essentia/streaming/algorithms/copy.h
+include/essentia/streaming/algorithms/devnull.h
+include/essentia/streaming/algorithms/diskwriter.h
+include/essentia/streaming/algorithms/fileoutput.h
+include/essentia/streaming/algorithms/poolstorage.h
+include/essentia/streaming/algorithms/ringbufferinput.h
+include/essentia/streaming/algorithms/ringbufferoutput.h
+include/essentia/streaming/algorithms/ringbuffervectoroutput.h
+include/essentia/streaming/algorithms/vectorinput.h
+include/essentia/streaming/algorithms/vectoroutput.h
+include/essentia/streaming/multiratebuffer.h
+include/essentia/streaming/phantombuffer.h
+include/essentia/streaming/phantombuffer_impl.h
+include/essentia/streaming/sink.h
+include/essentia/streaming/sinkbase.h
+include/essentia/streaming/sinkproxy.h
+include/essentia/streaming/source.h
+include/essentia/streaming/sourcebase.h
+include/essentia/streaming/sourceproxy.h
+include/essentia/streaming/streamingalgorithm.h
+include/essentia/streaming/streamingalgorithmcomposite.h
+include/essentia/streaming/streamingalgorithmwrapper.h
+include/essentia/streamutil.h
+include/essentia/stringutil.h
+include/essentia/threading.h
+include/essentia/types.h
+include/essentia/utils/MersenneTwister.h
+include/essentia/utils/asciidag.h
+include/essentia/utils/asciidagparser.h
+include/essentia/utils/atomic.h
+include/essentia/utils/audiocontext.h
+include/essentia/utils/betools.h
+include/essentia/utils/bpfutil.h
+include/essentia/utils/bpmutil.h
+include/essentia/utils/extractor_freesound/FreesoundDescriptorsSet.h
+include/essentia/utils/extractor_freesound/FreesoundLowlevelDescriptors.h
+include/essentia/utils/extractor_freesound/FreesoundRhythmDescriptors.h
+include/essentia/utils/extractor_freesound/FreesoundSfxDescriptors.h
+include/essentia/utils/extractor_freesound/FreesoundTonalDescriptors.h
+include/essentia/utils/extractor_freesound/extractor_version.h
+include/essentia/utils/extractor_music/MusicDescriptorsSet.h
+include/essentia/utils/extractor_music/MusicLowlevelDescriptors.h
+include/essentia/utils/extractor_music/MusicRhythmDescriptors.h
+include/essentia/utils/extractor_music/MusicTonalDescriptors.h
+include/essentia/utils/extractor_music/extractor_version.h
+include/essentia/utils/extractor_music/tagwhitelist.h
+include/essentia/utils/ffmpegapi.h
+include/essentia/utils/jsonconvert.h
+include/essentia/utils/metadatautils.h
+include/essentia/utils/output.h
+include/essentia/utils/peak.h
+include/essentia/utils/ringbufferimpl.h
+include/essentia/utils/synth_utils.h
+include/essentia/utils/tnt/jama_cholesky.h
+include/essentia/utils/tnt/jama_eig.h
+include/essentia/utils/tnt/jama_lu.h
+include/essentia/utils/tnt/jama_qr.h
+include/essentia/utils/tnt/jama_svd.h
+include/essentia/utils/tnt/tnt.h
+include/essentia/utils/tnt/tnt2essentiautils.h
+include/essentia/utils/tnt/tnt2vector.h
+include/essentia/utils/tnt/tnt_array1d.h
+include/essentia/utils/tnt/tnt_array1d_utils.h
+include/essentia/utils/tnt/tnt_array2d.h
+include/essentia/utils/tnt/tnt_array2d_utils.h
+include/essentia/utils/tnt/tnt_array3d.h
+include/essentia/utils/tnt/tnt_array3d_utils.h
+include/essentia/utils/tnt/tnt_cmat.h
+include/essentia/utils/tnt/tnt_fortran_array1d.h
+include/essentia/utils/tnt/tnt_fortran_array1d_utils.h
+include/essentia/utils/tnt/tnt_fortran_array2d.h
+include/essentia/utils/tnt/tnt_fortran_array2d_utils.h
+include/essentia/utils/tnt/tnt_fortran_array3d.h
+include/essentia/utils/tnt/tnt_fortran_array3d_utils.h
+include/essentia/utils/tnt/tnt_i_refvec.h
+include/essentia/utils/tnt/tnt_math_utils.h
+include/essentia/utils/tnt/tnt_sparse_matrix_csr.h
+include/essentia/utils/tnt/tnt_stopwatch.h
+include/essentia/utils/tnt/tnt_subscript.h
+include/essentia/utils/tnt/tnt_vec.h
+include/essentia/utils/tnt/tnt_version.h
+include/essentia/utils/yamlast.h
+include/essentia/version.h
+lib/libessentia.so
+libdata/pkgconfig/essentia.pc