From a7e464d0a14e5086fe0337bdca2f4e6e34334d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= Date: Sun, 26 Mar 2023 12:01:35 +0100 Subject: [PATCH] [new-package] opensubdiv 3.5.0 --- .../002-Fix-building-on-mingw-w64.patch | 92 +++++++++++++++++++ mingw-w64-opensubdiv/PKGBUILD | 76 +++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 mingw-w64-opensubdiv/002-Fix-building-on-mingw-w64.patch create mode 100644 mingw-w64-opensubdiv/PKGBUILD diff --git a/mingw-w64-opensubdiv/002-Fix-building-on-mingw-w64.patch b/mingw-w64-opensubdiv/002-Fix-building-on-mingw-w64.patch new file mode 100644 index 0000000000..a3f4f0c75c --- /dev/null +++ b/mingw-w64-opensubdiv/002-Fix-building-on-mingw-w64.patch @@ -0,0 +1,92 @@ +--- a/cmake/FindDXSDK.cmake ++++ b/cmake/FindDXSDK.cmake +@@ -38,6 +38,7 @@ + NAMES + D3D11.h D3Dcompiler.h + PATHS ++ "${DXSDK_ROOT}/include" + "${DXSDK_LOCATION}/Include" + "$ENV{DXSDK_LOCATION}/Include" + "${DXSDK_ROOT}/Include" +@@ -56,8 +57,12 @@ + endif() + + find_path(LIBRARY_DIR ++ NAMES + d3d11.lib ++ libd3d11.a ++ libd3d11.dll.a + PATHS ++ "${DXSDK_ROOT}/lib" + "${DXSDK_LOCATION}/Lib/${ARCH}" + "$ENV{DXSDK_LOCATION}/Lib/${ARCH}" + "${DXSDK_ROOT}/Lib/${ARCH}" +@@ -74,10 +79,9 @@ + + find_library(DXSDK_${DX_LIB}_LIBRARY + NAMES +- ${DX_LIB}.lib ++ ${DX_LIB} + PATHS + ${DXSDK_LIBRARY_DIR} +- NO_DEFAULT_PATH + ) + + if(NOT DXSDK_${DX_LIB}_LIBRARY) +--- a/cmake/FindOpenCL.cmake ++++ b/cmake/FindOpenCL.cmake +@@ -66,7 +66,7 @@ + + find_library( OPENCL_LIBRARIES + NAMES +- OpenCL.lib ++ OpenCL + PATHS + ENV OpenCL_LIBPATH + "$ENV{ATISTREAMSDKROOT}/lib/x86_64" +--- a/opensubdiv/CMakeLists.txt ++++ b/opensubdiv/CMakeLists.txt +@@ -43,9 +43,7 @@ + + #--------------------------------------------------------------------------- + if( OPENMP_FOUND ) +- if (CMAKE_COMPILER_IS_GNUCXX) +- list(APPEND PLATFORM_CPU_LIBRARIES gomp) +- endif() ++ list(APPEND PLATFORM_CPU_LIBRARIES ${OpenMP_CXX_LIBRARIES}) + endif() + + if( TBB_FOUND ) +@@ -172,7 +170,7 @@ + + + # Build dynamic libs ---------------------------------- +- if (BUILD_SHARED_LIBS AND NOT WIN32 AND NOT IOS) ++ if (BUILD_SHARED_LIBS AND NOT MSVC AND NOT IOS) + + # generate dynamic-link targets + +--- a/opensubdiv/osd/CMakeLists.txt ++++ b/opensubdiv/osd/CMakeLists.txt +@@ -74,9 +74,7 @@ + + list(APPEND PUBLIC_HEADER_FILES ${OPENMP_PUBLIC_HEADERS}) + +- if (CMAKE_COMPILER_IS_GNUCXX) +- list(APPEND PLATFORM_CPU_LIBRARIES gomp) +- endif() ++ list(APPEND PLATFORM_CPU_LIBRARIES ${OpenMP_CXX_LIBRARIES}) + endif() + + list(APPEND DOXY_HEADER_FILES ${OPENMP_PUBLIC_HEADERS}) +@@ -97,9 +95,7 @@ + + list(APPEND PUBLIC_HEADER_FILES ${TBB_PUBLIC_HEADERS}) + +- if (CMAKE_COMPILER_IS_GNUCXX) +- list(APPEND PLATFORM_CPU_LIBRARIES gomp) +- endif() ++ list(APPEND PLATFORM_CPU_LIBRARIES ${OpenMP_CXX_LIBRARIES}) + + list(APPEND PLATFORM_CPU_LIBRARIES + ${TBB_LIBRARIES} diff --git a/mingw-w64-opensubdiv/PKGBUILD b/mingw-w64-opensubdiv/PKGBUILD new file mode 100644 index 0000000000..630f4b8f0a --- /dev/null +++ b/mingw-w64-opensubdiv/PKGBUILD @@ -0,0 +1,76 @@ +# Contributor: Mehdi Chinoune + +_realname=opensubdiv +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=3.5.0 +pkgrel=1 +pkgdesc="An Open-Source subdivision surface library (mingw-w64)" +arch=(any) +mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') +url="http://graphics.pixar.com/opensubdiv" +license=('spdx:Apache-2.0') +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + "${MINGW_PACKAGE_PREFIX}-omp" + "${MINGW_PACKAGE_PREFIX}-tbb") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-doxygen" + "${MINGW_PACKAGE_PREFIX}-glfw" + "${MINGW_PACKAGE_PREFIX}-ptex" + "${MINGW_PACKAGE_PREFIX}-python" + "${MINGW_PACKAGE_PREFIX}-python-pygments" + "${MINGW_PACKAGE_PREFIX}-python-docutils" + "${MINGW_PACKAGE_PREFIX}-opencl-icd" + "${MINGW_PACKAGE_PREFIX}-opencl-headers") +source=("https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${pkgver//./_}.tar.gz" + 001-support-tbb2021.patch::https://github.com/PixarAnimationStudios/OpenSubdiv/commit/9079a517.patch + 002-Fix-building-on-mingw-w64.patch) +sha256sums=('8f5044f453b94162755131f77c08069004f25306fd6dc2192b6d49889efb8095' + '9d90d529330a5ddb74822ece2a1e0a33fa40f887c6de896e9daa987dbb5c18a4' + '2de9d7a14fdca3aa3e34f15b4ad3c0a9db137a5b97a755a496a4bb703163426d') + +prepare() { + cd "${srcdir}"/"OpenSubdiv-${pkgver//./_}" + + patch -Np1 -i "${srcdir}"/001-support-tbb2021.patch # Support TBB 2021 + patch -Np1 -i "${srcdir}"/002-Fix-building-on-mingw-w64.patch +} + +build() { + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + + CXXFLAGS+=" -w" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -G"Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + "${_extra_config[@]}" \ + -DBUILD_SHARED_LIBS=ON \ + -DNO_CLEW=ON \ + -DNO_CUDA=ON \ + -DNO_EXAMPLES=ON \ + -DNO_REGRESSION=ON \ + -DNO_TUTORIALS=ON \ + -DNO_TESTS=ON \ + -DNO_GLTESTS=ON \ + -DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \ + -DDXSDK_ROOT=${MINGW_PREFIX} \ + -DTBB_LIBRARIES=${MINGW_PREFIX}/lib/libtbb12.dll.a \ + ../OpenSubdiv-${pkgver//./_} + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ +} + +package() { + cd "${srcdir}/build-${MSYSTEM}" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install . +}