aboutsummaryrefslogtreecommitdiff
path: root/graphics/luxrender
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2014-06-23 10:20:55 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2014-06-23 10:20:55 +0000
commitf1964f9752f882ed69d38adc84aa54b703730902 (patch)
tree2e338865b745b6fd46e8958970a894150b9ac9c8 /graphics/luxrender
parentcf508b5e7551ccde7a8e711b52ef2d92a781a4e5 (diff)
downloadports-f1964f9752f882ed69d38adc84aa54b703730902.tar.gz
ports-f1964f9752f882ed69d38adc84aa54b703730902.zip
Notes
Diffstat (limited to 'graphics/luxrender')
-rw-r--r--graphics/luxrender/Makefile60
-rw-r--r--graphics/luxrender/distinfo4
-rw-r--r--graphics/luxrender/files/patch-CMakeLists.txt20
-rw-r--r--graphics/luxrender/pkg-descr25
-rw-r--r--graphics/luxrender/pkg-plist7
5 files changed, 116 insertions, 0 deletions
diff --git a/graphics/luxrender/Makefile b/graphics/luxrender/Makefile
new file mode 100644
index 000000000000..0569ca33b119
--- /dev/null
+++ b/graphics/luxrender/Makefile
@@ -0,0 +1,60 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= luxrender
+PORTVERSION= 1.3.1
+CATEGORIES= graphics
+MASTER_SITES= http://src.luxrender.net/lux/get/ \
+ http://src.luxrender.net/luxrays/get/:lr
+DISTFILES= v${PORTVERSION:S/.//g}${EXTRACT_SUFX} \
+ luxrender_v${PORTVERSION}${EXTRACT_SUFX}:lr
+DIST_SUBDIR= ${PORTNAME}
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Physically based and unbiased rendering system
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libboost_python.so:${PORTSDIR}/devel/boost-python-libs \
+ libfftw3.so:${PORTSDIR}/math/fftw3 \
+ libfreeimage.so:${PORTSDIR}/graphics/freeimage \
+ libpng15.so:${PORTSDIR}/graphics/png \
+ libIlmImf.so:${PORTSDIR}/graphics/OpenEXR
+.if !exists(/usr/include/execinfo.h)
+LIB_DEPENDS+= libexecinfo.so:${PORTSDIR}/devel/libexecinfo
+.endif
+
+USES= bison cmake tar:bzip2
+USE_GL= glut glew
+WRKSRC= ${WRKDIR}/luxrender-lux-${LUX_REV}
+LUXRAYS_WRKSRC= ${WRKDIR}/luxrender-luxrays-${LUXRAYS_REV}
+
+CMAKE_ARGS= -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= d0b0e20c47cc
+LUXRAYS_REV= 7459cd8a9583
+
+OPTIONS_DEFINE= X11
+OPTIONS_DEFAULT= X11
+
+X11_DESC= Build GUI executable (Qt4-based)
+X11_USE= QT4=moc_build,qmake_build,rcc_build,uic_build,corelib,gui
+X11_PLIST_FILES= bin/luxrender
+
+post-patch:
+ @${REINPLACE_CMD} -e 's/__APPLE__/__FreeBSD__/' \
+ ${LUXRAYS_WRKSRC}/samples/smallluxgpu4/smallluxgpu.h \
+ ${WRKSRC}/core/osfunc.h \
+ ${WRKSRC}/shapes/mikktspace/weldmesh.c
+
+pre-configure:
+ cd ${LUXRAYS_WRKSRC} && ${SETENV} ${CMAKE_ENV} ${CMAKE_BIN} \
+ ${CMAKE_ARGS} .
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
+ ${_MAKE_JOBS} ${MAKE_ARGS} -C ${LUXRAYS_WRKSRC}
+
+.include <bsd.port.mk>
diff --git a/graphics/luxrender/distinfo b/graphics/luxrender/distinfo
new file mode 100644
index 000000000000..e3716a709a2c
--- /dev/null
+++ b/graphics/luxrender/distinfo
@@ -0,0 +1,4 @@
+SHA256 (luxrender/v131.tar.bz2) = b38fb83e0e9a8bc09587ac78de688f9a79fbbe9e2e20ff5822bc72a24bb230fd
+SIZE (luxrender/v131.tar.bz2) = 2541070
+SHA256 (luxrender/luxrender_v1.3.1.tar.bz2) = bae72176f33e4c307cba3f03c332024b6c46ea5d88251e14f5c748a6b0626bc5
+SIZE (luxrender/luxrender_v1.3.1.tar.bz2) = 44433304
diff --git a/graphics/luxrender/files/patch-CMakeLists.txt b/graphics/luxrender/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..8b79b1af7065
--- /dev/null
+++ b/graphics/luxrender/files/patch-CMakeLists.txt
@@ -0,0 +1,20 @@
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -179,7 +179,7 @@ IF(NOT APPLE AND NOT WIN32)
+ STRING(REGEX MATCH "(x86_64-*)|(X86_64-*)|(AMD64-*)|(amd64-*)" _mach_x86_64 ${MACHINE})
+ IF (_mach_x86_64)
+ SET(ARCH_X86_64 1)
+- SET(LIB_SUFFIX 64)
++ #SET(LIB_SUFFIX 64)
+ #jromang - Hack to avoid boost bug on x64 Ubuntu 8.10 and Fedora 10 (http://www.luxrender.net/mantis/view.php?id=433)
+ ADD_DEFINITIONS(-DBOOST_NO_INTRINSIC_INT64_T)
+ ENDIF (_mach_x86_64)
+@@ -298,7 +298,7 @@ ELSEIF(MSVC)
+ ELSE(APPLE)
+ # Dade - default compiler options
+ # Removed "-O3" from definitions in order to have CMake Release/Debug options to work
+- ADD_DEFINITIONS(-msse2 -mfpmath=sse -ftree-vectorize -funroll-loops -Wall -fPIC -DHAVE_PTHREAD_H)
++ ADD_DEFINITIONS(-Wall -fPIC -DHAVE_PTHREAD_H)
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fvisibility=hidden -fvisibility-inlines-hidden")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fvisibility=hidden -fvisibility-inlines-hidden")
+ # The QBVH accelerator needs to be compiled with much reduced optimizations
diff --git a/graphics/luxrender/pkg-descr b/graphics/luxrender/pkg-descr
new file mode 100644
index 000000000000..164c5dfb4a6b
--- /dev/null
+++ b/graphics/luxrender/pkg-descr
@@ -0,0 +1,25 @@
+LuxRender is a physically based and unbiased rendering engine. Based on
+state of the art algorithms, LuxRender simulates the flow of light according
+to physical equations, thus producing realistic images of photographic
+quality. Some of the main features of LuxRender are:
+
+ * biased and unbiased rendering: Users can choose between physical
+ accuracy (unbiased) and speed (biased);
+ * full spectral rendering: Instead of the RGB colour spectrum, full
+ spectra are used for internal calculations;
+ * hierarchical procedural and image based texture system: Procedural and
+ image based textures can be mixed in various ways, making it possible to
+ create complex materials;
+ * displacement mapping and subdivision: Based on procedural or image
+ textures, object surfaces can be transformed;
+ * network and co-operative rendering: Rendering time can be reduced by
+ combining the processing power of multiple computers;
+ * perspective (including shift lens), orthographic, and environment
+ cameras;
+ * HDR output: Render output can be saved in various file formats,
+ including .png, .tga, and .exr.
+
+Fully functional exporters are available for Blender and Maya, while
+exporters for a growing number of 3D applications are under development.
+
+WWW: http://www.luxrender.net/
diff --git a/graphics/luxrender/pkg-plist b/graphics/luxrender/pkg-plist
new file mode 100644
index 000000000000..df42eae202e0
--- /dev/null
+++ b/graphics/luxrender/pkg-plist
@@ -0,0 +1,7 @@
+bin/luxconsole
+bin/luxmerger
+include/luxrender/api.h
+@dirrm include/luxrender
+lib/liblux.so
+share/pixmaps/luxrender.svg
+share/applications/luxrender.desktop