summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrey Christoforo2021-03-26 10:11:37 +0100
committerGrey Christoforo2021-03-26 10:11:37 +0100
commit700bd29eaa8c3c650ec4f15bc081e56f66e40ff4 (patch)
tree179d99ec65f0cf4859e289fa922d58db86291764
downloadaur-700bd29eaa8c3c650ec4f15bc081e56f66e40ff4.tar.gz
initial commit
-rw-r--r--.SRCINFO27
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD129
-rw-r--r--fix-install-dir-references.patch24
4 files changed, 186 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..dc6c93d47b85
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = opencascade-git
+ pkgdesc = An object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications.
+ pkgver = 7.5.0.r176.gf7ad1e7e3
+ pkgrel = 1
+ url = https://dev.opencascade.org/
+ arch = x86_64
+ license = LGPL
+ license = custom:OCCTLGPLEXCEPTION
+ makedepends = cmake
+ makedepends = qt5-base
+ makedepends = ninja
+ makedepends = rapidjson
+ depends = tk
+ depends = vtk
+ depends = gl2ps
+ depends = ffmpeg
+ depends = freeimage
+ depends = intel-tbb
+ provides = opencascade
+ conflicts = opencascade
+ source = occt::git+https://github.com/Open-Cascade-SAS/OCCT.git
+ source = fix-install-dir-references.patch
+ md5sums = SKIP
+ md5sums = 9614204ad945c1fcfa4c2c058c9d0423
+
+pkgname = opencascade-git
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..da20f8e317a6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*.tar.gz
+*.tar.xz
+*.tar.zst
+src/
+pkg/
+occt/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0e0f2bfbbe2f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,129 @@
+# $Id$
+# Maintainer: Grey Christoforo <first name at last name dot net>
+
+pkgname=opencascade-git
+pkgver=7.5.0.r176.gf7ad1e7e3
+pkgrel=1
+pkgdesc="An object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications."
+arch=(x86_64)
+url="https://dev.opencascade.org/"
+license=('LGPL' 'custom:OCCTLGPLEXCEPTION')
+provides=(opencascade)
+conflicts=(opencascade)
+
+depends=(
+tk
+vtk
+gl2ps
+ffmpeg
+freeimage
+intel-tbb
+)
+
+makedepends=(
+cmake
+qt5-base
+ninja
+rapidjson
+)
+#checkdepends=()
+
+#source=("git+https://git.dev.opencascade.org/repos/occt.git") # broken today?
+source=(
+"occt::git+https://github.com/Open-Cascade-SAS/OCCT.git"
+fix-install-dir-references.patch
+)
+md5sums=('SKIP'
+ '9614204ad945c1fcfa4c2c058c9d0423')
+
+pkgver() {
+ cd occt
+ git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^V//g;s/_/./g'
+}
+
+prepare() {
+ cd occt
+ patch -Np1 -i "$srcdir/fix-install-dir-references.patch"
+
+ # fix for None type build
+ sed '/OpenCASCADECompileDefinitionsAndFlags/d' -i CMakeLists.txt
+
+ # fix for trying to write into the system during build
+ sed 's,if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}"),if (0),g' -i CMakeLists.txt
+}
+
+build() {
+ INSTALL_DIR_BIN=bin
+ INSTALL_DIR_LIB=lib
+
+ BUILD_ADDITIONAL_TOOLKITS=
+ BUILD_DOC_Overview=OFF
+ BUILD_Inspector=OFF
+ BUILD_LIBRARY_TYPE=Shared
+ BUILD_PATCH=
+ BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
+ BUILD_WITH_DEBUG=OFF
+ BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
+
+ BUILD_MODULE_ApplicationFramework=ON
+ BUILD_MODULE_DataExchange=ON
+ BUILD_MODULE_Draw=ON
+ BUILD_MODULE_ModelingAlgorithms=ON
+ BUILD_MODULE_ModelingData=ON
+ BUILD_MODULE_Visualization=ON
+
+ USE_FFMPEG=ON
+ USE_FREEIMAGE=ON
+ USE_GLES2=ON
+ USE_RAPIDJSON=ON
+ USE_TBB=ON
+ USE_VTK=ON
+ AUX_ARGS=
+
+ cmake -B build_dir -S "occt" \
+ -W no-dev \
+ -G Ninja \
+ -D CMAKE_BUILD_TYPE='None' \
+ -D CMAKE_INSTALL_PREFIX='/usr' \
+ -D 3RDPARTY_DIR:PATH="$OCCT3RDPARTY" \
+ -D 3RDPARTY_FREETYPE_DIR:PATH="$FREETYPE_DIR" \
+ -D BUILD_ADDITIONAL_TOOLKITS:STRING="$BUILD_ADDITIONAL_TOOLKITS" \
+ -D BUILD_DOC_Overview:BOOL=$BUILD_DOC_Overview \
+ -D BUILD_Inspector:BOOL=$BUILD_Inspector \
+ -D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
+ -D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
+ -D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
+ -D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
+ -D BUILD_MODULE_FoundationClasses:BOOL=ON \
+ -D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \
+ -D BUILD_MODULE_ModelingData:BOOL=$BUILD_MODULE_ModelingData \
+ -D BUILD_MODULE_Visualization:BOOL=$BUILD_MODULE_Visualization \
+ -D BUILD_PATCH:PATH="$BUILD_PATCH" \
+ -D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=$BUILD_RELEASE_DISABLE_EXCEPTIONS \
+ -D BUILD_WITH_DEBUG:BOOL=$BUILD_WITH_DEBUG \
+ -D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=$BUILD_ENABLE_FPE_SIGNAL_HANDLER \
+ -D INSTALL_DIR_LAYOUT:STRING=Unix \
+ -D INSTALL_DIR_BIN:STRING=$INSTALL_DIR_BIN \
+ -D INSTALL_DIR_LIB:STRING=$INSTALL_DIR_LIB \
+ -D USE_FFMPEG:BOOL=$USE_FFMPEG \
+ -D USE_FREEIMAGE:BOOL=$USE_FREEIMAGE \
+ -D USE_GLES2:BOOL=$USE_GLES2 \
+ -D USE_RAPIDJSON:BOOL=$USE_RAPIDJSON \
+ -D USE_TBB:BOOL=$USE_TBB \
+ -D USE_VTK:BOOL=$USE_VTK
+
+ cmake --build build_dir
+}
+
+check() {
+ cd occt
+ #TODO
+}
+
+package() {
+ cd occt
+ local _destdir=/ # maybe this belongs in /opt/${pkgname}?
+ DESTDIR="${pkgdir}${_destdir}" cmake --build ../build_dir -- install
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICENSE_LGPL_21.txt
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 OCCT_LGPL_EXCEPTION.txt
+}
diff --git a/fix-install-dir-references.patch b/fix-install-dir-references.patch
new file mode 100644
index 000000000000..0d3c8c8330da
--- /dev/null
+++ b/fix-install-dir-references.patch
@@ -0,0 +1,24 @@
+diff -aur occt-V7_1_0/CMakeLists.txt occt-V7_1_0.new/CMakeLists.txt
+--- occt-V7_1_0/CMakeLists.txt 2016-11-25 11:50:18.000000000 +0100
++++ occt-V7_1_0.new/CMakeLists.txt 2017-03-18 08:44:10.406668714 +0100
+@@ -906,7 +906,7 @@
+ 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})
+diff -aur occt-V7_1_0/adm/cmake/occt_macros.cmake occt-V7_1_0.new/adm/cmake/occt_macros.cmake
+--- occt-V7_1_0/adm/cmake/occt_macros.cmake 2016-11-25 11:50:18.000000000 +0100
++++ occt-V7_1_0.new/adm/cmake/occt_macros.cmake 2017-03-18 08:44:10.406668714 +0100
+@@ -558,7 +558,7 @@
+ "cmake_policy(PUSH)
+ cmake_policy(SET CMP0007 NEW)
+ string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
++ file (GLOB ALL_OCCT_TARGET_FILES \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+ foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+ file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+ file (REMOVE \"\${TARGET_FILENAME}\")