From ebe2601f15357fc4577a4b0109f2ee1b1906e652 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 23 Sep 2023 21:04:02 -0400 Subject: [PATCH] freecad: rebuild for Python 3.12 --- srcpkgs/freecad/template | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template index 8608d1670c8..c135701e38b 100644 --- a/srcpkgs/freecad/template +++ b/srcpkgs/freecad/template @@ -1,9 +1,10 @@ # Template file for 'freecad' pkgname=freecad version=0.20.2 -revision=6 +revision=7 +build_wrksrc="FreeCAD-${version}" build_style=cmake - +pycompile_dirs="usr/lib/${pkgname}/Mod" _inst_prefix=/usr/lib/${pkgname} configure_args=" -DPYTHON_EXECUTABLE=/usr/bin/python3 @@ -15,33 +16,43 @@ configure_args=" -DCMAKE_INSTALL_DATADIR=/usr/share/${pkgname} -DMEDFILE_INCLUDE_DIRS=/usr/include/med -DPYSIDE2RCCBINARY=/usr/bin/rcc-qt5 - -DPYSIDE2UICBINARY=/usr/bin/uic-qt5" -hostmakedepends="pkg-config swig doxygen graphviz" + -DPYSIDE2UICBINARY=/usr/bin/uic-qt5 +" +hostmakedepends="pkg-config swig doxygen graphviz python3-setuptools" makedepends="python3-devel boost-devel libxerces-c-devel zlib-devel occt-devel vtk-devel hdf5-devel openmpi-devel libmed-devel eigen double-conversion-devel coin3-devel libshiboken2-devel libspnav-devel pyside2-tools liblz4-devel libpyside2-python3-devel python3-matplotlib netcdf-devel jsoncpp-devel qt5-devel qt5-svg-devel qt5-tools-devel qt5-webkit-devel qt5-xmlpatterns-devel coin3-doc glew-devel python3-pivy" - depends="python3-matplotlib python3-pyside2-webengine python3-pivy" - -python_version=3 -pycompile_dirs="usr/lib/${pkgname}/Mod" - short_desc="General purpose 3D CAD modeler" maintainer="yopito " license="LGPL-2.0-or-later" homepage="https://freecadweb.org/" -distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz" -checksum=46922f3a477e742e1a89cd5346692d63aebb2b67af887b3e463e094a4ae055da +_pycxxver=7.1.8 +distfiles=" + https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz + ${SOURCEFORGE_SITE}/cxx/pycxx-${_pycxxver}.tar.gz +" +checksum="46922f3a477e742e1a89cd5346692d63aebb2b67af887b3e463e094a4ae055da + 4b91e1e1141c23fbd5039df635c4bb6e75632168548f56b83ce177193c0c98c6" +python_version=3 +patch_args="-Np1 -d ${build_wrksrc}" if [ "$XBPS_TARGET_LIBC" = musl ]; then makedepends+=" libexecinfo-devel" LDFLAGS="-lexecinfo" fi +CXXFLAGS="-DPYCXX_PYTHON_2TO3" + post_extract() { + rm -r "${build_wrksrc}/src/CXX" + ln -Tsr "./pycxx-${_pycxxver}/CXX" "${build_wrksrc}/src/CXX" +} + +post_patch() { # Report exact minor version # Freecad has a record of shipping mismatching version info vminor=${version#*.} @@ -55,6 +66,11 @@ post_extract() { -i src/Build/Version.h.cmake } +pre_configure() { + configure_args+=" -DPYCXX_INCLUDE_DIR=${wrksrc}/pycxx-${_pycxxver}" + configure_args+=" -DPYCXX_SOURCE_DIR=${wrksrc}/pycxx-${_pycxxver}/Src" +} + post_install() { # AppHomePath is computed with binary's realpath: # do not move binaries but symlink them instead.