summaryrefslogtreecommitdiff
path: root/graphics/luxrender/Makefile
blob: 74243ba047e92cbcca491ffe8f2cd196a071c43b (plain)
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
# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
# $FreeBSD$

PORTNAME=	luxrender
DISTVERSION?=	1.6
PORTREVISION=	14
CATEGORIES=	graphics
MASTER_SITES=	https://bitbucket.org/luxrender/lux/get/ \
		https://bitbucket.org/luxrender/luxrays/get/:lr
DISTFILES=	v${DISTVERSION:C/[.-]//g}${EXTRACT_SUFX} \
		${PORTNAME}_v${DISTVERSION:S/-//}${EXTRACT_SUFX}:lr
DIST_SUBDIR=	${PORTNAME}

MAINTAINER=	danfe@FreeBSD.org
COMMENT=	Physically based and unbiased rendering system

LICENSE=	GPLv3

BROKEN=		fails to build with boost 1.70, see bug 236599
DEPRECATED=	Depends on expiring graphics/embree
EXPIRATION_DATE=	2019-09-04

LIB_DEPENDS=	${PY_BOOST} \
		libfftw3.so:math/fftw3 \
		libOpenImageIO.so:graphics/openimageio
.if ${DISTVERSION} != 1.4
LIB_DEPENDS+=	libembree.so:graphics/embree
.endif

CONFLICTS_INSTALL?=	${PORTNAME}14-1.4*

ONLY_FOR_ARCHS=	i386 amd64
ONLY_FOR_ARCHS_REASON=	uses SSE instructions

USES+=		bison cmake:noninja python:build tar:bzip2
USE_GL=		glu

WRKSRC=		${WRKDIR}/${PORTNAME}-lux-${LUX_REV}
LUXRAYS_WRKSRC=	${WRKDIR}/${PORTNAME}-luxrays-${LUXRAYS_REV}

CMAKE_ARGS=	-DLUXCORE_INCLUDE_DIRS:PATH="${LUXRAYS_WRKSRC}/include" \
		-DLUXCORE_LIBRARY:STRING="${LUXRAYS_WRKSRC}/lib/libluxcore.a" \
		-DLUXRAYS_INCLUDE_DIRS:PATH="${LUXRAYS_WRKSRC}/include" \
		-DLUXRAYS_LIBRARY:STRING="${LUXRAYS_WRKSRC}/lib/libluxrays.a" \
		-DSLG_INCLUDE_DIRS:PATH="${LUXRAYS_WRKSRC}/include" \
		-DSLG_LIBRARY:PATH="${LUXRAYS_WRKSRC}/lib/libsmallluxgpu.a" \
		-DLUXRAYS_DISABLE_OPENCL:BOOL=ON

LUX_REV?=	b3f85cf7742f
LUXRAYS_REV?=	61352e6aae3f

OPTIONS_DEFINE=	FREEIMAGE X11
OPTIONS_DEFAULT=	X11

FREEIMAGE_DESC=	Build with FreeImage (otherwise use OIIO only)
FREEIMAGE_CMAKE_ON=	-DLUX_USE_FREEIMAGE:BOOL=ON
FREEIMAGE_LIB_DEPENDS=	libfreeimage.so:graphics/freeimage

post-extract:
	@${LN} -sf ${PORTNAME}-luxrays-${LUXRAYS_REV} ${WRKDIR}/luxrays

post-patch:
	@${REINPLACE_CMD} -e 's/__APPLE__/__FreeBSD__/' \
		${WRKSRC}/core/osfunc.h \
		${WRKSRC}/shapes/mikktspace/weldmesh.c
# Avoid infamous "local symbol discarded in section `.text...' errors
	@${REINPLACE_CMD} -e '/^set(Boost_USE_STATIC_LIBS/s,ON,OFF,' \
		${LUXRAYS_WRKSRC}/cmake/Dependencies.cmake
# Avoid picking up Python 3.x bits if they're installed
	@${REINPLACE_CMD} -e 's,PythonLibs,& ${PYTHON_VER} EXACT REQUIRED,' \
		${LUXRAYS_WRKSRC}/cmake/Dependencies.cmake \
		${WRKSRC}/cmake/pylux.cmake

pre-configure:
	-${PYTHON_CMD} ${WRKSRC}/makeBuildNumber.py ${WRKSRC}/core/version.h
	cd ${LUXRAYS_WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} \
		${CMAKE_ARGS} .
	${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
		${_MAKE_JOBS} ${MAKE_ARGS} -C ${LUXRAYS_WRKSRC}

.include <bsd.port.mk>