Skip to content

freecad: update to 1.1.1.#59581

Open
al20ov wants to merge 1 commit intovoid-linux:masterfrom
al20ov:freecad-1.1.0
Open

freecad: update to 1.1.1.#59581
al20ov wants to merge 1 commit intovoid-linux:masterfrom
al20ov:freecad-1.1.0

Conversation

@al20ov
Copy link
Copy Markdown
Contributor

@al20ov al20ov commented Mar 26, 2026

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture, x86_64-glibc

New ondsel version, and pycxx is now included in the freecad tarball so there's no need to fetch it separately. But AddonManager is now a submodule so I added that.

@al20ov al20ov force-pushed the freecad-1.1.0 branch 3 times, most recently from 3e09439 to ea65c2e Compare March 26, 2026 18:17
@kaistian
Copy link
Copy Markdown
Contributor

Would it not be better to use https://github.com/FreeCAD/FreeCAD/releases/download/1.1.0/freecad_source_1.1.0.tar.gz that already contain OndselSolver and the AddOnManager?

@al20ov
Copy link
Copy Markdown
Contributor Author

al20ov commented Mar 28, 2026

Not sure, the last couple people who updated the template decided to stick with the regular archive instead of the one with submodules (which was also available in 1.0.2, 1.0.1, 1.0.0).

@muezabdalla
Copy link
Copy Markdown

now version 1.1.1 has been released
@al20ov if you know who is responsible for merging this kind of PR you can try to mentions him. probably he did not see this PR because it is now not even in the first page

@al20ov al20ov changed the title freecad: update to 1.1.0. freecad: update to 1.1.1. Apr 16, 2026
@al20ov
Copy link
Copy Markdown
Contributor Author

al20ov commented Apr 17, 2026

@muezabdalla I just updated the template to 1.1.1, not much has changed since 1.1.0 and it looks like everything works (that I personally use). CAM works great, I was able to create a toolpath and ran it on my CNC successfully.
It'd be great if you could build this PR and try it out too. It takes a bit of time to build though, I didn't time it but it took 20-30 minutes on an i7 12700H.

@muezabdalla
Copy link
Copy Markdown

@al20ov I test it on mys x86_64 machine and it is working fine.
and because no one merged this yet now there is another PR for the same thing:#59945

@Kruayd
Copy link
Copy Markdown
Contributor

Kruayd commented Apr 24, 2026

@al20ov I've tried to compile freecad 1.1.1 independently, then I discovered your pull request. The minimal set of compile time dependencies that I found is the following:

hostmakedepends="doxygen graphviz swig python3-pivy pkg-config"
makedepends="qt6-base-devel qt6-svg-devel qt6-tools-devel vtk-devel
 yaml-cpp-devel python3-pybind11 python3-matplotlib libxerces-c-devel occt-devel
 libmed-devel coin3-devel libspnav-devel libgomp-devel libshiboken6-devel
 libpyside6-devel"

I don't know actually why, but boost is correctly detected at compile time even if there is no boost-devel-minimal in makedepends. Additionally, when xbps-src is building up the run time dependencies list, it correctly sets just libboost_program_options and libboost_thread. Is the boost-1.89.patch still needed?

Regarding shiboken6 and pyside6, i noticed that cmake complains less if it is provided with the development packages instead of just the python3 modules

The set of run time dependencies that I've identified is:

makedepends="qt6-base-devel qt6-svg-devel qt6-tools-devel vtk-devel
 yaml-cpp-devel python3-pybind11 python3-matplotlib libxerces-c-devel occt-devel
 libmed-devel coin3-devel libspnav-devel libgomp-devel libshiboken6-devel
 libpyside6-devel"

python3-vtk is correctly set automatically by xbps-src, while the other missing python3 modules haven't caused any problem yet (but I'm not yet 100% sure that they won't cause any in the future)

Full template:

# Template file for 'freecad'
pkgname=freecad
version=1.1.1
revision=1
build_style=cmake
pycompile_dirs="usr/lib/${pkgname}/Mod"
_inst_prefix=/usr/lib/${pkgname}
configure_args="-DCMAKE_BUILD_TYPE=Release
 -DCMAKE_INSTALL_PREFIX=${_inst_prefix} -DCMAKE_INSTALL_DATAROOTDIR=/usr/share
 -DCMAKE_INSTALL_DATADIR=/usr/share/${pkgname} -DPYTHON_EXECUTABLE=/usr/bin/python3
 -DBUILD_TEST=OFF -DENABLE_DEVELOPER_TESTS=OFF"
hostmakedepends="doxygen graphviz swig python3-pivy pkg-config"
makedepends="qt6-base-devel qt6-svg-devel qt6-tools-devel vtk-devel
 yaml-cpp-devel python3-pybind11 python3-matplotlib libxerces-c-devel occt-devel
 libmed-devel coin3-devel libspnav-devel libgomp-devel libshiboken6-devel
 libpyside6-devel"
depends="python3-pivy python3-pyside6 python3-pyside6-gui
 python3-pyside6-network python3-pyside6-widgets python3-pyside6-svg
 python3-matplotlib python3-ply python3-yaml python3-typing_extensions"
short_desc="General purpose 3D CAD modeler"
maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.0-or-later"
homepage="https://freecadweb.org/"
distfiles="https://github.com/FreeCAD/FreeCAD/releases/download/${version}/freecad_source_${version}.tar.gz"
checksum=c0e95d41415f1e73bfe2e0a0a28210f649b01ef531bbfed1ed15863950dc5381

post_patch() {
	# Report exact minor version
	# Freecad has a record of shipping mismatching version info
	vminor=${version#*.}
	vminor=${vminor%%.*}
	sed -i -e "s,^\(set(PACKAGE_VERSION_MINOR\) .*,\1 \"${vminor}\")," CMakeLists.txt
}

post_install() {
	# AppHomePath is computed with binary's realpath:
	# do not move binaries but symlink them instead.
	vmkdir usr/bin
	for f in FreeCAD FreeCADCmd; do
		ln -s ${_inst_prefix}/bin/${f} ${DESTDIR}/usr/bin/${f}
	done
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants