diff options
author | Grey Christoforo | 2021-03-26 10:11:37 +0100 |
---|---|---|
committer | Grey Christoforo | 2021-03-26 10:11:37 +0100 |
commit | 700bd29eaa8c3c650ec4f15bc081e56f66e40ff4 (patch) | |
tree | 179d99ec65f0cf4859e289fa922d58db86291764 | |
download | aur-700bd29eaa8c3c650ec4f15bc081e56f66e40ff4.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 129 | ||||
-rw-r--r-- | fix-install-dir-references.patch | 24 |
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}\") |