diff options
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 84 | ||||
-rw-r--r-- | opencascade-cmake.patch | 43 |
3 files changed, 146 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..2bd4260153c4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = opencascade-f3d + pkgdesc = An object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications -- release candidates and dev snapshots + pkgver = 7.6.0 + pkgrel = 1 + url = https://dev.opencascade.org/ + arch = x86_64 + license = LGPL + license = custom:OCCTLGPLEXCEPTION + makedepends = cmake + makedepends = ninja + provides = opencascade + conflicts = opencascade + conflicts = opencascade-git + source = opencascade-f3d-7.6.0.tgz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_6_0;sf=tgz + source = opencascade-cmake.patch + sha256sums = e7f989d52348c3b3acb7eb4ee001bb5c2eed5250cdcceaa6ae97edc294f2cabd + sha256sums = b3a2583fd21576d454952894f92a2a9e710015051403a3759b4a2ccbfc78a048 + +pkgname = opencascade-f3d diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..c7e40efc9edc --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,84 @@ +# $Id$ +# Maintainer: Mathieu Westphal <mathieu.westphal@gmail.com> + +# Copied from opencascade-rc +pkgname=opencascade-f3d +_pkgver="V7_6_0" +pkgver=$(echo ${_pkgver} | sed 's,^V,,g;s,_,.,g') +pkgrel=1 +pkgdesc="An object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications -- release candidates and dev snapshots" +arch=(x86_64) +url="https://dev.opencascade.org/" +license=('LGPL' 'custom:OCCTLGPLEXCEPTION') +provides=(opencascade) +conflicts=(opencascade opencascade-git) + +depends=( +) + +makedepends=( +cmake +ninja +) + +#checkdepends=() + +#options=(!strip) + +source=( +"${pkgname}-${pkgver}.tgz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/${_pkgver};sf=tgz" +opencascade-cmake.patch +#"fix-freecad-build.patch::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=patch;h=5e7632824302761b84cfceb5bfb2241d906d0eb4" +) +sha256sums=('e7f989d52348c3b3acb7eb4ee001bb5c2eed5250cdcceaa6ae97edc294f2cabd' + 'b3a2583fd21576d454952894f92a2a9e710015051403a3759b4a2ccbfc78a048') + +prepare() { + cd occt-${_pkgver} + + #patch -p1 -i ../fix-freecad-build.patch # Fix build of FreeCAD + + patch -p1 -i ../opencascade-cmake.patch + + #curl https://src.fedoraproject.org/rpms/opencascade/raw/rawhide/f/opencascade-cmake.patch | patch -p1 + + # fix for None type build + sed '/OpenCASCADECompileDefinitionsAndFlags/d' -i CMakeLists.txt +} + +build() { + cd occt-${_pkgver} + # prevents the build from trying to write into the system + export DESTDIR="${srcdir}/garbage" + rm -rf "${DESTDIR}" + + cmake -B build_dir -S . -W no-dev -G Ninja \ + -D CMAKE_BUILD_TYPE=None \ + -D CMAKE_INSTALL_PREFIX='/usr' \ + -D INSTALL_DIR_CMAKE=/usr/lib/cmake/opencascade \ + -D BUILD_ADDITIONAL_TOOLKITS="TKSTEP;TKIGES;TKMesh" \ + -D BUILD_MODULE_ApplicationFramework=OFF \ + -D BUILD_MODULE_DataExchange=OFF \ + -D BUILD_MODULE_Draw=OFF \ + -D BUILD_MODULE_FoundationClasses=OFF \ + -D BUILD_MODULE_ModelingAlgorithms=OFF \ + -D BUILD_MODULE_ModelingData=OFF \ + -D BUILD_MODULE_Visualization=OFF \ + -D INSTALL_TEST_CASES=OFF \ + -D BUILD_WITH_DEBUG=OFF \ + -D BUILD_RELEASE_DISABLE_EXCEPTIONS=OFF + + cmake --build build_dir + rm -rf "${DESTDIR}" +} + +package() { + cd occt-${_pkgver} + DESTDIR="${pkgdir}" cmake --install build_dir + + # remove the pollution from bin + rm -rf "${pkgdir}/usr/bin/"*.sh + + install -m644 -Dt "${pkgdir}"/usr/share/licenses/${pkgname} LICENSE_LGPL_21.txt + install -m644 -Dt "${pkgdir}"/usr/share/licenses/${pkgname} OCCT_LGPL_EXCEPTION.txt +} diff --git a/opencascade-cmake.patch b/opencascade-cmake.patch new file mode 100644 index 000000000000..b52ac04ae39a --- /dev/null +++ b/opencascade-cmake.patch @@ -0,0 +1,43 @@ +Index: opencascade-7.5.0/CMakeLists.txt +=================================================================== +--- opencascade-7.5.0.orig/CMakeLists.txt ++++ opencascade-7.5.0/CMakeLists.txt +@@ -1156,7 +1156,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONF + endforeach() + # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration + install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)") +-install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)") ++install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"$ENV{DESTDIR}/${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)") + + foreach (OCCT_MODULE ${OCCT_MODULES}) + if (BUILD_MODULE_${OCCT_MODULE}) +Index: opencascade-7.5.0/adm/templates/OpenCASCADEConfig.cmake.in +=================================================================== +--- opencascade-7.5.0.orig/adm/templates/OpenCASCADEConfig.cmake.in ++++ opencascade-7.5.0/adm/templates/OpenCASCADEConfig.cmake.in +@@ -27,7 +27,7 @@ get_filename_component (OpenCASCADE_INST + if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$") + get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH) + endif() +-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$") ++if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$" OR OpenCASCADE_INSTALL_PREFIX MATCHES "/lib64$") + get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH) + endif() + if (OpenCASCADE_INSTALL_PREFIX MATCHES "/libs/${CMAKE_ANDROID_ARCH_ABI}$") +Index: opencascade-7.5.0/adm/cmake/occt_toolkit.cmake +=================================================================== +--- opencascade-7.5.0.orig/adm/cmake/occt_toolkit.cmake ++++ opencascade-7.5.0/adm/cmake/occt_toolkit.cmake +@@ -244,9 +244,9 @@ else() + + install (TARGETS ${PROJECT_NAME} + EXPORT OpenCASCADE${CURRENT_MODULE}Targets +- RUNTIME DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}" +- ARCHIVE DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}" +- LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}") ++ RUNTIME DESTINATION "${INSTALL_DIR_BIN}" ++ ARCHIVE DESTINATION "${INSTALL_DIR_LIB}" ++ LIBRARY DESTINATION "${INSTALL_DIR_LIB}") + + if (NOT WIN32) + if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "") |