Diff freecad-1.0.2-r2 with a freecad-9999

/usr/portage/media-gfx/freecad/freecad-9999.ebuild 2026-07-15 20:03:04.464654142 +0300
9 9
# The added asserts break on mem leaks, so tests fail.
10 10
# PYTHON_REQ_USE="-debug"
11 11

  
12
inherit check-reqs cmake cuda edo flag-o-matic optfeature python-single-r1 qt-utils toolchain-funcs xdg virtualx
12
inherit check-reqs cmake cuda edo flag-o-matic optfeature python-single-r1 qt-utils toolchain-funcs xdg virtualx branding
13 13

  
14 14
DESCRIPTION="Qt based Computer Aided Design application"
15 15
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
16
ADDON_MANAGER_COMMIT="937b6877239dc78ef59eeefe8099e5f14243eda1"
16 17

  
17 18
MY_PN=FreeCAD
18 19

  
......
22 23
	EGIT_SUBMODULES=( 'src/Mod/AddonManager' )
23 24
	S="${WORKDIR}/freecad-${PV}"
24 25
else
26

  
25 27
	SRC_URI="
26 28
		https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
27
		https://github.com/FreeCAD/FreeCAD/commit/d91b3e051789623f0bc1eff65947c361e7a661d0.patch -> ${PN}-20710.patch
28
		https://github.com/FreeCAD/FreeCAD/commit/9ea0f32692e13eee85b1e74bd42514942d357906.patch -> ${PN}-21433.patch
29
		https://github.com/FreeCAD/AddonManager/archive/${ADDON_MANAGER_COMMIT}.tar.gz -> AddonManager.tar.gz
29 30
	"
30
	KEYWORDS="amd64"
31

  
32
	KEYWORDS="~amd64"
31 33
	S="${WORKDIR}/FreeCAD-${PV}"
32 34
fi
33 35

  
......
40 42
# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
41 43
# To get their dependencies:
42 44
# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
43
IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw"
45
IUSE+=" addonmgr assembly +bim cam fem idf inspection +mesh openscad points reverse robot surface +techdraw"
44 46

  
45 47
REQUIRED_USE="
46 48
	${PYTHON_REQUIRED_USE}
......
73 75
	sci-libs/opencascade:=[json]
74 76
	virtual/zlib:=
