diff options
-rw-r--r-- | .SRCINFO | 69 | ||||
-rw-r--r-- | 0001-cxx-version.patch | 25 | ||||
-rw-r--r-- | 0002-silence-compiler-warnings.patch | 24 | ||||
-rw-r--r-- | 0003-silence-preprocessing.patch | 25 | ||||
-rw-r--r-- | 0004-glfw.patch (renamed from glfw.patch) | 14 | ||||
-rw-r--r-- | 0005-boost107400.patch | 66 | ||||
-rw-r--r-- | 0006-python.patch (renamed from python.patch) | 79 | ||||
-rw-r--r-- | 0007-cpplib.patch | 53 | ||||
-rw-r--r-- | 0008-clang-isnan-isinf.patch | 28 | ||||
-rw-r--r-- | 0009-openexr3.patch | 394 | ||||
-rw-r--r-- | 0010-openvdb.patch | 140 | ||||
-rw-r--r-- | 0011-openimageio.patch | 41 | ||||
-rw-r--r-- | 0012-opencolorio.patch | 24 | ||||
-rw-r--r-- | 0013-boost179-fstream.patch | 37 | ||||
-rw-r--r-- | 0014-spdlog.patch | 136 | ||||
-rw-r--r-- | PKGBUILD | 77 | ||||
-rw-r--r-- | boost016900_serialization.patch | 41 |
17 files changed, 1167 insertions, 106 deletions
@@ -1,37 +1,78 @@ pkgbase = luxcorerender pkgdesc = Physically correct, unbiased rendering engine. - pkgver = 2.3 - pkgrel = 1 + pkgver = 2.7.beta1 + pkgrel = 2 epoch = 2 url = https://www.luxcorerender.org/ arch = x86_64 license = Apache makedepends = opencl-headers + makedepends = cuda-sdk makedepends = boost - makedepends = git - makedepends = doxygen makedepends = cmake + makedepends = doxygen + makedepends = git makedepends = ninja makedepends = pyside2-tools depends = opencl-icd-loader depends = blosc depends = boost-libs - depends = embree + depends = embree3 depends = glfw depends = gtk3 depends = openimagedenoise depends = openimageio + depends = openvdb + depends = python + depends = spdlog optdepends = opencl-driver: for gpu acceleration optdepends = pyside2: for pyluxcoretools gui provides = luxrays - source = https://github.com/LuxCoreRender/LuxCore/archive/luxcorerender_v2.3.tar.gz - source = python.patch - source = glfw.patch - source = boost016900_serialization.patch - sha256sums = d0afda77bd2a89ac050255495d8b0939096d259a92cf99fa5a92a51256a3d8a4 - sha256sums = a00ee865eee4d9edf685bd4010aea4c3ae96ba5d22c2e17cda313b4d3468a806 - sha256sums = 4e04c3eb653f00d2389aff8e7fda2d244e258cbca3a22e32c13388a3984e4bb1 - sha256sums = 495d183aef045e53ec8c53aa08cdcc082fb4e69ccb0857693cb0cf2684db0760 + options = !lto + source = https://github.com/LuxCoreRender/LuxCore/archive/luxcorerender_v2.7beta1.tar.gz + source = 0001-cxx-version.patch + source = 0002-silence-compiler-warnings.patch + source = 0003-silence-preprocessing.patch + source = 0004-glfw.patch + source = 0005-boost107400.patch + source = 0006-python.patch + source = 0007-cpplib.patch + source = 0008-clang-isnan-isinf.patch + source = 0009-openexr3.patch + source = 0010-openvdb.patch + source = 0011-openimageio.patch + source = 0012-opencolorio.patch + source = 0013-boost179-fstream.patch + source = 0014-spdlog.patch + sha256sums = b844989b8229bf02f3c8aa6845be6a587aa5ae55a45861591119ad0e1a195867 + sha256sums = d3e0c4f74341746bf271efa6a62f3f0e2a72072afd86c032a9a5a1a565cf28f0 + sha256sums = 540f6e92877165c06ce70d2c7ac5c28ec95632520941b645f63ffa5d77541693 + sha256sums = d754596d2c17a3d12fa38abb373f4a58b2ca7a0b8df8fdf7ba9e991753998b6b + sha256sums = 77db48d1a823f345a170c0632d3bfa0a962c92f6c662117e2a96a172d48732e9 + sha256sums = 415ba07ff99f9b97106aa806c6c1b40b68be3c39096ecd08cd2e0d40e6ea2fc3 + sha256sums = fa142fa282ae3e2482e7c39ffa07382d68ad732f32468eae5aa67d4378efc144 + sha256sums = 71b62a8c8c61779d914ce8e10bb5594dd0ed8bfecc1d6007263870393bb89955 + sha256sums = 09bf685f7367b05ac2d756e22c3b8d7a1ba931bca7ef4d6096852bbcdd203f8b + sha256sums = e2034c00d456cf04843f84ee36eca991498a9580d52d15fafebe63f61642afb2 + sha256sums = 12bb2b0873b14f7878b9ec05b36a18156879b770da5ba47505bf3d6004038092 + sha256sums = 9eca0d8c3de4088ed02b40b5269ce709077f0b810eaa570050d9f41c320e79ee + sha256sums = 1d91f515a4fcfb88119e02a71f4a5185a6765991296cd1d4760e36a642c29ff1 + sha256sums = 3185b3e4b42423fb51ef007e9f36f193ef7bd54bb83efdb242e7ba3c6fb67532 + sha256sums = ca46c01fbe2183916e20e990c23991148e878e401cec6d9ddabf7aa6bfdc6933 + b2sums = ead966b0df7bb72ac9aa2aefb1e5f2dd020156a8e66f67aeff75d29606072ea7b147ddc4d6effea687baf4653e670bd3ad93fc9c7b0e7cac340cb1d5976adb14 + b2sums = 2b8c411347c4b27b21cddf7f4543beeaa229968e95f59f762b872264afd23cb5cea8074bd606b8e56df1a84473ada13720f8fb097fcfb80303495a89ed9052ef + b2sums = 97302dc99edebe5f35d5d469b2a2a9172eb7357248fb2bcc4510507de59a4d1db32cbfaf18acbba29b5046011615f57eb6ab322346560ec2777172c6b08a30b9 + b2sums = c951ce3d6172c0a916c13fa53c682336a74d229c6e903f26c40f7a6e91a6b3ff54241178f85e4945d621210d23f54503b95e69d0f05e40246165eb23422aafb9 + b2sums = 88e40b301961daef2e493b71cbd497aeb63035e9ed1ff2078c98c6a2c0e17f7c23a712905cd335ad3cc518b7b53b503441b261bc04ee6a27cb8531f74ec019f8 + b2sums = 8ef8933c5dc6acb0881ddb51f959530eeda80c7d7d0a1e26ce5878e19b082746e95af8bee53e5937276e500473bbd56137cf68e5901b2a0a48d9255e11016cbf + b2sums = 96708a30229163849cefc4e7e13db571fe2529f08952a999a2176f99b4748869391184345780ef22d74ae8c93fb18b0a8831fcb5f3b043bcb63b545e90396205 + b2sums = 7c8979e9549b03f0535d5760d9929acfb0d954b027253ec42ce910033c5aac60a34af3bbe92b6b07b9a3d0c0e66a43373b74697bdbc91e2ca6ae42ae4866352d + b2sums = 947d3cba2c9e1c4c430f9623a13f5275613491ac1125c88b042dc4bb0fa6905c8955731e75e954850035f3605df12fdf5f77b5caec7495b3d321aa6eb357bd57 + b2sums = 3e2431d7b0175a7ec0ac452d0201222a26d16cb02191aa7a65a14cfb6af5a99109e82efeb8125f5b8b76314bfbc8ede5d055da5955cfa5d0238870d9de3bd73c + b2sums = 76ee674dcbcd52c698924cbcd547d2b8a4b3761cf2ade8d7c463b2a5bdc9f741537485ce9db12968d3b43a28cca1508223e3a363fc7c0b7b9483e107d77155e7 + b2sums = 6ebaf49099a78adb59c0f9c601410529b8709377ec1c6eacf9510bdf5fba5027cdd81bae6422425cceab6ee1ebb4709a3edf9d818fcce2a5b475e009153a7842 + b2sums = f56cec862ace8a1499a1a718f3c88488661b7d683d4e9bafc027d20fcb6542ce91a70f11ad46dd7a5ad0e61f2cd8dff6247617ad8d51b378e96fdc5e0c1ae94a + b2sums = 78333747e508f28293c85175e0f9d0624b8303c1f4f5491304e79c3dbc104fedf4eaac9065f0876a968d379898eb5810cd802350adae44de5f44673b0949f1ba + b2sums = 5e59c732a417775984cd85755b7a1810b33fb8a09cb3a8542c048958e7788d1aac3ecef5f28266278ca6444e1f59421b1d167a305eda9e70c0ae62155c01274b pkgname = luxcorerender - diff --git a/0001-cxx-version.patch b/0001-cxx-version.patch new file mode 100644 index 000000000000..e7f2cf76380f --- /dev/null +++ b/0001-cxx-version.patch @@ -0,0 +1,25 @@ +From d73cadf257821da12ce526432ed6fe8e6fb5665a Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Wed, 31 Jan 2024 06:51:35 +0100 +Subject: [PATCH 01/14] cxx-version + +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 72c1996ac..fad738f43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,8 @@ unset(CMAKE_CONFIGURATION_TYPES CACHE) + # This boots up the generator: + enable_language(C) + enable_language(CXX) ++set(CMAKE_CXX_STANDARD 23) ++set(CMAKE_CXX_STANDARD_REQUIRED ON) + + if (CMAKE_CONFIGURATION_TYPES) + +-- +2.43.0 + diff --git a/0002-silence-compiler-warnings.patch b/0002-silence-compiler-warnings.patch new file mode 100644 index 000000000000..758649761611 --- /dev/null +++ b/0002-silence-compiler-warnings.patch @@ -0,0 +1,24 @@ +From a7943d7b3f00c5d1405214761bbdc65bf9c578ad Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:19:13 +0200 +Subject: [PATCH 02/14] silence-compiler-warnings + +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fad738f43..a266db8f2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,6 +43,7 @@ enable_language(C) + enable_language(CXX) + set(CMAKE_CXX_STANDARD 23) + set(CMAKE_CXX_STANDARD_REQUIRED ON) ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") + + if (CMAKE_CONFIGURATION_TYPES) + +-- +2.43.0 + diff --git a/0003-silence-preprocessing.patch b/0003-silence-preprocessing.patch new file mode 100644 index 000000000000..61a2fcaedc20 --- /dev/null +++ b/0003-silence-preprocessing.patch @@ -0,0 +1,25 @@ +From ad805c618b38f3a9918f7e10dfa3a5411f42283f Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:19:34 +0200 +Subject: [PATCH 03/14] silence-preprocessing + +--- + cmake/KernelPreprocess.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/KernelPreprocess.cmake b/cmake/KernelPreprocess.cmake +index d877f0ef3..3d71d4a57 100644 +--- a/cmake/KernelPreprocess.cmake ++++ b/cmake/KernelPreprocess.cmake +@@ -23,7 +23,7 @@ + ################################################################################ + + FUNCTION(PreprocessOCLKernel NAMESPACE KERNEL SRC DST) +- MESSAGE(STATUS "Preprocessing OpenCL kernel: " ${SRC} " => " ${DST} ) ++ #MESSAGE(STATUS "Preprocessing OpenCL kernel: " ${SRC} " => " ${DST} ) + + add_custom_command( + OUTPUT ${DST} +-- +2.43.0 + diff --git a/glfw.patch b/0004-glfw.patch index 29c1e0fef7af..90070a15188b 100644 --- a/glfw.patch +++ b/0004-glfw.patch @@ -1,5 +1,14 @@ +From be9e10a37ac78e8f3aee57d65694c0eebc27b90c Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:16:28 +0200 +Subject: [PATCH 04/14] glfw + +--- + samples/luxcoreui/CMakeLists.txt | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + diff --git a/samples/luxcoreui/CMakeLists.txt b/samples/luxcoreui/CMakeLists.txt -index 33b50b3d0..ba1982a42 100644 +index 8b74e0704..d2e823874 100644 --- a/samples/luxcoreui/CMakeLists.txt +++ b/samples/luxcoreui/CMakeLists.txt @@ -22,7 +22,10 @@ @@ -14,3 +23,6 @@ index 33b50b3d0..ba1982a42 100644 include_directories(deps/glfw-3.1.1/include) include_directories(deps/nfd/include) +-- +2.43.0 + diff --git a/0005-boost107400.patch b/0005-boost107400.patch new file mode 100644 index 000000000000..6aa57c25f308 --- /dev/null +++ b/0005-boost107400.patch @@ -0,0 +1,66 @@ +From 15c4773cdbe2322860face1ac8f54baf24ebf04b Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:17:09 +0200 +Subject: [PATCH 05/14] boost107400 + +--- + src/slg/engines/bakecpu/bakecputhread.cpp | 2 ++ + src/slg/engines/pathocl/pathoclopenclthread.cpp | 2 ++ + src/slg/engines/tilepathocl/tilepathoclthread.cpp | 2 ++ + src/slg/film/filmserialize.cpp | 1 + + 4 files changed, 7 insertions(+) + +diff --git a/src/slg/engines/bakecpu/bakecputhread.cpp b/src/slg/engines/bakecpu/bakecputhread.cpp +index d4766aaf3..82629772c 100644 +--- a/src/slg/engines/bakecpu/bakecputhread.cpp ++++ b/src/slg/engines/bakecpu/bakecputhread.cpp +@@ -23,6 +23,8 @@ + #include "slg/utils/varianceclamping.h" + #include "slg/film/imagepipeline/plugins/bakemapmargin.h" + ++#include <boost/bind.hpp> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +diff --git a/src/slg/engines/pathocl/pathoclopenclthread.cpp b/src/slg/engines/pathocl/pathoclopenclthread.cpp +index d006861a5..47d8e7d1e 100644 +--- a/src/slg/engines/pathocl/pathoclopenclthread.cpp ++++ b/src/slg/engines/pathocl/pathoclopenclthread.cpp +@@ -31,6 +31,8 @@ + #include "slg/renderconfig.h" + #include "slg/engines/pathocl/pathocl.h" + ++#include <boost/bind.hpp> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +diff --git a/src/slg/engines/tilepathocl/tilepathoclthread.cpp b/src/slg/engines/tilepathocl/tilepathoclthread.cpp +index f8e3fa2d1..4a44d13c8 100644 +--- a/src/slg/engines/tilepathocl/tilepathoclthread.cpp ++++ b/src/slg/engines/tilepathocl/tilepathoclthread.cpp +@@ -24,6 +24,8 @@ + #include "slg/kernels/kernels.h" + #include "slg/engines/tilepathocl/tilepathocl.h" + ++#include <boost/bind.hpp> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +diff --git a/src/slg/film/filmserialize.cpp b/src/slg/film/filmserialize.cpp +index 6cd3aee46..120eb8cb5 100644 +--- a/src/slg/film/filmserialize.cpp ++++ b/src/slg/film/filmserialize.cpp +@@ -20,6 +20,7 @@ + + #include <boost/lexical_cast.hpp> + #include <boost/foreach.hpp> ++#include <boost/serialization/library_version_type.hpp> + #include <boost/serialization/unordered_set.hpp> + + #include "slg/film/film.h" +-- +2.43.0 + diff --git a/python.patch b/0006-python.patch index 205a2d12ee35..16dafd757827 100644 --- a/python.patch +++ b/0006-python.patch @@ -1,5 +1,19 @@ +From a6fbe12e4031aea2a23088ec1ec224dbe84a19af Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:17:31 +0200 +Subject: [PATCH 06/14] python + +--- + CMakeLists.txt | 4 ++++ + samples/luxcoreconsole/CMakeLists.txt | 2 +- + samples/luxcoredemo/CMakeLists.txt | 2 +- + samples/luxcorescenedemo/CMakeLists.txt | 2 +- + samples/luxcoreui/CMakeLists.txt | 3 ++- + tests/luxcoreimplserializationdemo/CMakeLists.txt | 2 +- + 6 files changed, 10 insertions(+), 5 deletions(-) + diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4a073f2e..4025bc894 100644 +index a266db8f2..393a1cbaa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,10 @@ MESSAGE(STATUS "CMake version " ${CMAKE_VERSION} " detected") @@ -14,64 +28,59 @@ index a4a073f2e..4025bc894 100644 SET(CMAKE_LEGACY_CYGWIN_WIN32 0) diff --git a/samples/luxcoreconsole/CMakeLists.txt b/samples/luxcoreconsole/CMakeLists.txt -index dc3f5d8cf..a8b429814 100644 +index 96e09bc6a..cdb83231c 100644 --- a/samples/luxcoreconsole/CMakeLists.txt +++ b/samples/luxcoreconsole/CMakeLists.txt -@@ -28,4 +28,4 @@ set(LUXCORECONSOLE_SRCS - - add_executable(luxcoreconsole ${LUXCORECONSOLE_SRCS}) - --TARGET_LINK_LIBRARIES(luxcoreconsole ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${OPENCL_LIBRARIES}) -\ No newline at end of file -+TARGET_LINK_LIBRARIES(luxcoreconsole ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES}) +@@ -31,5 +31,5 @@ add_executable(luxcoreconsole ${LUXCORECONSOLE_SRCS}) + if(APPLE) + TARGET_LINK_LIBRARIES(luxcoreconsole expat "-framework Carbon" "-framework IOKit" ${LUXCORE_LIBRARY} ${Boost_LIBRARIES}) + else() +-TARGET_LINK_LIBRARIES(luxcoreconsole ${LUXCORE_LIBRARY} ${Boost_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcoreconsole ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) + endif() diff --git a/samples/luxcoredemo/CMakeLists.txt b/samples/luxcoredemo/CMakeLists.txt -index c140dc23b..c8cba9880 100644 +index 194104caf..241dbd5f2 100644 --- a/samples/luxcoredemo/CMakeLists.txt +++ b/samples/luxcoredemo/CMakeLists.txt @@ -29,4 +29,4 @@ set(LUXCORELIBDEMO_SRCS add_executable(luxcoredemo ${LUXCORELIBDEMO_SRCS}) add_definitions(${VISIBILITY_FLAGS}) --TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${OPENCL_LIBRARIES}) -+TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES}) +-TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${OPENCL_LIBRARIES} ${CUDA_ALL_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES} ${CUDA_ALL_LIBRARIES}) diff --git a/samples/luxcorescenedemo/CMakeLists.txt b/samples/luxcorescenedemo/CMakeLists.txt -index 90c1967cd..aa024f650 100644 +index 1840a0e42..504739572 100644 --- a/samples/luxcorescenedemo/CMakeLists.txt +++ b/samples/luxcorescenedemo/CMakeLists.txt @@ -29,4 +29,4 @@ set(LUXCORESCENEDEMO_SRCS add_executable(luxcorescenedemo ${LUXCORESCENEDEMO_SRCS}) add_definitions(${VISIBILITY_FLAGS}) --TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${OPENCL_LIBRARIES}) -+TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES}) +-TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) diff --git a/samples/luxcoreui/CMakeLists.txt b/samples/luxcoreui/CMakeLists.txt -index 33b50b3d0..ba1982a42 100644 +index d2e823874..80325af7e 100644 --- a/samples/luxcoreui/CMakeLists.txt +++ b/samples/luxcoreui/CMakeLists.txt -@@ -88,4 +91,5 @@ TARGET_LINK_LIBRARIES(luxcoreui +@@ -103,5 +103,6 @@ TARGET_LINK_LIBRARIES(luxcoreui + ${LUXCORE_LIBRARY} ${OPENGL_LIBRARIES} ${GTK3_LIBRARIES} - ${Boost_LIBRARIES} -+ ${PYTHON_LIBRARIES} - ${OPENCL_LIBRARIES}) -diff --git a/tests/benchsimple/CMakeLists.txt b/tests/benchsimple/CMakeLists.txt -index 3ac004b2b..b2abe340c 100644 ---- a/tests/benchsimple/CMakeLists.txt -+++ b/tests/benchsimple/CMakeLists.txt -@@ -22,4 +22,4 @@ link_directories (${LuxRays_LIB_DIR}) - add_executable(benchsimple benchsimple.cpp) - add_definitions(${VISIBILITY_FLAGS}) - remove_definitions("-DLUXCORE_DLL") --target_link_libraries(benchsimple luxrays ${EMBREE_LIBRARY} ${TBB_LIBRARY} ) -+target_link_libraries(benchsimple luxrays ${EMBREE_LIBRARY} ${PYTHON_LIBRARIES} ${TBB_LIBRARY} ) +- ${Boost_LIBRARIES}) ++ ${Boost_LIBRARIES} ++ ${PYTHON_LIBRARIES}) + endif() diff --git a/tests/luxcoreimplserializationdemo/CMakeLists.txt b/tests/luxcoreimplserializationdemo/CMakeLists.txt -index c8d9c4aa9..1dc6b7c63 100644 +index bdd3445b8..baa52f622 100644 --- a/tests/luxcoreimplserializationdemo/CMakeLists.txt +++ b/tests/luxcoreimplserializationdemo/CMakeLists.txt -@@ -30,4 +30,4 @@ include_directories(${LuxRays_SOURCE_DIR}/deps/bcd-1.1/include) +@@ -31,4 +31,4 @@ include_directories(${LuxRays_SOURCE_DIR}/deps/opencolorio-2.0.0/include) add_executable(luxcoreimplserializationdemo ${LUXCOREIMPL_SERIALIZATIONDEMO_SRCS}) --TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) -\ Brak znaku nowej linii na końcu pliku -+TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${PYTHON_LIBRARIES} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) +-TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) +\ No newline at end of file ++TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${PYTHON_LIBRARIES}) +-- +2.43.0 + diff --git a/0007-cpplib.patch b/0007-cpplib.patch new file mode 100644 index 000000000000..4517b62ef8ac --- /dev/null +++ b/0007-cpplib.patch @@ -0,0 +1,53 @@ +From a0165f46b8bd07d0c19f5e5ded7a3f102adb9f1f Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:17:51 +0200 +Subject: [PATCH 07/14] cpplib + +--- + src/slg/scene/parsematerials.cpp | 2 ++ + src/slg/scene/parseobjects.cpp | 2 ++ + src/slg/scene/parsevolumes.cpp | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git a/src/slg/scene/parsematerials.cpp b/src/slg/scene/parsematerials.cpp +index 7b3952125..d26cb29e3 100644 +--- a/src/slg/scene/parsematerials.cpp ++++ b/src/slg/scene/parsematerials.cpp +@@ -52,6 +52,8 @@ + + #include "slg/utils/filenameresolver.h" + ++#include <atomic> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +diff --git a/src/slg/scene/parseobjects.cpp b/src/slg/scene/parseobjects.cpp +index ddabedfae..3cb8712ba 100644 +--- a/src/slg/scene/parseobjects.cpp ++++ b/src/slg/scene/parseobjects.cpp +@@ -19,6 +19,8 @@ + #include "slg/scene/scene.h" + #include "slg/utils/filenameresolver.h" + ++#include <atomic> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +diff --git a/src/slg/scene/parsevolumes.cpp b/src/slg/scene/parsevolumes.cpp +index c9798c2ec..8101b5742 100644 +--- a/src/slg/scene/parsevolumes.cpp ++++ b/src/slg/scene/parsevolumes.cpp +@@ -32,6 +32,8 @@ + #include "slg/volumes/heterogenous.h" + #include "slg/volumes/homogenous.h" + ++#include <atomic> ++ + using namespace std; + using namespace luxrays; + using namespace slg; +-- +2.43.0 + diff --git a/0008-clang-isnan-isinf.patch b/0008-clang-isnan-isinf.patch new file mode 100644 index 000000000000..52b53615ba73 --- /dev/null +++ b/0008-clang-isnan-isinf.patch @@ -0,0 +1,28 @@ +From 816c122471a1d0000a4059ca43142431e63eb755 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:18:23 +0200 +Subject: [PATCH 08/14] clang-isnan-isinf + +--- + include/luxrays/utils/utils.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/include/luxrays/utils/utils.h b/include/luxrays/utils/utils.h +index b6584b383..d48d7d93d 100644 +--- a/include/luxrays/utils/utils.h ++++ b/include/luxrays/utils/utils.h +@@ -48,6 +48,11 @@ template <class T> + int isinf(T a) { return std::isinf(a); } + #endif + ++#ifdef __clang__ ++using std::isnan; ++using std::isinf; ++#endif ++ + #if defined(__APPLE__) + #include <string> + #endif +-- +2.43.0 + diff --git a/0009-openexr3.patch b/0009-openexr3.patch new file mode 100644 index 000000000000..7753e652f8b3 --- /dev/null +++ b/0009-openexr3.patch @@ -0,0 +1,394 @@ +From 596bb2f33c70b7c6859019971938194cc39e8bdb Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:18:50 +0200 +Subject: [PATCH 09/14] openexr3 + +--- + cmake/Packages/FindOpenEXR.cmake | 241 ++++++++++-------- + .../src/OpenColorIO/BitDepthUtils.h | 2 +- + .../src/OpenColorIO/MathUtils.h | 2 +- + .../src/OpenColorIO/ops/range/RangeOp.cpp | 2 +- + .../OpenColorIO/transforms/builtins/ACES.cpp | 2 +- + .../transforms/builtins/OpHelpers.cpp | 2 +- + .../src/libutils/oiiohelpers/oiiohelpers.cpp | 2 +- + deps/openvdb-7.0.0/openvdb/Types.h | 2 +- + include/slg/imagemap/imagemap.h | 2 +- + include/slg/utils/halfserialization.h | 2 +- + 10 files changed, 137 insertions(+), 122 deletions(-) + +diff --git a/cmake/Packages/FindOpenEXR.cmake b/cmake/Packages/FindOpenEXR.cmake +index dfe517b34..a2f7b4c62 100644 +--- a/cmake/Packages/FindOpenEXR.cmake ++++ b/cmake/Packages/FindOpenEXR.cmake +@@ -1,123 +1,138 @@ +-################################################################################ +-# Copyright 1998-2020 by authors (see AUTHORS.txt) ++# - Find OpenEXR library ++# Find the native OpenEXR includes and library ++# This module defines ++# OPENEXR_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when ++# OPENEXR_INCLUDE_DIR is found. ++# OPENEXR_LIBRARIES, libraries to link against to use OpenEXR. ++# OPENEXR_ROOT_DIR, The base directory to search for OpenEXR. ++# This can also be an environment variable. ++# OPENEXR_FOUND, If false, do not try to use OpenEXR. + # +-# This file is part of LuxCoreRender. ++# For individual library access these advanced settings are available ++# OPENEXR_HALF_LIBRARY, Path to Half library ++# OPENEXR_IEX_LIBRARY, Path to Half library ++# OPENEXR_ILMIMF_LIBRARY, Path to Ilmimf library ++# OPENEXR_ILMTHREAD_LIBRARY, Path to IlmThread library ++# OPENEXR_IMATH_LIBRARY, Path to Imath library + # +-# Licensed under the Apache License, Version 2.0 (the "License"); +-# you may not use this file except in compliance with the License. +-# You may obtain a copy of the License at +-# +-# http://www.apache.org/licenses/LICENSE-2.0 +-# +-# Unless required by applicable law or agreed to in writing, software +-# distributed under the License is distributed on an "AS IS" BASIS, +-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-# See the License for the specific language governing permissions and +-# limitations under the License. +-################################################################################ +- +-# - Try to find OpenEXR +-# Library is first searched for in OPENEXR_ROOT +-# Once done, this will define ++# also defined, but not for general use are ++# OPENEXR_LIBRARY, where to find the OpenEXR library. ++ ++#============================================================================= ++# Copyright 2011 Blender Foundation. + # +-# OPENEXR_FOUND - system has OpenEXR +-# OPENEXR_INCLUDE_DIRS - the OpenEXR include directories +-# OPENEXR_LIBRARIES - link these to use OpenEXR +- +-# Lookup user specified path first +-SET(OpenEXR_TEST_HEADERS ImfXdr.h OpenEXRConfig.h IlmBaseConfig.h) +-SET(OpenEXR_INC_SUFFIXES include/OpenEXR include Include Headers) +-FIND_PATH(OPENEXR_INCLUDE_DIRS +- NAMES ${OpenEXR_TEST_HEADERS} +- PATHS "${OPENEXR_ROOT}" +- PATH_SUFFIXES ${OpenEXR_INC_SUFFIXES} +- NO_DEFAULT_PATH +- DOC "The directory where IlmBaseConfig.h resides" ++# Distributed under the OSI-approved BSD 3-Clause License, ++# see accompanying file BSD-3-Clause-license.txt for details. ++#============================================================================= ++ ++# If OPENEXR_ROOT_DIR was defined in the environment, use it. ++IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "") ++ SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR}) ++ENDIF() ++ ++# Old versions (before 2.0?) do not have any version string, just assuming this should be fine though. ++SET(_openexr_libs_ver_init "2.0") ++ ++SET(_openexr_FIND_COMPONENTS ++ Iex ++ Imath ++ OpenEXR ++ IlmThread + ) +-FIND_PATH(OPENEXR_INCLUDE_DIRS +- NAMES ${OpenEXR_TEST_HEADERS} +- PATHS /usr/local /usr /sw /opt/local /opt/csw /opt +- PATH_SUFFIXES ${OpenEXR_INC_SUFFIXES} +- DOC "The directory where IlmBaseConfig.h resides" ++ ++SET(_openexr_SEARCH_DIRS ++ ${OPENEXR_ROOT_DIR} ++ /opt/lib/openexr ++) ++ ++FIND_PATH(OPENEXR_INCLUDE_DIR ++ NAMES ++ OpenEXR/ImfXdr.h ++ HINTS ++ ${_openexr_SEARCH_DIRS} ++ PATH_SUFFIXES ++ include + ) + +-IF (OPENEXR_INCLUDE_DIRS) +-# Lookup additional headers in case they are in subdirectories +-SET(OpenEXR_MODULES Iex Imf half Imath IlmThread) +-FOREACH(i ${OpenEXR_MODULES}) +- FIND_PATH(OpenEXR_${i}_INCLUDE_DIR +- NAMES ${i}.h ${i}Header.h ${i}Math.h +- PATHS "${OPENEXR_INCLUDE_DIRS}" "${OPENEXR_INCLUDE_DIRS}/${i}" "${OPENEXR_INCLUDE_DIRS}/Ilm${i}" +- NO_DEFAULT_PATH +- DOC "The directory where ${i}.h resides" +- ) +-ENDFOREACH(i) +-FOREACH(i ${OpenEXR_MODULES}) +- IF (NOT OpenEXR_${i}_INCLUDE_DIR) +- SET(OpenEXR_${i}_INCLUDE_DIR "") +- ENDIF (NOT OpenEXR_${i}_INCLUDE_DIR) +- IF ("${OpenEXR_${i}_INCLUDE_DIR}" STREQUAL "${OPENEXR_INCLUDE_DIRS}") +- SET(OpenEXR_${i}_INCLUDE_DIR "") +- ENDIF ("${OpenEXR_${i}_INCLUDE_DIR}" STREQUAL "${OPENEXR_INCLUDE_DIRS}") +-ENDFOREACH(i) +-FOREACH(i ${OpenEXR_MODULES}) +- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIRS} ${OpenEXR_${i}_INCLUDE_DIR}) +-ENDFOREACH(i) +-ENDIF(OPENEXR_INCLUDE_DIRS) +- +-SET(OpenEXR_LIBRARY_MODULES Iex IlmImf Half Imath IlmThread) +-SET(OpenEXR_LIB_SUFFIXES lib64 lib Lib lib/OpenEXR Libs x64/Release/lib) +-SET(OpenEXR_LIB_SUFFIXES_REL) +-SET(OpenEXR_LIB_SUFFIXES_DBG) +-FOREACH(i ${OpenEXR_LIB_SUFFIXES}) +- SET(OpenEXR_LIB_SUFFIXES_REL ${OpenEXR_LIB_SUFFIXES_REL} +- "${i}" "${i}/release" "${i}/relwithdebinfo" "${i}/minsizerel" "${i}/dist") +- SET(OpenEXR_LIB_SUFFIXES_DBG ${OpenEXR_LIB_SUFFIXES_DBG} +- "${i}" "${i}/debug" "${i}/dist") +-ENDFOREACH(i) +-SET(OPENEXR_LIBRARIES) +-FOREACH(i ${OpenEXR_LIBRARY_MODULES}) +- FIND_LIBRARY(OpenEXR_${i}_LIBRARY_REL +- NAMES ${i} +- PATHS "${OPENEXR_ROOT}" +- PATH_SUFFIXES ${OpenEXR_LIB_SUFFIXES_REL} +- NO_DEFAULT_PATH +- DOC "The ${i} release library" +- ) +- FIND_LIBRARY(OpenEXR_${i}_LIBRARY_REL +- NAMES ${i} +- PATHS /usr/local /usr /sw /opt/local /opt/csw /opt +- PATH_SUFFIXES ${OpenEXR_LIB_SUFFIXES_REL} +- DOC "The ${i} release library" +- ) +- FIND_LIBRARY(OpenEXR_${i}_LIBRARY_DBG +- NAMES "${i}d" "${i}D" "${i}_d" "${i}_D" "${i}_debug" +- PATHS "${OPENEXR_ROOT}" +- PATH_SUFFIXES ${OpenEXR_LIB_SUFFIXES_DBG} +- NO_DEFAULT_PATH +- DOC "The ${i} debug library" +- ) +- FIND_LIBRARY(OpenEXR_${i}_LIBRARY_DBG +- NAMES "${i}d" "${i}D" "${i}_d" "${i}_D" "${i}_debug" +- PATHS /usr/local /usr /sw /opt/local /opt/csw /opt +- PATH_SUFFIXES ${OpenEXR_LIB_SUFFIXES_DBG} +- DOC "The ${i} debug library" +- ) +- IF (OpenEXR_${i}_LIBRARY_REL AND OpenEXR_${i}_LIBRARY_DBG) +- SET(OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} +- optimized ${OpenEXR_${i}_LIBRARY_REL} +- debug ${OpenEXR_${i}_LIBRARY_DBG}) +- ELSEIF (OpenEXR_${i}_LIBRARY_REL) +- SET(OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} +- ${OpenEXR_${i}_LIBRARY_REL}) +- ELSEIF (OpenEXR_${i}_LIBRARY_DBG) +- SET(OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} +- ${OpenEXR_${i}_LIBRARY_DBG}) +- ENDIF (OpenEXR_${i}_LIBRARY_REL AND OpenEXR_${i}_LIBRARY_DBG) +-ENDFOREACH (i) ++# If the headers were found, get the version from config file, if not already set. ++IF(OPENEXR_INCLUDE_DIR) ++ IF(NOT OPENEXR_VERSION) ++ ++ FIND_FILE(_openexr_CONFIG ++ NAMES ++ OpenEXRConfig.h ++ PATHS ++ "${OPENEXR_INCLUDE_DIR}" ++ "${OPENEXR_INCLUDE_DIR}/OpenEXR" ++ NO_DEFAULT_PATH ++ ) ++ ++ IF(_openexr_CONFIG) ++ FILE(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION ++ REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$") ++ ELSE() ++ MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${OPENEXR_INCLUDE_DIR}\"") ++ ENDIF() + ++ IF(OPENEXR_BUILD_SPECIFICATION) ++ MESSAGE(STATUS "${OPENEXR_BUILD_SPECIFICATION}") ++ STRING(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*" ++ "\\1" _openexr_libs_ver_init ${OPENEXR_BUILD_SPECIFICATION}) ++ ELSE() ++ MESSAGE(WARNING "Could not determine ILMBase library version, assuming ${_openexr_libs_ver_init}.") ++ ENDIF() ++ ++ UNSET(_openexr_CONFIG CACHE) ++ ++ ENDIF() ++ENDIF() ++ ++SET("OPENEXR_VERSION" ${_openexr_libs_ver_init} CACHE STRING "Version of OpenEXR lib") ++UNSET(_openexr_libs_ver_init) ++ ++STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION}) ++ ++SET(_openexr_LIBRARIES) ++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) ++ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) ++ ++ FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY ++ NAMES ++ ${COMPONENT}-${_openexr_libs_ver} ${COMPONENT} ++ NAMES_PER_DIR ++ HINTS ++ ${_openexr_SEARCH_DIRS} ++ PATH_SUFFIXES ++ lib64 lib ++ ) ++ LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}") ++ENDFOREACH() ++ ++UNSET(_openexr_libs_ver) ++ ++# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if ++# all listed variables are TRUE + INCLUDE(FindPackageHandleStandardArgs) +-FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENEXR DEFAULT_MSG OPENEXR_LIBRARIES OPENEXR_INCLUDE_DIRS) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG ++ _openexr_LIBRARIES OPENEXR_INCLUDE_DIR) + +-MARK_AS_ADVANCED(OPENEXR_INCLUDE_DIRS OPENEXR_LIBRARIES) ++IF(OPENEXR_FOUND) ++ SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) ++ # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :( ++ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath) ++ENDIF() ++ ++MARK_AS_ADVANCED( ++ OPENEXR_INCLUDE_DIR ++ OPENEXR_VERSION ++) ++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) ++ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) ++ MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY) ++ENDFOREACH() + ++UNSET(COMPONENT) ++UNSET(UPPERCOMPONENT) ++UNSET(_openexr_FIND_COMPONENTS) ++UNSET(_openexr_LIBRARIES) ++UNSET(_openexr_SEARCH_DIRS) +diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/BitDepthUtils.h b/deps/opencolorio-2.0.0/src/OpenColorIO/BitDepthUtils.h +index a8b3cbd94..bb0163bff 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/BitDepthUtils.h ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/BitDepthUtils.h +@@ -7,7 +7,7 @@ +
+ #include <OpenColorIO/OpenColorIO.h>
+
+-#include "OpenEXR/half.h"
++#include "Imath/half.h"
+
+
+ namespace OCIO_NAMESPACE
+diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/MathUtils.h b/deps/opencolorio-2.0.0/src/OpenColorIO/MathUtils.h +index 309c6244f..0873d4908 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/MathUtils.h ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/MathUtils.h +@@ -9,7 +9,7 @@ + + #include <OpenColorIO/OpenColorIO.h> + +-#include "OpenEXR/half.h" ++#include "Imath/half.h" + + namespace OCIO_NAMESPACE + { +diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/ops/range/RangeOp.cpp b/deps/opencolorio-2.0.0/src/OpenColorIO/ops/range/RangeOp.cpp +index b6fb6d9e7..e7389203c 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/ops/range/RangeOp.cpp ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/ops/range/RangeOp.cpp +@@ -7,7 +7,7 @@ + #include <OpenColorIO/OpenColorIO.h> + + #include "GpuShaderUtils.h" +-#include "OpenEXR/half.h" ++#include "Imath/half.h" + #include "HashUtils.h" + #include "MathUtils.h" + #include "ops/lut1d/Lut1DOpData.h" +diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/ACES.cpp b/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/ACES.cpp +index 20968c0da..9ee2ac27a 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/ACES.cpp ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/ACES.cpp +@@ -6,7 +6,7 @@ + + #include <OpenColorIO/OpenColorIO.h> + +-#include "OpenEXR/half.h" ++#include "Imath/half.h" + #include "ops/fixedfunction/FixedFunctionOp.h" + #include "ops/gradingrgbcurve/GradingRGBCurveOp.h" + #include "ops/log/LogOp.h" +diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/OpHelpers.cpp b/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/OpHelpers.cpp +index 04b8fbd40..288ca5668 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/OpHelpers.cpp ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/transforms/builtins/OpHelpers.cpp +@@ -4,7 +4,7 @@ + + #include <OpenColorIO/OpenColorIO.h> + +-#include "OpenEXR/half.h" ++#include "Imath/half.h" + #include "ops/lut1d/Lut1DOp.h" + #include "transforms/builtins/OpHelpers.h" + +diff --git a/deps/opencolorio-2.0.0/src/libutils/oiiohelpers/oiiohelpers.cpp b/deps/opencolorio-2.0.0/src/libutils/oiiohelpers/oiiohelpers.cpp +index 3228644ad..11478daff 100644 +--- a/deps/opencolorio-2.0.0/src/libutils/oiiohelpers/oiiohelpers.cpp ++++ b/deps/opencolorio-2.0.0/src/libutils/oiiohelpers/oiiohelpers.cpp +@@ -5,7 +5,7 @@ + #include <OpenColorIO/OpenColorIO.h>
+
+
+-#include "OpenEXR/half.h"
++#include "Imath/half.h"
+ #include "oiiohelpers.h"
+ #include "utils/StringUtils.h"
+
+diff --git a/deps/openvdb-7.0.0/openvdb/Types.h b/deps/openvdb-7.0.0/openvdb/Types.h +index 70269cf07..0d9906828 100644 +--- a/deps/openvdb-7.0.0/openvdb/Types.h ++++ b/deps/openvdb-7.0.0/openvdb/Types.h +@@ -6,7 +6,7 @@ + + #include "version.h" + #include "Platform.h" +-#include <OpenEXR/half.h> ++#include <Imath/half.h> + #include <openvdb/math/Math.h> + #include <openvdb/math/BBox.h> + #include <openvdb/math/Quat.h> +diff --git a/include/slg/imagemap/imagemap.h b/include/slg/imagemap/imagemap.h +index 0260456ce..46d2c2241 100644 +--- a/include/slg/imagemap/imagemap.h ++++ b/include/slg/imagemap/imagemap.h +@@ -19,7 +19,7 @@ + #ifndef _SLG_IMAGEMAP_H + #define _SLG_IMAGEMAP_H + +-#include <OpenEXR/half.h> ++#include <Imath/half.h> + + #include <string> + #include <limits> +diff --git a/include/slg/utils/halfserialization.h b/include/slg/utils/halfserialization.h +index 551789888..2624f118c 100644 +--- a/include/slg/utils/halfserialization.h ++++ b/include/slg/utils/halfserialization.h +@@ -19,7 +19,7 @@ + #ifndef _SLG_HALFSERIALIZATION_H + #define _SLG_HALFSERIALIZATION_H + +-#include <OpenEXR/half.h> ++#include <Imath/half.h> + + #include "luxrays/utils/utils.h" + #include "luxrays/utils/serializationutils.h" +-- +2.43.0 + diff --git a/0010-openvdb.patch b/0010-openvdb.patch new file mode 100644 index 000000000000..366a7c00f195 --- /dev/null +++ b/0010-openvdb.patch @@ -0,0 +1,140 @@ +From 3bf21ed9f4d392487b479a5a532c7e39caa5be1c Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Wed, 31 Jan 2024 06:52:05 +0100 +Subject: [PATCH 10/14] openvdb + +--- + CMakeLists.txt | 10 +++++++++- + samples/luxcoreconsole/CMakeLists.txt | 2 +- + samples/luxcoredemo/CMakeLists.txt | 2 +- + samples/luxcorescenedemo/CMakeLists.txt | 2 +- + samples/luxcoreui/CMakeLists.txt | 3 ++- + src/luxcore/CMakeLists.txt | 5 ++--- + src/slg/CMakeLists.txt | 7 +------ + tests/luxcoreimplserializationdemo/CMakeLists.txt | 2 +- + 8 files changed, 18 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 393a1cbaa..73b3eac24 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,6 +113,14 @@ include_directories("${LuxRays_SOURCE_DIR}/deps/robin-hood-hashing-3.9.1/src/inc + # Find dependencies + include(Dependencies) + ++SET(Boost_Save ${Boost_LIBRARIES}) ++find_package(OpenVDB) ++LIST(APPEND Boost_LIBRARIES ${Boost_Save}) ++ ++if (NOT OpenVDB_FOUND) ++ MESSAGE(FATAL_ERROR "--> Could not locate required OpenVDB files - Please check ${OpenVDB_SEARCH_PATH}") ++endif() ++ + if (NOT Boost_FOUND) + MESSAGE(FATAL_ERROR "--> Could not locate required Boost files - Please check ${BOOST_SEARCH_PATH}") + endif() +@@ -176,7 +184,7 @@ if (BUILD_LUXCORE_DLL) + set(LUXCORE_LIBRARY luxcore) + ADD_DEFINITIONS("-DLUXCORE_DLL") + else() +- set(LUXCORE_LIBRARY luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) ++ set(LUXCORE_LIBRARY luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv ${OPENVDB_LIBRARY} opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) + endif() + + ################################################################################ +diff --git a/samples/luxcoreconsole/CMakeLists.txt b/samples/luxcoreconsole/CMakeLists.txt +index cdb83231c..638bcd1da 100644 +--- a/samples/luxcoreconsole/CMakeLists.txt ++++ b/samples/luxcoreconsole/CMakeLists.txt +@@ -31,5 +31,5 @@ add_executable(luxcoreconsole ${LUXCORECONSOLE_SRCS}) + if(APPLE) + TARGET_LINK_LIBRARIES(luxcoreconsole expat "-framework Carbon" "-framework IOKit" ${LUXCORE_LIBRARY} ${Boost_LIBRARIES}) + else() +-TARGET_LINK_LIBRARIES(luxcoreconsole ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcoreconsole opencolorio ${OpenVDB_LIBRARIES} ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) + endif() +diff --git a/samples/luxcoredemo/CMakeLists.txt b/samples/luxcoredemo/CMakeLists.txt +index 241dbd5f2..c7ac7ac77 100644 +--- a/samples/luxcoredemo/CMakeLists.txt ++++ b/samples/luxcoredemo/CMakeLists.txt +@@ -29,4 +29,4 @@ set(LUXCORELIBDEMO_SRCS + add_executable(luxcoredemo ${LUXCORELIBDEMO_SRCS}) + add_definitions(${VISIBILITY_FLAGS}) + +-TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES} ${CUDA_ALL_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcoredemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCL_LIBRARIES} ${CUDA_ALL_LIBRARIES} ${OpenVDB_LIBRARIES}) +diff --git a/samples/luxcorescenedemo/CMakeLists.txt b/samples/luxcorescenedemo/CMakeLists.txt +index 504739572..f428305ec 100644 +--- a/samples/luxcorescenedemo/CMakeLists.txt ++++ b/samples/luxcorescenedemo/CMakeLists.txt +@@ -29,4 +29,4 @@ set(LUXCORESCENEDEMO_SRCS + add_executable(luxcorescenedemo ${LUXCORESCENEDEMO_SRCS}) + add_definitions(${VISIBILITY_FLAGS}) + +-TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcorescenedemo ${LUXCORE_LIBRARY} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES} ${OpenVDB_LIBRARIES}) +diff --git a/samples/luxcoreui/CMakeLists.txt b/samples/luxcoreui/CMakeLists.txt +index 80325af7e..92f1784f7 100644 +--- a/samples/luxcoreui/CMakeLists.txt ++++ b/samples/luxcoreui/CMakeLists.txt +@@ -104,5 +104,6 @@ TARGET_LINK_LIBRARIES(luxcoreui + ${OPENGL_LIBRARIES} + ${GTK3_LIBRARIES} + ${Boost_LIBRARIES} +- ${PYTHON_LIBRARIES}) ++ ${PYTHON_LIBRARIES} ++ ${OpenVDB_LIBRARIES}) + endif() +diff --git a/src/luxcore/CMakeLists.txt b/src/luxcore/CMakeLists.txt +index d797b749f..4a3fa76e9 100644 +--- a/src/luxcore/CMakeLists.txt ++++ b/src/luxcore/CMakeLists.txt +@@ -175,15 +175,14 @@ set(PYLUXCORE_SRCS + + add_library(pyluxcore MODULE ${PYLUXCORE_SRCS} ${LUXCORE_LIB_SRCS} ${LUX_PARSER_SRC}) + +-include_directories(${LuxRays_SOURCE_DIR}/deps/openvdb-7.0.0) ++include_directories(${OpenVDB_INCLUDE_DIRS}) + include_directories(${LuxRays_SOURCE_DIR}/deps/opencolorio-2.0.0/include) + +-add_definitions(-DOPENVDB_STATICLIB ${VISIBILITY_FLAGS}) + if(APPLE) + target_link_libraries(pyluxcore -Wl,-undefined -Wl,dynamic_lookup slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio expat ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) + SET_TARGET_PROPERTIES(pyluxcore PROPERTIES XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING NO) # exclude pylux from strip, not possible + else() +- target_link_libraries(pyluxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) ++ target_link_libraries(pyluxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv ${OpenVDB_LIBRARIES} opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES}) + endif() + + set_target_properties(pyluxcore PROPERTIES PREFIX "") +diff --git a/src/slg/CMakeLists.txt b/src/slg/CMakeLists.txt +index 2f1bf79cc..9424b82bc 100644 +--- a/src/slg/CMakeLists.txt ++++ b/src/slg/CMakeLists.txt +@@ -143,12 +143,7 @@ set(OPENVDB_SRCS + + SOURCE_GROUP("Source Files\\OpenVDB Library" FILES ${OPENVDB_SRCS}) + +-include_directories(${LuxRays_SOURCE_DIR}/deps/openvdb-7.0.0) +- +-# Required by OpenVDB to read ABI 3 +-#add_definitions("-D OPENVDB_USE_DEPRECATED_ABI -DOPENVDB_3_ABI_COMPATIBLE -DOPENVDB_STATICLIB -DOPENVDB_OPENEXR_STATICLIB") +-add_definitions("-DOPENVDB_USE_BLOSC -DOPENVDB_STATICLIB -DOPENVDB_OPENEXR_STATICLIB") +-add_library(openvdb STATIC ${OPENVDB_SRCS}) ++include_directories(${OpenVDB_INCLUDE_DIRS}) + + ########################################################################### + # +diff --git a/tests/luxcoreimplserializationdemo/CMakeLists.txt b/tests/luxcoreimplserializationdemo/CMakeLists.txt +index baa52f622..2bfad6bf1 100644 +--- a/tests/luxcoreimplserializationdemo/CMakeLists.txt ++++ b/tests/luxcoreimplserializationdemo/CMakeLists.txt +@@ -31,4 +31,4 @@ include_directories(${LuxRays_SOURCE_DIR}/deps/opencolorio-2.0.0/include) + + add_executable(luxcoreimplserializationdemo ${LUXCOREIMPL_SERIALIZATIONDEMO_SRCS}) + +-TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${PYTHON_LIBRARIES}) ++TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv opencolorio ${OpenVDB_LIBRARIES} ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${PYTHON_LIBRARIES}) +-- +2.43.0 + diff --git a/0011-openimageio.patch b/0011-openimageio.patch new file mode 100644 index 000000000000..7c0cf0adc2a4 --- /dev/null +++ b/0011-openimageio.patch @@ -0,0 +1,41 @@ +From f02bdb4057380d48c0f793f7f9e7b5b3e1cfbcf0 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:20:33 +0200 +Subject: [PATCH 11/14] openimageio + +--- + cmake/Packages/FindOpenImageIO.cmake | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/cmake/Packages/FindOpenImageIO.cmake b/cmake/Packages/FindOpenImageIO.cmake +index 66bf54966..49eb82372 100644 +--- a/cmake/Packages/FindOpenImageIO.cmake ++++ b/cmake/Packages/FindOpenImageIO.cmake +@@ -55,6 +55,15 @@ FIND_LIBRARY(OPENIMAGEIO_LIBRARY + lib64 lib x64/Release/lib + ) + ++FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY ++ NAMES ++ OpenImageIO_Util ++ HINTS ++ ${_openimageio_SEARCH_DIRS} ++ PATH_SUFFIXES ++ lib64 lib x64/Release/lib ++ ) ++ + # handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if + # all listed variables are TRUE + INCLUDE(FindPackageHandleStandardArgs) +@@ -62,7 +71,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG + OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) + + IF(OPENIMAGEIO_FOUND) +- SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) ++ SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY}) + SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) + ENDIF(OPENIMAGEIO_FOUND) + +-- +2.43.0 + diff --git a/0012-opencolorio.patch b/0012-opencolorio.patch new file mode 100644 index 000000000000..9c1cea8a0f2a --- /dev/null +++ b/0012-opencolorio.patch @@ -0,0 +1,24 @@ +From 152eb08598ccc0ef7525a99425cc86be5dc6cdf9 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:21:33 +0200 +Subject: [PATCH 12/14] opencolorio + +--- + deps/opencolorio-2.0.0/src/OpenColorIO/FileRules.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/deps/opencolorio-2.0.0/src/OpenColorIO/FileRules.cpp b/deps/opencolorio-2.0.0/src/OpenColorIO/FileRules.cpp +index 329f54f50..f22926b35 100644 +--- a/deps/opencolorio-2.0.0/src/OpenColorIO/FileRules.cpp ++++ b/deps/opencolorio-2.0.0/src/OpenColorIO/FileRules.cpp +@@ -6,6 +6,7 @@ + #include <map> + #include <regex> + #include <sstream> ++#include <cstring> + + #include <OpenColorIO/OpenColorIO.h> + +-- +2.43.0 + diff --git a/0013-boost179-fstream.patch b/0013-boost179-fstream.patch new file mode 100644 index 000000000000..99ccb2aca571 --- /dev/null +++ b/0013-boost179-fstream.patch @@ -0,0 +1,37 @@ +From 6c37bbfa60a8d00e1e87a63043d67c82e137d7fb Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sun, 3 Jul 2022 20:02:31 +0200 +Subject: [PATCH 13/14] boost179 fstream + +--- + src/luxrays/utils/cuda.cpp | 1 + + src/luxrays/utils/ocl.cpp | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/luxrays/utils/cuda.cpp b/src/luxrays/utils/cuda.cpp +index 6ae9e9f42..888e12497 100644 +--- a/src/luxrays/utils/cuda.cpp ++++ b/src/luxrays/utils/cuda.cpp +@@ -24,6 +24,7 @@ + + #include <boost/algorithm/string/replace.hpp> + #include <boost/algorithm/string/trim.hpp> ++#include <boost/filesystem/fstream.hpp> + + #include "luxrays/luxrays.h" + #include "luxrays/utils/utils.h" +diff --git a/src/luxrays/utils/ocl.cpp b/src/luxrays/utils/ocl.cpp +index 785836cef..80b7a8f45 100644 +--- a/src/luxrays/utils/ocl.cpp ++++ b/src/luxrays/utils/ocl.cpp +@@ -24,6 +24,7 @@ + + #include <boost/algorithm/string/replace.hpp> + #include <boost/algorithm/string/trim.hpp> ++#include <boost/filesystem/fstream.hpp> + + #include "luxrays/luxrays.h" + #include "luxrays/utils/utils.h" +-- +2.43.0 + diff --git a/0014-spdlog.patch b/0014-spdlog.patch new file mode 100644 index 000000000000..f82d7f6c3a10 --- /dev/null +++ b/0014-spdlog.patch @@ -0,0 +1,136 @@ +From 582e247a72c4cbfce33f41aeb2c4628464e81070 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sat, 21 May 2022 18:20:14 +0200 +Subject: [PATCH 14/14] spdlog + +--- + CMakeLists.txt | 7 ++++++- + include/luxcore/luxcorelogger.h | 2 +- + include/luxcore/luxcoresink.h | 4 ++-- + src/luxcore/luxcore.cpp | 2 +- + src/luxcore/luxcoreimpl.cpp | 16 ++++++++++++++++ + src/luxcore/luxcoreinit.cpp | 6 +++--- + 6 files changed, 29 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 73b3eac24..511e06672 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,12 +107,17 @@ include_directories("${LuxRays_SOURCE_DIR}/deps/json-3.7.3/include") + include_directories("${LuxRays_SOURCE_DIR}/deps/cuew/include") + include_directories("${LuxRays_SOURCE_DIR}/deps/clew/include") + include_directories("${LuxRays_SOURCE_DIR}/deps/optix-7.1.0/include") +-include_directories("${LuxRays_SOURCE_DIR}/deps/spdlog-1.8.0/include") ++#include_directories("${LuxRays_SOURCE_DIR}/deps/spdlog-1.8.0/include") + include_directories("${LuxRays_SOURCE_DIR}/deps/robin-hood-hashing-3.9.1/src/include") + + # Find dependencies + include(Dependencies) + ++add_definitions(-DSPDLOG_FMT_EXTERNAL=1) ++add_definitions(-DSPDLOG_USE_STD_FORMAT=1) ++find_package(spdlog REQUIRED) ++include_directories(${SPDLOG_INCLUDE_DIRS}) ++ + SET(Boost_Save ${Boost_LIBRARIES}) + find_package(OpenVDB) + LIST(APPEND Boost_LIBRARIES ${Boost_Save}) +diff --git a/include/luxcore/luxcorelogger.h b/include/luxcore/luxcorelogger.h +index ecf979893..030f891f2 100644 +--- a/include/luxcore/luxcorelogger.h ++++ b/include/luxcore/luxcorelogger.h +@@ -22,7 +22,7 @@ + #include <memory> + #include <sstream> + +-#include "spdlog/spdlog.h" ++#include <spdlog/spdlog.h> + + #include "luxrays/utils/strutils.h" + #include "luxrays/utils/properties.h" +diff --git a/include/luxcore/luxcoresink.h b/include/luxcore/luxcoresink.h +index a7207a027..7ccb8f622 100644 +--- a/include/luxcore/luxcoresink.h ++++ b/include/luxcore/luxcoresink.h +@@ -21,7 +21,7 @@ + + #include <mutex> + +-#include "spdlog/sinks/rotating_file_sink.h" ++#include <spdlog/sinks/rotating_file_sink.h> + + //------------------------------------------------------------------------------ + // Our SpdLog sink for LuxCore call back handler +@@ -41,7 +41,7 @@ namespace sinks { + memory_buf_t formatted; + base_sink<Mutex>::formatter_->format(msg, formatted); + +- logHandler(fmt::to_string(formatted).c_str()); ++ logHandler(formatted.c_str()); + } + } + +diff --git a/src/luxcore/luxcore.cpp b/src/luxcore/luxcore.cpp +index ab754faac..2a86bc817 100644 +--- a/src/luxcore/luxcore.cpp ++++ b/src/luxcore/luxcore.cpp +@@ -19,7 +19,7 @@ + #include <OpenImageIO/imagebuf.h> + #include <OpenImageIO/imagebufalgo.h> + +-#include "spdlog/spdlog.h" ++#include <spdlog/spdlog.h> + + #include "luxrays/core/intersectiondevice.h" + #include "luxrays/utils/utils.h" +diff --git a/src/luxcore/luxcoreimpl.cpp b/src/luxcore/luxcoreimpl.cpp +index b0bf6b900..522f05428 100644 +--- a/src/luxcore/luxcoreimpl.cpp ++++ b/src/luxcore/luxcoreimpl.cpp +@@ -20,6 +20,7 @@ + #include <boost/foreach.hpp> + #include <boost/thread/once.hpp> + #include <boost/thread/mutex.hpp> ++#include <format> + + #include "luxcore/luxcorelogger.h" + #include "luxrays/core/intersectiondevice.h" +@@ -1805,3 +1806,18 @@ void RenderSessionImpl::SaveResumeFile(const std::string &fileName) { + + API_END(); + } ++ ++ ++template <> ++struct std::formatter<luxcore::Camera::CameraType> { ++ // for debugging only ++ formatter() { std::cout << "formatter<luxcore::Camera::CameraType>()\n"; } ++ ++ constexpr auto parse(std::format_parse_context& ctx) { ++ return ctx.begin(); ++ } ++ ++ auto format(const luxcore::Camera::CameraType& cam, std::format_context& ctx) const { ++ return std::format_to(ctx.out(), "{}", int(cam)); ++ } ++}; +diff --git a/src/luxcore/luxcoreinit.cpp b/src/luxcore/luxcoreinit.cpp +index 489968516..b6cee09a0 100644 +--- a/src/luxcore/luxcoreinit.cpp ++++ b/src/luxcore/luxcoreinit.cpp +@@ -20,9 +20,9 @@ + #include <boost/format.hpp> + #include <boost/thread/mutex.hpp> + +-#include "spdlog/spdlog.h" +-#include "spdlog/sinks/rotating_file_sink.h" +-#include "spdlog/sinks/null_sink.h" ++#include <spdlog/spdlog.h> ++#include <spdlog/sinks/rotating_file_sink.h> ++#include <spdlog/sinks/null_sink.h> + + #include "luxrays/luxrays.h" + #include "luxrays/utils/strutils.h" +-- +2.43.0 + @@ -2,37 +2,83 @@ # Maintainer : bartus <arch-user-repoᘓbartus.33mail.com> # Configuration -((DISABLE_OPENCL)) || { +# shellcheck disable=SC2015 +((DISABLE_OPENCL)) && { + CMAKE_FLAGS+=("-DLUXRAYS_DISABLE_OPENCL=ON") +} || { depends+=(opencl-icd-loader) makedepends+=(opencl-headers) optdepends+=("opencl-driver: for gpu acceleration") - CMAKE_FLAGS+=("-DLUXRAYS_DISABLE_OPENCL=ON") +} +# shellcheck disable=SC2015 +((DISABLE_CUDA||DISABLE_OPENCL)) && { + CMAKE_FLAGS+=("-DLUXRAYS_DISABLE_CUDA=ON") +} || { + makedepends+=(cuda-sdk) } pkgname=luxcorerender -pkgver=2.3 -_name=LuxCore-${pkgname}_v${pkgver} -#_rel="rc1" +pkgver=2.7 +_rel="beta1" [ -n "${_rel}" ] && _pkgver=${pkgver}${_rel} && pkgver+=".${_rel}" || _pkgver=${pkgver} -pkgrel=1 +_name=LuxCore-${pkgname}_v${_pkgver} +pkgrel=2 epoch=2 pkgdesc="Physically correct, unbiased rendering engine." arch=('x86_64') url="https://www.luxcorerender.org/" license=('Apache') -depends+=(blosc boost-libs embree glfw gtk3 openimagedenoise openimageio) +depends+=(blosc boost-libs embree3 glfw gtk3 openimagedenoise openimageio openvdb python spdlog) optdepends+=("pyside2: for pyluxcoretools gui") -makedepends+=(boost git doxygen cmake ninja pyside2-tools) +makedepends+=(boost cmake doxygen git ninja pyside2-tools) provides=(luxrays) +options=('!lto') source=("https://github.com/LuxCoreRender/LuxCore/archive/${pkgname}_v${_pkgver}.tar.gz" - "python.patch" - "glfw.patch" - "boost016900_serialization.patch" + "0001-cxx-version.patch" + "0002-silence-compiler-warnings.patch" + "0003-silence-preprocessing.patch" + "0004-glfw.patch" + "0005-boost107400.patch" + "0006-python.patch" + "0007-cpplib.patch" + "0008-clang-isnan-isinf.patch" + "0009-openexr3.patch" + "0010-openvdb.patch" + "0011-openimageio.patch" + "0012-opencolorio.patch" + "0013-boost179-fstream.patch" + "0014-spdlog.patch" ) -sha256sums=('d0afda77bd2a89ac050255495d8b0939096d259a92cf99fa5a92a51256a3d8a4' - 'a00ee865eee4d9edf685bd4010aea4c3ae96ba5d22c2e17cda313b4d3468a806' - '4e04c3eb653f00d2389aff8e7fda2d244e258cbca3a22e32c13388a3984e4bb1' - '495d183aef045e53ec8c53aa08cdcc082fb4e69ccb0857693cb0cf2684db0760') +sha256sums=('24adaf0da781921ed18c2aee55468ee94138db023e5cff95a5ede0fb394f8c09' + 'd3e0c4f74341746bf271efa6a62f3f0e2a72072afd86c032a9a5a1a565cf28f0' + '540f6e92877165c06ce70d2c7ac5c28ec95632520941b645f63ffa5d77541693' + 'd754596d2c17a3d12fa38abb373f4a58b2ca7a0b8df8fdf7ba9e991753998b6b' + '77db48d1a823f345a170c0632d3bfa0a962c92f6c662117e2a96a172d48732e9' + '415ba07ff99f9b97106aa806c6c1b40b68be3c39096ecd08cd2e0d40e6ea2fc3' + 'fa142fa282ae3e2482e7c39ffa07382d68ad732f32468eae5aa67d4378efc144' + '71b62a8c8c61779d914ce8e10bb5594dd0ed8bfecc1d6007263870393bb89955' + '09bf685f7367b05ac2d756e22c3b8d7a1ba931bca7ef4d6096852bbcdd203f8b' + 'e2034c00d456cf04843f84ee36eca991498a9580d52d15fafebe63f61642afb2' + '12bb2b0873b14f7878b9ec05b36a18156879b770da5ba47505bf3d6004038092' + '9eca0d8c3de4088ed02b40b5269ce709077f0b810eaa570050d9f41c320e79ee' + '1d91f515a4fcfb88119e02a71f4a5185a6765991296cd1d4760e36a642c29ff1' + '3185b3e4b42423fb51ef007e9f36f193ef7bd54bb83efdb242e7ba3c6fb67532' + 'ca46c01fbe2183916e20e990c23991148e878e401cec6d9ddabf7aa6bfdc6933') +b2sums=('0f6203610dbef2fd2d43c6465502459337eb99da00b494d7bfcab245b8fdb3d9f9179018e6d9b2f927024f6a21fba4d5cfb51e9e14049d1a56ce8aabaea2312d' + '2b8c411347c4b27b21cddf7f4543beeaa229968e95f59f762b872264afd23cb5cea8074bd606b8e56df1a84473ada13720f8fb097fcfb80303495a89ed9052ef' + '97302dc99edebe5f35d5d469b2a2a9172eb7357248fb2bcc4510507de59a4d1db32cbfaf18acbba29b5046011615f57eb6ab322346560ec2777172c6b08a30b9' + 'c951ce3d6172c0a916c13fa53c682336a74d229c6e903f26c40f7a6e91a6b3ff54241178f85e4945d621210d23f54503b95e69d0f05e40246165eb23422aafb9' + '88e40b301961daef2e493b71cbd497aeb63035e9ed1ff2078c98c6a2c0e17f7c23a712905cd335ad3cc518b7b53b503441b261bc04ee6a27cb8531f74ec019f8' + '8ef8933c5dc6acb0881ddb51f959530eeda80c7d7d0a1e26ce5878e19b082746e95af8bee53e5937276e500473bbd56137cf68e5901b2a0a48d9255e11016cbf' + '96708a30229163849cefc4e7e13db571fe2529f08952a999a2176f99b4748869391184345780ef22d74ae8c93fb18b0a8831fcb5f3b043bcb63b545e90396205' + '7c8979e9549b03f0535d5760d9929acfb0d954b027253ec42ce910033c5aac60a34af3bbe92b6b07b9a3d0c0e66a43373b74697bdbc91e2ca6ae42ae4866352d' + '947d3cba2c9e1c4c430f9623a13f5275613491ac1125c88b042dc4bb0fa6905c8955731e75e954850035f3605df12fdf5f77b5caec7495b3d321aa6eb357bd57' + '3e2431d7b0175a7ec0ac452d0201222a26d16cb02191aa7a65a14cfb6af5a99109e82efeb8125f5b8b76314bfbc8ede5d055da5955cfa5d0238870d9de3bd73c' + '76ee674dcbcd52c698924cbcd547d2b8a4b3761cf2ade8d7c463b2a5bdc9f741537485ce9db12968d3b43a28cca1508223e3a363fc7c0b7b9483e107d77155e7' + '6ebaf49099a78adb59c0f9c601410529b8709377ec1c6eacf9510bdf5fba5027cdd81bae6422425cceab6ee1ebb4709a3edf9d818fcce2a5b475e009153a7842' + 'f56cec862ace8a1499a1a718f3c88488661b7d683d4e9bafc027d20fcb6542ce91a70f11ad46dd7a5ad0e61f2cd8dff6247617ad8d51b378e96fdc5e0c1ae94a' + '78333747e508f28293c85175e0f9d0624b8303c1f4f5491304e79c3dbc104fedf4eaac9065f0876a968d379898eb5810cd802350adae44de5f44673b0949f1ba' + '5e59c732a417775984cd85755b7a1810b33fb8a09cb3a8542c048958e7788d1aac3ecef5f28266278ca6444e1f59421b1d167a305eda9e70c0ae62155c01274b') prepare() { for patch in "${srcdir}"/*.patch; do @@ -44,6 +90,7 @@ prepare() { build() { _pyver=$(python -c "from sys import version_info; print(\"%d%d\" % (version_info.major,version_info.minor))") CMAKE_FLAGS+=("-DPYTHON_V=${_pyver}") + CMAKE_FLAGS+=("-DCMAKE_BUILD_TYPE=Release") cmake "${CMAKE_FLAGS[@]}" -S "${srcdir}"/${_name} -B build -G Ninja # shellcheck disable=SC2086 ninja $(grep -oP -- '-+[A-z]+ ?[0-9]*'<<<"${MAKEFLAGS:--j1}") -C "${srcdir}/build" diff --git a/boost016900_serialization.patch b/boost016900_serialization.patch deleted file mode 100644 index 900a2573403d..000000000000 --- a/boost016900_serialization.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 9478fb60fd00a30c048841d0e3764673e77a47b5 -Author: bartus <bartus@manjaro> -Date: Sat Mar 30 13:17:45 2019 +0000 - - drop eos portable archiver - -diff --git a/include/luxrays/utils/serializationutils.h b/include/luxrays/utils/serializationutils.h -index d2cec5ed6..e35812765 100644 ---- a/include/luxrays/utils/serializationutils.h -+++ b/include/luxrays/utils/serializationutils.h -@@ -42,19 +42,22 @@ - #include <boost/serialization/set.hpp> - #include <boost/serialization/vector.hpp> - --//#include <boost/archive/binary_iarchive.hpp> --//#include <boost/archive/binary_oarchive.hpp> --#include "eos/portable_oarchive.hpp" --#include "eos/portable_iarchive.hpp" -+#include <boost/archive/binary_iarchive.hpp> -+#include <boost/archive/binary_oarchive.hpp> -+#include <boost/archive/polymorphic_oarchive.hpp> -+#include <boost/archive/polymorphic_iarchive.hpp> -+#include <boost/lexical_cast.hpp> -+//#include "eos/portable_oarchive.hpp" -+//#include "eos/portable_iarchive.hpp" - - #include "luxrays/luxrays.h" - - namespace luxrays { - --//typedef boost::archive::binary_oarchive LuxOutputArchive; --//typedef boost::archive::binary_iarchive LuxInputArchive; --typedef eos::portable_oarchive LuxOutputArchive; --typedef eos::portable_iarchive LuxInputArchive; -+typedef boost::archive::binary_oarchive LuxOutputArchive; -+typedef boost::archive::binary_iarchive LuxInputArchive; -+//typedef eos::portable_oarchive LuxOutputArchive; -+//typedef eos::portable_iarchive LuxInputArchive; - - class SerializationOutputFile { - public: |