Diff openscad-2024.11.14_pre with a openscad-9999

/usr/portage/media-gfx/openscad/openscad-9999.ebuild 2025-02-03 17:39:34.126671555 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
inherit cmake flag-o-matic optfeature virtualx xdg
6
PYTHON_COMPAT=( python3_{10..13} )
7
inherit cmake flag-o-matic optfeature python-any-r1 virtualx xdg
7 8

  
8 9
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
9 10
HOMEPAGE="https://openscad.org/"
......
18 19
		'-OpenCSG'
19 20
	)
20 21
else
21
	COMMIT="bc0d078e0361d7dba66723ac31bdb3b650ecff37"
22
	SANITIZERS_CMAKE_COMMIT="3f0542e4e034aab417c51b2b22c94f83355dee15"
23
	MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
24

  
25
	SRC_URI="
26
		https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
27
			-> ${PN}-20241114.tar.gz
28
		https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
29
			-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
30
		test? (
31
			https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
32
		)
33
	"
34
	# doc downloads are not versioned and found at:
35
	# https://files.openscad.org/documentation/
36
	S="${WORKDIR}/${PN}-${COMMIT}"
37
	KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
22
	if [[ ${PV} = *pre* ]] ; then
23
		COMMIT="756e080c7e49072d9926cf9ce766def180a0dcae"
24
		SANITIZERS_CMAKE_COMMIT="0573e2ea8651b9bb3083f193c41eb086497cc80a"
25
		MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
26

  
27
		SRC_URI="
28
			https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
29
				-> ${P}.tar.gz
30
			https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
31
				-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
32
			test? (
33
				https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
34
			)
35
		"
36
		# doc downloads are not versioned and found at:
37
		# https://files.openscad.org/documentation/
38
		S="${WORKDIR}/${PN}-${COMMIT}"
39
	else
40
		SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
41
	fi
42
	KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
38 43
fi
39 44

  
40 45
# Code is GPL-3+, MCAD library is LGPL-2.1
......
74 79
	hidapi? ( dev-libs/hidapi )
75 80
	manifold? (
76 81
		dev-cpp/tbb
77
		sci-mathematics/manifold
82
		>=sci-mathematics/manifold-3.0.1
78 83
	)
79 84
	mimalloc? ( dev-libs/mimalloc:= )
80 85
	pdf? ( x11-libs/cairo )
......
90 95
	dev-util/itstool
91 96
	sys-devel/gettext
92 97
	virtual/pkgconfig
98
	test? (
99
		$(python_gen_any_dep '
100
			dev-python/numpy[${PYTHON_USEDEP}]
101
			dev-python/pillow[${PYTHON_USEDEP}]
102
			dev-python/pip[${PYTHON_USEDEP}]
103
		')
104
	)
93 105
"
94 106

  
95 107
DOCS=(
......
102 114
	doc/translation.txt
103 115
)
104 116

  
117
# NOTE the build system sets up a venv for tests, we could use imagemagick with -DUSE_IMAGE_COMPARE_PY="no"
118
python_check_deps() {
119
	python_has_version "dev-python/numpy[${PYTHON_USEDEP}]" &&
120
	python_has_version "dev-python/pillow[${PYTHON_USEDEP}]" &&
121
	python_has_version "dev-python/pip[${PYTHON_USEDEP}]"
122
}
123

  
124
pkg_setup() {
125
	use test && python-any-r1_pkg_setup
126
}
127

  
105 128
src_prepare() {
106 129
	if use test && [[ ${PV} != *9999* ]] ; then
107 130
		mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" || die
......
134 157
		-DEXPERIMENTAL="$(usex experimental)"
135 158

  
136 159
		-DHEADLESS="$(usex !gui)"
160
		-DUSE_BUILTIN_CLIPPER2="no"
137 161
		-DUSE_BUILTIN_MANIFOLD="no"
138 162
		-DUSE_CCACHE="no"
139 163
		-DUSE_GLAD="yes"
......
142 166
		-DUSE_MIMALLOC="$(usex mimalloc)"
143 167
		-DUSE_QT6="$(usex gui)"
144 168
		-DOFFLINE_DOCS="no" # TODO
169
		-DOPENCSG_DIR="${EPREFIX}/usr/$(get_libdir)"
145 170
	)
146 171

  
147 172
	if use gui; then
......
155 180
	if [[ ${PV} != *9999* ]] ; then
156 181
		mycmakeargs+=(
157 182
			-DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
183
		)
184
		if [[ ${PV} = *pre* ]] ; then
185
			mycmakeargs+=(
186
				-DOPENSCAD_COMMIT="${COMMIT:0:9}"
187
				-DOPENSCAD_VERSION="$(ver_cut 1-3)"
188
				-DSNAPSHOT="yes"
189
			)
190
		fi
191
	else
192
		mycmakeargs+=(
158 193
			-DOPENSCAD_COMMIT="${COMMIT:0:9}"
159
			-DOPENSCAD_VERSION="${PV:0:4}.${PV:4:2}.${PV:6:2}"
194
			-DSNAPSHOT="yes"
160 195
		)
161 196
	fi
162 197

  
Thank you!