aboutsummaryrefslogtreecommitdiff
path: root/audio/aubio/Makefile
blob: e6d51bf55e9af6afd1157bf66703b79dae684dc9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
PORTNAME=	aubio
PORTVERSION=	0.4.9
PORTREVISION?=	4
CATEGORIES?=	audio
MASTER_SITES=	https://aubio.org/pub/

PATCH_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/commit/
PATCHFILES+=	cdfe9cef2dcc3edf7d05ca2e9c2dbbf8dea21f1c.patch:-p1 #FFmpeg 6.x compat
PATCHFILES+=	8a05420e5dd8c7b8b2447f82dc919765876511b3.patch:-p1 #FFmpeg 6.x compat

MAINTAINER?=	jhale@FreeBSD.org
COMMENT?=	Library for audio labelling
WWW=		https://aubio.org/

LICENSE=	GPLv3+
LICENSE_FILE=	${WRKSRC}/COPYING

USES+=		cpe pkgconfig tar:bzip2

BINARY_ALIAS=	python=${PYTHON_CMD}

.if !defined(SLAVEPORT)
USES+=		python:build,3.6+ waf
USE_LDCONFIG=	yes

OPTIONS_GROUP=		DOCS
OPTIONS_GROUP_DOCS=	DOCS DOXYGEN MANPAGES
OPTIONS_DEFINE=		COMPLEX FFMPEG FFTW JACK SAMPLERATE SNDFILE TEST
OPTIONS_DEFAULT=	FFMPEG FFTW JACK MANPAGES SAMPLERATE SNDFILE
OPTIONS_SUB=		yes

COMPLEX_DESC=			Compile with C99 complex.h
COMPLEX_CONFIGURE_ENABLE=	complex

DOCS_BUILD_DEPENDS=		${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
DOCS_CONFIGURE_ENABLE=		sphinx
DOCS_BINARY_ALIAS=		sphinx-build=sphinx-build-${PYTHON_VER}

DOXYGEN_BUILD_DEPENDS=		doxygen:devel/doxygen
DOXYGEN_CONFIGURE_ENABLE=	doxygen

FFMPEG_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg
FFMPEG_CONFIGURE_ENABLE=	avcodec

JACK_LIB_DEPENDS=		libjack.so:audio/jack
JACK_CONFIGURE_ENABLE=		jack

SAMPLERATE_LIB_DEPENDS=		libsamplerate.so:audio/libsamplerate
SAMPLERATE_CONFIGURE_ENABLE=	samplerate

FFTW_DESC=			Use single precision FFTW3 instead of built-in OOURA
FFTW_CONFIGURE_ENABLE=		fftw3f
FFTW_BUILD_DEPENDS=		${LOCALBASE}/include/fftw3.h:math/fftw3
FFTW_LIB_DEPENDS=		libfftw3f.so:math/fftw3-float

MANPAGES_BUILD_DEPENDS=		txt2man:textproc/txt2man
MANPAGES_CONFIGURE_ENABLE=	manpages
MANPAGES_CONFIGURE_ON=		--mandir=${MANPREFIX}/man

SNDFILE_LIB_DEPENDS=		libsndfile.so:audio/libsndfile
SNDFILE_CONFIGURE_ENABLE=	sndfile

TEST_MAKE_ARGS=			--enable-tests
TEST_MAKE_ARGS_OFF=		--disable-tests

PORTDOCS=	*

post-patch:
	@${REINPLACE_CMD} -e \
		'/pkgconfig/s|$${LIBDIR}|&data|' ${WRKSRC}/waflib/TaskGen.py
	@${REINPLACE_CMD} -e \
		'/read/s|rU|r|' ${WRKSRC}/waflib/ConfigSet.py ${WRKSRC}/waflib/Context.py

post-install:
.for b in mfcc notes onset pitch quiet track
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/aubio${b}
.endfor
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libaubio.so

.endif # !defined(SLAVEPORT)

.include <bsd.port.mk>