opencascade: Download from github to fix checksum.

static build failed on mingw64.
Fixes #24368
This commit is contained in:
مهدي شينون (Mehdi Chinoune) 2025-05-25 19:28:49 +01:00
parent 24880c1303
commit 5d7af67fe2

View File

@ -4,11 +4,14 @@ _realname=opencascade
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=7.8.1
_pkgver2=V${pkgver//./_}
pkgrel=1
_pkgver=${pkgver//./_}
pkgrel=2
pkgdesc='Open CASCADE Technology, 3D modeling & numerical simulation (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://dev.opencascade.org'
msys2_repository_url="https://github.com/Open-Cascade-SAS/OCCT"
license=('spdx:LGPL-2.1-or-later WITH OCCT-exception-1.0')
depends=("${MINGW_PACKAGE_PREFIX}-ffmpeg4.4"
"${MINGW_PACKAGE_PREFIX}-freeimage"
"${MINGW_PACKAGE_PREFIX}-freetype"
@ -16,37 +19,28 @@ depends=("${MINGW_PACKAGE_PREFIX}-ffmpeg4.4"
"${MINGW_PACKAGE_PREFIX}-openvr"
"${MINGW_PACKAGE_PREFIX}-tcl"
"${MINGW_PACKAGE_PREFIX}-tk"
$([[ ${CARCH} == i686 ]] || echo "${MINGW_PACKAGE_PREFIX}-vtk"))
"${MINGW_PACKAGE_PREFIX}-vtk")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-doxygen"
"${MINGW_PACKAGE_PREFIX}-qt5-base"
"${MINGW_PACKAGE_PREFIX}-rapidjson")
license=('spdx:LGPL-2.1-or-later WITH OCCT-exception-1.0')
url='https://dev.opencascade.org'
msys2_repository_url="https://git.dev.opencascade.org/gitweb/?p=occt.git"
source=("opencascade-${pkgver}.tgz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${_pkgver2};sf=tgz"
"${MINGW_PACKAGE_PREFIX}-rapidjson"
"${MINGW_PACKAGE_PREFIX}-nlohmann-json")
source=("https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V${_pkgver}/${_realname}-${pkgver}.tar.gz"
"0001-fix-compile-openvr.patch"
# The following patches are ported from the Debian Science Team
# https://salsa.debian.org/science-team/opencascade/-/tree/master/debian/patches
# Source: https://salsa.debian.org/science-team/opencascade/-/blob/master/debian/patches/0002-GeomPlate_BuildAveragePlane-BasePlan-Don-t-set-yvect.patch
"0002-GeomPlate_BuildAveragePlane-BasePlan-Don-t-set-yvect.patch"
# Source: https://salsa.debian.org/science-team/opencascade/-/blob/master/debian/patches/0003-BRepFill_Filling-WireFromList-We-can-t-assume-that-a.patch
"0003-BRepFill_Filling-WireFromList-We-can-t-assume-that-a.patch"
# Source: https://salsa.debian.org/science-team/opencascade/-/blob/master/debian/patches/0004-BRepFill_Filling-Curve-constraints-confused-by-impli.patch
"0004-BRepFill_Filling-Curve-constraints-confused-by-impli.patch"
# Source: https://salsa.debian.org/science-team/opencascade/-/blob/master/debian/patches/0005-BRepFill_Filling-Don-t-even-attempt-to-build-with-em.patch
"0005-BRepFill_Filling-Don-t-even-attempt-to-build-with-em.patch"
# Source: https://salsa.debian.org/science-team/opencascade/-/blob/master/debian/patches/0006-BRepOffset_Tool-TryProject-Check-return-of-BRepLib-B.patch
"0006-BRepOffset_Tool-TryProject-Check-return-of-BRepLib-B.patch"
"0007-static-build.patch"
"0008-clang-dllexport-attributes.patch"
"0009-SSE2-detection-gcc.patch"
@ -55,8 +49,7 @@ source=("opencascade-${pkgver}.tgz::https://git.dev.opencascade.org/gitweb/?p=oc
"0012-Avoid-invalid-conversion-error.patch"
"0013-ExpToCasExe-Fix-building-static.patch"
"0014-aarch64-mm_alloc.patch")
sha256sums=('33f2bdb67e3f6ae469f3fa816cfba34529a23a9cb736bf98a32b203d8531c523'
sha256sums=('7321af48c34dc253bf8aae3f0430e8cb10976961d534d8509e72516978aa82f5'
'0bbba5858e3e478759dac3d4802f821ec633304a63aeef542e0e4e0e0674e205'
'9e72d389359899d959fa66b131c9871c15a136bb600c246fcf7e05910d277335'
'f126465de547d606c4af2e95bd550ba7d5528d53a9b73693078952f9a40b3cae'
@ -82,7 +75,7 @@ apply_patch_with_msg() {
}
prepare() {
cd "${srcdir}"/occt-${_pkgver2}
cd "${srcdir}"/OCCT-${_pkgver}
apply_patch_with_msg \
0001-fix-compile-openvr.patch \
0002-GeomPlate_BuildAveragePlane-BasePlan-Don-t-set-yvect.patch \
@ -105,7 +98,6 @@ prepare() {
build() {
local common_config
common_config=(
-DOpenCASCADE_ALREADY_INCLUDED=ON
-DUSE_D3D=1
-D3RDPARTY_DIR="${MINGW_PREFIX}"
-D3RDPARTY_TK_DIR="${MINGW_PREFIX}"
@ -151,24 +143,16 @@ build() {
-D3RDPARTY_FREEIMAGE_LIBRARY_DIR_freeimage="${MINGW_PREFIX}/lib/"
-DUSE_TBB=1
-D3RDPARTY_TBB_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TBB_DLL="${MINGW_PREFIX}/bin/libtbb12.dll"
-D3RDPARTY_TBB_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_TBB_LIBRARY="${MINGW_PREFIX}/lib/libtbb12.dll.a"
-D3RDPARTY_TBBMALLOC_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TBBMALLOC_DLL="${MINGW_PREFIX}/bin/libtbbmalloc.dll"
-D3RDPARTY_TBBMALLOC_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_TBBMALLOC_LIBRARY="${MINGW_PREFIX}/lib/libtbbmalloc.dll.a"
-DUSE_VTK=ON
-D3RDPARTY_VTK_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_VTK_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_VTK_INCLUDE_DIR="${MINGW_PREFIX}/include/vtk"
)
if [[ ${CARCH} != i686 ]]; then
common_config+=(
-DUSE_VTK=ON
-D3RDPARTY_VTK_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_VTK_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_VTK_INCLUDE_DIR="${MINGW_PREFIX}/include/vtk"
)
fi
declare -a _extra_config
if check_option "debug" "n"; then
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
@ -176,40 +160,13 @@ build() {
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
if [[ "${MSYSTEM}" == "MINGW64" ]]; then
msg2 "Building static libraries"
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake -Wno-dev \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-GNinja \
"${_extra_config[@]}" \
-DINSTALL_DIR_LAYOUT="Unix" \
-DBUILD_LIBRARY_TYPE="Static" \
"${common_config[@]}" \
-D3RDPARTY_FREETYPE_LIBRARY="${MINGW_PREFIX}/lib/libfreetype.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avformat="${MINGW_PREFIX}/lib/ffmpeg4.4/libavformat.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avutil="${MINGW_PREFIX}/lib/ffmpeg4.4/libavutil.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avcodec="${MINGW_PREFIX}/lib/ffmpeg4.4/libavcodec.a" \
-D3RDPARTY_FFMPEG_LIBRARY_swscale="${MINGW_PREFIX}/lib/ffmpeg4.4/libswscale.a" \
-D3RDPARTY_FREEIMAGE_LIBRARY="${MINGW_PREFIX}/lib/libfreeimage.a" \
-D3RDPARTY_OPENVR_LIBRARY_openvr_api="${MINGW_PREFIX}/lib/libopenvr_api.a" \
-DOPENVDB_USE_STATIC_LIBS=ON \
../occt-${_pkgver2}
${MINGW_PREFIX}/bin/cmake --build .
msg2 "Building shared libraries"
fi
msg2 "Building shared libraries"
mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-GNinja \
"${_extra_config[@]}" \
-DINSTALL_DIR_LAYOUT="Unix" \
@ -222,24 +179,20 @@ build() {
-D3RDPARTY_FFMPEG_LIBRARY_swscale="${MINGW_PREFIX}/lib/ffmpeg4.4/libswscale.dll.a" \
-D3RDPARTY_FREEIMAGE_LIBRARY="${MINGW_PREFIX}/lib/libfreeimage.dll.a" \
-D3RDPARTY_OPENVR_LIBRARY_openvr_api="${MINGW_PREFIX}/lib/libopenvr_api.dll.a" \
../occt-${_pkgver2}
../OCCT-${_pkgver}
${MINGW_PREFIX}/bin/cmake --build .
}
package() {
if [[ "${MSYSTEM}" == "MINGW64" ]]; then
# Static Install
cd "${srcdir}/build-${MSYSTEM}-static"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
fi
# Shared Install
cd "${srcdir}/build-${MSYSTEM}-shared"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
install -Dm644 "${srcdir}/occt-${_pkgver2}/LICENSE_LGPL_21.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE_LGPL_21.txt"
install -Dm644 "${srcdir}/occt-${_pkgver2}/OCCT_LGPL_EXCEPTION.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/OCCT_LGPL_EXCEPTION.txt"
install -Dm644 "${srcdir}"/OCCT-${_pkgver}/LICENSE_LGPL_21.txt \
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE_LGPL_21.txt
install -Dm644 "${srcdir}"/OCCT-${_pkgver}/OCCT_LGPL_EXCEPTION.txt \
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/OCCT_LGPL_EXCEPTION.txt
# Remove unnecessary batch scripts (#16304)
rm -v "${pkgdir}${MINGW_PREFIX}/bin/"*.bat