summaryrefslogtreecommitdiff
path: root/audio/gxplugins-lv2/Makefile
blob: a98011be06787e954b9c4794638bbd6781a019b2 (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
PORTNAME=	gxplugins
DISTVERSION=	1.0
CATEGORIES=	audio
MASTER_SITES=	https://github.com/brummer10/GxPlugins.lv2/releases/download/v${DISTVERSION}/
PKGNAMESUFFIX=	-lv2
DISTNAME=	gxplugins_${DISTVERSION}_src

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Set of LV2 plugins from the guitarix project
WWW=		https://github.com/brummer10/GxPlugins.lv2

LICENSE=	GPLv3
LICENSE_FILE=	${WRKSRC}/LICENSE

BROKEN_riscv64=	ld: error: gui/pedal.o: cannot link object files with different floating-point ABI

BUILD_DEPENDS=	lv2>0:audio/lv2

USES=		compiler:c++11-lang gettext-runtime gmake gnome localbase \
		pkgconfig tar:bz2 xorg
USE_GNOME=	cairo
USE_XORG=	x11
USE_BINUTILS=	yes # linking needs some GNU features, fails on 12 without this, see https://github.com/brummer10/GxPlugins.lv2/issues/9

WRKSRC=		${WRKDIR}/GxPlugins.lv2

MAKE_ENV=	PATH=${LOCALBASE}/bin:/usr/bin:/bin CXXFLAGS="${CXXFLAGS}" # 'ld' needs to be first in the path on 12, -B{path} isn't sufficient for some reason
MAKE_ARGS=	LIB_EXT=so
LDFLAGS+=	-B${LOCALBASE}/bin # Use ld provided by USE_BINUTILS for GNU features, otherwise GNU ld isn't called

post-patch:
	# SIMD level is wrongly determined during build, not during run: https://github.com/brummer10/GxPlugins.lv2/issues/8
	@${REINPLACE_CMD} -E ' \
		s|shell cat /proc/cpuinfo|shell echo ""|; \
		s| -fstrength-reduce||; \
		s| -O2||; s| -Wl,-z,nodelete||; \
		s|INSTALL_DIR = .*|INSTALL_DIR = ${PREFIX}/lib/lv2|' \
		${WRKSRC}/*/Makefile
	# correct ifdefs in gx_platform.h files
	@${FIND} ${WRKSRC} -name gx_platform.h | \
		${XARGS} ${REINPLACE_CMD} -e 's/#ifdef __linux__/#if defined(__linux__) || defined(__FreeBSD__)/ ; s/defined(__linux__)/(& || defined(__FreeBSD__))/'

.include <bsd.port.mk>