summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD84
-rw-r--r--opencascade-cmake.patch43
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 "")