summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2018-11-07 15:35:13 +0100
committerbartus2018-11-07 15:35:13 +0100
commit7d776967648abce59f7c84073d892f480289b217 (patch)
tree970470161b76517ed508a23efa3fad8b865d50e6
parentff81c75fbecf07eb211c01a57b2a122f5eb75e0e (diff)
downloadaur-7d776967648abce59f7c84073d892f480289b217.tar.gz
fix undefined calls in slg::{Film,tilerepository}
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD23
-rw-r--r--serialize_undef_call.patch37
3 files changed, 55 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1f2bf20b9f8..c09bd581817 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,12 @@
pkgbase = luxrays-hg
pkgdesc = Accelerate the ray intersection process by using GPUs
pkgver = 3755+.ceb10f796325+
- pkgrel = 4
+ pkgrel = 5
url = http://www.luxrender.net/
arch = x86_64
license = GPL
makedepends = boost
+ makedepends = python
makedepends = cmake
makedepends = freetype2
makedepends = gtk3
@@ -29,8 +30,10 @@ pkgbase = luxrays-hg
options = staticlibs
source = luxrays::hg+https://bitbucket.org/luxrender/luxrays#branch=default
source = force_python3.diff
+ source = serialize_undef_call.patch
md5sums = SKIP
md5sums = ba9a42dbe073009189c6d21845bff767
+ md5sums = 44f46506e1bfd1bddbceaed40c87b056
pkgname = luxrays-hg
diff --git a/PKGBUILD b/PKGBUILD
index fb3232e9548..dbe3ae8e01d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,13 +4,13 @@
pkgname=luxrays-hg
pkgver=3755+.ceb10f796325+
-pkgrel=4
+pkgrel=5
pkgdesc="Accelerate the ray intersection process by using GPUs"
arch=('x86_64')
url="http://www.luxrender.net/"
license=('GPL')
depends=('embree-bvh_build-git' 'opencl-icd-loader' 'libgl' 'openimageio')
-makedepends=('boost' 'cmake' 'freetype2' 'gtk3' 'libpng' 'mesa' 'opencl-headers' 'glew' 'freeglut'
+makedepends=('boost' 'python' 'cmake' 'freetype2' 'gtk3' 'libpng' 'mesa' 'opencl-headers' 'glew' 'freeglut'
'mercurial')
optdepends=('opencl-driver: OpenCL support' \
'glew: demos (SmallLuxGPU etc.)' \
@@ -21,9 +21,11 @@ options=('staticlibs')
provides=('luxrays')
conflicts=('luxrays')
source=('luxrays::hg+https://bitbucket.org/luxrender/luxrays#branch=default' \
- force_python3.diff)
+ 'force_python3.diff'
+ 'serialize_undef_call.patch')
md5sums=('SKIP'
- 'ba9a42dbe073009189c6d21845bff767')
+ 'ba9a42dbe073009189c6d21845bff767'
+ '44f46506e1bfd1bddbceaed40c87b056')
pkgver() {
cd "$srcdir/luxrays"
@@ -41,13 +43,16 @@ prepare() {
sed -i '/luxcoreimplserializationdemo/d' CMakeLists.txt
# force python3 for boost
- patch -Np1 < "$srcdir/force_python3.diff" || true
+ patch -Np1 -i "$srcdir/force_python3.diff" || true
+
+ # fix missing symbols in slg-core(tilerepository.o)
+ patch -Np1 -i ${srcdir}/serialize_undef_call.patch
}
build() {
- cd "$srcdir/luxrays"
+ mkdir -p build && cd build
- cmake . \
+ cmake ${srcdir}/luxrays \
-DCMAKE_INSTALL_PREFIX=/usr \
-DEMBREE_INCLUDE_PATH=/usr/include/embree-bvh_build \
-DEMBREE_LIBRARY=/usr/lib/embree-bvh_build/libembree.so.2 \
@@ -57,12 +62,12 @@ build() {
}
package() {
- cd "$srcdir/luxrays"
+ cd "$srcdir/build"
install -d -m755 "$pkgdir"/usr/{bin,include,lib}
install -m755 bin/* "$pkgdir"/usr/bin
install -m644 lib/* "$pkgdir"/usr/lib
- cp -a include "$pkgdir"/usr
+ cp -a ${srcdir}/luxrays/include "$pkgdir"/usr
# install pyluxcore to the Python search path
_pypath=`pacman -Ql python | sed -n '/\/usr\/lib\/python[^\/]*\/$/p' | cut -d" " -f 2`
diff --git a/serialize_undef_call.patch b/serialize_undef_call.patch
new file mode 100644
index 00000000000..1d2564dc84b
--- /dev/null
+++ b/serialize_undef_call.patch
@@ -0,0 +1,37 @@
+diff -r ceb10f796325 src/slg/engines/tilerepository.cpp
+--- a/src/slg/engines/tilerepository.cpp Mon Dec 18 17:20:21 2017 +0100
++++ b/src/slg/engines/tilerepository.cpp Wed Nov 07 15:24:25 2018 +0100
+@@ -676,3 +676,15 @@
+
+ ar & convergedTiles;
+ }
++
++
++namespace slg {
++// Explicit instantiations for portable archives
++template void TileRepository::save(eos::portable_oarchive &ar, const u_int version) const;
++template void TileRepository::load(eos::portable_iarchive &ar, const unsigned int version);
++template void TileRepository::save(boost::archive::binary_oarchive &ar, const u_int version) const;
++template void TileRepository::load(boost::archive::binary_iarchive &ar, const unsigned int version);
++// Explicit instantiations for polymorphic archives
++template void TileRepository::save(boost::archive::polymorphic_oarchive &ar, const u_int version) const;
++template void TileRepository::load(boost::archive::polymorphic_iarchive &ar, const u_int version);
++}
+diff -r ceb10f796325 src/slg/film/filmserialize.cpp
+--- a/src/slg/film/filmserialize.cpp Mon Dec 18 17:20:21 2017 +0100
++++ b/src/slg/film/filmserialize.cpp Wed Nov 07 15:24:25 2018 +0100
+@@ -197,3 +197,14 @@
+ ar & initialized;
+ ar & enabledOverlappedScreenBufferUpdate;
+ }
++
++namespace slg {
++// Explicit instantiations for portable archives
++template void Film::save(eos::portable_oarchive &ar, const u_int version) const;
++template void Film::load(eos::portable_iarchive &ar, const u_int version);
++template void Film::save(boost::archive::binary_oarchive &ar, const u_int version) const;
++template void Film::load(boost::archive::binary_iarchive &ar, const u_int version);
++// The following 2 lines shouldn't be required but they are with GCC 5
++template void Film::save(boost::archive::polymorphic_oarchive &ar, const u_int version) const;
++template void Film::load(boost::archive::polymorphic_iarchive &ar, const u_int version);
++}