75 77
	$(python_gen_cond_dep '
78
		dev-python/lark[${PYTHON_USEDEP}]
76 79
		dev-python/numpy[${PYTHON_USEDEP}]
77 80
		dev-python/pybind11[${PYTHON_USEDEP}]
78 81
		dev-python/pycxx[${PYTHON_USEDEP}]
79 82
		dev-python/pyyaml[${PYTHON_USEDEP}]
80 83
	')
81
	assembly? ( sci-libs/ondselsolver )
82
	cloud? (
83
		dev-libs/openssl:=
84
		net-misc/curl
85
	)
84
	assembly? ( >=sci-libs/ondselsolver-1.0.1_p20260211 )
86 85
	fem? (
87 86
		sci-libs/vtk:=
88 87
		$(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]')
......
108 107
		sci-libs/vtk:=
109 108
	)
110 109
"
110

  
111 111
DEPEND="${RDEPEND}
112 112
	<dev-cpp/eigen-5:=
113 113
	dev-cpp/ms-gsl
......
137 137
"
138 138

  
139 139
PATCHES=(
140
	"${FILESDIR}"/${PN}-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch
141
	"${FILESDIR}"/${PN}-1.0.1-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
140
	"${FILESDIR}"/${PN}-1.1.1-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
141
	"${FILESDIR}"/${PN}-1.1.1-Gentoo-specific-don-t-check-vcs.patch
142 142
	"${FILESDIR}/${PN}-1.0.2-pybind11-latent-slots-macro-conflicts-with-Qt.patch" # fixed in pybind-3.0.1
143
	"${DISTDIR}/${PN}-20710.patch" # DESTDIR in env
144
	"${DISTDIR}/${PN}-21433.patch" # FindHDF5 fails to find HDF5 after a failing pkg_search_module
145
	"${FILESDIR}"/${P}-boost-1.89.patch # bug 969041
146 143
)
147 144

  
148 145
DOCS=( CODE_OF_CONDUCT.md README.md )
......
259 256
}
260 257

  
261 258
src_prepare() {
262
	# deprecated in python-3.11 removed in python-3.13
263
	sed -e '/import imghdr/d' -i src/Mod/CAM/CAMTests/TestCAMSanity.py || die
264

  
265
	# The PCL point_traits.h header was renamed (and deprecated) since 1.11.0 and removed in 1.15.0.
266
	# d9e731ca94abc14808ebeed208617116f6d5ea4a
267
	sed -e 's#pcl/point_traits.h#pcl/type_traits.h#g' -i src/Mod/ReverseEngineering/App/SurfaceTriangulation.cpp || die
268

  
269
	# removed bundled pycxx
270 259
	if [[ ${PV} != *9999* ]]; then
271
		rm -r src/CXX || die "remove bundled pycxx"
260
		rmdir "${WORKDIR}/FreeCAD-${PV}/src/Mod/AddonManager" || die
261

  
262
		mv "${WORKDIR}"/AddonManager-${ADDON_MANAGER_COMMIT} \
263
			"${S}"/src/Mod/AddonManager || die
272 264
	fi
273 265

  
274 266
	cmake_src_prepare
......
294 286
		-DCMAKE_POLICY_DEFAULT_CMP0175="OLD" # add_custom_command
295 287
		-DCMAKE_POLICY_DEFAULT_CMP0153="OLD" # exec_program
296 288

  
297
		-DPYCXX_INCLUDE_DIR="${ESYSROOT}/usr/include/${PYTHON_SINGLE_TARGET/_/.}"
289
		-DPYCXX_INCLUDE_DIRS="${ESYSROOT}/usr/include/${PYTHON_SINGLE_TARGET/_/.}"
298 290
		-DPYCXX_SOURCE_DIR="${ESYSROOT}/usr/share/${PYTHON_SINGLE_TARGET/_/.}/CXX"
299 291

  
300 292
		-DBUILD_DESIGNER_PLUGIN=$(usex designer)
......
309 301
		-DBUILD_ASSEMBLY=$(usex assembly)
310 302
		-DBUILD_BIM=$(usex bim)
311 303
		-DBUILD_CAM=$(usex cam)
312
		-DBUILD_CLOUD=$(usex cloud)
313 304
		-DBUILD_DRAFT=ON
314 305
		# see below for DRAWING
315 306
		-DBUILD_FEM=$(usex fem)
......
385 376
		mycmakeargs+=(
386 377
			-DENABLE_DEVELOPER_TESTS=OFF
387 378

  
388
			-DPACKAGE_WCREF="${PVR} (gentoo)"
379
			-DPACKAGE_WCREF="${PVR} (${BRANDING_OS_NAME})"
389 380
			-DPACKAGE_WCURL="git://github.com/FreeCAD/FreeCAD.git ${PV}"
390 381
		)
391 382
	fi
......
551 542

  
552 543
	if [[ -f src/Tools/freecad-thumbnailer ]]; then
553 544
		dobin src/Tools/freecad-thumbnailer
545
	else
546
		dosym -r "/usr/$(get_libdir)/${PN}/bin/freecad-thumbnailer" "/usr/bin/freecad-thumbnailer"
554 547
	fi
555 548

  
556 549
	for dir in share/{applications,icons,metainfo,mime,pixmaps,thumbnailers}; do
......
558 551
	done
559 552

  
560 553
	rm -r "${ED}/usr/$(get_libdir)/${PN}/include/E57Format" || die "failed to drop unneeded include directory E57Format"
554
	rm -r "${ED}/usr/$(get_libdir)/${PN}/include/clipper2" || die "failed to drop unneeded include directory clipper2"
561 555
	rmdir "${ED}/usr/$(get_libdir)/${PN}/include/" || die "failed to drop unneeded include directory"
562 556

  
563 557
	python_optimize "${ED}/usr/share/${PN}/data/Mod/Start/" "${ED}/usr/$(get_libdir)/${PN}/"{Ext,Mod}/
Thank you!