summaryrefslogtreecommitdiff
path: root/artistic/luxrender-art
diff options
context:
space:
mode:
Diffstat (limited to 'artistic/luxrender-art')
-rw-r--r--artistic/luxrender-art/PKGBUILD80
-rw-r--r--artistic/luxrender-art/boost_1.50_fix.diff131
2 files changed, 211 insertions, 0 deletions
diff --git a/artistic/luxrender-art/PKGBUILD b/artistic/luxrender-art/PKGBUILD
new file mode 100644
index 000000000..5c5a4e0d1
--- /dev/null
+++ b/artistic/luxrender-art/PKGBUILD
@@ -0,0 +1,80 @@
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Initial contributor: flixie <69one@gmx.net>
+# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+pkgname=luxrender-art
+pkgver=1.0rc4
+_pkgver=0b4c3e188707
+pkgrel=1
+pkgdesc='Rendering system for physically correct, unbiased image synthesis'
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+url=http://www.${pkgname%-art}.net/
+license=(
+ GPL
+)
+depends=(
+ boost-libs
+ freeimage
+ openexr
+ libcl-libre
+)
+optdepends=(
+ 'luxblend25: Blender exporter'
+ 'python: Python interface (pylux)'
+ 'qt: Qt GUI'
+)
+makedepends=(
+ cmake
+ boost
+ qt
+ ${pkgname::3}rays-art=$pkgver
+ python
+ opencl-headers
+)
+conflicts=(
+ ${pkgname%-art}
+)
+provides=(
+ ${pkgname%-art}=$pkgver
+)
+source=(
+ https://bitbucket.org/${pkgname%-art}/${pkgname::3}/get/$_pkgver.tar.bz2
+ boost_1.50_fix.diff
+)
+md5sums=(
+ 54ff625a7833541c3cff5f0a77a93863
+ 8c7774bb0c97aadd77d9e665d8fa4aab
+)
+
+build() {
+ cd $srcdir/${pkgname%-art}-${pkgname::3}-$_pkgver
+
+ # fix for boost 1.50
+ # the boost::TIME_UTC has been renamed due to the conflict with C++11
+ patch -Np1 < $srcdir/boost_1.50_fix.diff || true
+
+ export CXXFLAGS='$CXXFLAGS -lpthread'
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLUXRAYS_DISABLE_OPENCL=ON \
+ -DPYTHON_CUSTOM=ON \
+ -DPYTHON_LIBRARIES=/usr/lib/libpython3.2mu.so \
+ -DPYTHON_INCLUDE_PATH=/usr/include/python3.2mu \
+ .
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname%-art}-${pkgname::3}-$_pkgver
+ make DESTDIR=$pkgdir install
+
+ # fix library path on x86_64
+ [ $CARCH = x86_64 ] && mv $pkgdir/usr/lib64 $pkgdir/usr/lib
+
+ #install pylux
+ install -D -m644 pylux.so $pkgdir/usr/lib/python3.2/pylux.so
+}
+
diff --git a/artistic/luxrender-art/boost_1.50_fix.diff b/artistic/luxrender-art/boost_1.50_fix.diff
new file mode 100644
index 000000000..c1aa0a8e2
--- /dev/null
+++ b/artistic/luxrender-art/boost_1.50_fix.diff
@@ -0,0 +1,131 @@
+diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp
+--- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200
+@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte
+ int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth);
+ samplePerPass = xRealWidth * yRealHeight;
+
+- boost::xtime_get(&creationTime, boost::TIME_UTC);
++ boost::xtime_get(&creationTime, boost::TIME_UTC_);
+
+ //Queryable parameters
+ AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution);
+@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) {
+ if (haltTime > 0) {
+ // Check if we have met the enough rendering time condition
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, boost::TIME_UTC_);
+ if (t.sec - creationTime.sec > haltTime)
+ enoughSamplesPerPixel = true;
+ }
+diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp
+--- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen
+
+ boost::xtime photonShootingStartTime;
+ boost::xtime lastUpdateTime;
+- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC);
+- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_);
++ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_);
+ u_int nshot = 0;
+ while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) {
+ // Dade - print some progress information
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ ss.str("");
+ ss << "Photon shooting progress: Direct[" << directPhotons.size();
+@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen
+ return;
+
+ boost::xtime photonShootingEndTime;
+- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)";
+
+ if (computeRadianceMap) {
+@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen
+ for (u_int i = 0; i < radiancePhotons.size(); ++i) {
+ // Dade - print some progress info
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)";
+
+@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen
+
+
+ boost::xtime radianceComputeEndTime;
+- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC);
++ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)";
+ }
+
+diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp
+--- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ // Dade - thread to update the film with data from servers
+
+ boost::xtime reft;
+- boost::xtime_get(&reft, boost::TIME_UTC);
++ boost::xtime_get(&reft, boost::TIME_UTC_);
+
+ while (filmUpdaterThread->signal == SIG_NONE) {
+ // Dade - check signal every 1 sec
+@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ for(;;) {
+ // Dade - sleep for 1 sec
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+
+diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp
+--- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200
+@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres,
+ m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != "";
+
+ // init timer
+- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC);
++ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_);
+ lastWriteFLMTime = lastWriteImageTime;
+ }
+
+@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ {
+ // Check write output interval
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval);
+ bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval);
+
+@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ // WriteImage can take a very long time to be executed (i.e. by saving
+ // the film. It is better to refresh timestamps after the
+ // execution of WriteImage instead than before.
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+
+ if (timeToWriteImage)
+ lastWriteImageTime = currentTime;
+diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h
+--- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200
+@@ -126,7 +126,7 @@ public:
+ {
+ while (state == PAUSE && !boost::this_thread::interruption_requested()) {
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+ }