diff --git a/media-libs/opensubdiv/opensubdiv-3.3.2.recipe b/media-libs/opensubdiv/opensubdiv-3.3.2.recipe index 9be5acf69..fc83bab10 100644 --- a/media-libs/opensubdiv/opensubdiv-3.3.2.recipe +++ b/media-libs/opensubdiv/opensubdiv-3.3.2.recipe @@ -78,8 +78,13 @@ BUILD() mkdir -p build cd build - export GLEW_LOCATION="`finddir B_SYSTEM_DEVELOP_DIRECTORY`" - export GLEW_INC_LOCATION="`finddir B_SYSTEM_HEADERS_DIRECTORY`" + local GLEW_SUBDIR= + if [ -n "$secondaryArchSuffix" ]; then + GLEW_SUBDIR="$secondaryArchSuffix/" + fi + + export GLEW_LOCATION="$portPackageLinksDir/glew${secondaryArchSuffix}_devel/develop" + export GLEW_INC_LOCATION="$portPackageLinksDir/glew${secondaryArchSuffix}_devel/develop/headers$UNITTEST_SUBDIR" cmake .. \ -DNO_EXAMPLES=ON \ diff --git a/media-libs/opensubdiv/opensubdiv-3.3.3.recipe b/media-libs/opensubdiv/opensubdiv-3.3.3.recipe new file mode 100644 index 000000000..84f5acf89 --- /dev/null +++ b/media-libs/opensubdiv/opensubdiv-3.3.3.recipe @@ -0,0 +1,122 @@ +SUMMARY="An open-source subdivision surface library" +DESCRIPTION="OpenSubdiv is a set of open source libraries that implement high \ +performance subdivision surface (subdiv) evaluation on massively parallel CPU \ +and GPU architectures. This codepath is optimized for drawing deforming \ +subdivs with static topology at interactive framerates. The resulting limit \ +surface matches Pixar's Renderman to numerical precision." +HOMEPAGE="http://graphics.pixar.com/opensubdiv/" +COPYRIGHT="2013-2018 Pixar" +LICENSE="Apache v2" +REVISION="1" +SOURCE_URI="https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${portVersion//\./_}.tar.gz" +CHECKSUM_SHA256="2dc81b3a085e692cca3166ac88751e4674a9ddf5b5d7935adf677bb2bd3f2d2f" +SOURCE_FILENAME="opensubdiv-$portVersion.tar.gz" +SOURCE_DIR="OpenSubdiv-${portVersion//\./_}" +PATCHES="opensubdiv-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64" +SECONDARY_ARCHITECTURES="?x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + opensubdiv$secondaryArchSuffix = $portVersion + cmd:far_perf = $portVersion + cmd:far_regression = $portVersion + cmd:hbr_baseline = $portVersion + cmd:hbr_regression = $portVersion + cmd:stringify = $portVersion + lib:libosdCPU$secondaryArchSuffix = $libVersionCompat + lib:libosdGPU$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + cmd:python2 + lib:libGl$secondaryArchSuffix + lib:libglu$secondaryArchSuffix + lib:libglew$secondaryArchSuffix + lib:libgomp$secondaryArchSuffix + lib:libopencl$secondaryArchSuffix + lib:libtbb$secondaryArchSuffix + lib:libtbbmalloc$secondaryArchSuffix + lib:libtbbmalloc_proxy$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + opensubdiv${secondaryArchSuffix}_devel = $portVersion + devel:libosdCPU$secondaryArchSuffix = $libVersionCompat + devel:libosdGPU$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + opensubdiv$secondaryArchSuffix == $portVersion + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libGl$secondaryArchSuffix + devel:libglu$secondaryArchSuffix + devel:libglew$secondaryArchSuffix + devel:libgomp$secondaryArchSuffix + devel:libopencl$secondaryArchSuffix + devel:libopencl_headers$secondaryArchSuffix + devel:libtbb$secondaryArchSuffix + devel:libtbbmalloc$secondaryArchSuffix + devel:libtbbmalloc_proxy$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:cmake + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:python2 + " + +defineDebugInfoPackage opensubdiv$secondaryArchSuffix \ + $libDir/libosdCPU.so.$libVersion \ + $libDir/libosdGPU.so.$libVersion + +BUILD() +{ + mkdir -p build + cd build + + local GLEW_SUBDIR= + if [ -n "$secondaryArchSuffix" ]; then + GLEW_SUBDIR="$secondaryArchSuffix/" + fi + + export GLEW_LOCATION="$portPackageLinksDir/glew${secondaryArchSuffix}_devel/develop" + export GLEW_INC_LOCATION="$portPackageLinksDir/glew${secondaryArchSuffix}_devel/develop/headers$UNITTEST_SUBDIR" + + cmake .. \ + -DNO_EXAMPLES=ON \ + -DNO_TUTORIALS=ON \ + $cmakeDirArgs +} + +INSTALL() +{ + cd build + make install + + mkdir -p $includeDir + mv $prefix/include/* $includeDir + rmdir $prefix/include/ + + prepareInstalledDevelLibs \ + libosdCPU \ + libosdGPU + + fixPkgconfig + + packageEntries devel $developDir +} + +TEST() +{ + cd build + make test +} diff --git a/media-libs/opensubdiv/patches/opensubdiv-3.3.3.patchset b/media-libs/opensubdiv/patches/opensubdiv-3.3.3.patchset new file mode 100644 index 000000000..1ae2e98f7 --- /dev/null +++ b/media-libs/opensubdiv/patches/opensubdiv-3.3.3.patchset @@ -0,0 +1,44 @@ +From 0bd024622a84da627e47b0fbc0da26359f7e2e79 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sun, 10 Dec 2017 11:27:28 +0100 +Subject: Platform fixes + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3920896..254a4db 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -337,7 +337,7 @@ endif() + if(NOT NO_CUDA) + find_package(CUDA 4.0) + endif() +-if(NOT NO_GLFW AND NOT NO_OPENGL AND NOT ANDROID AND NOT IOS) ++if(NOT NO_GLFW AND NOT NO_OPENGL AND NOT ANDROID AND NOT IOS AND NOT HAIKU) + find_package(GLFW 3.0.0) + endif() + if(NOT NO_PTEX) +-- +2.16.1 + + +From da6fa9031b56dada1b92902b38c50b90e2b5f4f8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sat, 30 Dec 2017 19:18:39 +0100 +Subject: GLEW detection + + +diff --git a/cmake/FindGLEW.cmake b/cmake/FindGLEW.cmake +index 6fa8e89..bcd5252 100644 +--- a/cmake/FindGLEW.cmake ++++ b/cmake/FindGLEW.cmake +@@ -73,6 +73,7 @@ if (${CMAKE_HOST_UNIX}) + HINTS + "${GLEW_LOCATION}/include" + "$ENV{GLEW_LOCATION}/include" ++ "$ENV{GLEW_INC_LOCATION}" + PATHS + /usr/include + /usr/local/include +-- +2.16.1 +