diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-06-28 22:19:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-28 22:19:50 -0400 |
commit | 197a189c0f351c47e6e84be1e51605d88ccb46ec (patch) | |
tree | 7446ab775a2bbdc7f2dc4b6c43690769e480d253 /pkgs/tools/graphics | |
parent | e714f85b2f137ffb748d8b3bea0997b2d1be6fd3 (diff) | |
parent | 1b187b3961832451abed4261af82a3e68e8e80e5 (diff) | |
download | nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar.gz nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar.bz2 nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar.lz nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar.xz nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.tar.zst nixlib-197a189c0f351c47e6e84be1e51605d88ccb46ec.zip |
Merge pull request #42334 from Hodapp87/luxcorerender_pr
luxcorerender: init at 2.0, embree: init at 2.17.4
Diffstat (limited to 'pkgs/tools/graphics')
-rw-r--r-- | pkgs/tools/graphics/luxcorerender/default.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix new file mode 100644 index 000000000000..387c8c0595e7 --- /dev/null +++ b/pkgs/tools/graphics/luxcorerender/default.nix @@ -0,0 +1,87 @@ +{ stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, python35 +, tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase +, freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core +, dbus, doxygen, qt5, c-blosc, mesa_glu, gnome3, pcre +, bison, flex, libpthreadstubs, libX11 +, embree2, makeWrapper, gsettings_desktop_schemas, glib +, withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp +}: + +let boost_static = boost165.override { + python = python35; + enableStatic = true; + }; + +in stdenv.mkDerivation rec { + name = "luxcorerender-${version}"; + version = "2.0"; + + src = fetchFromGitHub { + owner = "LuxCoreRender"; + repo = "LuxCore"; + rev = "luxcorerender_v2.0"; + sha256 = "15nn39ybsfjf3cw3xgkbarvxn4a9ymfd579ankm7yjxkw5gcif38"; + }; + + buildInputs = + [ embree2 pkgconfig cmake zlib boost_static libjpeg + libtiff libpng ilmbase freetype openexr openimageio + tbb qt5.full c-blosc mesa_glu pcre bison + flex libX11 libpthreadstubs python35 libXdmcp libxkbcommon + epoxy at-spi2-core dbus doxygen + # needed for GSETTINGS_SCHEMAS_PATH + gsettings_desktop_schemas glib gnome3.gtk + # needed for XDG_ICON_DIRS + gnome3.defaultIconTheme + makeWrapper + (stdenv.lib.getLib gnome3.dconf) + ] ++ stdenv.lib.optionals withOpenCL [opencl-headers ocl-icd opencl-clhpp]; + + cmakeFlags = [ + "-DOpenEXR_Iex_INCLUDE_DIR=${openexr.dev}/include/OpenEXR" + "-DOpenEXR_IlmThread_INCLUDE_DIR=${ilmbase.dev}/include/OpenEXR" + "-DOpenEXR_Imath_INCLUDE_DIR=${openexr.dev}/include/OpenEXR" + "-DOpenEXR_half_INCLUDE_DIR=${ilmbase.dev}/include" + "-DPYTHON_LIBRARY=${python35}/lib/libpython3.so" + "-DPYTHON_INCLUDE_DIR=${python35}/include/python3.5" + "-DEMBREE_INCLUDE_PATH=${embree2}/include" + "-DEMBREE_LIBRARY=${embree2}/lib/libembree.so" + "-DBoost_PYTHON_LIBRARY_RELEASE=${boost_static}/lib/libboost_python3-mt.so" + ] ++ stdenv.lib.optional withOpenCL + "-DOPENCL_INCLUDE_DIR=${opencl-headers}/include"; + preConfigure = '' + NIX_CFLAGS_COMPILE+=" -isystem ${python35}/include/python3.5" + NIX_LDFLAGS+=" -lpython3" + ''; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/lib + cp -va bin/* $out/bin + cp -va lib/* $out/lib + ''; + + preFixup = '' + wrapProgram "$out/bin/luxcoreui" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ + --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share' \ + --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" + ''; + + meta = with stdenv.lib; { + description = "Open source, physically based, unbiased rendering engine"; + homepage = https://luxcorerender.org/; + maintainers = with maintainers; [ hodapp ]; + license = licenses.asl20; + platforms = platforms.linux; + }; +} + + +# TODO (might not be necessary): +# +# luxcoreui still gives warnings like: "failed to commit changes to +# dconf: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The +# name ca.desrt.dconf was not provided by any .service files" + +# CMake complains of the FindOpenGL/GLVND preference |