diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/openvdb |
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/openvdb')
-rw-r--r-- | media-gfx/openvdb/Manifest | 15 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-3.2.0-fix-build-system.patch | 262 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-3.2.0-numpy-fix.patch | 17 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-4.0.0-build-docs-once.patch | 32 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-4.0.0-make-docs-optional.patch | 71 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-4.0.0-namespace-fixes.patch | 65 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-4.0.0-python-module-install-dir-fix.patch | 16 | ||||
-rw-r--r-- | media-gfx/openvdb/metadata.xml | 35 | ||||
-rw-r--r-- | media-gfx/openvdb/openvdb-3.2.0.ebuild | 161 | ||||
-rw-r--r-- | media-gfx/openvdb/openvdb-4.0.0.ebuild | 77 | ||||
-rw-r--r-- | media-gfx/openvdb/openvdb-4.0.2.ebuild | 74 |
11 files changed, 825 insertions, 0 deletions
diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest new file mode 100644 index 000000000000..accd142508f8 --- /dev/null +++ b/media-gfx/openvdb/Manifest @@ -0,0 +1,15 @@ +AUX openvdb-3.2.0-fix-build-system.patch 10122 SHA256 3683ade3d2ce8f24f354452e2f39bba0f6c7a82f9693f2b6fa6569819a44a08a SHA512 15bcce34e0020a229b499aef81ecca496ce4a59fee7a03a47590aaee3491cb6a1bfe44bcc5d2282ac2025f989b3c97b12663442f29bb907a4f5762c59c71618b WHIRLPOOL b44f48af3101381e32dec580f4a3c99344915be1e6bbc397a079886372a2f88b041b9586e034811ae23adcecfe7ee46a5e0cc81a5c7e0fe5fdcbeb25da30b53e +AUX openvdb-3.2.0-numpy-fix.patch 449 SHA256 f53641c3dfb8a67cfe8b70d8fce84d26e52a72f484b336d629f7f04623fd79fc SHA512 3ef31ebe30b849f20e8380096fa0306be8df25c9fc807b74cbacfcedcab21d67b56674a5bd7c896c0fd2453ab165b254d5f3780fce893a4d57f1fc9b99f60cc7 WHIRLPOOL 93ec9969ae5012bcd7da28939ec616643ab5644f0594a3e30d19180a5815564aa4d92944feec8e5dee75172deca6a877489a00d9cccacea4f22ef368708459fc +AUX openvdb-4.0.0-build-docs-once.patch 1318 SHA256 9eb23f4c7bc18bfadd31a32f24e75737175035b557d7e2b5bd5620d2262d0c83 SHA512 7255881f72fc718e34318a1e7f5e11305d27a733a914a8b6d7f74a41d356ede04d18cd40e0b483e170b20a2837c29b4b1fcf5c1510b210428783e2458a6fe60a WHIRLPOOL 88054d9a5250fa11288c4999e10ad3753e8efa3dc6a351fc1db0f37a6bcfa48277785172706e01baef5ab1f1a0b894f305ea86699474622617e790ba082be0a4 +AUX openvdb-4.0.0-make-docs-optional.patch 2950 SHA256 0c2e51b0c2406d3b4aa6f1ef6be7fed10151739b728163513d86d780f4b42d37 SHA512 95d90b3f5c428dd13cac3d382da5950c0bba4d0a1c4722d553e14b6ec6243d3774ac99d9eca770a22c2b90c0c9b4e49351268fcd760cffbb38b64cd4fb2a881f WHIRLPOOL 732f1218f13f8f6310849d922d9296709a97ae46e9578e73ce6b11e1245663f258b9e69b2eeb33e6a6edafc47fce97963a98bc87b3ee222514b73bd1bc3740f5 +AUX openvdb-4.0.0-namespace-fixes.patch 4335 SHA256 b3d4743a189865882cb522c8f34f76f29f567fb8417849b38d84dc246bc74961 SHA512 20808d035b2e7fd07081a430ba97ab97931014665668bf823782615c9d6e29dfed96592f623259c848d3df5e62106fc09d43b89d47e8d0e63f89a3defe089b80 WHIRLPOOL 8d36129a30352e3d0fa0141bcbd5b802e40e73793ea9fd12520af7b0eb13077be64927b87649ead59253e4ebec09e2308e657215e03c845d88bebd4d4f1dee12 +AUX openvdb-4.0.0-python-module-install-dir-fix.patch 824 SHA256 05b8e5461d9708deaf961ebab4714bfae3f4f43e329b85543fa4f17f267fee91 SHA512 55786fb82fd5293200c088bf3617d85f73fff380b1ecca569e68d60346c649925e43647f46eff0897047c7b803ab59f6d78a9441b8be8152155ca0ef026fd39b WHIRLPOOL a50a46829f1a8084989cd99bd497f320851084f275a1468a4fdf35b385fa5b3f4f524feafda80fed128053baa33b7e07338368196186cf9422577805764997c7 +DIST openvdb-3.2.0.tar.gz 1368870 SHA256 d4b6eb63a2c1c62ca449399f3d7789638fde655c32a977b50717b727420a634b SHA512 df9a4895b219aae3b5a9616c34eb846d565877ff76648405691f0c903507f6faba94e8eba9173423b50cb5cef80f3ec500a9f70977cb7161701d39fd105abc91 WHIRLPOOL 3b76ba4998ac39405bbbdf0b1a80488234c5f25e8b0943d4520d9fa783384a111e48ff2120e942f5d9b3862e1f227ff89dcc633842e1290060afb1836785455f +DIST openvdb-4.0.0.tar.gz 1545221 SHA256 eaf37b8e723cfd011df350cb0ef93ffa22d927bf7cb1f72c38176fce523b3537 SHA512 138e23408d725f153f5545c8083cd16f6b3e5cf80308e080d5e463f74f947759cdf5f9d818137ebffaf8b2de77bffa8f38ef0d20758a1418aea1c71702c0001d WHIRLPOOL 8b6413dc3bb7aa6efb2b5472b9df0ccc8493082be02ddd9243fa6ccc1cf183612c8700e3384d1a26f321dda99022292338d61bfa3576cc6ad96a0f35de6fd226 +DIST openvdb-4.0.2-patchset-01.tar.xz 16420 SHA256 c1cbc2f7d484fc3ff0d438e842c81a754996d5fd01f88cc86264bef468bf1050 SHA512 e9399d245d5e2b4130576d688691ac965f031b957df7803b8859f863634b27987c33aabadc5fb463b9d3eec333be84b89cb619dce5bc81c0390d8fb19da830c3 WHIRLPOOL 3d3a59ceab8dc031098047722c539eb1448c1048ac2134cf497a41f4b68eaafc30a80ac1d609a6bd01b554beb8e4693a33a766c5f66e8699bf44e79b349e0b35 +DIST openvdb-4.0.2.tar.gz 1689119 SHA256 7d995976cf124136b874d006496c37589f32de1b877ee7ccce626710823e8dbb SHA512 8e3e12583b81f9b9303b309e839c8321c67b67ff8a0e61bb56c87276bf25c0deff22f5a73c7c5b661b8e5df345bfdabfa6b0aea9bf16fce57d9c53a76751c75d WHIRLPOOL 2ff44f4795fbb141d60fc03b1c5499ce0c0b970ff205d34e5fbd2221d94ff29b5ce43d349e58263f8b54f025cad0e44a6fa0bb58e170296427600d8acb6a69e6 +EBUILD openvdb-3.2.0.ebuild 4011 SHA256 230e8e78e1d03f1733b98f7b16faf560bc71f3afe4bc4a0e0cd54e5bf1617a4e SHA512 c84c3022dad66f313415e01d35db4c9ce28b5a0863a0e5fd8cb20f7c07537dfd06022d9ba688e0e6469224ca2777891c2d812758e53d649d750022463a14abc6 WHIRLPOOL 6203226e2b4eef86fd083f7af6309cb30832b3684be24de3569f57eb2ff9b2bf13e9c6cb2e2bd3f5f0f2abe42e5d5fcd96233d8aac827bdf1a3577adf4d8ac69 +EBUILD openvdb-4.0.0.ebuild 1927 SHA256 b460feb0cdd55f561977a4c597696e6fa74a2d622fcf539210ab60693c48b287 SHA512 dfffa4cb7393df8683df085935acd528683fc7596132cb49cea3c962772f89d732d9a36081403203a3e11470d258c24ee7c509caed2ae56f156ba2298cc9774e WHIRLPOOL 3defb54ff2b12d754faca958510cf662051a29cfd330723bfe5d97d3b7c45771ac2c49bfba7303b12b3fb9102a03c8eefdf7e0df4434ee6a1435d04f5c4e62b5 +EBUILD openvdb-4.0.2.ebuild 1954 SHA256 9b38c94a518178aa349ddbc71d4495e591f6f6811eeaec01d69b5a1e56be3d59 SHA512 a08dce7c38f5475b28b1a1e4d501635ff0c70dadcaaf6a009ba4c0b9e7e701263e8c96491b52769bd6b594f1e90598bfe30e712af43bde4a80b61fe90c007d0b WHIRLPOOL 7f14628d261a55224faaff25966670f12cadca77262888f8692f1e10010917f7cecc519bf0f28ab1a7d8cb3dc1e871e3b04379ec535baf5bda6df198591c59c2 +MISC ChangeLog 1550 SHA256 0c2e07adabb461b36caac5a5f721da3258407607d6cb883ec6af5a888ed66ed1 SHA512 b4e23ac5562069c50079450d94029edeba0c280fa170f0f315dab799830d22d003de78f15986bdf7e64f6797650c7f7c6f69b3c654816855148d4e0977b52276 WHIRLPOOL c38e964fe6a4ce8427b7b50b519d730665882c0a193d914f1468a6ea7c55c44d3f8a8980a258b04d80268995830ec6f479a3e218dee097eeafaa5e32473ae67a +MISC metadata.xml 1250 SHA256 1113c0c991a7817384b18b0f1b17cfe007de3c152ae80865f5a3fef91d700fc1 SHA512 658f3d0461bdd1c79af3224222b6ea1c8f3107de6520cc80b39590aef0588836d7d04e114200d027eb7b7d2dd1865e60f1135b982eeb3155d3ba102734f1db93 WHIRLPOOL 5cbe7eeb091d305430b8a2733d8a6002b3dac6dc3e3dc1e36a3beed2df5560200d98dc659a51fb5a0a26eaa6aad27f35fb77c9398dfbd9fd8330f13230065b3b diff --git a/media-gfx/openvdb/files/openvdb-3.2.0-fix-build-system.patch b/media-gfx/openvdb/files/openvdb-3.2.0-fix-build-system.patch new file mode 100644 index 000000000000..66112af75daf --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-3.2.0-fix-build-system.patch @@ -0,0 +1,262 @@ +* Make build system honour the proper ABI library directory. +* Replace -isystem arguments with -I, as the former causes issues with GCC 6. + See also: + https://bugs.gentoo.org/show_bug.cgi?id=597866 + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 + +--- a/doxygen-config ++++ b/doxygen-config +@@ -2257,7 +2257,7 @@ + # The default value is: png. + # This tag requires that the tag HAVE_DOT is set to YES. + +-DOT_IMAGE_FORMAT = png ++DOT_IMAGE_FORMAT = svg + + # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to + # enable generation of interactive SVG images that allow zooming and panning. +--- a/Makefile ++++ b/Makefile +@@ -82,6 +82,7 @@ + + # The directory into which to install libraries, executables and header files + DESTDIR := /tmp/OpenVDB ++libdir = lib + + # The parent directory of the boost/ header directory + BOOST_INCL_DIR := $(HT)/include +@@ -158,6 +159,9 @@ + # The directory containing libpython + PYTHON_LIB_DIR := $(HFS)/python/lib + PYTHON_LIB := -lpython$(PYTHON_VERSION) ++# The Directory to install the python module and includes to. ++PYTHON_INSTALL_INCL_DIR := $(DESTDIR)/python/include/python$(PYTHON_VERSION) ++PYTHON_INSTALL_LIB_DIR := $(DESTDIR)/python/lib/python$(PYTHON_VERSION) + # The directory containing libboost_python + BOOST_PYTHON_LIB_DIR := /rel/depot/third_party_build/boost/rhel6-1.46.1-0/lib + BOOST_PYTHON_LIB := -lboost_python-gcc41-mt-python26-1_46_1 +@@ -179,7 +183,6 @@ + # (leave blank if Doxygen is unavailable) + DOXYGEN := doxygen + +- + # + # Ideally, users shouldn't need to change anything below this line. + # +@@ -207,11 +210,7 @@ + endif + endif + +-ifeq (yes,$(strip $(debug))) +- OPTIMIZE := -g +-else +- OPTIMIZE := -O3 -DNDEBUG +-endif ++OPTIMIZE := -DNDEBUG + + ifeq (yes,$(strip $(verbose))) + QUIET := +@@ -242,12 +241,12 @@ + has_python := yes + endif + +-INCLDIRS := -I . -I .. -isystem $(BOOST_INCL_DIR) -isystem $(ILMBASE_INCL_DIR) -isystem $(TBB_INCL_DIR) ++INCLDIRS := -I. -I.. -I$(BOOST_INCL_DIR) -I$(ILMBASE_INCL_DIR) -I$(TBB_INCL_DIR) + ifeq (yes,$(has_blosc)) +- INCLDIRS += -isystem $(BLOSC_INCL_DIR) ++ INCLDIRS += -I$(BLOSC_INCL_DIR) + endif + ifeq (yes,$(has_log4cplus)) +- INCLDIRS += -isystem $(LOG4CPLUS_INCL_DIR) ++ INCLDIRS += -I$(LOG4CPLUS_INCL_DIR) + endif + + CXXFLAGS += -std=c++0x +@@ -565,9 +564,9 @@ + python/pyTransform.cc \ + python/pyVec3Grid.cc \ + # +-PYCXXFLAGS := -fPIC -isystem python -isystem $(PYTHON_INCL_DIR) -isystem $(PYCONFIG_INCL_DIR) ++PYCXXFLAGS := -fPIC -Ipython -I$(PYTHON_INCL_DIR) -I$(PYCONFIG_INCL_DIR) + ifneq (,$(strip $(NUMPY_INCL_DIR))) +-PYCXXFLAGS += -isystem $(NUMPY_INCL_DIR) -DPY_OPENVDB_USE_NUMPY ++PYCXXFLAGS += -I$(NUMPY_INCL_DIR) -DPY_OPENVDB_USE_NUMPY + endif + ifneq (no,$(strip $(PYTHON_WRAP_ALL_GRID_TYPES))) + PYCXXFLAGS += -DPY_OPENVDB_WRAP_ALL_GRID_TYPES +@@ -678,7 +677,7 @@ + @echo "Building $@ because of $(call list_deps)" + $(CXX) -c $(CXXFLAGS) -fPIC -o $@ $< + +-all: lib python vdb_print vdb_render vdb_test depend ++all: lib python vdb_print vdb_render vdb_view vdb_test depend + + $(OBJ_NAMES): %.o: %.cc + @echo "Building $@ because of $(call list_deps)" +@@ -719,8 +718,13 @@ + @echo "Generating documentation because of $(list_deps)" + echo -e 'OUTPUT_DIRECTORY=./doc\nGENERATE_LATEX=YES\nGENERATE_HTML=NO' \ + | cat doxygen-config - | $(DOXYGEN) - $(QUIET) \ +- && cd ./doc/latex && make refman.pdf $(QUIET) \ ++ && cd ./doc/latex && $(MAKE) refman.pdf $(QUIET) \ + && echo 'Created doc/latex/refman.pdf' ++ @# ++ mkdir -p $(DESTDIR)/share/doc/openvdb/pdf; \ ++ echo "Created $(DESTDIR)/share/doc/openvdb/pdf"; \ ++ cp -r -f doc/latex/refman.pdf $(DESTDIR)/share/doc/openvdb/pdf/; \ ++ echo "Copied documentation to $(DESTDIR)/share/doc/openvdb/pdf/"; \ + + ifneq (,$(strip $(DOXYGEN))) + doc: $(DOC_INDEX) +@@ -734,14 +738,14 @@ + + vdb_print: $(LIBOPENVDB) cmd/openvdb_print/main.cc + @echo "Building $@ because of $(list_deps)" +- $(CXX) $(CXXFLAGS) -o $@ cmd/openvdb_print/main.cc -I . \ ++ $(CXX) $(CXXFLAGS) -o $@ cmd/openvdb_print/main.cc -I. \ + $(LIBOPENVDB_RPATH) -L$(CURDIR) $(LIBOPENVDB) \ + $(LIBS_RPATH) $(CONCURRENT_MALLOC_LIB) + + vdb_render: $(LIBOPENVDB) cmd/openvdb_render/main.cc + @echo "Building $@ because of $(list_deps)" +- $(CXX) $(CXXFLAGS) -o $@ cmd/openvdb_render/main.cc -I . \ +- -isystem $(EXR_INCL_DIR) -isystem $(ILMBASE_INCL_DIR) \ ++ $(CXX) $(CXXFLAGS) -o $@ cmd/openvdb_render/main.cc -I. \ ++ -I$(EXR_INCL_DIR) -I$(ILMBASE_INCL_DIR) \ + -Wl,-rpath,$(EXR_LIB_DIR) -L$(EXR_LIB_DIR) $(EXR_LIB) \ + -Wl,-rpath,$(ILMBASE_LIB_DIR) -L$(ILMBASE_LIB_DIR) $(ILMBASE_LIB) \ + $(LIBOPENVDB_RPATH) -L$(CURDIR) $(LIBOPENVDB) \ +@@ -761,12 +765,12 @@ + $(LIBVIEWER_OBJ_NAMES): $(LIBVIEWER_INCLUDE_NAMES) + $(LIBVIEWER_OBJ_NAMES): %.o: %.cc + @echo "Building $@ because of $(list_deps)" +- $(CXX) -c $(CXXFLAGS) -I . -isystem $(GLFW_INCL_DIR) -DGL_GLEXT_PROTOTYPES=1 -fPIC -o $@ $< ++ $(CXX) -c $(CXXFLAGS) -I. -I$(GLFW_INCL_DIR) -DGL_GLEXT_PROTOTYPES=1 -fPIC -o $@ $< + + vdb_view: $(LIBOPENVDB) $(LIBVIEWER_OBJ_NAMES) cmd/openvdb_view/main.cc + @echo "Building $@ because of $(list_deps)" + $(CXX) $(CXXFLAGS) -o $@ cmd/openvdb_view/main.cc $(LIBVIEWER_OBJ_NAMES) \ +- -I . -Wl,-rpath,$(GLFW_LIB_DIR) -L$(GLFW_LIB_DIR) $(GLFW_LIB) \ ++ -I. -Wl,-rpath,$(GLFW_LIB_DIR) -L$(GLFW_LIB_DIR) $(GLFW_LIB) \ + $(LIBOPENVDB_RPATH) -L$(CURDIR) $(LIBOPENVDB) \ + $(LIBVIEWER_FLAGS) $(LIBS_RPATH) $(BOOST_THREAD_LIB) $(CONCURRENT_MALLOC_LIB) + endif +@@ -776,7 +780,7 @@ + $(PYTHON_OBJ_NAMES): $(PYTHON_INCLUDE_NAMES) + $(PYTHON_OBJ_NAMES): %.o: %.cc + @echo "Building $@ because of $(list_deps)" +- $(CXX) -c $(CXXFLAGS) -I . $(PYCXXFLAGS) -o $@ $< ++ $(CXX) -c $(CXXFLAGS) -I. $(PYCXXFLAGS) -o $@ $< + $(PYTHON_MODULE): $(LIBOPENVDB) $(PYTHON_OBJ_NAMES) + @echo "Building $@ because of $(list_deps)" + $(CXX) $(CXXFLAGS) $(PYCXXFLAGS) -shared $(PYTHON_SONAME_FLAGS) -o $@ $(PYTHON_OBJ_NAMES) \ +@@ -784,6 +788,22 @@ + -Wl,-rpath,$(BOOST_PYTHON_LIB_DIR) -L$(BOOST_PYTHON_LIB_DIR) $(BOOST_PYTHON_LIB) \ + $(LIBOPENVDB_RPATH) -L$(CURDIR) $(LIBOPENVDB) \ + $(LIBS_RPATH) $(CONCURRENT_MALLOC_LIB) ++ @echo "Installing the python module and includes" ++ @# ++ mkdir -p $(PYTHON_INSTALL_INCL_DIR); \ ++ echo "Created $(PYTHON_INSTALL_INCL_DIR)"; \ ++ cp -f $(PYTHON_PUBLIC_INCLUDE_NAMES) $(PYTHON_INSTALL_INCL_DIR)/; \ ++ echo "Copied Python header files to $(PYTHON_INSTALL_INCL_DIR)"; \ ++ mkdir -p $(PYTHON_INSTALL_LIB_DIR); \ ++ echo "Created $(PYTHON_INSTALL_LIB_DIR)"; \ ++ cp -f $(PYTHON_MODULE) $(PYTHON_INSTALL_LIB_DIR)/; \ ++ pushd $(PYTHON_INSTALL_LIB_DIR) > /dev/null; \ ++ ln -f -s $(PYTHON_MODULE) $(PYTHON_SONAME); \ ++ popd > /dev/null; \ ++ echo "Copied Python module to $(PYTHON_INSTALL_LIB_DIR)" ++ @echo "Clean the Python modules so the next one will compile" ++ @# ++ $(RM) $(PYTHON_OBJ_NAMES) + + ifeq (yes,$(has_python)) + ifneq (,$(strip $(EPYDOC))) +@@ -794,7 +814,7 @@ + echo "Created $${pydocdir}"; \ + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(CURDIR); \ + export PYTHONPATH=${PYTHONPATH}:$(CURDIR); \ +- $(EPYDOC) --html -o $${pydocdir} $(PYTHON_MODULE_NAME) $(QUIET) ++ $(EPYDOC) --html --html-dir $${pydocdir} $(PYTHON_MODULE_NAME) $(QUIET) + else + pydoc: + @echo "$@"': $$EPYDOC is undefined' +@@ -815,7 +835,7 @@ + + $(UNITTEST_OBJ_NAMES): %.o: %.cc + @echo "Building $@ because of $(list_deps)" +- $(CXX) -c $(CXXFLAGS) -isystem $(CPPUNIT_INCL_DIR) -fPIC -o $@ $< ++ $(CXX) -c $(CXXFLAGS) -I$(CPPUNIT_INCL_DIR) -fPIC -o $@ $< + + ifneq (,$(strip $(CPPUNIT_INCL_DIR))) + vdb_test: $(LIBOPENVDB) $(UNITTEST_OBJ_NAMES) +@@ -835,7 +855,7 @@ + @echo "$@"': $$(CPPUNIT_INCL_DIR) is undefined' + endif + +-install: lib python vdb_print vdb_render vdb_view doc pydoc ++install: lib vdb_print vdb_render vdb_view doc pydoc + mkdir -p $(DESTDIR)/include/openvdb + @echo "Created $(DESTDIR)/include/openvdb" + pushd $(DESTDIR)/include/openvdb > /dev/null; \ +@@ -851,42 +871,25 @@ + fi + @echo "Copied header files to $(DESTDIR)/include" + @# +- mkdir -p $(DESTDIR)/lib +- @echo "Created $(DESTDIR)/lib/" +- cp -f $(LIBOPENVDB) $(DESTDIR)/lib +- pushd $(DESTDIR)/lib > /dev/null; \ ++ mkdir -p $(DESTDIR)/$(libdir) ++ @echo "Created $(DESTDIR)/$(libdir)/" ++ cp -f $(LIBOPENVDB) $(DESTDIR)/$(libdir) ++ pushd $(DESTDIR)/$(libdir) > /dev/null; \ + if [ -f $(LIBOPENVDB_SHARED) ]; then \ + ln -f -s $(LIBOPENVDB_SHARED) $(LIBOPENVDB_SHARED_NAME); \ + ln -f -s $(LIBOPENVDB_SHARED) $(LIBOPENVDB_SONAME); \ + fi; \ + popd > /dev/null +- @echo "Copied libopenvdb to $(DESTDIR)/lib/" ++ @echo "Copied libopenvdb to $(DESTDIR)/$(libdir)/" + @# + if [ -f $(LIBVIEWER) ]; \ + then \ +- cp -f $(LIBVIEWER) $(DESTDIR)/lib; \ +- pushd $(DESTDIR)/lib > /dev/null; \ ++ cp -f $(LIBVIEWER) $(DESTDIR)/$(libdir); \ ++ pushd $(DESTDIR)/$(libdir) > /dev/null; \ + if [ -f $(LIBVIEWER_SHARED) ]; then \ + ln -f -s $(LIBVIEWER_SHARED) $(LIBVIEWER_SHARED_NAME); fi; \ + popd > /dev/null; \ +- echo "Copied libopenvdb_viewer to $(DESTDIR)/lib/"; \ +- fi +- @# +- if [ -f $(PYTHON_MODULE) ]; \ +- then \ +- installdir=$(DESTDIR)/python/include/python$(PYTHON_VERSION); \ +- mkdir -p $${installdir}; \ +- echo "Created $${installdir}"; \ +- cp -f $(PYTHON_PUBLIC_INCLUDE_NAMES) $${installdir}/; \ +- echo "Copied Python header files to $${installdir}"; \ +- installdir=$(DESTDIR)/python/lib/python$(PYTHON_VERSION); \ +- mkdir -p $${installdir}; \ +- echo "Created $${installdir}"; \ +- cp -f $(PYTHON_MODULE) $${installdir}/; \ +- pushd $${installdir} > /dev/null; \ +- ln -f -s $(PYTHON_MODULE) $(PYTHON_SONAME); \ +- popd > /dev/null; \ +- echo "Copied Python module to $${installdir}"; \ ++ echo "Copied libopenvdb_viewer to $(DESTDIR)/$(libdir)/"; \ + fi + @# + mkdir -p $(DESTDIR)/bin +@@ -924,7 +927,7 @@ + for f in $(UNITTEST_SRC_NAMES); \ + do $(CXX) $(CXXFLAGS) -O0 \ + -MM $$f -MT `echo $$f | sed 's%\.[^.]*%.o%'` \ +- -isystem $(CPPUNIT_INCL_DIR) >> $(DEPEND); \ ++ -I$(CPPUNIT_INCL_DIR) >> $(DEPEND); \ + done; \ + fi + diff --git a/media-gfx/openvdb/files/openvdb-3.2.0-numpy-fix.patch b/media-gfx/openvdb/files/openvdb-3.2.0-numpy-fix.patch new file mode 100644 index 000000000000..bef10240477c --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-3.2.0-numpy-fix.patch @@ -0,0 +1,17 @@ +diff --git a/python/pyOpenVDBModule.cc b/openvdb/python/pyOpenVDBModule.cc +index 508c787..dd069e0 100644 +--- a/python/pyOpenVDBModule.cc ++++ b/python/pyOpenVDBModule.cc +@@ -592,8 +592,12 @@ BOOST_PYTHON_MODULE(PY_OPENVDB_MODULE_NAME) + + #ifdef PY_OPENVDB_USE_NUMPY + // Initialize NumPy. ++#if PY_MAJOR_VERSION >= 3 ++ if (_import_array()) { }; ++#else + import_array(); + #endif ++#endif + + using namespace openvdb::OPENVDB_VERSION_NAME; + diff --git a/media-gfx/openvdb/files/openvdb-4.0.0-build-docs-once.patch b/media-gfx/openvdb/files/openvdb-4.0.0-build-docs-once.patch new file mode 100644 index 000000000000..5a8baee0f260 --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-4.0.0-build-docs-once.patch @@ -0,0 +1,32 @@ +From 5bb7bc424b09f93417a1d447f2d4f3081394f964 Mon Sep 17 00:00:00 2001 +From: Nicholas Yue <yue.nicholas@gmail.com> +Date: Thu, 17 Nov 2016 16:59:47 -0800 +Subject: [PATCH] Refine Doxygen run so that it is done only once and only + during the installation phase + +--- + openvdb/CMakeLists.txt | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt +index aa1a080..88e46ca 100644 +--- a/openvdb/CMakeLists.txt ++++ b/openvdb/CMakeLists.txt +@@ -443,13 +443,15 @@ IF (OPENVDB_BUILD_DOCS) + FILE ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config ${DOXYGEN_CONFIG_CONTENT} ) + FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config "OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/doc\n" ) + +- ADD_CUSTOM_TARGET ( doc ALL ++ ADD_CUSTOM_TARGET ( doc + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Generating API documentation with Doxygen" VERBATIM + ) + +- INSTALL ( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/ DESTINATION doc) ++ INSTALL ( CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build \"${PROJECT_BINARY_DIR}\" --target doc)") ++ INSTALL ( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html DESTINATION docs) ++ + ENDIF () + + # Installation diff --git a/media-gfx/openvdb/files/openvdb-4.0.0-make-docs-optional.patch b/media-gfx/openvdb/files/openvdb-4.0.0-make-docs-optional.patch new file mode 100644 index 000000000000..92c4fa320596 --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-4.0.0-make-docs-optional.patch @@ -0,0 +1,71 @@ +From 3c7f3247e443620658a5cb7b4e9cdea488c450d9 Mon Sep 17 00:00:00 2001 +From: Nicholas Yue <yue.nicholas@gmail.com> +Date: Thu, 17 Nov 2016 03:58:58 -0800 +Subject: [PATCH] Fix the Doxygen generation problem but current solution is + not very elegant as there was a regeneration run of Doxygen. Committing this + for now so that at least it will work for the initial 4.0.0 release. + Introduce a CMake option variable to toggle the generation and installation + of doxygen + +--- + CMakeLists.txt | 1 + + openvdb/CMakeLists.txt | 27 +++++++++++++++------------ + 2 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 739d57f..32f82d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,6 +33,7 @@ PROJECT ( OpenVDB ) + ENABLE_TESTING() + + OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON ) ++OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF ) + OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON ) + OPTION ( OPENVDB_BUILD_HOUDINI_SOPS "Build the Houdini SOPs" OFF ) + OPTION ( OPENVDB_BUILD_MAYA_PLUGIN "Build the Maya plugin" OFF ) +diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt +index f86b306..aa1a080 100644 +--- a/openvdb/CMakeLists.txt ++++ b/openvdb/CMakeLists.txt +@@ -97,7 +97,9 @@ FIND_PACKAGE ( ZLIB REQUIRED ) + FIND_PACKAGE ( ILMBase REQUIRED ) + FIND_PACKAGE ( OpenEXR REQUIRED ) + FIND_PACKAGE ( OpenGL REQUIRED ) +-FIND_PACKAGE ( Doxygen REQUIRED ) ++IF (OPENVDB_BUILD_DOCS) ++ FIND_PACKAGE ( Doxygen REQUIRED ) ++ENDIF () + IF (OPENVDB_BUILD_UNITTESTS) + FIND_PACKAGE ( CPPUnit REQUIRED ) + ENDIF () +@@ -435,17 +437,18 @@ IF ( OPENVDB_BUILD_PYTHON_MODULE ) + ENDIF ( OPENVDB_BUILD_PYTHON_MODULE ) + + # Doxygen docmentation +-FILE ( READ ${CMAKE_CURRENT_SOURCE_DIR}/doxygen-config DOXYGEN_CONFIG_CONTENT ) +-FILE ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config ${DOXYGEN_CONFIG_CONTENT} ) +-FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config "OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/doc\n" ) +- +-ADD_CUSTOM_TARGET ( doc +- ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config +- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +- COMMENT "Generating API documentation with Doxygen" VERBATIM +-) +- +-IF ( EXISTS ${CMAKE_CURRENT_BINARY_DIR}/doc/html ) ++IF (OPENVDB_BUILD_DOCS) ++ ++ FILE ( READ ${CMAKE_CURRENT_SOURCE_DIR}/doxygen-config DOXYGEN_CONFIG_CONTENT ) ++ FILE ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config ${DOXYGEN_CONFIG_CONTENT} ) ++ FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config "OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/doc\n" ) ++ ++ ADD_CUSTOM_TARGET ( doc ALL ++ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config ++ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} ++ COMMENT "Generating API documentation with Doxygen" VERBATIM ++ ) ++ + INSTALL ( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/ DESTINATION doc) + ENDIF () + diff --git a/media-gfx/openvdb/files/openvdb-4.0.0-namespace-fixes.patch b/media-gfx/openvdb/files/openvdb-4.0.0-namespace-fixes.patch new file mode 100644 index 000000000000..913c6079a081 --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-4.0.0-namespace-fixes.patch @@ -0,0 +1,65 @@ +diff -purN a/cmake/FindILMBase.cmake b/cmake/FindILMBase.cmake +--- a/cmake/FindILMBase.cmake 2016-11-16 20:24:17.000000000 +0000 ++++ b/cmake/FindILMBase.cmake 2017-01-05 09:28:43.941910625 +0000 +@@ -57,15 +57,15 @@ OPTION ( ILMBASE_NAMESPACE_VERSIONING "N + + IF ( ILMBASE_FOUND ) + +- FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR ") +- STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" _ilmbase_version_major_unstrip "${_ilmbase_version_major_string}") +- STRING ( STRIP ${_ilmbase_version_major_unstrip} ILMBASE_VERSION_MAJOR ) ++ IF ( ILMBASE_NAMESPACE_VERSIONING ) ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" _ilmbase_version_major_unstrip "${_ilmbase_version_major_string}") ++ STRING ( STRIP ${_ilmbase_version_major_unstrip} ILMBASE_VERSION_MAJOR ) + +- FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR ") +- STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" _ilmbase_version_minor_unstrip "${_ilmbase_version_minor_string}") +- STRING ( STRIP ${_ilmbase_version_minor_unstrip} ILMBASE_VERSION_MINOR ) ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" _ilmbase_version_minor_unstrip "${_ilmbase_version_minor_string}") ++ STRING ( STRIP ${_ilmbase_version_minor_unstrip} ILMBASE_VERSION_MINOR ) + +- IF ( ILMBASE_NAMESPACE_VERSIONING ) + SET ( IEX_LIBRARY_NAME Iex-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) + SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) + SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) +diff -purN a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake +--- a/cmake/FindOpenEXR.cmake 2016-11-16 20:24:17.000000000 +0000 ++++ b/cmake/FindOpenEXR.cmake 2017-01-05 09:34:51.167736304 +0000 +@@ -52,22 +52,24 @@ OPTION ( OPENEXR_NAMESPACE_VERSIONING "N + + IF ( OPENEXR_FOUND ) + +- FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR ") +- STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" "" _openexr_version_major_unstrip "${_openexr_version_major_string}") +- STRING ( STRIP ${_openexr_version_major_unstrip} OPENEXR_VERSION_MAJOR ) +- +- FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ") +- STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}") +- STRING ( STRIP ${_openexr_version_minor_unstrip} OPENEXR_VERSION_MINOR ) +- +- MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" ) +- + IF ( OPENEXR_NAMESPACE_VERSIONING ) ++ FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR ") ++ STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" "" _openexr_version_major_unstrip "${_openexr_version_major_string}") ++ STRING ( STRIP ${_openexr_version_major_unstrip} OPENEXR_VERSION_MAJOR ) ++ ++ FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ") ++ STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}") ++ STRING ( STRIP ${_openexr_version_minor_unstrip} OPENEXR_VERSION_MINOR ) ++ ++ MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" ) ++ + SET ( ILMIMF_LIBRARY_NAME IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR} ) + ELSE ( OPENEXR_NAMESPACE_VERSIONING ) ++ MESSAGE ( STATUS "Found OpenEXR at ${OPENEXR_LOCATION}" ) ++ + SET ( ILMIMF_LIBRARY_NAME IlmImf ) + ENDIF ( OPENEXR_NAMESPACE_VERSIONING ) +- ++ + SET ( OPENEXR_INCLUDE_DIRS + ${OPENEXR_LOCATION}/include + ${OPENEXR_LOCATION}/include/OpenEXR diff --git a/media-gfx/openvdb/files/openvdb-4.0.0-python-module-install-dir-fix.patch b/media-gfx/openvdb/files/openvdb-4.0.0-python-module-install-dir-fix.patch new file mode 100644 index 000000000000..34c6c76ea9da --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-4.0.0-python-module-install-dir-fix.patch @@ -0,0 +1,16 @@ +diff -purN a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt +--- a/openvdb/CMakeLists.txt 2016-11-16 20:24:17.000000000 +0000 ++++ b/openvdb/CMakeLists.txt 2017-01-09 13:46:00.000000000 +0000 +@@ -426,10 +426,11 @@ IF ( OPENVDB_BUILD_PYTHON_MODULE ) + ADD_TEST ( pytest ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/python/test/TestOpenVDB.py ) + SET_TESTS_PROPERTIES ( pytest PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}") + ++ SET ( PYOENVDB_INSTALL_DIRECTORY lib/python${OPENVDB_PYTHON_VERSION_MAJOR}.${OPENVDB_PYTHON_VERSION_MINOR} CACHE STRING "The directory to install the pyopenvdb.so module.") + INSTALL ( TARGETS + pyopenvdb + DESTINATION +- lib/python${OPENVDB_PYTHON_VERSION_MAJOR}.${OPENVDB_PYTHON_VERSION_MINOR} ++ ${PYOENVDB_INSTALL_DIRECTORY} + ) + + ENDIF ( OPENVDB_BUILD_PYTHON_MODULE ) diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml new file mode 100644 index 000000000000..12b9cf4a8f77 --- /dev/null +++ b/media-gfx/openvdb/metadata.xml @@ -0,0 +1,35 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer restrict=">=media-gfx/openvdb-3.1.0" type="person"> + <email>j.scruggs@gmail.com</email> + <name>Jonathan Scruggs</name> + </maintainer> + <maintainer restrict=">=media-gfx/openvdb-3.1.0" type="person"> + <email>agrigo2001@yahoo.com.au</email> + <name>Adrian Grigo</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + Libraries from Dreamworks Animation for the efficient manipulation + of volumetric data used in big budget movies like 'Cloudy with a + Chance of Meatballs2' and 'How to Train Your Dragon 2'. + </longdescription> + <use> + <flag restrict=">=media-gfx/openvdb-4.0.0" name="abi3-compat"> + Enables compatibility with the old 3.x ABI. + enabled by dfault. + </flag> + <flag restrict="<=media-gfx/openvdb-3.2.0" name="openvdb-compression"> + Adds enhanced compression to files through + <pkg>dev-libs/c-blosc</pkg>. Very useful so + enabled by dfault. + </flag> + </use> + <upstream> + <remote-id type="github">dreamworksanimation/openvdb</remote-id> + </upstream> +</pkgmetadata> diff --git a/media-gfx/openvdb/openvdb-3.2.0.ebuild b/media-gfx/openvdb/openvdb-3.2.0.ebuild new file mode 100644 index 000000000000..bdd39bb6e1f4 --- /dev/null +++ b/media-gfx/openvdb/openvdb-3.2.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +inherit eutils python-r1 toolchain-funcs + +DESCRIPTION="Libs for the efficient manipulation of volumetric data" +HOMEPAGE="http://www.openvdb.org" + +SRC_URI="https://github.com/dreamworksanimation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+openvdb-compression doc python X" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +COMMON_DEPEND=" + sys-libs/zlib + >=dev-libs/boost-1.62:=[${PYTHON_USEDEP}] + media-libs/openexr + dev-util/cppunit + X? ( media-libs/glfw ) + dev-libs/jemalloc + python? ( dev-python/numpy[${PYTHON_USEDEP}] ) + openvdb-compression? ( >=dev-libs/c-blosc-1.5.0 ) + dev-libs/log4cplus" + +RDEPEND="python? ( ${PYTHON_DEPS} ) + ${COMMON_DEPEND}" + +DEPEND="${RDEPEND} + dev-cpp/tbb + doc? ( + app-doc/doxygen + python? ( dev-python/pdoc[${PYTHON_USEDEP}] ) + ) + ${COMMON_DEPEND}" + +S="${WORKDIR}/${P}/${PN}" + +PATCHES=( + "${FILESDIR}"/${P}-numpy-fix.patch + "${FILESDIR}"/${P}-fix-build-system.patch +) + +python_module_compile() { + mypythonargs=( + PYTHON_VERSION=${EPYTHON/python/} + PYTHON_INCL_DIR="$(python_get_includedir)" + PYCONFIG_INCL_DIR="$(python_get_includedir)" + PYTHON_LIB_DIR="$(python_get_library_path)" + PYTHON_LIB="$(python_get_LIBS)" + PYTHON_INSTALL_INCL_DIR="${D%/}$(python_get_includedir)" + PYTHON_INSTALL_LIB_DIR="${D%/}$(python_get_sitedir)" + NUMPY_INCL_DIR="$(python_get_sitedir)"/numpy/core/include/numpy + BOOST_PYTHON_LIB_DIR="${myprefixlibdir}" + BOOST_PYTHON_LIB=-lboost_python-${EPYTHON/python/} + ) + + einfo "Compiling module for ${EPYTHON}." + emake python "${myemakeargs[@]}" "${mypythonargs[@]}" EPYDOC="" CXX="$(tc-getCXX)" + + # This is so the correct version of pdoc is used + mypyscriptdir=$(python_get_scriptdir) +} + +src_compile() { + # The build system is designed to compile and install all + # in one go, so doing each phase separately would be be + # impossible and the functions would all overlap anyways. + # Do nothing + return +} + +src_install() { + local myprefix="${EPREFIX}"/usr + local myprefixlibdir="${myprefix}"/"$(get_libdir)" + local mypyscriptdir + + # So individule targets can be called without duplication + # Common depends: + local myemakeargs=( + rpath=no + shared=yes + libdir="$(get_libdir)" + LIBOPENVDB_RPATH= + DESTDIR="${D}" + HFS="${myprefix}" + HT="${myprefix}" + HDSO="${myprefixlibdir}" + CPPUNIT_INCL_DIR="${myprefix}"/include/cppunit + CPPUNIT_LIB_DIR="${myprefixlibdir}" + LOG4CPLUS_INCL_DIR="${myprefix}"/include/log4cplus + LOG4CPLUS_LIB_DIR="${myprefixlibdir}" + ) + + # Create python list here for use during install phase: + # - If python is used, then the last used module will trigger + # document install phase. It's the same doc, so build once. + # - If no python used, then this will remail blanked out to + # disable pydoc. + # - pydoc will be called if doc and python use flags are set. + local mypythonargs=( + PYTHON_VERSION= + PYTHON_INCL_DIR= + PYCONFIG_INCL_DIR= + PYTHON_LIB_DIR= + PYTHON_LIB= + PYTHON_INSTALL_INCL_DIR= + PYTHON_INSTALL_LIB_DIR= + NUMPY_INCL_DIR= + BOOST_PYTHON_LIB_DIR= + BOOST_PYTHON_LIB= + ) + + # Optional depends: + if use X; then + myemakeargs+=( + GLFW_INCL_DIR="${myprefixlibdir}" + GLFW_LIB_DIR="${myprefixlibdir}" + ) + else + myemakeargs+=( + GLFW_INCL_DIR= + GLFW_LIB_DIR= + GLFW_LIB= + GLFW_MAJOR_VERSION= + ) + fi + + if use openvdb-compression; then + myemakeargs+=( + BLOSC_INCL_DIR="${myprefix}"/include + BLOSC_LIB_DIR="${myprefixlibdir}" + ) + else + myemakeargs+=( + BLOSC_INCL_DIR= + BLOSC_LIB_DIR= + ) + fi + + use doc || myemakeargs+=( DOXYGEN= ) + + # Create python modules for each version selected + use python && python_foreach_impl python_module_compile + + if use python && use doc; then + mypythonargs+=( EPYDOC="${mypyscriptdir}"/pdoc ) + else + mypythonargs+=( EPYDOC="" ) + fi + + einfo "Compiling the main components." + emake install "${myemakeargs[@]}" "${mypythonargs[@]}" CXX="$(tc-getCXX)" +} diff --git a/media-gfx/openvdb/openvdb-4.0.0.ebuild b/media-gfx/openvdb/openvdb-4.0.0.ebuild new file mode 100644 index 000000000000..f3168eb1ec2e --- /dev/null +++ b/media-gfx/openvdb/openvdb-4.0.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +inherit eutils flag-o-matic cmake-utils python-single-r1 + +DESCRIPTION="Libs for the efficient manipulation of volumetric data" +HOMEPAGE="http://www.openvdb.org" + +SRC_URI="https://github.com/dreamworksanimation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+abi3-compat doc python" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + >=dev-libs/boost-1.62:=[python?,${PYTHON_USEDEP}] + >=dev-libs/c-blosc-1.5.0 + dev-libs/jemalloc + dev-libs/log4cplus + media-libs/glfw:= + media-libs/openexr:= + sys-libs/zlib + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXcursor + python? ( + ${PYTHON_DEPS} + dev-python/numpy[${PYTHON_USEDEP}] + )" +DEPEND="${RDEPEND} + dev-cpp/tbb + doc? ( + app-doc/doxygen + python? ( dev-python/pdoc[${PYTHON_USEDEP}] ) + )" + +PATCHES=( + "${FILESDIR}"/${P}-make-docs-optional.patch + "${FILESDIR}"/${P}-build-docs-once.patch + "${FILESDIR}"/${P}-namespace-fixes.patch + "${FILESDIR}"/${P}-python-module-install-dir-fix.patch +) + +src_configure() { + local myprefix="${EPREFIX}"/usr/ + + # To stay in sync with Boost + append-cxxflags -std=c++14 + + # Enable unit tests later in 4.0.1 + local mycmakeargs=( + -DOPENVDB_BUILD_UNITTESTS=OFF + -DOPENVDB_BUILD_DOCS=$(usex doc) + -DOPENVDB_BUILD_PYTHON_MODULE=$(usex python) + -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=$(usex abi3-compat) + -DBLOSC_LOCATION="${myprefix}" + -DGLEW_LOCATION="${myprefix}" + -DUSE_GLFW3=ON + -DGLFW3_LOCATION="${myprefix}" + -DILMBASE_LOCATION="${myprefix}" + -DILMBASE_NAMESPACE_VERSIONING=OFF + -DOPENEXR_LOCATION="${myprefix}" + -DOPENEXR_NAMESPACE_VERSIONING=OFF + -DTBB_LOCATION="${myprefix}" + ) + + use python && mycmakeargs+=( -DPYOENVDB_INSTALL_DIRECTORY=$(python_get_sitedir) ) + + cmake-utils_src_configure +} diff --git a/media-gfx/openvdb/openvdb-4.0.2.ebuild b/media-gfx/openvdb/openvdb-4.0.2.ebuild new file mode 100644 index 000000000000..aeac72948ca4 --- /dev/null +++ b/media-gfx/openvdb/openvdb-4.0.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit cmake-utils flag-o-matic python-single-r1 versionator + +DESCRIPTION="Libs for the efficient manipulation of volumetric data" +HOMEPAGE="http://www.openvdb.org" +SRC_URI="https://github.com/dreamworksanimation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/dracwyrm/gentoo-patches/raw/master/${PN}/${P}-patchset-01.tar.xz" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+abi3-compat doc python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="sys-libs/zlib:= + >=dev-libs/boost-1.62:=[python?,${PYTHON_USEDEP}] + media-libs/openexr:= + media-libs/glfw:= + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXcursor + dev-libs/jemalloc + >=dev-libs/c-blosc-1.5.0 + dev-libs/log4cplus + python? ( + ${PYTHON_DEPS} + dev-python/numpy[${PYTHON_USEDEP}] + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-cpp/tbb + doc? ( app-doc/doxygen[latex] )" + +PATCHES=( + "${WORKDIR}/0001-Change-hardcoded-paths-to-GNUInstallDirs-variables.patch" + "${WORKDIR}/0002-Use-PkgConfig-to-find-IlmBase-and-OpenEXR.patch" + "${WORKDIR}/0003-Boost-1.65-NumPy-support.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local myprefix="${EPREFIX}/usr/" + + # To stay in sync with Boost + append-cxxflags -std=c++14 + + local mycmakeargs=( + -DOPENVDB_BUILD_UNITTESTS=OFF + -DOPENVDB_BUILD_DOCS=$(usex doc) + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + -DOPENVDB_BUILD_PYTHON_MODULE=$(usex python) + -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=$(usex abi3-compat) + -DOPENVDB_ENABLE_RPATH=OFF + -DUSE_GLFW3=ON + -DBLOSC_LOCATION="${myprefix}" + -DGLEW_LOCATION="${myprefix}" + -DGLFW3_LOCATION="${myprefix}" + -DTBB_LOCATION="${myprefix}" + ) + + use python && mycmakeargs+=( -DPYOENVDB_INSTALL_DIRECTORY=${python_get_sitedir} ) + + cmake-utils_src_configure +} |